No images in this repository’s iceberg at this time
Download raw (7.3 MB)
<!DOCTYPE html><html lang="en"><head><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-140352188-1"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-140352188-1');</script><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="description" content="The CDN for pagedjs"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/><meta name="timestamp" content="2020-10-23T08:46:25.714Z"/><link rel="shortcut icon" href="/favicon.ico"/><title>UNPKG - pagedjs</title><script>window.Promise || document.write('\x3Cscript src="/es6-promise@4.2.5/dist/es6-promise.min.js">\x3C/script>\x3Cscript>ES6Promise.polyfill()\x3C/script>')</script><script>window.fetch || document.write('\x3Cscript src="/whatwg-fetch@3.0.0/dist/fetch.umd.js">\x3C/script>')</script><script>window.__DATA__ = {"packageName":"pagedjs","packageVersion":"0.1.43","availableVersions":["0.0.1","0.0.2","0.0.3","0.0.4","0.1.0","0.1.1","0.1.2","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.1.10","0.1.11","0.1.12","0.1.13","0.1.14","0.1.15","0.1.16","0.1.17","0.1.18","0.1.19","0.1.20","0.1.21","0.1.22","0.1.23","0.1.24","0.1.25","0.1.26","0.1.27","0.1.28","0.1.29","0.1.30","0.1.31","0.1.32","0.1.33","0.1.34","0.1.35","0.1.37","0.1.38","0.1.39","0.1.40","0.1.41","0.1.42","0.1.43"],"filename":"/dist/paged.polyfill.js","target":{"path":"/dist/paged.polyfill.js","type":"file","details":{"contentType":"application/javascript","integrity":"sha384-IY6v2yA4Otb99QOB4GxJF0kO5wA9Zr8DEzOaRjhrQCEAZVMTBAtMAEjtGU6bsevu","language":"JavaScript","size":858940,"uri":null,"highlights":["<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\"> * @license Paged.js v0.1.43 | MIT | https://gitlab.pagedmedia.org/tools/pagedjs\n</span>","<span class=\"code-comment\"> */</span>\n","\n","(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">global, factory</span>) </span>{\n","\t<span class=\"code-keyword\">typeof</span> exports === <span class=\"code-string\">'object'</span> && <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">module</span> !== <span class=\"code-string\">'undefined'</span> ? <span class=\"code-built_in\">module</span>.exports = factory() :\n","\t<span class=\"code-keyword\">typeof</span> define === <span class=\"code-string\">'function'</span> && define.amd ? define(factory) :\n","\t(global = global || self, global.PagedPolyfill = factory());\n","}(<span class=\"code-keyword\">this</span>, (<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{ <span class=\"code-string\">'use strict'</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createCommonjsModule</span>(<span class=\"code-params\">fn, module</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">module</span> = { <span class=\"code-attr\">exports</span>: {} }, fn(<span class=\"code-built_in\">module</span>, <span class=\"code-built_in\">module</span>.exports), <span class=\"code-built_in\">module</span>.exports;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getCjsExportFromNamespace</span> (<span class=\"code-params\">n</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> n && n[<span class=\"code-string\">'default'</span>] || n;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> assign = <span class=\"code-built_in\">Object</span>.assign, obj;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> assign !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\tobj = { <span class=\"code-attr\">foo</span>: <span class=\"code-string\">\"raz\"</span> };\n","\t\tassign(obj, { <span class=\"code-attr\">bar</span>: <span class=\"code-string\">\"dwa\"</span> }, { <span class=\"code-attr\">trzy</span>: <span class=\"code-string\">\"trzy\"</span> });\n","\t\t<span class=\"code-keyword\">return</span> (obj.foo + obj.bar + obj.trzy) === <span class=\"code-string\">\"razdwatrzy\"</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t<span class=\"code-built_in\">Object</span>.keys(<span class=\"code-string\">\"primitive\"</span>);\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t} <span class=\"code-keyword\">catch</span> (e) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\t};\n","\n","\t<span class=\"code-comment\">// eslint-disable-next-line no-empty-function</span>\n","\t<span class=\"code-keyword\">var</span> noop = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{};\n","\n","\t<span class=\"code-keyword\">var</span> _undefined = noop(); <span class=\"code-comment\">// Support ES3 engines</span>\n","\n","\t<span class=\"code-keyword\">var</span> isValue = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">val</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (val !== _undefined) && (val !== <span class=\"code-literal\">null</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> keys = <span class=\"code-built_in\">Object</span>.keys;\n","\n","\t<span class=\"code-keyword\">var</span> shim = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">object</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> keys(isValue(object) ? <span class=\"code-built_in\">Object</span>(object) : object);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> keys$<span class=\"code-number\">1</span> = isImplemented$<span class=\"code-number\">1</span>()\n","\t\t? <span class=\"code-built_in\">Object</span>.keys\n","\t\t: shim;\n","\n","\t<span class=\"code-keyword\">var</span> validValue = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!isValue(value)) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(<span class=\"code-string\">\"Cannot use null or undefined\"</span>);\n","\t\t<span class=\"code-keyword\">return</span> value;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> max = <span class=\"code-built_in\">Math</span>.max;\n","\n","\t<span class=\"code-keyword\">var</span> shim$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">dest, src <span class=\"code-regexp\">/*, \u2026srcn*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> error, i, length = max(<span class=\"code-built_in\">arguments</span>.length, <span class=\"code-number\">2</span>), assign;\n","\t\tdest = <span class=\"code-built_in\">Object</span>(validValue(dest));\n","\t\tassign = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">key</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t\tdest[key] = src[key];\n","\t\t\t} <span class=\"code-keyword\">catch</span> (e) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!error) error = e;\n","\t\t\t}\n","\t\t};\n","\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">1</span>; i < length; ++i) {\n","\t\t\tsrc = <span class=\"code-built_in\">arguments</span>[i];\n","\t\t\tkeys$<span class=\"code-number\">1</span>(src).forEach(assign);\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (error !== <span class=\"code-literal\">undefined</span>) <span class=\"code-keyword\">throw</span> error;\n","\t\t<span class=\"code-keyword\">return</span> dest;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> assign = isImplemented()\n","\t\t? <span class=\"code-built_in\">Object</span>.assign\n","\t\t: shim$<span class=\"code-number\">1</span>;\n","\n","\t<span class=\"code-keyword\">var</span> forEach = <span class=\"code-built_in\">Array</span>.prototype.forEach, create = <span class=\"code-built_in\">Object</span>.create;\n","\n","\t<span class=\"code-keyword\">var</span> process = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">src, obj</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> key;\n","\t\t<span class=\"code-keyword\">for</span> (key <span class=\"code-keyword\">in</span> src) obj[key] = src[key];\n","\t};\n","\n","\t<span class=\"code-comment\">// eslint-disable-next-line no-unused-vars</span>\n","\t<span class=\"code-keyword\">var</span> normalizeOptions = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">opts1 <span class=\"code-regexp\">/*, \u2026options*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> result = create(<span class=\"code-literal\">null</span>);\n","\t\tforEach.call(<span class=\"code-built_in\">arguments</span>, <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">options</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">if</span> (!isValue(options)) <span class=\"code-keyword\">return</span>;\n","\t\t\tprocess(<span class=\"code-built_in\">Object</span>(options), result);\n","\t\t});\n","\t\t<span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\t<span class=\"code-comment\">// Deprecated</span>\n","\n","\t<span class=\"code-keyword\">var</span> isCallable = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">obj</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">typeof</span> obj === <span class=\"code-string\">\"function\"</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> str = <span class=\"code-string\">\"razdwatrzy\"</span>;\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">2</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> str.contains !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">return</span> (str.contains(<span class=\"code-string\">\"dwa\"</span>) === <span class=\"code-literal\">true</span>) && (str.contains(<span class=\"code-string\">\"foo\"</span>) === <span class=\"code-literal\">false</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> indexOf = <span class=\"code-built_in\">String</span>.prototype.indexOf;\n","\n","\t<span class=\"code-keyword\">var</span> shim$<span class=\"code-number\">2</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">searchString<span class=\"code-regexp\">/*, position*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> indexOf.call(<span class=\"code-keyword\">this</span>, searchString, <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">1</span>]) > <span class=\"code-number\">-1</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> contains = isImplemented$<span class=\"code-number\">2</span>()\n","\t\t? <span class=\"code-built_in\">String</span>.prototype.contains\n","\t\t: shim$<span class=\"code-number\">2</span>;\n","\n","\t<span class=\"code-keyword\">var</span> d_1 = createCommonjsModule(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">module</span>) </span>{\n","\n","\t<span class=\"code-keyword\">var</span> d;\n","\n","\td = <span class=\"code-built_in\">module</span>.exports = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">dscr, value<span class=\"code-regexp\">/*, options*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> c, e, w, options, desc;\n","\t\t<span class=\"code-keyword\">if</span> ((<span class=\"code-built_in\">arguments</span>.length < <span class=\"code-number\">2</span>) || (<span class=\"code-keyword\">typeof</span> dscr !== <span class=\"code-string\">'string'</span>)) {\n","\t\t\toptions = value;\n","\t\t\tvalue = dscr;\n","\t\t\tdscr = <span class=\"code-literal\">null</span>;\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\toptions = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">2</span>];\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (dscr == <span class=\"code-literal\">null</span>) {\n","\t\t\tc = w = <span class=\"code-literal\">true</span>;\n","\t\t\te = <span class=\"code-literal\">false</span>;\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\tc = contains.call(dscr, <span class=\"code-string\">'c'</span>);\n","\t\t\te = contains.call(dscr, <span class=\"code-string\">'e'</span>);\n","\t\t\tw = contains.call(dscr, <span class=\"code-string\">'w'</span>);\n","\t\t}\n","\n","\t\tdesc = { <span class=\"code-attr\">value</span>: value, <span class=\"code-attr\">configurable</span>: c, <span class=\"code-attr\">enumerable</span>: e, <span class=\"code-attr\">writable</span>: w };\n","\t\t<span class=\"code-keyword\">return</span> !options ? desc : assign(normalizeOptions(options), desc);\n","\t};\n","\n","\td.gs = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">dscr, get, set<span class=\"code-regexp\">/*, options*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> c, e, options, desc;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> dscr !== <span class=\"code-string\">'string'</span>) {\n","\t\t\toptions = <span class=\"code-keyword\">set</span>;\n","\t\t\t<span class=\"code-keyword\">set</span> = <span class=\"code-keyword\">get</span>;\n","\t\t\t<span class=\"code-keyword\">get</span> = dscr;\n","\t\t\tdscr = null;\n","\t\t} else {\n","\t\t\toptions = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">3</span>];\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">get</span> == null) {\n","\t\t\t<span class=\"code-keyword\">get</span> = undefined;\n","\t\t} else if (!isCallable(<span class=\"code-keyword\">get</span>)) {\n","\t\t\toptions = <span class=\"code-keyword\">get</span>;\n","\t\t\t<span class=\"code-keyword\">get</span> = <span class=\"code-keyword\">set</span> = undefined;\n","\t\t} else if (<span class=\"code-keyword\">set</span> == null) {\n","\t\t\t<span class=\"code-keyword\">set</span> = undefined;\n","\t\t} else if (!isCallable(<span class=\"code-keyword\">set</span>)) {\n","\t\t\toptions = <span class=\"code-keyword\">set</span>;\n","\t\t\t<span class=\"code-keyword\">set</span> = undefined;\n","\t\t}\n","\t\tif (dscr == null) {\n","\t\t\tc = <span class=\"code-literal\">true</span>;\n","\t\t\te = <span class=\"code-literal\">false</span>;\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\tc = contains.call(dscr, <span class=\"code-string\">'c'</span>);\n","\t\t\te = contains.call(dscr, <span class=\"code-string\">'e'</span>);\n","\t\t}\n","\n","\t\tdesc = { <span class=\"code-attr\">get</span>: <span class=\"code-keyword\">get</span>, <span class=\"code-keyword\">set</span>: <span class=\"code-keyword\">set</span>, configurable: c, enumerable: e };\n","\t\treturn !options ? desc : assign(normalizeOptions(options), desc);\n","\t};\n","\t});\n","\n","\tvar validCallable = function (fn) {\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> fn !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(fn + <span class=\"code-string\">\" is not a function\"</span>);\n","\t\t<span class=\"code-keyword\">return</span> fn;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> eventEmitter = createCommonjsModule(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">module, exports</span>) </span>{\n","\n","\t<span class=\"code-keyword\">var</span> apply = <span class=\"code-built_in\">Function</span>.prototype.apply, call = <span class=\"code-built_in\">Function</span>.prototype.call\n","\t , create = <span class=\"code-built_in\">Object</span>.create, defineProperty = <span class=\"code-built_in\">Object</span>.defineProperty\n","\t , defineProperties = <span class=\"code-built_in\">Object</span>.defineProperties\n","\t , hasOwnProperty = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty\n","\t , descriptor = { <span class=\"code-attr\">configurable</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">enumerable</span>: <span class=\"code-literal\">false</span>, <span class=\"code-attr\">writable</span>: <span class=\"code-literal\">true</span> }\n","\n","\t , on, once, off, emit, methods, descriptors, base;\n","\n","\ton = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">type, listener</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> data;\n","\n","\t\tvalidCallable(listener);\n","\n","\t\t<span class=\"code-keyword\">if</span> (!hasOwnProperty.call(<span class=\"code-keyword\">this</span>, <span class=\"code-string\">'__ee__'</span>)) {\n","\t\t\tdata = descriptor.value = create(<span class=\"code-literal\">null</span>);\n","\t\t\tdefineProperty(<span class=\"code-keyword\">this</span>, <span class=\"code-string\">'__ee__'</span>, descriptor);\n","\t\t\tdescriptor.value = <span class=\"code-literal\">null</span>;\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\tdata = <span class=\"code-keyword\">this</span>.__ee__;\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (!data[type]) data[type] = listener;\n","\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> data[type] === <span class=\"code-string\">'object'</span>) data[type].push(listener);\n","\t\t<span class=\"code-keyword\">else</span> data[type] = [data[type], listener];\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\tonce = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">type, listener</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> once, self;\n","\n","\t\tvalidCallable(listener);\n","\t\tself = <span class=\"code-keyword\">this</span>;\n","\t\ton.call(<span class=\"code-keyword\">this</span>, type, once = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t\toff.call(self, type, once);\n","\t\t\tapply.call(listener, <span class=\"code-keyword\">this</span>, <span class=\"code-built_in\">arguments</span>);\n","\t\t});\n","\n","\t\tonce.__eeOnceListener__ = listener;\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\toff = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">type, listener</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> data, listeners, candidate, i;\n","\n","\t\tvalidCallable(listener);\n","\n","\t\t<span class=\"code-keyword\">if</span> (!hasOwnProperty.call(<span class=\"code-keyword\">this</span>, <span class=\"code-string\">'__ee__'</span>)) <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t\tdata = <span class=\"code-keyword\">this</span>.__ee__;\n","\t\t<span class=\"code-keyword\">if</span> (!data[type]) <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t\tlisteners = data[type];\n","\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> listeners === <span class=\"code-string\">'object'</span>) {\n","\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>; (candidate = listeners[i]); ++i) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> ((candidate === listener) ||\n","\t\t\t\t\t\t(candidate.__eeOnceListener__ === listener)) {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (listeners.length === <span class=\"code-number\">2</span>) data[type] = listeners[i ? <span class=\"code-number\">0</span> : <span class=\"code-number\">1</span>];\n","\t\t\t\t\t<span class=\"code-keyword\">else</span> listeners.splice(i, <span class=\"code-number\">1</span>);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-keyword\">if</span> ((listeners === listener) ||\n","\t\t\t\t\t(listeners.__eeOnceListener__ === listener)) {\n","\t\t\t\t<span class=\"code-keyword\">delete</span> data[type];\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\temit = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">type</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> i, l, listener, listeners, args;\n","\n","\t\t<span class=\"code-keyword\">if</span> (!hasOwnProperty.call(<span class=\"code-keyword\">this</span>, <span class=\"code-string\">'__ee__'</span>)) <span class=\"code-keyword\">return</span>;\n","\t\tlisteners = <span class=\"code-keyword\">this</span>.__ee__[type];\n","\t\t<span class=\"code-keyword\">if</span> (!listeners) <span class=\"code-keyword\">return</span>;\n","\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> listeners === <span class=\"code-string\">'object'</span>) {\n","\t\t\tl = <span class=\"code-built_in\">arguments</span>.length;\n","\t\t\targs = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(l - <span class=\"code-number\">1</span>);\n","\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">1</span>; i < l; ++i) args[i - <span class=\"code-number\">1</span>] = <span class=\"code-built_in\">arguments</span>[i];\n","\n","\t\t\tlisteners = listeners.slice();\n","\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>; (listener = listeners[i]); ++i) {\n","\t\t\t\tapply.call(listener, <span class=\"code-keyword\">this</span>, args);\n","\t\t\t}\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-keyword\">switch</span> (<span class=\"code-built_in\">arguments</span>.length) {\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">1</span>:\n","\t\t\t\tcall.call(listeners, <span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t\t\t\tcall.call(listeners, <span class=\"code-keyword\">this</span>, <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">1</span>]);\n","\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">3</span>:\n","\t\t\t\tcall.call(listeners, <span class=\"code-keyword\">this</span>, <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">1</span>], <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">2</span>]);\n","\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t<span class=\"code-keyword\">default</span>:\n","\t\t\t\tl = <span class=\"code-built_in\">arguments</span>.length;\n","\t\t\t\targs = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(l - <span class=\"code-number\">1</span>);\n","\t\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">1</span>; i < l; ++i) {\n","\t\t\t\t\targs[i - <span class=\"code-number\">1</span>] = <span class=\"code-built_in\">arguments</span>[i];\n","\t\t\t\t}\n","\t\t\t\tapply.call(listeners, <span class=\"code-keyword\">this</span>, args);\n","\t\t\t}\n","\t\t}\n","\t};\n","\n","\tmethods = {\n","\t\ton: on,\n","\t\tonce: once,\n","\t\toff: off,\n","\t\temit: emit\n","\t};\n","\n","\tdescriptors = {\n","\t\ton: d_1(on),\n","\t\tonce: d_1(once),\n","\t\toff: d_1(off),\n","\t\temit: d_1(emit)\n","\t};\n","\n","\tbase = defineProperties({}, descriptors);\n","\n","\t<span class=\"code-built_in\">module</span>.exports = exports = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">o</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> (o == <span class=\"code-literal\">null</span>) ? create(base) : defineProperties(<span class=\"code-built_in\">Object</span>(o), descriptors);\n","\t};\n","\texports.methods = methods;\n","\t});\n","\t<span class=\"code-keyword\">var</span> eventEmitter_1 = eventEmitter.methods;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Hooks allow for injecting functions that must all complete in order before finishing\n</span>","<span class=\"code-comment\">\t * They will execute in parallel but all must finish before continuing\n</span>","<span class=\"code-comment\">\t * Functions may return a promise if they are asycn.\n</span>","<span class=\"code-comment\">\t * From epubjs/src/utils/hooks\n</span>","<span class=\"code-comment\">\t * @param {any} context scope of this\n</span>","<span class=\"code-comment\">\t * @example this.content = new Hook(this);\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Hook</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(context){\n","\t\t\t<span class=\"code-keyword\">this</span>.context = context || <span class=\"code-keyword\">this</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks = [];\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Adds a function to be run before a hook completes\n</span>","<span class=\"code-comment\">\t\t * @example this.content.register(function(){...});\n</span>","<span class=\"code-comment\">\t\t * @return {undefined} void\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tregister(){\n","\t\t\t<span class=\"code-keyword\">for</span>(<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < <span class=\"code-built_in\">arguments</span>.length; ++i) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">arguments</span>[i] === <span class=\"code-string\">\"function\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.push(<span class=\"code-built_in\">arguments</span>[i]);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-comment\">// unpack array</span>\n","\t\t\t\t\t<span class=\"code-keyword\">for</span>(<span class=\"code-keyword\">var</span> j = <span class=\"code-number\">0</span>; j < <span class=\"code-built_in\">arguments</span>[i].length; ++j) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.push(<span class=\"code-built_in\">arguments</span>[i][j]);\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Triggers a hook to run all functions\n</span>","<span class=\"code-comment\">\t\t * @example this.content.trigger(args).then(function(){...});\n</span>","<span class=\"code-comment\">\t\t * @return {Promise} results\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\ttrigger(){\n","\t\t\t<span class=\"code-keyword\">var</span> args = <span class=\"code-built_in\">arguments</span>;\n","\t\t\t<span class=\"code-keyword\">var</span> context = <span class=\"code-keyword\">this</span>.context;\n","\t\t\t<span class=\"code-keyword\">var</span> promises = [];\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">task</span>) </span>{\n","\t\t\t\t<span class=\"code-keyword\">var</span> executing = task.apply(context, args);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span>(executing && <span class=\"code-keyword\">typeof</span> executing[<span class=\"code-string\">\"then\"</span>] === <span class=\"code-string\">\"function\"</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// Task is a function that returns a promise</span>\n","\t\t\t\t\tpromises.push(executing);\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-comment\">// Otherwise Task resolves immediately, add resolved promise with result</span>\n","\t\t\t\tpromises.push(<span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\">(<span class=\"code-params\">resolve, reject</span>) =></span> {\n","\t\t\t\t\tresolve(executing);\n","\t\t\t\t}));\n","\t\t\t});\n","\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Promise</span>.all(promises);\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Triggers a hook to run all functions synchronously\n</span>","<span class=\"code-comment\">\t * @example this.content.trigger(args).then(function(){...});\n</span>","<span class=\"code-comment\">\t * @return {Array} results\n</span>","<span class=\"code-comment\">\t */</span>\n","\t\ttriggerSync(){\n","\t\t\t<span class=\"code-keyword\">var</span> args = <span class=\"code-built_in\">arguments</span>;\n","\t\t\t<span class=\"code-keyword\">var</span> context = <span class=\"code-keyword\">this</span>.context;\n","\t\t\t<span class=\"code-keyword\">var</span> results = [];\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">task</span>) </span>{\n","\t\t\t\t<span class=\"code-keyword\">var</span> executing = task.apply(context, args);\n","\n","\t\t\t\tresults.push(executing);\n","\t\t\t});\n","\n","\n","\t\t\t<span class=\"code-keyword\">return</span> results;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// Adds a function to be run before a hook completes</span>\n","\t\tlist(){\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.hooks;\n","\t\t}\n","\n","\t\tclear(){\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.hooks = [];\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getBoundingClientRect</span>(<span class=\"code-params\">element</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!element) {\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">let</span> rect;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> element.getBoundingClientRect !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\trect = element.getBoundingClientRect();\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-keyword\">let</span> range = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\trange.selectNode(element);\n","\t\t\trect = range.getBoundingClientRect();\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> rect;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getClientRects</span>(<span class=\"code-params\">element</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!element) {\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">let</span> rect;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> element.getClientRects !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\trect = element.getClientRects();\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-keyword\">let</span> range = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\trange.selectNode(element);\n","\t\t\trect = range.getClientRects();\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> rect;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Generates a UUID\n</span>","<span class=\"code-comment\">\t * based on: http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript\n</span>","<span class=\"code-comment\">\t * @returns {string} uuid\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">UUID</span>(<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> d = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Date</span>().getTime();\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> performance !== <span class=\"code-string\">\"undefined\"</span> && <span class=\"code-keyword\">typeof</span> performance.now === <span class=\"code-string\">\"function\"</span>) {\n","\t\t\td += performance.now(); <span class=\"code-comment\">//use high-precision timer if available</span>\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-string\">\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"</span>.replace(<span class=\"code-regexp\">/[xy]/g</span>, <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">c</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">var</span> r = (d + <span class=\"code-built_in\">Math</span>.random() * <span class=\"code-number\">16</span>) % <span class=\"code-number\">16</span> | <span class=\"code-number\">0</span>;\n","\t\t\td = <span class=\"code-built_in\">Math</span>.floor(d / <span class=\"code-number\">16</span>);\n","\t\t\t<span class=\"code-keyword\">return</span> (c === <span class=\"code-string\">\"x\"</span> ? r : (r & <span class=\"code-number\">0x3</span> | <span class=\"code-number\">0x8</span>)).toString(<span class=\"code-number\">16</span>);\n","\t\t});\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">attr</span>(<span class=\"code-params\">element, attributes</span>) </span>{\n","\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < attributes.length; i++) {\n","\t\t\t<span class=\"code-keyword\">if</span> (element.hasAttribute(attributes[i])) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> element.getAttribute(attributes[i]);\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-comment\">/* Based on by https://mths.be/cssescape v1.5.1 by @mathias | MIT license\n</span>","<span class=\"code-comment\">\t * Allows # and .\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">querySelectorEscape</span>(<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">arguments</span>.length == <span class=\"code-number\">0</span>) {\n","\t\t\t<span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(<span class=\"code-string\">\"`CSS.escape` requires an argument.\"</span>);\n","\t\t}\n","\t\t<span class=\"code-keyword\">var</span> string = <span class=\"code-built_in\">String</span>(value);\n","\n","\t\t<span class=\"code-keyword\">var</span> length = string.length;\n","\t\t<span class=\"code-keyword\">var</span> index = <span class=\"code-number\">-1</span>;\n","\t\t<span class=\"code-keyword\">var</span> codeUnit;\n","\t\t<span class=\"code-keyword\">var</span> result = <span class=\"code-string\">\"\"</span>;\n","\t\t<span class=\"code-keyword\">var</span> firstCodeUnit = string.charCodeAt(<span class=\"code-number\">0</span>);\n","\t\t<span class=\"code-keyword\">while</span> (++index < length) {\n","\t\t\tcodeUnit = string.charCodeAt(index);\n","\n","\n","\n","\t\t\t<span class=\"code-comment\">// Note: there\u2019s no need to special-case astral symbols, surrogate</span>\n","\t\t\t<span class=\"code-comment\">// pairs, or lone surrogates.</span>\n","\n","\t\t\t<span class=\"code-comment\">// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER</span>\n","\t\t\t<span class=\"code-comment\">// (U+FFFD).</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (codeUnit == <span class=\"code-number\">0x0000</span>) {\n","\t\t\t\tresult += <span class=\"code-string\">\"\\uFFFD\"</span>;\n","\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (\n","\t\t\t\t<span class=\"code-comment\">// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is</span>\n","\t\t\t\t<span class=\"code-comment\">// U+007F, [\u2026]</span>\n","\t\t\t\t(codeUnit >= <span class=\"code-number\">0x0001</span> && codeUnit <= <span class=\"code-number\">0x001F</span>) || codeUnit == <span class=\"code-number\">0x007F</span> ||\n","\t\t\t\t<span class=\"code-comment\">// If the character is the first character and is in the range [0-9]</span>\n","\t\t\t\t<span class=\"code-comment\">// (U+0030 to U+0039), [\u2026]</span>\n","\t\t\t\t(index == <span class=\"code-number\">0</span> && codeUnit >= <span class=\"code-number\">0x0030</span> && codeUnit <= <span class=\"code-number\">0x0039</span>) ||\n","\t\t\t\t<span class=\"code-comment\">// If the character is the second character and is in the range [0-9]</span>\n","\t\t\t\t<span class=\"code-comment\">// (U+0030 to U+0039) and the first character is a `-` (U+002D), [\u2026]</span>\n","\t\t\t\t(\n","\t\t\t\t\tindex == <span class=\"code-number\">1</span> &&\n","\t\t\t\t\tcodeUnit >= <span class=\"code-number\">0x0030</span> && codeUnit <= <span class=\"code-number\">0x0039</span> &&\n","\t\t\t\t\tfirstCodeUnit == <span class=\"code-number\">0x002D</span>\n","\t\t\t\t)\n","\t\t\t) {\n","\t\t\t\t<span class=\"code-comment\">// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point</span>\n","\t\t\t\tresult += <span class=\"code-string\">\"\\\\\"</span> + codeUnit.toString(<span class=\"code-number\">16</span>) + <span class=\"code-string\">\" \"</span>;\n","\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (\n","\t\t\t\t<span class=\"code-comment\">// If the character is the first character and is a `-` (U+002D), and</span>\n","\t\t\t\t<span class=\"code-comment\">// there is no second character, [\u2026]</span>\n","\t\t\t\tindex == <span class=\"code-number\">0</span> &&\n","\t\t\t\tlength == <span class=\"code-number\">1</span> &&\n","\t\t\t\tcodeUnit == <span class=\"code-number\">0x002D</span>\n","\t\t\t) {\n","\t\t\t\tresult += <span class=\"code-string\">\"\\\\\"</span> + string.charAt(index);\n","\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// support for period character in id</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (codeUnit == <span class=\"code-number\">0x002E</span>) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (string.charAt(<span class=\"code-number\">0</span>) == <span class=\"code-string\">\"#\"</span>) {\n","\t\t\t\t\tresult += <span class=\"code-string\">\"\\\\.\"</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\n","\n","\t\t\t<span class=\"code-comment\">// If the character is not handled by one of the above rules and is</span>\n","\t\t\t<span class=\"code-comment\">// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or</span>\n","\t\t\t<span class=\"code-comment\">// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to</span>\n","\t\t\t<span class=\"code-comment\">// U+005A), or [a-z] (U+0061 to U+007A), [\u2026]</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (\n","\t\t\t\tcodeUnit >= <span class=\"code-number\">0x0080</span> ||\n","\t\t\t\tcodeUnit == <span class=\"code-number\">0x002D</span> ||\n","\t\t\t\tcodeUnit == <span class=\"code-number\">0x005F</span> ||\n","\t\t\t\tcodeUnit == <span class=\"code-number\">35</span> || <span class=\"code-comment\">// Allow #</span>\n","\t\t\t\tcodeUnit == <span class=\"code-number\">46</span> || <span class=\"code-comment\">// Allow .</span>\n","\t\t\t\tcodeUnit >= <span class=\"code-number\">0x0030</span> && codeUnit <= <span class=\"code-number\">0x0039</span> ||\n","\t\t\t\tcodeUnit >= <span class=\"code-number\">0x0041</span> && codeUnit <= <span class=\"code-number\">0x005A</span> ||\n","\t\t\t\tcodeUnit >= <span class=\"code-number\">0x0061</span> && codeUnit <= <span class=\"code-number\">0x007A</span>\n","\t\t\t) {\n","\t\t\t\t<span class=\"code-comment\">// the character itself</span>\n","\t\t\t\tresult += string.charAt(index);\n","\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Otherwise, the escaped character.</span>\n","\t\t\t<span class=\"code-comment\">// https://drafts.csswg.org/cssom/#escape-a-character</span>\n","\t\t\tresult += <span class=\"code-string\">\"\\\\\"</span> + string.charAt(index);\n","\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Creates a new pending promise and provides methods to resolve or reject it.\n</span>","<span class=\"code-comment\">\t * From: https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Deferred#backwards_forwards_compatible\n</span>","<span class=\"code-comment\">\t * @returns {object} defered\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">defer</span>(<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">this</span>.resolve = <span class=\"code-literal\">null</span>;\n","\n","\t\t<span class=\"code-keyword\">this</span>.reject = <span class=\"code-literal\">null</span>;\n","\n","\t\t<span class=\"code-keyword\">this</span>.id = UUID();\n","\n","\t\t<span class=\"code-keyword\">this</span>.promise = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\">(<span class=\"code-params\">resolve, reject</span>) =></span> {\n","\t\t\t<span class=\"code-keyword\">this</span>.resolve = resolve;\n","\t\t\t<span class=\"code-keyword\">this</span>.reject = reject;\n","\t\t});\n","\t\t<span class=\"code-built_in\">Object</span>.freeze(<span class=\"code-keyword\">this</span>);\n","\t}\n","\n","\t<span class=\"code-keyword\">const</span> requestIdleCallback = <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">window</span> !== <span class=\"code-string\">\"undefined\"</span> && (<span class=\"code-string\">\"requestIdleCallback\"</span> <span class=\"code-keyword\">in</span> <span class=\"code-built_in\">window</span> ? <span class=\"code-built_in\">window</span>.requestIdleCallback : <span class=\"code-built_in\">window</span>.requestAnimationFrame);\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">CSSValueToString</span>(<span class=\"code-params\">obj</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> obj.value + (obj.unit || <span class=\"code-string\">\"\"</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isElement</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> node && node.nodeType === <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isText</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> node && node.nodeType === <span class=\"code-number\">3</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> *<span class=\"code-title\">walk</span>(<span class=\"code-params\">start, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> node = start;\n","\n","\t\t<span class=\"code-keyword\">while</span> (node) {\n","\n","\t\t\t<span class=\"code-keyword\">yield</span> node;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node.childNodes.length) {\n","\t\t\t\tnode = node.firstChild;\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (node.nextSibling) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t\t\tnode = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\t\t\t\tnode = node.nextSibling;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">while</span> (node) {\n","\t\t\t\t\tnode = node.parentNode;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t\t\t\tnode = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (node && node.nextSibling) {\n","\t\t\t\t\t\tnode = node.nextSibling;\n","\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t}\n","\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">nodeAfter</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">let</span> significantNode = nextSignificantNode(node);\n","\t\t<span class=\"code-keyword\">if</span> (significantNode) {\n","\t\t\t<span class=\"code-keyword\">return</span> significantNode;\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (node.parentNode) {\n","\t\t\t<span class=\"code-keyword\">while</span> ((node = node.parentNode)) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t}\n","\t\t\t\tsignificantNode = nextSignificantNode(node);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (significantNode) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> significantNode;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">nodeBefore</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">let</span> significantNode = previousSignificantNode(node);\n","\t\t<span class=\"code-keyword\">if</span> (significantNode) {\n","\t\t\t<span class=\"code-keyword\">return</span> significantNode;\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (node.parentNode) {\n","\t\t\t<span class=\"code-keyword\">while</span> ((node = node.parentNode)) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t}\n","\t\t\t\tsignificantNode = previousSignificantNode(node);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (significantNode) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> significantNode;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">elementAfter</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> after = nodeAfter(node, limiter);\n","\n","\t\t<span class=\"code-keyword\">while</span> (after && after.nodeType !== <span class=\"code-number\">1</span>) {\n","\t\t\tafter = nodeAfter(after, limiter);\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> after;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">elementBefore</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> before = nodeBefore(node, limiter);\n","\n","\t\t<span class=\"code-keyword\">while</span> (before && before.nodeType !== <span class=\"code-number\">1</span>) {\n","\t\t\tbefore = nodeBefore(before, limiter);\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> before;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">displayedElementAfter</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> after = elementAfter(node, limiter);\n","\n","\t\t<span class=\"code-keyword\">while</span> (after && after.dataset.undisplayed) {\n","\t\t\tafter = elementAfter(after);\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> after;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">displayedElementBefore</span>(<span class=\"code-params\">node, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> before = elementBefore(node, limiter);\n","\n","\t\t<span class=\"code-keyword\">while</span> (before && before.dataset.undisplayed) {\n","\t\t\tbefore = elementBefore(before);\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> before;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">rebuildAncestors</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> parent, ancestor;\n","\t\t<span class=\"code-keyword\">let</span> ancestors = [];\n","\t\t<span class=\"code-keyword\">let</span> added = [];\n","\n","\t\t<span class=\"code-keyword\">let</span> fragment = <span class=\"code-built_in\">document</span>.createDocumentFragment();\n","\n","\t\t<span class=\"code-comment\">// Gather all ancestors</span>\n","\t\t<span class=\"code-keyword\">let</span> element = node;\n","\t\t<span class=\"code-keyword\">while</span>(element.parentNode && element.parentNode.nodeType === <span class=\"code-number\">1</span>) {\n","\t\t\tancestors.unshift(element.parentNode);\n","\t\t\telement = element.parentNode;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < ancestors.length; i++) {\n","\t\t\tancestor = ancestors[i];\n","\t\t\tparent = ancestor.cloneNode(<span class=\"code-literal\">false</span>);\n","\n","\t\t\tparent.setAttribute(<span class=\"code-string\">\"data-split-from\"</span>, parent.getAttribute(<span class=\"code-string\">\"data-ref\"</span>));\n","\t\t\t<span class=\"code-comment\">// ancestor.setAttribute(\"data-split-to\", parent.getAttribute(\"data-ref\"));</span>\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (parent.hasAttribute(<span class=\"code-string\">\"id\"</span>)) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> dataID = parent.getAttribute(<span class=\"code-string\">\"id\"</span>);\n","\t\t\t\tparent.setAttribute(<span class=\"code-string\">\"data-id\"</span>, dataID);\n","\t\t\t\tparent.removeAttribute(<span class=\"code-string\">\"id\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// This is handled by css :not, but also tidied up here</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (parent.hasAttribute(<span class=\"code-string\">\"data-break-before\"</span>)) {\n","\t\t\t\tparent.removeAttribute(<span class=\"code-string\">\"data-break-before\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (parent.hasAttribute(<span class=\"code-string\">\"data-previous-break-after\"</span>)) {\n","\t\t\t\tparent.removeAttribute(<span class=\"code-string\">\"data-previous-break-after\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (added.length) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> container = added[added.length<span class=\"code-number\">-1</span>];\n","\t\t\t\tcontainer.appendChild(parent);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tfragment.appendChild(parent);\n","\t\t\t}\n","\t\t\tadded.push(parent);\n","\t\t}\n","\n","\t\tadded = <span class=\"code-literal\">undefined</span>;\n","\t\t<span class=\"code-keyword\">return</span> fragment;\n","\t}\n","\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\texport function split(bound, cutElement, breakAfter) {\n</span>","<span class=\"code-comment\">\t\t\tlet needsRemoval = [];\n</span>","<span class=\"code-comment\">\t\t\tlet index = indexOf(cutElement);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tif (!breakAfter && index === 0) {\n</span>","<span class=\"code-comment\">\t\t\t\treturn;\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tif (breakAfter && index === (cutElement.parentNode.children.length - 1)) {\n</span>","<span class=\"code-comment\">\t\t\t\treturn;\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Create a fragment with rebuilt ancestors\n</span>","<span class=\"code-comment\">\t\t\tlet fragment = rebuildAncestors(cutElement);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Clone cut\n</span>","<span class=\"code-comment\">\t\t\tif (!breakAfter) {\n</span>","<span class=\"code-comment\">\t\t\t\tlet clone = cutElement.cloneNode(true);\n</span>","<span class=\"code-comment\">\t\t\t\tlet ref = cutElement.parentNode.getAttribute('data-ref');\n</span>","<span class=\"code-comment\">\t\t\t\tlet parent = fragment.querySelector(\"[data-ref='\" + ref + \"']\");\n</span>","<span class=\"code-comment\">\t\t\t\tparent.appendChild(clone);\n</span>","<span class=\"code-comment\">\t\t\t\tneedsRemoval.push(cutElement);\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Remove all after cut\n</span>","<span class=\"code-comment\">\t\t\tlet next = nodeAfter(cutElement, bound);\n</span>","<span class=\"code-comment\">\t\t\twhile (next) {\n</span>","<span class=\"code-comment\">\t\t\t\tlet clone = next.cloneNode(true);\n</span>","<span class=\"code-comment\">\t\t\t\tlet ref = next.parentNode.getAttribute('data-ref');\n</span>","<span class=\"code-comment\">\t\t\t\tlet parent = fragment.querySelector(\"[data-ref='\" + ref + \"']\");\n</span>","<span class=\"code-comment\">\t\t\t\tparent.appendChild(clone);\n</span>","<span class=\"code-comment\">\t\t\t\tneedsRemoval.push(next);\n</span>","<span class=\"code-comment\">\t\t\t\tnext = nodeAfter(next, bound);\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Remove originals\n</span>","<span class=\"code-comment\">\t\t\tneedsRemoval.forEach((node) => {\n</span>","<span class=\"code-comment\">\t\t\t\tif (node) {\n</span>","<span class=\"code-comment\">\t\t\t\t\tnode.remove();\n</span>","<span class=\"code-comment\">\t\t\t\t}\n</span>","<span class=\"code-comment\">\t\t\t});\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Insert after bounds\n</span>","<span class=\"code-comment\">\t\t\tbound.parentNode.insertBefore(fragment, bound.nextSibling);\n</span>","<span class=\"code-comment\">\t\t\treturn [bound, bound.nextSibling];\n</span>","<span class=\"code-comment\">\t}\n</span>","<span class=\"code-comment\">\t*/</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">needsBreakBefore</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span>( <span class=\"code-keyword\">typeof</span> node !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset.breakBefore !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t(node.dataset.breakBefore === <span class=\"code-string\">\"always\"</span> ||\n","\t\t\t\t node.dataset.breakBefore === <span class=\"code-string\">\"page\"</span> ||\n","\t\t\t\t node.dataset.breakBefore === <span class=\"code-string\">\"left\"</span> ||\n","\t\t\t\t node.dataset.breakBefore === <span class=\"code-string\">\"right\"</span> ||\n","\t\t\t\t node.dataset.breakBefore === <span class=\"code-string\">\"recto\"</span> ||\n","\t\t\t\t node.dataset.breakBefore === <span class=\"code-string\">\"verso\"</span>)\n","\t\t\t ) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">needsPreviousBreakAfter</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span>( <span class=\"code-keyword\">typeof</span> node !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset.previousBreakAfter !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t(node.dataset.previousBreakAfter === <span class=\"code-string\">\"always\"</span> ||\n","\t\t\t\t node.dataset.previousBreakAfter === <span class=\"code-string\">\"page\"</span> ||\n","\t\t\t\t node.dataset.previousBreakAfter === <span class=\"code-string\">\"left\"</span> ||\n","\t\t\t\t node.dataset.previousBreakAfter === <span class=\"code-string\">\"right\"</span> ||\n","\t\t\t\t node.dataset.previousBreakAfter === <span class=\"code-string\">\"recto\"</span> ||\n","\t\t\t\t node.dataset.previousBreakAfter === <span class=\"code-string\">\"verso\"</span>)\n","\t\t\t ) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">needsPageBreak</span>(<span class=\"code-params\">node, previousSignificantNode</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> node === <span class=\"code-string\">\"undefined\"</span> || !previousSignificantNode || isIgnorable(node)) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (node.dataset && node.dataset.undisplayed) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">const</span> previousSignificantNodePage = previousSignificantNode.dataset ? previousSignificantNode.dataset.page : <span class=\"code-literal\">undefined</span>;\n","\t\t<span class=\"code-keyword\">const</span> currentNodePage = node.dataset ? node.dataset.page : <span class=\"code-literal\">undefined</span>;\n","\t\t<span class=\"code-keyword\">return</span> currentNodePage !== previousSignificantNodePage;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> *<span class=\"code-title\">words</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> currentText = node.nodeValue;\n","\t\t<span class=\"code-keyword\">let</span> max = currentText.length;\n","\t\t<span class=\"code-keyword\">let</span> currentOffset = <span class=\"code-number\">0</span>;\n","\t\t<span class=\"code-keyword\">let</span> currentLetter;\n","\n","\t\t<span class=\"code-keyword\">let</span> range;\n","\n","\t\t<span class=\"code-keyword\">while</span>(currentOffset < max) {\n","\t\t\tcurrentLetter = currentText[currentOffset];\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-regexp\">/^[\\S\\u202F\\u00A0]$/</span>.test(currentLetter)) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!range) {\n","\t\t\t\t\trange = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t\t\trange.setStart(node, currentOffset);\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (range) {\n","\t\t\t\t\trange.setEnd(node, currentOffset);\n","\t\t\t\t\t<span class=\"code-keyword\">yield</span> range;\n","\t\t\t\t\trange = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\tcurrentOffset += <span class=\"code-number\">1</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">if</span> (range) {\n","\t\t\trange.setEnd(node, currentOffset);\n","\t\t\t<span class=\"code-keyword\">yield</span> range;\n","\t\t\trange = <span class=\"code-literal\">undefined</span>;\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> *<span class=\"code-title\">letters</span>(<span class=\"code-params\">wordRange</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> currentText = wordRange.startContainer;\n","\t\t<span class=\"code-keyword\">let</span> max = currentText.length;\n","\t\t<span class=\"code-keyword\">let</span> currentOffset = wordRange.startOffset;\n","\t\t<span class=\"code-comment\">// let currentLetter;</span>\n","\n","\t\t<span class=\"code-keyword\">let</span> range;\n","\n","\t\t<span class=\"code-keyword\">while</span>(currentOffset < max) {\n","\t\t\t <span class=\"code-comment\">// currentLetter = currentText[currentOffset];</span>\n","\t\t\t range = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t range.setStart(currentText, currentOffset);\n","\t\t\t range.setEnd(currentText, currentOffset+<span class=\"code-number\">1</span>);\n","\n","\t\t\t <span class=\"code-keyword\">yield</span> range;\n","\n","\t\t\t currentOffset += <span class=\"code-number\">1</span>;\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isContainer</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> container;\n","\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> node.tagName === <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">if</span> (node.style && node.style.display === <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">switch</span> (node.tagName) {\n","\t\t\t<span class=\"code-comment\">// Inline</span>\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"A\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"ABBR\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"ACRONYM\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"B\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"BDO\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"BIG\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"BR\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"BUTTON\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"CITE\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"CODE\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"DFN\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"EM\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"I\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"IMG\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"INPUT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"KBD\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"LABEL\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"MAP\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"OBJECT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Q\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SAMP\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SCRIPT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SELECT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SMALL\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SPAN\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"STRONG\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SUB\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"SUP\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"TEXTAREA\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"TIME\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"TT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"VAR\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"P\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H1\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H2\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H3\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H4\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H5\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"H6\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"FIGCAPTION\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"BLOCKQUOTE\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"PRE\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"LI\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"TR\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"DT\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"DD\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"VIDEO\"</span>:\n","\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"CANVAS\"</span>:\n","\t\t\t\tcontainer = <span class=\"code-literal\">false</span>;\n","\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t<span class=\"code-keyword\">default</span>:\n","\t\t\t\tcontainer = <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> container;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cloneNode</span>(<span class=\"code-params\">n, deep=false</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> n.cloneNode(deep);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findElement</span>(<span class=\"code-params\">node, doc</span>) </span>{\n","\t\t<span class=\"code-keyword\">const</span> ref = node.getAttribute(<span class=\"code-string\">\"data-ref\"</span>);\n","\t\t<span class=\"code-keyword\">return</span> findRef(ref, doc);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findRef</span>(<span class=\"code-params\">ref, doc</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> doc.querySelector(<span class=\"code-string\">`[data-ref='<span class=\"code-subst\">${ref}</span>']`</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">validNode</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (isText(node)) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">if</span> (isElement(node) && node.dataset.ref) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">prevValidNode</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">while</span> (!validNode(node)) {\n","\t\t\t<span class=\"code-keyword\">if</span> (node.previousSibling) {\n","\t\t\t\tnode = node.previousSibling;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tnode = node.parentNode;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!node) {\n","\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> node;\n","\t}\n","\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">indexOf$1</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> parent = node.parentNode;\n","\t\t<span class=\"code-keyword\">if</span> (!parent) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Array</span>.prototype.indexOf.call(parent.childNodes, node);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">child</span>(<span class=\"code-params\">node, index</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> node.childNodes[index];\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">hasContent</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (isElement(node)) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (isText(node) &&\n","\t\t\t\tnode.textContent.trim().length) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">indexOfTextNode</span>(<span class=\"code-params\">node, parent</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!isText(node)) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">let</span> nodeTextContent = node.textContent;\n","\t\t<span class=\"code-keyword\">let</span> child;\n","\t\t<span class=\"code-keyword\">let</span> index = <span class=\"code-number\">-1</span>;\n","\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < parent.childNodes.length; i++) {\n","\t\t\tchild = parent.childNodes[i];\n","\t\t\t<span class=\"code-keyword\">if</span> (child.nodeType === <span class=\"code-number\">3</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> text = parent.childNodes[i].textContent;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (text.includes(nodeTextContent)) {\n","\t\t\t\t\tindex = i;\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">return</span> index;\n","\t}\n","\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Throughout, whitespace is defined as one of the characters\n</span>","<span class=\"code-comment\">\t * \"\\t\" TAB \\u0009\n</span>","<span class=\"code-comment\">\t * \"\\n\" LF \\u000A\n</span>","<span class=\"code-comment\">\t * \"\\r\" CR \\u000D\n</span>","<span class=\"code-comment\">\t * \" \" SPC \\u0020\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * This does not use Javascript's \"\\s\" because that includes non-breaking\n</span>","<span class=\"code-comment\">\t * spaces (and also some other characters).\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Determine if a node should be ignored by the iterator functions.\n</span>","<span class=\"code-comment\">\t * taken from https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Whitespace#Whitespace_helper_functions\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param {Node} node An object implementing the DOM1 |Node| interface.\n</span>","<span class=\"code-comment\">\t * @return {boolean} true if the node is:\n</span>","<span class=\"code-comment\">\t * 1) A |Text| node that is all whitespace\n</span>","<span class=\"code-comment\">\t * 2) A |Comment| node\n</span>","<span class=\"code-comment\">\t * and otherwise false.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isIgnorable</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> (node.nodeType === <span class=\"code-number\">8</span>) || <span class=\"code-comment\">// A comment node</span>\n","\t\t\t((node.nodeType === <span class=\"code-number\">3</span>) && isAllWhitespace(node)); <span class=\"code-comment\">// a text node, all whitespace</span>\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Determine whether a node's text content is entirely whitespace.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param {Node} node A node implementing the |CharacterData| interface (i.e., a |Text|, |Comment|, or |CDATASection| node\n</span>","<span class=\"code-comment\">\t * @return {boolean} true if all of the text content of |nod| is whitespace, otherwise false.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isAllWhitespace</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> !(<span class=\"code-regexp\">/[^\\t\\n\\r ]/</span>.test(node.textContent));\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Version of |previousSibling| that skips nodes that are entirely\n</span>","<span class=\"code-comment\">\t * whitespace or comments. (Normally |previousSibling| is a property\n</span>","<span class=\"code-comment\">\t * of all DOM nodes that gives the sibling node, the node that is\n</span>","<span class=\"code-comment\">\t * a child of the same parent, that occurs immediately before the\n</span>","<span class=\"code-comment\">\t * reference node.)\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param {ChildNode} sib The reference node.\n</span>","<span class=\"code-comment\">\t * @return {Node|null} Either:\n</span>","<span class=\"code-comment\">\t * 1) The closest previous sibling to |sib| that is not ignorable according to |is_ignorable|, or\n</span>","<span class=\"code-comment\">\t * 2) null if no such node exists.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">previousSignificantNode</span>(<span class=\"code-params\">sib</span>) </span>{\n","\t\t<span class=\"code-keyword\">while</span> ((sib = sib.previousSibling)) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!isIgnorable(sib)) <span class=\"code-keyword\">return</span> sib;\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">breakInsideAvoidParentNode</span>(<span class=\"code-params\">node</span>) </span>{\n","\t\t<span class=\"code-keyword\">while</span> ((node = node.parentNode)) {\n","\t\t\t<span class=\"code-keyword\">if</span> (node && node.dataset && node.dataset.breakInside === <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> node;\n","\t\t\t}\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Find a parent with a given node name.\n</span>","<span class=\"code-comment\">\t * @param {Node} node - initial Node\n</span>","<span class=\"code-comment\">\t * @param {string} nodeName - node name (eg. \"TD\", \"TABLE\", \"STRONG\"...)\n</span>","<span class=\"code-comment\">\t * @param {Node} limiter - go up to the parent until there's no more parent or the current node is equals to the limiter\n</span>","<span class=\"code-comment\">\t * @returns {Node|undefined} - Either:\n</span>","<span class=\"code-comment\">\t * 1) The closest parent for a the given node name, or\n</span>","<span class=\"code-comment\">\t * 2) undefined if no such node exists.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">parentOf</span>(<span class=\"code-params\">node, nodeName, limiter</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (node.parentNode) {\n","\t\t\t<span class=\"code-keyword\">while</span> ((node = node.parentNode)) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (limiter && node === limiter) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">if</span> (node.nodeName === nodeName) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> node;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Version of |nextSibling| that skips nodes that are entirely\n</span>","<span class=\"code-comment\">\t * whitespace or comments.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param {ChildNode} sib The reference node.\n</span>","<span class=\"code-comment\">\t * @return {Node|null} Either:\n</span>","<span class=\"code-comment\">\t * 1) The closest next sibling to |sib| that is not ignorable according to |is_ignorable|, or\n</span>","<span class=\"code-comment\">\t * 2) null if no such node exists.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">nextSignificantNode</span>(<span class=\"code-params\">sib</span>) </span>{\n","\t\t<span class=\"code-keyword\">while</span> ((sib = sib.nextSibling)) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!isIgnorable(sib)) <span class=\"code-keyword\">return</span> sib;\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">filterTree</span>(<span class=\"code-params\">content, func, what</span>) </span>{\n","\t\t<span class=\"code-keyword\">const</span> treeWalker = <span class=\"code-built_in\">document</span>.createTreeWalker(\n","\t\t\tcontent || <span class=\"code-keyword\">this</span>.dom,\n","\t\t\twhat || NodeFilter.SHOW_ALL,\n","\t\t\tfunc ? { <span class=\"code-attr\">acceptNode</span>: func } : <span class=\"code-literal\">null</span>,\n","\t\t\t<span class=\"code-literal\">false</span>\n","\t\t);\n","\n","\t\t<span class=\"code-keyword\">let</span> node;\n","\t\t<span class=\"code-keyword\">let</span> current;\n","\t\tnode = treeWalker.nextNode();\n","\t\t<span class=\"code-keyword\">while</span>(node) {\n","\t\t\tcurrent = node;\n","\t\t\tnode = treeWalker.nextNode();\n","\t\t\tcurrent.parentNode.removeChild(current);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Layout\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">BreakToken</span> </span>{\n","\n","\t\t<span class=\"code-keyword\">constructor</span>(node, offset) {\n","\t\t\t<span class=\"code-keyword\">this</span>.node = node;\n","\t\t\t<span class=\"code-keyword\">this</span>.offset = offset;\n","\t\t}\n","\n","\t\tequals(otherBreakToken) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!otherBreakToken) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>[<span class=\"code-string\">\"node\"</span>] && otherBreakToken[<span class=\"code-string\">\"node\"</span>] &&\n","\t\t\t\t<span class=\"code-keyword\">this</span>[<span class=\"code-string\">\"node\"</span>] !== otherBreakToken[<span class=\"code-string\">\"node\"</span>]) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>[<span class=\"code-string\">\"offset\"</span>] && otherBreakToken[<span class=\"code-string\">\"offset\"</span>] &&\n","\t\t\t\t<span class=\"code-keyword\">this</span>[<span class=\"code-string\">\"offset\"</span>] !== otherBreakToken[<span class=\"code-string\">\"offset\"</span>]) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-keyword\">const</span> MAX_CHARS_PER_BREAK = <span class=\"code-number\">1500</span>;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Layout\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Layout</span> </span>{\n","\n","\t\t<span class=\"code-keyword\">constructor</span>(element, hooks, options) {\n","\t\t\t<span class=\"code-keyword\">this</span>.element = element;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.bounds = <span class=\"code-keyword\">this</span>.element.getBoundingClientRect();\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (hooks) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks = hooks;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks = {};\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.layout = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.renderNode = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.layoutNode = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeOverflow = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onOverflow = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onBreakToken = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.settings = options || {};\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.maxChars = <span class=\"code-keyword\">this</span>.settings.maxChars || MAX_CHARS_PER_BREAK;\n","\t\t\t<span class=\"code-keyword\">this</span>.forceRenderBreak = <span class=\"code-literal\">false</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> renderTo(wrapper, source, breakToken, bounds = <span class=\"code-keyword\">this</span>.bounds) {\n","\t\t\t<span class=\"code-keyword\">let</span> start = <span class=\"code-keyword\">this</span>.getStart(source, breakToken);\n","\t\t\t<span class=\"code-keyword\">let</span> walker = walk(start, source);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> node;\n","\t\t\t<span class=\"code-keyword\">let</span> prevNode;\n","\t\t\t<span class=\"code-keyword\">let</span> done;\n","\t\t\t<span class=\"code-keyword\">let</span> next;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> hasRenderedContent = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> newBreakToken;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> length = <span class=\"code-number\">0</span>;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> prevBreakToken = breakToken || <span class=\"code-keyword\">new</span> BreakToken(start);\n","\n","\t\t\t<span class=\"code-keyword\">while</span> (!done && !newBreakToken) {\n","\t\t\t\tnext = walker.next();\n","\t\t\t\tprevNode = node;\n","\t\t\t\tnode = next.value;\n","\t\t\t\tdone = next.done;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!node) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks && <span class=\"code-keyword\">this</span>.hooks.layout.trigger(wrapper, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> imgs = wrapper.querySelectorAll(<span class=\"code-string\">\"img\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (imgs.length) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.waitForImages(imgs);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) {\n","\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"Unable to layout item: \"</span>, prevNode);\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> newBreakToken;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks && <span class=\"code-keyword\">this</span>.hooks.layoutNode.trigger(node);\n","\n","\t\t\t\t<span class=\"code-comment\">// Check if the rendered element has a break set</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (hasRenderedContent && <span class=\"code-keyword\">this</span>.shouldBreak(node)) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks && <span class=\"code-keyword\">this</span>.hooks.layout.trigger(wrapper, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> imgs = wrapper.querySelectorAll(<span class=\"code-string\">\"img\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (imgs.length) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.waitForImages(imgs);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!newBreakToken) {\n","\t\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.breakAt(node);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) {\n","\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"Unable to layout item: \"</span>, node);\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tlength = <span class=\"code-number\">0</span>;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-comment\">// Should the Node be a shallow or deep clone</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> shallow = isContainer(node);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> rendered = <span class=\"code-keyword\">this</span>.append(node, wrapper, breakToken, shallow);\n","\n","\t\t\t\tlength += rendered.textContent.length;\n","\n","\t\t\t\t<span class=\"code-comment\">// Check if layout has content yet</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!hasRenderedContent) {\n","\t\t\t\t\thasRenderedContent = hasContent(node);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-comment\">// Skip to the next node if a deep clone was rendered</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!shallow) {\n","\t\t\t\t\twalker = walk(nodeAfter(node, source), source);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.forceRenderBreak) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks && <span class=\"code-keyword\">this</span>.hooks.layout.trigger(wrapper, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!newBreakToken) {\n","\t\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.breakAt(node);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tlength = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.forceRenderBreak = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-comment\">// Only check x characters</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (length >= <span class=\"code-keyword\">this</span>.maxChars) {\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks && <span class=\"code-keyword\">this</span>.hooks.layout.trigger(wrapper, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> imgs = wrapper.querySelectorAll(<span class=\"code-string\">\"img\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (imgs.length) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.waitForImages(imgs);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tnewBreakToken = <span class=\"code-keyword\">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) {\n","\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"Unable to layout item: \"</span>, node);\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (newBreakToken) {\n","\t\t\t\t\t\tlength = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> newBreakToken;\n","\t\t}\n","\n","\t\tbreakAt(node, offset = <span class=\"code-number\">0</span>) {\n","\t\t\t<span class=\"code-keyword\">let</span> newBreakToken = <span class=\"code-keyword\">new</span> BreakToken(\n","\t\t\t\tnode,\n","\t\t\t\toffset\n","\t\t\t);\n","\t\t\t<span class=\"code-keyword\">let</span> breakHooks = <span class=\"code-keyword\">this</span>.hooks.onBreakToken.triggerSync(newBreakToken, <span class=\"code-literal\">undefined</span>, node, <span class=\"code-keyword\">this</span>);\n","\t\t\tbreakHooks.forEach(<span class=\"code-function\">(<span class=\"code-params\">newToken</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> newToken != <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\tnewBreakToken = newToken;\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> newBreakToken;\n","\t\t}\n","\n","\t\tshouldBreak(node) {\n","\t\t\t<span class=\"code-keyword\">let</span> previousSibling = previousSignificantNode(node);\n","\t\t\t<span class=\"code-keyword\">let</span> parentNode = node.parentNode;\n","\t\t\t<span class=\"code-keyword\">let</span> parentBreakBefore = needsBreakBefore(node) && parentNode && !previousSibling && needsBreakBefore(parentNode);\n","\t\t\t<span class=\"code-keyword\">let</span> doubleBreakBefore;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (parentBreakBefore) {\n","\t\t\t\tdoubleBreakBefore = node.dataset.breakBefore === parentNode.dataset.breakBefore;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> !doubleBreakBefore && needsBreakBefore(node) || needsPreviousBreakAfter(node) || needsPageBreak(node, previousSibling);\n","\t\t}\n","\n","\t\tforceBreak() {\n","\t\t\t<span class=\"code-keyword\">this</span>.forceRenderBreak = <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\tgetStart(source, breakToken) {\n","\t\t\t<span class=\"code-keyword\">let</span> start;\n","\t\t\t<span class=\"code-keyword\">let</span> node = breakToken && breakToken.node;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node) {\n","\t\t\t\tstart = node;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tstart = source.firstChild;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> start;\n","\t\t}\n","\n","\t\tappend(node, dest, breakToken, shallow = <span class=\"code-literal\">true</span>, rebuild = <span class=\"code-literal\">true</span>) {\n","\n","\t\t\t<span class=\"code-keyword\">let</span> clone = cloneNode(node, !shallow);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node.parentNode && isElement(node.parentNode)) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> parent = findElement(node.parentNode, dest);\n","\t\t\t\t<span class=\"code-comment\">// Rebuild chain</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (parent) {\n","\t\t\t\t\tparent.appendChild(clone);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (rebuild) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> fragment = rebuildAncestors(node);\n","\t\t\t\t\tparent = findElement(node.parentNode, fragment);\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!parent) {\n","\t\t\t\t\t\tdest.appendChild(clone);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (breakToken && isText(breakToken.node) && breakToken.offset > <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t\tclone.textContent = clone.textContent.substring(breakToken.offset);\n","\t\t\t\t\t\tparent.appendChild(clone);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tparent.appendChild(clone);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tdest.appendChild(fragment);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tdest.appendChild(clone);\n","\t\t\t\t}\n","\n","\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tdest.appendChild(clone);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> nodeHooks = <span class=\"code-keyword\">this</span>.hooks.renderNode.triggerSync(clone, node, <span class=\"code-keyword\">this</span>);\n","\t\t\tnodeHooks.forEach(<span class=\"code-function\">(<span class=\"code-params\">newNode</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> newNode != <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\tclone = newNode;\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> clone;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> waitForImages(imgs) {\n","\t\t\t<span class=\"code-keyword\">let</span> results = <span class=\"code-built_in\">Array</span>.from(imgs).map(<span class=\"code-keyword\">async</span> (img) => {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.awaitImageLoaded(img);\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-built_in\">Promise</span>.all(results);\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> awaitImageLoaded(image) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-params\">resolve</span> =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (image.complete !== <span class=\"code-literal\">true</span>) {\n","\t\t\t\t\timage.onload = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> {width, height} = <span class=\"code-built_in\">window</span>.getComputedStyle(image);\n","\t\t\t\t\t\tresolve(width, height);\n","\t\t\t\t\t};\n","\t\t\t\t\timage.onerror = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">e</span>) </span>{\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> {width, height} = <span class=\"code-built_in\">window</span>.getComputedStyle(image);\n","\t\t\t\t\t\tresolve(width, height, e);\n","\t\t\t\t\t};\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> {width, height} = <span class=\"code-built_in\">window</span>.getComputedStyle(image);\n","\t\t\t\t\tresolve(width, height);\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\tavoidBreakInside(node, limiter) {\n","\t\t\t<span class=\"code-keyword\">let</span> breakNode;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node === limiter) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">while</span> (node.parentNode) {\n","\t\t\t\tnode = node.parentNode;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (node === limiter) {\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">window</span>.getComputedStyle(node)[<span class=\"code-string\">\"break-inside\"</span>] === <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t\tbreakNode = node;\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> breakNode;\n","\t\t}\n","\n","\t\tcreateBreakToken(overflow, rendered, source) {\n","\t\t\t<span class=\"code-keyword\">let</span> container = overflow.startContainer;\n","\t\t\t<span class=\"code-keyword\">let</span> offset = overflow.startOffset;\n","\t\t\t<span class=\"code-keyword\">let</span> node, renderedNode, parent, index, temp;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (isElement(container)) {\n","\t\t\t\ttemp = child(container, offset);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (isElement(temp)) {\n","\t\t\t\t\trenderedNode = findElement(temp, rendered);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!renderedNode) {\n","\t\t\t\t\t\t<span class=\"code-comment\">// Find closest element with data-ref</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> prevNode = prevValidNode(temp);\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!isElement(prevNode)) {\n","\t\t\t\t\t\t\tprevNode = prevNode.parentElement;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\trenderedNode = findElement(prevNode, rendered);\n","\t\t\t\t\t\t<span class=\"code-comment\">// Check if temp is the last rendered node at its level.</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!temp.nextSibling) {\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// We need to ensure that the previous sibling of temp is fully rendered.</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">const</span> renderedNodeFromSource = findElement(renderedNode, source);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">const</span> walker = <span class=\"code-built_in\">document</span>.createTreeWalker(renderedNodeFromSource, NodeFilter.SHOW_ELEMENT);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">const</span> lastChildOfRenderedNodeFromSource = walker.lastChild();\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">const</span> lastChildOfRenderedNodeMatchingFromRendered = findElement(lastChildOfRenderedNodeFromSource, rendered);\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// Check if we found that the last child in source</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!lastChildOfRenderedNodeMatchingFromRendered) {\n","\t\t\t\t\t\t\t\t<span class=\"code-comment\">// Pending content to be rendered before virtual break token</span>\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// Otherwise we will return a break token as per below</span>\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\t<span class=\"code-comment\">// renderedNode is actually the last unbroken box that does not overflow.</span>\n","\t\t\t\t\t\t<span class=\"code-comment\">// Break Token is therefore the next sibling of renderedNode within source node.</span>\n","\t\t\t\t\t\tnode = findElement(renderedNode, source).nextSibling;\n","\t\t\t\t\t\toffset = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tnode = findElement(renderedNode, source);\n","\t\t\t\t\t\toffset = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t}\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\trenderedNode = findElement(container, rendered);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!renderedNode) {\n","\t\t\t\t\t\trenderedNode = findElement(prevValidNode(container), rendered);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\tparent = findElement(renderedNode, source);\n","\t\t\t\t\tindex = indexOfTextNode(temp, parent);\n","\t\t\t\t\t<span class=\"code-comment\">// No seperatation for the first textNode of an element</span>\n","\t\t\t\t\t<span class=\"code-keyword\">if</span>(index === <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t\tnode = parent;\n","\t\t\t\t\t\toffset = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tnode = child(parent, index);\n","\t\t\t\t\t\toffset = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\trenderedNode = findElement(container.parentNode, rendered);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!renderedNode) {\n","\t\t\t\t\trenderedNode = findElement(prevValidNode(container.parentNode), rendered);\n","\t\t\t\t}\n","\n","\t\t\t\tparent = findElement(renderedNode, source);\n","\t\t\t\tindex = indexOfTextNode(container, parent);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (index === <span class=\"code-number\">-1</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t}\n","\n","\t\t\t\tnode = child(parent, index);\n","\n","\t\t\t\toffset += node.textContent.indexOf(container.textContent);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!node) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> BreakToken(\n","\t\t\t\tnode,\n","\t\t\t\toffset\n","\t\t\t);\n","\n","\t\t}\n","\n","\t\tfindBreakToken(rendered, source, bounds = <span class=\"code-keyword\">this</span>.bounds, prevBreakToken, extract = <span class=\"code-literal\">true</span>) {\n","\t\t\t<span class=\"code-keyword\">let</span> overflow = <span class=\"code-keyword\">this</span>.findOverflow(rendered, bounds);\n","\t\t\t<span class=\"code-keyword\">let</span> breakToken, breakLetter;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> overflowHooks = <span class=\"code-keyword\">this</span>.hooks.onOverflow.triggerSync(overflow, rendered, bounds, <span class=\"code-keyword\">this</span>);\n","\t\t\toverflowHooks.forEach(<span class=\"code-function\">(<span class=\"code-params\">newOverflow</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> newOverflow != <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\toverflow = newOverflow;\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (overflow) {\n","\t\t\t\tbreakToken = <span class=\"code-keyword\">this</span>.createBreakToken(overflow, rendered, source);\n","\t\t\t\t<span class=\"code-comment\">// breakToken is nullable</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> breakHooks = <span class=\"code-keyword\">this</span>.hooks.onBreakToken.triggerSync(breakToken, overflow, rendered, <span class=\"code-keyword\">this</span>);\n","\t\t\t\tbreakHooks.forEach(<span class=\"code-function\">(<span class=\"code-params\">newToken</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> newToken != <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t\tbreakToken = newToken;\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// Stop removal if we are in a loop</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (breakToken && breakToken.equals(prevBreakToken)) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> breakToken;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (breakToken && breakToken[<span class=\"code-string\">\"node\"</span>] && breakToken[<span class=\"code-string\">\"offset\"</span>] && breakToken[<span class=\"code-string\">\"node\"</span>].textContent) {\n","\t\t\t\t\tbreakLetter = breakToken[<span class=\"code-string\">\"node\"</span>].textContent.charAt(breakToken[<span class=\"code-string\">\"offset\"</span>]);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tbreakLetter = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (breakToken && breakToken.node && extract) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.removeOverflow(overflow, breakLetter);\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> breakToken;\n","\t\t}\n","\n","\t\thasOverflow(element, bounds = <span class=\"code-keyword\">this</span>.bounds) {\n","\t\t\t<span class=\"code-keyword\">let</span> constrainingElement = element && element.parentNode; <span class=\"code-comment\">// this gets the element, instead of the wrapper for the width workaround</span>\n","\t\t\t<span class=\"code-keyword\">let</span> {width} = element.getBoundingClientRect();\n","\t\t\t<span class=\"code-keyword\">let</span> scrollWidth = constrainingElement ? constrainingElement.scrollWidth : <span class=\"code-number\">0</span>;\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Math</span>.max(<span class=\"code-built_in\">Math</span>.floor(width), scrollWidth) > <span class=\"code-built_in\">Math</span>.round(bounds.width);\n","\t\t}\n","\n","\t\tfindOverflow(rendered, bounds = <span class=\"code-keyword\">this</span>.bounds) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.hasOverflow(rendered, bounds)) <span class=\"code-keyword\">return</span>;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> start = <span class=\"code-built_in\">Math</span>.round(bounds.left);\n","\t\t\t<span class=\"code-keyword\">let</span> end = <span class=\"code-built_in\">Math</span>.round(bounds.right);\n","\t\t\t<span class=\"code-keyword\">let</span> range;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> walker = walk(rendered.firstChild, rendered);\n","\n","\t\t\t<span class=\"code-comment\">// Find Start</span>\n","\t\t\t<span class=\"code-keyword\">let</span> next, done, node, offset, skip, breakAvoid, prev, br;\n","\t\t\t<span class=\"code-keyword\">while</span> (!done) {\n","\t\t\t\tnext = walker.next();\n","\t\t\t\tdone = next.done;\n","\t\t\t\tnode = next.value;\n","\t\t\t\tskip = <span class=\"code-literal\">false</span>;\n","\t\t\t\tbreakAvoid = <span class=\"code-literal\">false</span>;\n","\t\t\t\tprev = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\tbr = <span class=\"code-literal\">undefined</span>;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (node) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> pos = getBoundingClientRect(node);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> left = <span class=\"code-built_in\">Math</span>.round(pos.left);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> right = <span class=\"code-built_in\">Math</span>.floor(pos.right);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!range && left >= end) {\n","\t\t\t\t\t\t<span class=\"code-comment\">// Check if it is a float</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> isFloat = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t\t\t\t<span class=\"code-comment\">// Check if the node is inside a break-inside: avoid table cell</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">const</span> insideTableCell = parentOf(node, <span class=\"code-string\">\"TD\"</span>, rendered);\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (insideTableCell && <span class=\"code-built_in\">window</span>.getComputedStyle(insideTableCell)[<span class=\"code-string\">\"break-inside\"</span>] === <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// breaking inside a table cell produces unexpected result, as a workaround, we forcibly avoid break inside in a cell.</span>\n","\t\t\t\t\t\t\tprev = insideTableCell;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (isElement(node)) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> styles = <span class=\"code-built_in\">window</span>.getComputedStyle(node);\n","\t\t\t\t\t\t\tisFloat = styles.getPropertyValue(<span class=\"code-string\">\"float\"</span>) !== <span class=\"code-string\">\"none\"</span>;\n","\t\t\t\t\t\t\tskip = styles.getPropertyValue(<span class=\"code-string\">\"break-inside\"</span>) === <span class=\"code-string\">\"avoid\"</span>;\n","\t\t\t\t\t\t\tbreakAvoid = node.dataset.breakBefore === <span class=\"code-string\">\"avoid\"</span> || node.dataset.previousBreakAfter === <span class=\"code-string\">\"avoid\"</span>;\n","\t\t\t\t\t\t\tprev = breakAvoid && nodeBefore(node, rendered);\n","\t\t\t\t\t\t\tbr = node.tagName === <span class=\"code-string\">\"BR\"</span> || node.tagName === <span class=\"code-string\">\"WBR\"</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (prev) {\n","\t\t\t\t\t\t\trange = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t\t\t\t\trange.selectNode(prev);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!br && !isFloat && isElement(node)) {\n","\t\t\t\t\t\t\trange = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t\t\t\t\trange.selectNode(node);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (isText(node) && node.textContent.trim().length) {\n","\t\t\t\t\t\t\trange = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t\t\t\t\trange.selectNode(node);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!range && isText(node) &&\n","\t\t\t\t\t\tnode.textContent.trim().length &&\n","\t\t\t\t\t\t!breakInsideAvoidParentNode(node.parentNode)) {\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> rects = getClientRects(node);\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> rect;\n","\t\t\t\t\t\tleft = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i != rects.length; i++) {\n","\t\t\t\t\t\t\trect = rects[i];\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rect.width > <span class=\"code-number\">0</span> && (!left || rect.left > left)) {\n","\t\t\t\t\t\t\t\tleft = rect.left;\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (left >= end) {\n","\t\t\t\t\t\t\trange = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t\t\t\t\toffset = <span class=\"code-keyword\">this</span>.textBreak(node, start, end);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!offset) {\n","\t\t\t\t\t\t\t\trange = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\trange.setStart(node, offset);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Skip children</span>\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (skip || right <= end) {\n","\t\t\t\t\t\tnext = nodeAfter(node, rendered);\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (next) {\n","\t\t\t\t\t\t\twalker = walk(next, rendered);\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Find End</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (range) {\n","\t\t\t\trange.setEndAfter(rendered.lastChild);\n","\t\t\t\t<span class=\"code-keyword\">return</span> range;\n","\t\t\t}\n","\n","\t\t}\n","\n","\t\tfindEndToken(rendered, source, bounds = <span class=\"code-keyword\">this</span>.bounds) {\n","\t\t\t<span class=\"code-keyword\">if</span> (rendered.childNodes.length === <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> lastChild = rendered.lastChild;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> lastNodeIndex;\n","\t\t\t<span class=\"code-keyword\">while</span> (lastChild && lastChild.lastChild) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!validNode(lastChild)) {\n","\t\t\t\t\t<span class=\"code-comment\">// Only get elements with refs</span>\n","\t\t\t\t\tlastChild = lastChild.previousSibling;\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!validNode(lastChild.lastChild)) {\n","\t\t\t\t\t<span class=\"code-comment\">// Deal with invalid dom items</span>\n","\t\t\t\t\tlastChild = prevValidNode(lastChild.lastChild);\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tlastChild = lastChild.lastChild;\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (isText(lastChild)) {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (lastChild.parentNode.dataset.ref) {\n","\t\t\t\t\tlastNodeIndex = indexOf$<span class=\"code-number\">1</span>(lastChild);\n","\t\t\t\t\tlastChild = lastChild.parentNode;\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tlastChild = lastChild.previousSibling;\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> original = findElement(lastChild, source);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (lastNodeIndex) {\n","\t\t\t\toriginal = original.childNodes[lastNodeIndex];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> after = nodeAfter(original);\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.breakAt(after);\n","\t\t}\n","\n","\t\ttextBreak(node, start, end) {\n","\t\t\t<span class=\"code-keyword\">let</span> wordwalker = words(node);\n","\t\t\t<span class=\"code-keyword\">let</span> left = <span class=\"code-number\">0</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> right = <span class=\"code-number\">0</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> word, next, done, pos;\n","\t\t\t<span class=\"code-keyword\">let</span> offset;\n","\t\t\t<span class=\"code-keyword\">while</span> (!done) {\n","\t\t\t\tnext = wordwalker.next();\n","\t\t\t\tword = next.value;\n","\t\t\t\tdone = next.done;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!word) {\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t\tpos = getBoundingClientRect(word);\n","\n","\t\t\t\tleft = <span class=\"code-built_in\">Math</span>.floor(pos.left);\n","\t\t\t\tright = <span class=\"code-built_in\">Math</span>.floor(pos.right);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (left >= end) {\n","\t\t\t\t\toffset = word.startOffset;\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (right > end) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> letterwalker = letters(word);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> letter, nextLetter, doneLetter;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">while</span> (!doneLetter) {\n","\t\t\t\t\t\tnextLetter = letterwalker.next();\n","\t\t\t\t\t\tletter = nextLetter.value;\n","\t\t\t\t\t\tdoneLetter = nextLetter.done;\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!letter) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\tpos = getBoundingClientRect(letter);\n","\t\t\t\t\t\tleft = <span class=\"code-built_in\">Math</span>.floor(pos.left);\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (left >= end) {\n","\t\t\t\t\t\t\toffset = letter.startOffset;\n","\t\t\t\t\t\t\tdone = <span class=\"code-literal\">true</span>;\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> offset;\n","\t\t}\n","\n","\t\tremoveOverflow(overflow, breakLetter) {\n","\t\t\t<span class=\"code-keyword\">let</span> {startContainer} = overflow;\n","\t\t\t<span class=\"code-keyword\">let</span> extracted = overflow.extractContents();\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hyphenateAtBreak(startContainer, breakLetter);\n","\n","\t\t\t<span class=\"code-keyword\">return</span> extracted;\n","\t\t}\n","\n","\t\thyphenateAtBreak(startContainer, breakLetter) {\n","\t\t\t<span class=\"code-keyword\">if</span> (isText(startContainer)) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> startText = startContainer.textContent;\n","\t\t\t\t<span class=\"code-keyword\">let</span> prevLetter = startText[startText.length - <span class=\"code-number\">1</span>];\n","\n","\t\t\t\t<span class=\"code-comment\">// Add a hyphen if previous character is a letter or soft hyphen</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (\n","\t\t\t\t\t(breakLetter && <span class=\"code-regexp\">/^\\w|\\u00AD$/</span>.test(prevLetter) && <span class=\"code-regexp\">/^\\w|\\u00AD$/</span>.test(breakLetter)) ||\n","\t\t\t\t\t(!breakLetter && <span class=\"code-regexp\">/^\\w|\\u00AD$/</span>.test(prevLetter))\n","\t\t\t\t) {\n","\t\t\t\t\tstartContainer.parentNode.classList.add(<span class=\"code-string\">\"pagedjs_hyphen\"</span>);\n","\t\t\t\t\tstartContainer.textContent += <span class=\"code-keyword\">this</span>.settings.hyphenGlyph || <span class=\"code-string\">\"\\u2011\"</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tequalTokens(a, b) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!a || !b) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (a[<span class=\"code-string\">\"node\"</span>] && b[<span class=\"code-string\">\"node\"</span>] && a[<span class=\"code-string\">\"node\"</span>] !== b[<span class=\"code-string\">\"node\"</span>]) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (a[<span class=\"code-string\">\"offset\"</span>] && b[<span class=\"code-string\">\"offset\"</span>] && a[<span class=\"code-string\">\"offset\"</span>] !== b[<span class=\"code-string\">\"offset\"</span>]) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\t}\n","\n","\teventEmitter(Layout.prototype);\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Render a page\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Page</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(pagesArea, pageTemplate, blank, hooks) {\n","\t\t\t<span class=\"code-keyword\">this</span>.pagesArea = pagesArea;\n","\t\t\t<span class=\"code-keyword\">this</span>.pageTemplate = pageTemplate;\n","\t\t\t<span class=\"code-keyword\">this</span>.blank = blank;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.width = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.height = <span class=\"code-literal\">undefined</span>;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks = hooks;\n","\n","\t\t\t<span class=\"code-comment\">// this.element = this.create(this.pageTemplate);</span>\n","\t\t}\n","\n","\t\tcreate(template, after) {\n","\t\t\t<span class=\"code-comment\">//let documentFragment = document.createRange().createContextualFragment( TEMPLATE );</span>\n","\t\t\t<span class=\"code-comment\">//let page = documentFragment.children[0];</span>\n","\t\t\t<span class=\"code-keyword\">let</span> clone = <span class=\"code-built_in\">document</span>.importNode(<span class=\"code-keyword\">this</span>.pageTemplate.content, <span class=\"code-literal\">true</span>);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> page, index;\n","\t\t\t<span class=\"code-keyword\">if</span> (after) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pagesArea.insertBefore(clone, after.nextElementSibling);\n","\t\t\t\tindex = <span class=\"code-built_in\">Array</span>.prototype.indexOf.call(<span class=\"code-keyword\">this</span>.pagesArea.children, after.nextElementSibling);\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.pagesArea.children[index];\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pagesArea.appendChild(clone);\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.pagesArea.lastChild;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> pagebox = page.querySelector(<span class=\"code-string\">\".pagedjs_pagebox\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> area = page.querySelector(<span class=\"code-string\">\".pagedjs_page_content\"</span>);\n","\n","\n","\t\t\t<span class=\"code-keyword\">let</span> size = area.getBoundingClientRect();\n","\n","\n","\t\t\tarea.style.columnWidth = <span class=\"code-built_in\">Math</span>.round(size.width) + <span class=\"code-string\">\"px\"</span>;\n","\t\t\tarea.style.columnGap = <span class=\"code-string\">\"calc(var(--pagedjs-margin-right) + var(--pagedjs-margin-left))\"</span>;\n","\t\t\t<span class=\"code-comment\">// area.style.overflow = \"scroll\";</span>\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.width = <span class=\"code-built_in\">Math</span>.round(size.width);\n","\t\t\t<span class=\"code-keyword\">this</span>.height = <span class=\"code-built_in\">Math</span>.round(size.height);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.element = page;\n","\t\t\t<span class=\"code-keyword\">this</span>.pagebox = pagebox;\n","\t\t\t<span class=\"code-keyword\">this</span>.area = area;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> page;\n","\t\t}\n","\n","\t\tcreateWrapper() {\n","\t\t\t<span class=\"code-keyword\">let</span> wrapper = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"div\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.area.appendChild(wrapper);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.wrapper = wrapper;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> wrapper;\n","\t\t}\n","\n","\t\tindex(pgnum) {\n","\t\t\t<span class=\"code-keyword\">this</span>.position = pgnum;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> page = <span class=\"code-keyword\">this</span>.element;\n","\t\t\t<span class=\"code-comment\">// let pagebox = this.pagebox;</span>\n","\n","\t\t\t<span class=\"code-keyword\">let</span> index = pgnum + <span class=\"code-number\">1</span>;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> id = <span class=\"code-string\">`page-<span class=\"code-subst\">${index}</span>`</span>;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.id = id;\n","\n","\t\t\t<span class=\"code-comment\">// page.dataset.pageNumber = index;</span>\n","\n","\t\t\tpage.dataset.pageNumber = index;\n","\t\t\tpage.setAttribute(<span class=\"code-string\">\"id\"</span>, id);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.name) {\n","\t\t\t\tpage.classList.add(<span class=\"code-string\">\"pagedjs_\"</span> + <span class=\"code-keyword\">this</span>.name + <span class=\"code-string\">\"_page\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.blank) {\n","\t\t\t\tpage.classList.add(<span class=\"code-string\">\"pagedjs_blank_page\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (pgnum === <span class=\"code-number\">0</span>) {\n","\t\t\t\tpage.classList.add(<span class=\"code-string\">\"pagedjs_first_page\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (pgnum % <span class=\"code-number\">2</span> !== <span class=\"code-number\">1</span>) {\n","\t\t\t\tpage.classList.remove(<span class=\"code-string\">\"pagedjs_left_page\"</span>);\n","\t\t\t\tpage.classList.add(<span class=\"code-string\">\"pagedjs_right_page\"</span>);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tpage.classList.remove(<span class=\"code-string\">\"pagedjs_right_page\"</span>);\n","\t\t\t\tpage.classList.add(<span class=\"code-string\">\"pagedjs_left_page\"</span>);\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t\tsize(width, height) {\n</span>","<span class=\"code-comment\">\t\t\tif (width === this.width && height === this.height) {\n</span>","<span class=\"code-comment\">\t\t\t\treturn;\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\t\t\tthis.width = width;\n</span>","<span class=\"code-comment\">\t\t\tthis.height = height;\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tthis.element.style.width = Math.round(width) + \"px\";\n</span>","<span class=\"code-comment\">\t\t\tthis.element.style.height = Math.round(height) + \"px\";\n</span>","<span class=\"code-comment\">\t\t\tthis.element.style.columnWidth = Math.round(width) + \"px\";\n</span>","<span class=\"code-comment\">\t\t}\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\n","\t\t<span class=\"code-keyword\">async</span> layout(contents, breakToken, maxChars) {\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.clear();\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.startToken = breakToken;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.layoutMethod = <span class=\"code-keyword\">new</span> Layout(<span class=\"code-keyword\">this</span>.area, <span class=\"code-keyword\">this</span>.hooks, maxChars);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> newBreakToken = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.layoutMethod.renderTo(<span class=\"code-keyword\">this</span>.wrapper, contents, breakToken);\n","\t\t\t\n","\t\t\t<span class=\"code-keyword\">this</span>.addListeners(contents);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.endToken = newBreakToken;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> newBreakToken;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> append(contents, breakToken) {\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.layoutMethod) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.layout(contents, breakToken);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> newBreakToken = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.layoutMethod.renderTo(<span class=\"code-keyword\">this</span>.wrapper, contents, breakToken);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.endToken = newBreakToken;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> newBreakToken;\n","\t\t}\n","\n","\t\tgetByParent(ref, entries) {\n","\t\t\t<span class=\"code-keyword\">let</span> e;\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < entries.length; i++) {\n","\t\t\t\te = entries[i];\n","\t\t\t\t<span class=\"code-keyword\">if</span> (e.dataset.ref === ref) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> e;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tonOverflow(func) {\n","\t\t\t<span class=\"code-keyword\">this</span>._onOverflow = func;\n","\t\t}\n","\n","\t\tonUnderflow(func) {\n","\t\t\t<span class=\"code-keyword\">this</span>._onUnderflow = func;\n","\t\t}\n","\n","\t\tclear() {\n","\t\t\t<span class=\"code-keyword\">this</span>.removeListeners();\n","\t\t\t<span class=\"code-keyword\">this</span>.wrapper && <span class=\"code-keyword\">this</span>.wrapper.remove();\n","\t\t\t<span class=\"code-keyword\">this</span>.createWrapper();\n","\t\t}\n","\n","\t\taddListeners(contents) {\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> ResizeObserver !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addResizeObserver(contents);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>._checkOverflowAfterResize = <span class=\"code-keyword\">this</span>.checkOverflowAfterResize.bind(<span class=\"code-keyword\">this</span>, contents);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.element.addEventListener(<span class=\"code-string\">\"overflow\"</span>, <span class=\"code-keyword\">this</span>._checkOverflowAfterResize, <span class=\"code-literal\">false</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.element.addEventListener(<span class=\"code-string\">\"underflow\"</span>, <span class=\"code-keyword\">this</span>._checkOverflowAfterResize, <span class=\"code-literal\">false</span>);\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> fall back to mutation observer?</span>\n","\n","\t\t\t<span class=\"code-keyword\">this</span>._onScroll = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.listening) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.element.scrollLeft = <span class=\"code-number\">0</span>;\n","\t\t\t\t}\n","\t\t\t}.bind(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-comment\">// Keep scroll left from changing</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.element.addEventListener(<span class=\"code-string\">\"scroll\"</span>, <span class=\"code-keyword\">this</span>._onScroll);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.listening = <span class=\"code-literal\">true</span>;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\tremoveListeners() {\n","\t\t\t<span class=\"code-keyword\">this</span>.listening = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> ResizeObserver !== <span class=\"code-string\">\"undefined\"</span> && <span class=\"code-keyword\">this</span>.ro) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.ro.disconnect();\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.element) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.element.removeEventListener(<span class=\"code-string\">\"overflow\"</span>, <span class=\"code-keyword\">this</span>._checkOverflowAfterResize, <span class=\"code-literal\">false</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.element.removeEventListener(<span class=\"code-string\">\"underflow\"</span>, <span class=\"code-keyword\">this</span>._checkOverflowAfterResize, <span class=\"code-literal\">false</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.element && <span class=\"code-keyword\">this</span>.element.removeEventListener(<span class=\"code-string\">\"scroll\"</span>, <span class=\"code-keyword\">this</span>._onScroll);\n","\n","\t\t}\n","\n","\t\taddResizeObserver(contents) {\n","\t\t\t<span class=\"code-keyword\">let</span> wrapper = <span class=\"code-keyword\">this</span>.wrapper;\n","\t\t\t<span class=\"code-keyword\">let</span> prevHeight = wrapper.getBoundingClientRect().height;\n","\t\t\t<span class=\"code-keyword\">this</span>.ro = <span class=\"code-keyword\">new</span> ResizeObserver(<span class=\"code-function\"><span class=\"code-params\">entries</span> =></span> {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.listening) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t}\n","\t\t\t\trequestAnimationFrame(<span class=\"code-function\"><span class=\"code-params\">()</span> =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> entry <span class=\"code-keyword\">of</span> entries) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">const</span> cr = entry.contentRect;\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (cr.height > prevHeight) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.checkOverflowAfterResize(contents);\n","\t\t\t\t\t\t\tprevHeight = wrapper.getBoundingClientRect().height;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (cr.height < prevHeight) { <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> calc line height && (prevHeight - cr.height) >= 22</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.checkUnderflowAfterResize(contents);\n","\t\t\t\t\t\t\tprevHeight = cr.height;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.ro.observe(wrapper);\n","\t\t}\n","\n","\t\tcheckOverflowAfterResize(contents) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.listening || !<span class=\"code-keyword\">this</span>.layoutMethod) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> newBreakToken = <span class=\"code-keyword\">this</span>.layoutMethod.findBreakToken(<span class=\"code-keyword\">this</span>.wrapper, contents, <span class=\"code-keyword\">this</span>.startToken);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (newBreakToken) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.endToken = newBreakToken;\n","\t\t\t\t<span class=\"code-keyword\">this</span>._onOverflow && <span class=\"code-keyword\">this</span>._onOverflow(newBreakToken);\n","\t\t\t}\n","\t\t}\n","\n","\t\tcheckUnderflowAfterResize(contents) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.listening || !<span class=\"code-keyword\">this</span>.layoutMethod) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> endToken = <span class=\"code-keyword\">this</span>.layoutMethod.findEndToken(<span class=\"code-keyword\">this</span>.wrapper, contents);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (endToken) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>._onUnderflow && <span class=\"code-keyword\">this</span>._onUnderflow(endToken);\n","\t\t\t}\n","\t\t}\n","\n","\n","\t\tdestroy() {\n","\t\t\t<span class=\"code-keyword\">this</span>.removeListeners();\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.element.remove();\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.element = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.wrapper = <span class=\"code-literal\">undefined</span>;\n","\t\t}\n","\t}\n","\n","\teventEmitter(Page.prototype);\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Render a flow of text offscreen\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">ContentParser</span> </span>{\n","\n","\t\t<span class=\"code-keyword\">constructor</span>(content, cb) {\n","\t\t\t<span class=\"code-keyword\">if</span> (content && content.nodeType) {\n","\t\t\t\t<span class=\"code-comment\">// handle dom</span>\n","\t\t\t\t<span class=\"code-keyword\">this</span>.dom = <span class=\"code-keyword\">this</span>.add(content);\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> content === <span class=\"code-string\">\"string\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.dom = <span class=\"code-keyword\">this</span>.parse(content);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.dom;\n","\t\t}\n","\n","\t\tparse(markup, mime) {\n","\t\t\t<span class=\"code-keyword\">let</span> range = <span class=\"code-built_in\">document</span>.createRange();\n","\t\t\t<span class=\"code-keyword\">let</span> fragment = range.createContextualFragment(markup);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.addRefs(fragment);\n","\n","\t\t\t<span class=\"code-keyword\">return</span> fragment;\n","\t\t}\n","\n","\t\tadd(contents) {\n","\t\t\t<span class=\"code-comment\">// let fragment = document.createDocumentFragment();</span>\n","\t\t\t<span class=\"code-comment\">//</span>\n","\t\t\t<span class=\"code-comment\">// let children = [...contents.childNodes];</span>\n","\t\t\t<span class=\"code-comment\">// for (let child of children) {</span>\n","\t\t\t<span class=\"code-comment\">// \tlet clone = child.cloneNode(true);</span>\n","\t\t\t<span class=\"code-comment\">// \tfragment.appendChild(clone);</span>\n","\t\t\t<span class=\"code-comment\">// }</span>\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.addRefs(contents);\n","\n","\t\t\t<span class=\"code-keyword\">return</span> contents;\n","\t\t}\n","\n","\t\taddRefs(content) {\n","\t\t\t<span class=\"code-keyword\">var</span> treeWalker = <span class=\"code-built_in\">document</span>.createTreeWalker(\n","\t\t\t\tcontent,\n","\t\t\t\tNodeFilter.SHOW_ELEMENT,\n","\t\t\t\t<span class=\"code-literal\">null</span>,\n","\t\t\t\t<span class=\"code-literal\">false</span>\n","\t\t\t);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> node = treeWalker.nextNode();\n","\t\t\t<span class=\"code-keyword\">while</span>(node) {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!node.hasAttribute(<span class=\"code-string\">\"data-ref\"</span>)) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> uuid = UUID();\n","\t\t\t\t\tnode.setAttribute(<span class=\"code-string\">\"data-ref\"</span>, uuid);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (node.id) {\n","\t\t\t\t\tnode.setAttribute(<span class=\"code-string\">\"data-id\"</span>, node.id);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-comment\">// node.setAttribute(\"data-children\", node.childNodes.length);</span>\n","\n","\t\t\t\t<span class=\"code-comment\">// node.setAttribute(\"data-text\", node.textContent.trim().length);</span>\n","\t\t\t\tnode = treeWalker.nextNode();\n","\t\t\t}\n","\t\t}\n","\n","\t\tfind(ref) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.refs[ref];\n","\t\t}\n","\n","\t\tdestroy() {\n","\t\t\t<span class=\"code-keyword\">this</span>.refs = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.dom = <span class=\"code-literal\">undefined</span>;\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Queue for handling tasks one at a time\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t * @param {scope} context what this will resolve to in the tasks\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Queue</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(context){\n","\t\t\t<span class=\"code-keyword\">this</span>._q = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.context = context;\n","\t\t\t<span class=\"code-keyword\">this</span>.tick = requestAnimationFrame;\n","\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.paused = <span class=\"code-literal\">false</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Add an item to the queue\n</span>","<span class=\"code-comment\">\t\t * @return {Promise} enqueued\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tenqueue() {\n","\t\t\t<span class=\"code-keyword\">var</span> deferred, promise;\n","\t\t\t<span class=\"code-keyword\">var</span> queued;\n","\t\t\t<span class=\"code-keyword\">var</span> task = [].shift.call(<span class=\"code-built_in\">arguments</span>);\n","\t\t\t<span class=\"code-keyword\">var</span> args = <span class=\"code-built_in\">arguments</span>;\n","\n","\t\t\t<span class=\"code-comment\">// Handle single args without context</span>\n","\t\t\t<span class=\"code-comment\">// if(args && !Array.isArray(args)) {</span>\n","\t\t\t<span class=\"code-comment\">// args = [args];</span>\n","\t\t\t<span class=\"code-comment\">// }</span>\n","\t\t\t<span class=\"code-keyword\">if</span>(!task) {\n","\t\t\t\t<span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">\"No Task Provided\"</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">typeof</span> task === <span class=\"code-string\">\"function\"</span>){\n","\n","\t\t\t\tdeferred = <span class=\"code-keyword\">new</span> defer();\n","\t\t\t\tpromise = deferred.promise;\n","\n","\t\t\t\tqueued = {\n","\t\t\t\t\t<span class=\"code-string\">\"task\"</span> : task,\n","\t\t\t\t\t<span class=\"code-string\">\"args\"</span> : args,\n","\t\t\t\t\t<span class=\"code-comment\">//\"context\" : context,</span>\n","\t\t\t\t\t<span class=\"code-string\">\"deferred\"</span> : deferred,\n","\t\t\t\t\t<span class=\"code-string\">\"promise\"</span> : promise\n","\t\t\t\t};\n","\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-comment\">// Task is a promise</span>\n","\t\t\t\tqueued = {\n","\t\t\t\t\t<span class=\"code-string\">\"promise\"</span> : task\n","\t\t\t\t};\n","\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>._q.push(queued);\n","\n","\t\t\t<span class=\"code-comment\">// Wait to start queue flush</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.paused == <span class=\"code-literal\">false</span> && !<span class=\"code-keyword\">this</span>.running) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.run();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> queued.promise;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Run one item\n</span>","<span class=\"code-comment\">\t\t * @return {Promise} dequeued\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tdequeue(){\n","\t\t\t<span class=\"code-keyword\">var</span> inwait, task, result;\n","\n","\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>._q.length && !<span class=\"code-keyword\">this</span>.paused) {\n","\t\t\t\tinwait = <span class=\"code-keyword\">this</span>._q.shift();\n","\t\t\t\ttask = inwait.task;\n","\t\t\t\t<span class=\"code-keyword\">if</span>(task){\n","\t\t\t\t\t<span class=\"code-comment\">// console.log(task)</span>\n","\n","\t\t\t\t\tresult = task.apply(<span class=\"code-keyword\">this</span>.context, inwait.args);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span>(result && <span class=\"code-keyword\">typeof</span> result[<span class=\"code-string\">\"then\"</span>] === <span class=\"code-string\">\"function\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-comment\">// Task is a function that returns a promise</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> result.then(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>)</span>{\n","\t\t\t\t\t\t\tinwait.deferred.resolve.apply(<span class=\"code-keyword\">this</span>.context, <span class=\"code-built_in\">arguments</span>);\n","\t\t\t\t\t\t}.bind(<span class=\"code-keyword\">this</span>), <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t\t\t\t\t\t\tinwait.deferred.reject.apply(<span class=\"code-keyword\">this</span>.context, <span class=\"code-built_in\">arguments</span>);\n","\t\t\t\t\t\t}.bind(<span class=\"code-keyword\">this</span>));\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-comment\">// Task resolves immediately</span>\n","\t\t\t\t\t\tinwait.deferred.resolve.apply(<span class=\"code-keyword\">this</span>.context, result);\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> inwait.promise;\n","\t\t\t\t\t}\n","\n","\n","\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span>(inwait.promise) {\n","\t\t\t\t\t<span class=\"code-comment\">// Task is a promise</span>\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> inwait.promise;\n","\t\t\t\t}\n","\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tinwait = <span class=\"code-keyword\">new</span> defer();\n","\t\t\t\tinwait.deferred.resolve();\n","\t\t\t\t<span class=\"code-keyword\">return</span> inwait.promise;\n","\t\t\t}\n","\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// Run All Immediately</span>\n","\t\tdump(){\n","\t\t\t<span class=\"code-keyword\">while</span>(<span class=\"code-keyword\">this</span>._q.length) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.dequeue();\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Run all tasks sequentially, at convince\n</span>","<span class=\"code-comment\">\t\t * @return {Promise} all run\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\trun(){\n","\n","\t\t\t<span class=\"code-keyword\">if</span>(!<span class=\"code-keyword\">this</span>.running){\n","\t\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-literal\">true</span>;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.defered = <span class=\"code-keyword\">new</span> defer();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.tick.call(<span class=\"code-built_in\">window</span>, () => {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>._q.length) {\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.dequeue()\n","\t\t\t\t\t\t.then(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>)</span>{\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.run();\n","\t\t\t\t\t\t}.bind(<span class=\"code-keyword\">this</span>));\n","\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.defered.resolve();\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t}\n","\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Unpause</span>\n","\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>.paused == <span class=\"code-literal\">true</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.paused = <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.defered.promise;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Flush all, as quickly as possible\n</span>","<span class=\"code-comment\">\t\t * @return {Promise} ran\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tflush(){\n","\n","\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>.running){\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.running;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>._q.length) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-keyword\">this</span>.dequeue()\n","\t\t\t\t\t.then(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>)</span>{\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.flush();\n","\t\t\t\t\t}.bind(<span class=\"code-keyword\">this</span>));\n","\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.running;\n","\t\t\t}\n","\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Clear all items in wait\n</span>","<span class=\"code-comment\">\t\t * @return {void}\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tclear(){\n","\t\t\t<span class=\"code-keyword\">this</span>._q = [];\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Get the number of tasks in the queue\n</span>","<span class=\"code-comment\">\t\t * @return {number} tasks\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tlength(){\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._q.length;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * Pause a running queue\n</span>","<span class=\"code-comment\">\t\t * @return {void}\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tpause(){\n","\t\t\t<span class=\"code-keyword\">this</span>.paused = <span class=\"code-literal\">true</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t * End the queue\n</span>","<span class=\"code-comment\">\t\t * @return {void}\n</span>","<span class=\"code-comment\">\t\t */</span>\n","\t\tstop(){\n","\t\t\t<span class=\"code-keyword\">this</span>._q = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.running = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.paused = <span class=\"code-literal\">true</span>;\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-keyword\">const</span> TEMPLATE = <span class=\"code-string\">`\n</span>","<span class=\"code-string\"><div class=\"pagedjs_page\">\n</span>","<span class=\"code-string\">\t<div class=\"pagedjs_sheet\">\n</span>","<span class=\"code-string\">\t\t<div class=\"pagedjs_bleed pagedjs_bleed-top\">\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-middle\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_marks-cross\"></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t</div>\n</span>","<span class=\"code-string\">\t\t<div class=\"pagedjs_bleed pagedjs_bleed-bottom\">\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-middle\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_marks-cross\"></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t</div>\n</span>","<span class=\"code-string\">\t\t<div class=\"pagedjs_bleed pagedjs_bleed-left\">\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-middle\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_marks-cross\"></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t</div>\n</span>","<span class=\"code-string\">\t\t<div class=\"pagedjs_bleed pagedjs_bleed-right\">\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-middle\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_marks-cross\"></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_marks-crop\"></div>\n</span>","<span class=\"code-string\">\t\t</div>\n</span>","<span class=\"code-string\">\t\t<div class=\"pagedjs_pagebox\">\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-top-left-corner-holder\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-top-left-corner\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-top\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-top-left\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-top-center\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-top-right\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-top-right-corner-holder\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-top-right-corner\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-right\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-right-top\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-right-middle\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-right-bottom\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-left\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-left-top\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-left-middle\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-left-bottom\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-bottom-left-corner-holder\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-bottom-left-corner\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-bottom\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-bottom-left\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-bottom-center\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-bottom-right\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_margin-bottom-right-corner-holder\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_margin pagedjs_margin-bottom-right-corner\"><div class=\"pagedjs_margin-content\"></div></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t\t<div class=\"pagedjs_area\">\n</span>","<span class=\"code-string\">\t\t\t\t<div class=\"pagedjs_page_content\"></div>\n</span>","<span class=\"code-string\">\t\t\t</div>\n</span>","<span class=\"code-string\">\t\t</div>\n</span>","<span class=\"code-string\">\t</div>\n</span>","<span class=\"code-string\"></div>`</span>;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Chop up text into flows\n</span>","<span class=\"code-comment\">\t * @class\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Chunker</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(content, renderTo, options) {\n","\t\t\t<span class=\"code-comment\">// this.preview = preview;</span>\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.settings = options || {};\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeParsed = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.filter = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterParsed = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforePageLayout = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.layout = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.renderNode = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.layoutNode = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onOverflow = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onBreakToken = <span class=\"code-keyword\">new</span> Hook();\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterPageLayout = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterRendered = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.pages = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.total = <span class=\"code-number\">0</span>;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.q = <span class=\"code-keyword\">new</span> Queue(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.stopped = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.rendered = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.content = content;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.charsPerBreak = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.maxChars;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (content) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.flow(content, renderTo);\n","\t\t\t}\n","\t\t}\n","\n","\t\tsetup(renderTo) {\n","\t\t\t<span class=\"code-keyword\">this</span>.pagesArea = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"div\"</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.pagesArea.classList.add(<span class=\"code-string\">\"pagedjs_pages\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (renderTo) {\n","\t\t\t\trenderTo.appendChild(<span class=\"code-keyword\">this</span>.pagesArea);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-built_in\">document</span>.querySelector(<span class=\"code-string\">\"body\"</span>).appendChild(<span class=\"code-keyword\">this</span>.pagesArea);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.pageTemplate = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"template\"</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.pageTemplate.innerHTML = TEMPLATE;\n","\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> flow(content, renderTo) {\n","\t\t\t<span class=\"code-keyword\">let</span> parsed;\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforeParsed.trigger(content, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\tparsed = <span class=\"code-keyword\">new</span> ContentParser(content);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.filter.triggerSync(parsed);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.source = parsed;\n","\t\t\t<span class=\"code-keyword\">this</span>.breakToken = <span class=\"code-literal\">undefined</span>;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.pagesArea && <span class=\"code-keyword\">this</span>.pageTemplate) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.q.clear();\n","\t\t\t\t<span class=\"code-keyword\">this</span>.removePages();\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.setup(renderTo);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"rendering\"</span>, parsed);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterParsed.trigger(parsed, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.loadFonts();\n","\n","\t\t\t<span class=\"code-keyword\">let</span> rendered = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.render(parsed, <span class=\"code-keyword\">this</span>.breakToken);\n","\t\t\t<span class=\"code-keyword\">while</span> (rendered.canceled) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.start();\n","\t\t\t\trendered = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.render(parsed, <span class=\"code-keyword\">this</span>.breakToken);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.rendered = <span class=\"code-literal\">true</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.pagesArea.style.setProperty(<span class=\"code-string\">\"--pagedjs-page-count\"</span>, <span class=\"code-keyword\">this</span>.total);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterRendered.trigger(<span class=\"code-keyword\">this</span>.pages, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"rendered\"</span>, <span class=\"code-keyword\">this</span>.pages);\n","\n","\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// oversetPages() {</span>\n","\t\t<span class=\"code-comment\">// \tlet overset = [];</span>\n","\t\t<span class=\"code-comment\">// \tfor (let i = 0; i < this.pages.length; i++) {</span>\n","\t\t<span class=\"code-comment\">// \t\tlet page = this.pages[i];</span>\n","\t\t<span class=\"code-comment\">// \t\tif (page.overset) {</span>\n","\t\t<span class=\"code-comment\">// \t\t\toverset.push(page);</span>\n","\t\t<span class=\"code-comment\">// \t\t\t// page.overset = false;</span>\n","\t\t<span class=\"code-comment\">// \t\t}</span>\n","\t\t<span class=\"code-comment\">// \t}</span>\n","\t\t<span class=\"code-comment\">// \treturn overset;</span>\n","\t\t<span class=\"code-comment\">// }</span>\n","\t\t<span class=\"code-comment\">//</span>\n","\t\t<span class=\"code-comment\">// async handleOverset(parsed) {</span>\n","\t\t<span class=\"code-comment\">// \tlet overset = this.oversetPages();</span>\n","\t\t<span class=\"code-comment\">// \tif (overset.length) {</span>\n","\t\t<span class=\"code-comment\">// \t\tconsole.log(\"overset\", overset);</span>\n","\t\t<span class=\"code-comment\">// \t\tlet index = this.pages.indexOf(overset[0]) + 1;</span>\n","\t\t<span class=\"code-comment\">// \t\tconsole.log(\"INDEX\", index);</span>\n","\t\t<span class=\"code-comment\">//</span>\n","\t\t<span class=\"code-comment\">// \t\t// Remove pages</span>\n","\t\t<span class=\"code-comment\">// \t\t// this.removePages(index);</span>\n","\t\t<span class=\"code-comment\">//</span>\n","\t\t<span class=\"code-comment\">// \t\t// await this.render(parsed, overset[0].overset);</span>\n","\t\t<span class=\"code-comment\">//</span>\n","\t\t<span class=\"code-comment\">// \t\t// return this.handleOverset(parsed);</span>\n","\t\t<span class=\"code-comment\">// \t}</span>\n","\t\t<span class=\"code-comment\">// }</span>\n","\n","\t\t<span class=\"code-keyword\">async</span> render(parsed, startAt) {\n","\t\t\t<span class=\"code-keyword\">let</span> renderer = <span class=\"code-keyword\">this</span>.layout(parsed, startAt, <span class=\"code-keyword\">this</span>.settings);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> done = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> result;\n","\t\t\t<span class=\"code-keyword\">while</span> (!done) {\n","\t\t\t\tresult = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.q.enqueue(<span class=\"code-function\"><span class=\"code-params\">()</span> =></span> { <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.renderAsync(renderer); });\n","\t\t\t\tdone = result.done;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> result;\n","\t\t}\n","\n","\t\tstart() {\n","\t\t\t<span class=\"code-keyword\">this</span>.rendered = <span class=\"code-literal\">false</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.stopped = <span class=\"code-literal\">false</span>;\n","\t\t}\n","\n","\t\tstop() {\n","\t\t\t<span class=\"code-keyword\">this</span>.stopped = <span class=\"code-literal\">true</span>;\n","\t\t\t<span class=\"code-comment\">// this.q.clear();</span>\n","\t\t}\n","\n","\t\trenderOnIdle(renderer) {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-params\">resolve</span> =></span> {\n","\t\t\t\trequestIdleCallback(<span class=\"code-keyword\">async</span> () => {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.stopped) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> resolve({ <span class=\"code-attr\">done</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">canceled</span>: <span class=\"code-literal\">true</span> });\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> result = <span class=\"code-keyword\">await</span> renderer.next();\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.stopped) {\n","\t\t\t\t\t\tresolve({ <span class=\"code-attr\">done</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">canceled</span>: <span class=\"code-literal\">true</span> });\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tresolve(result);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\t\t\t});\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> renderAsync(renderer) {\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.stopped) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> { <span class=\"code-attr\">done</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">canceled</span>: <span class=\"code-literal\">true</span> };\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">let</span> result = <span class=\"code-keyword\">await</span> renderer.next();\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.stopped) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> { <span class=\"code-attr\">done</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">canceled</span>: <span class=\"code-literal\">true</span> };\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">return</span> result;\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> handleBreaks(node) {\n","\t\t\t<span class=\"code-keyword\">let</span> currentPage = <span class=\"code-keyword\">this</span>.total + <span class=\"code-number\">1</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> currentPosition = currentPage % <span class=\"code-number\">2</span> === <span class=\"code-number\">0</span> ? <span class=\"code-string\">\"left\"</span> : <span class=\"code-string\">\"right\"</span>;\n","\t\t\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> Recto and Verso should reverse for rtl languages</span>\n","\t\t\t<span class=\"code-keyword\">let</span> currentSide = currentPage % <span class=\"code-number\">2</span> === <span class=\"code-number\">0</span> ? <span class=\"code-string\">\"verso\"</span> : <span class=\"code-string\">\"recto\"</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> previousBreakAfter;\n","\t\t\t<span class=\"code-keyword\">let</span> breakBefore;\n","\t\t\t<span class=\"code-keyword\">let</span> page;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (currentPage === <span class=\"code-number\">1</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node &&\n","\t\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset.previousBreakAfter !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\tpreviousBreakAfter = node.dataset.previousBreakAfter;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node &&\n","\t\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset !== <span class=\"code-string\">\"undefined\"</span> &&\n","\t\t\t\t\t<span class=\"code-keyword\">typeof</span> node.dataset.breakBefore !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\tbreakBefore = node.dataset.breakBefore;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span>( previousBreakAfter &&\n","\t\t\t\t\t(previousBreakAfter === <span class=\"code-string\">\"left\"</span> || previousBreakAfter === <span class=\"code-string\">\"right\"</span>) &&\n","\t\t\t\t\tpreviousBreakAfter !== currentPosition) {\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.addPage(<span class=\"code-literal\">true</span>);\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span>( previousBreakAfter &&\n","\t\t\t\t\t(previousBreakAfter === <span class=\"code-string\">\"verso\"</span> || previousBreakAfter === <span class=\"code-string\">\"recto\"</span>) &&\n","\t\t\t\t\tpreviousBreakAfter !== currentSide) {\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.addPage(<span class=\"code-literal\">true</span>);\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span>( breakBefore &&\n","\t\t\t\t\t(breakBefore === <span class=\"code-string\">\"left\"</span> || breakBefore === <span class=\"code-string\">\"right\"</span>) &&\n","\t\t\t\t\tbreakBefore !== currentPosition) {\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.addPage(<span class=\"code-literal\">true</span>);\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span>( breakBefore &&\n","\t\t\t\t\t(breakBefore === <span class=\"code-string\">\"verso\"</span> || breakBefore === <span class=\"code-string\">\"recto\"</span>) &&\n","\t\t\t\t\tbreakBefore !== currentSide) {\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.addPage(<span class=\"code-literal\">true</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (page) {\n","\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforePageLayout.trigger(page, <span class=\"code-literal\">undefined</span>, <span class=\"code-literal\">undefined</span>, <span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"page\"</span>, page);\n","\t\t\t\t<span class=\"code-comment\">// await this.hooks.layout.trigger(page.element, page, undefined, this);</span>\n","\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterPageLayout.trigger(page.element, page, <span class=\"code-literal\">undefined</span>, <span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"renderedPage\"</span>, page);\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> *layout(content, startAt) {\n","\t\t\t<span class=\"code-keyword\">let</span> breakToken = startAt || <span class=\"code-literal\">false</span>;\n","\n","\t\t\t<span class=\"code-keyword\">while</span> (breakToken !== <span class=\"code-literal\">undefined</span> && ( <span class=\"code-literal\">true</span>)) {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (breakToken && breakToken.node) {\n","\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.handleBreaks(breakToken.node);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.handleBreaks(content.firstChild);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> page = <span class=\"code-keyword\">this</span>.addPage();\n","\n","\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforePageLayout.trigger(page, content, breakToken, <span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"page\"</span>, page);\n","\n","\t\t\t\t<span class=\"code-comment\">// Layout content in the page, starting from the breakToken</span>\n","\t\t\t\tbreakToken = <span class=\"code-keyword\">await</span> page.layout(content, breakToken, <span class=\"code-keyword\">this</span>.maxChars);\n","\n","\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterPageLayout.trigger(page.element, page, breakToken, <span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"renderedPage\"</span>, page);\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.recoredCharLength(page.wrapper.textContent.length);\n","\n","\t\t\t\t<span class=\"code-keyword\">yield</span> breakToken;\n","\n","\t\t\t\t<span class=\"code-comment\">// Stop if we get undefined, showing we have reached the end of the content</span>\n","\t\t\t}\n","\n","\n","\t\t}\n","\n","\t\trecoredCharLength(length) {\n","\t\t\t<span class=\"code-keyword\">if</span> (length === <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.charsPerBreak.push(length);\n","\n","\t\t\t<span class=\"code-comment\">// Keep the length of the last few breaks</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.charsPerBreak.length > <span class=\"code-number\">4</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.charsPerBreak.shift();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.maxChars = <span class=\"code-keyword\">this</span>.charsPerBreak.reduce(<span class=\"code-function\">(<span class=\"code-params\">a, b</span>) =></span> a + b, <span class=\"code-number\">0</span>) / (<span class=\"code-keyword\">this</span>.charsPerBreak.length);\n","\t\t}\n","\n","\t\tremovePages(fromIndex=<span class=\"code-number\">0</span>) {\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (fromIndex >= <span class=\"code-keyword\">this</span>.pages.length) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Remove pages</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = fromIndex; i < <span class=\"code-keyword\">this</span>.pages.length; i++) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pages[i].destroy();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (fromIndex > <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pages.splice(fromIndex);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pages = [];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.total = <span class=\"code-keyword\">this</span>.pages.length;\n","\t\t}\n","\n","\t\taddPage(blank) {\n","\t\t\t<span class=\"code-keyword\">let</span> lastPage = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-keyword\">this</span>.pages.length - <span class=\"code-number\">1</span>];\n","\t\t\t<span class=\"code-comment\">// Create a new page from the template</span>\n","\t\t\t<span class=\"code-keyword\">let</span> page = <span class=\"code-keyword\">new</span> Page(<span class=\"code-keyword\">this</span>.pagesArea, <span class=\"code-keyword\">this</span>.pageTemplate, blank, <span class=\"code-keyword\">this</span>.hooks);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.pages.push(page);\n","\n","\t\t\t<span class=\"code-comment\">// Create the pages</span>\n","\t\t\tpage.create(<span class=\"code-literal\">undefined</span>, lastPage && lastPage.element);\n","\n","\t\t\tpage.index(<span class=\"code-keyword\">this</span>.total);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!blank) {\n","\t\t\t\t<span class=\"code-comment\">// Listen for page overflow</span>\n","\t\t\t\tpage.onOverflow(<span class=\"code-function\">(<span class=\"code-params\">overflowToken</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"overflow on\"</span>, page.id, overflowToken);\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Only reflow while rendering</span>\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.rendered) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> index = <span class=\"code-keyword\">this</span>.pages.indexOf(page) + <span class=\"code-number\">1</span>;\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Stop the rendering</span>\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.stop();\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Set the breakToken to resume at</span>\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.breakToken = overflowToken;\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Remove pages</span>\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.removePages(index);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.rendered === <span class=\"code-literal\">true</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.rendered = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.q.enqueue(<span class=\"code-keyword\">async</span> () => {\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.start();\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.render(<span class=\"code-keyword\">this</span>.source, <span class=\"code-keyword\">this</span>.breakToken);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.rendered = <span class=\"code-literal\">true</span>;\n","\n","\t\t\t\t\t\t});\n","\t\t\t\t\t}\n","\n","\n","\t\t\t\t});\n","\n","\t\t\t\tpage.onUnderflow(<span class=\"code-function\">(<span class=\"code-params\">overflowToken</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-comment\">// console.log(\"underflow on\", page.id, overflowToken);</span>\n","\n","\t\t\t\t\t<span class=\"code-comment\">// page.append(this.source, overflowToken);</span>\n","\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.total = <span class=\"code-keyword\">this</span>.pages.length;\n","\n","\t\t\t<span class=\"code-keyword\">return</span> page;\n","\t\t}\n","\t\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t\tinsertPage(index, blank) {\n</span>","<span class=\"code-comment\">\t\t\tlet lastPage = this.pages[index];\n</span>","<span class=\"code-comment\">\t\t\t// Create a new page from the template\n</span>","<span class=\"code-comment\">\t\t\tlet page = new Page(this.pagesArea, this.pageTemplate, blank, this.hooks);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tlet total = this.pages.splice(index, 0, page);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t// Create the pages\n</span>","<span class=\"code-comment\">\t\t\tpage.create(undefined, lastPage && lastPage.element);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tpage.index(index + 1);\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tfor (let i = index + 2; i < this.pages.length; i++) {\n</span>","<span class=\"code-comment\">\t\t\t\tthis.pages[i].index(i);\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tif (!blank) {\n</span>","<span class=\"code-comment\">\t\t\t\t// Listen for page overflow\n</span>","<span class=\"code-comment\">\t\t\t\tpage.onOverflow((overflowToken) => {\n</span>","<span class=\"code-comment\">\t\t\t\t\tif (total < this.pages.length) {\n</span>","<span class=\"code-comment\">\t\t\t\t\t\tthis.pages[total].layout(this.source, overflowToken);\n</span>","<span class=\"code-comment\">\t\t\t\t\t} else {\n</span>","<span class=\"code-comment\">\t\t\t\t\t\tlet newPage = this.addPage();\n</span>","<span class=\"code-comment\">\t\t\t\t\t\tnewPage.layout(this.source, overflowToken);\n</span>","<span class=\"code-comment\">\t\t\t\t\t}\n</span>","<span class=\"code-comment\">\t\t\t\t});\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\t\tpage.onUnderflow(() => {\n</span>","<span class=\"code-comment\">\t\t\t\t\t// console.log(\"underflow on\", page.id);\n</span>","<span class=\"code-comment\">\t\t\t\t});\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\tthis.total += 1;\n</span>","<span class=\"code-comment\">\n</span>","<span class=\"code-comment\">\t\t\treturn page;\n</span>","<span class=\"code-comment\">\t\t}\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\n","\n","\n","\t\tloadFonts() {\n","\t\t\t<span class=\"code-keyword\">let</span> fontPromises = [];\n","\t\t\t(<span class=\"code-built_in\">document</span>.fonts || []).forEach(<span class=\"code-function\">(<span class=\"code-params\">fontFace</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (fontFace.status !== <span class=\"code-string\">\"loaded\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> fontLoaded = fontFace.load().then(<span class=\"code-function\">(<span class=\"code-params\">r</span>) =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> fontFace.family;\n","\t\t\t\t\t}, (r) => {\n","\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"Failed to preload font-family:\"</span>, fontFace.family);\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> fontFace.family;\n","\t\t\t\t\t});\n","\t\t\t\t\tfontPromises.push(fontLoaded);\n","\t\t\t\t}\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Promise</span>.all(fontPromises).catch(<span class=\"code-function\">(<span class=\"code-params\">err</span>) =></span> {\n","\t\t\t\t<span class=\"code-built_in\">console</span>.warn(err);\n","\t\t\t});\n","\t\t}\n","\n","\t\tdestroy() {\n","\t\t\t<span class=\"code-keyword\">this</span>.pagesArea.remove();\n","\t\t\t<span class=\"code-keyword\">this</span>.pageTemplate.remove();\n","\t\t}\n","\n","\t}\n","\n","\teventEmitter(Chunker.prototype);\n","\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// list</span>\n","\t<span class=\"code-comment\">// \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2510</span>\n","\t<span class=\"code-comment\">// \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500head \u2502</span>\n","\t<span class=\"code-comment\">// \u2502 \u2502 tail\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510</span>\n","\t<span class=\"code-comment\">// \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502</span>\n","\t<span class=\"code-comment\">// \u25BC \u25BC</span>\n","\t<span class=\"code-comment\">// item item item item</span>\n","\t<span class=\"code-comment\">// \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2510</span>\n","\t<span class=\"code-comment\">// null \u25C0\u2500\u2500\u253C\u2500prev \u2502\u25C0\u2500\u2500\u2500\u253C\u2500prev \u2502\u25C0\u2500\u2500\u2500\u253C\u2500prev \u2502\u25C0\u2500\u2500\u2500\u253C\u2500prev \u2502</span>\n","\t<span class=\"code-comment\">// \u2502 next\u2500\u253C\u2500\u2500\u2500\u25B6\u2502 next\u2500\u253C\u2500\u2500\u2500\u25B6\u2502 next\u2500\u253C\u2500\u2500\u2500\u25B6\u2502 next\u2500\u253C\u2500\u2500\u25B6 null</span>\n","\t<span class=\"code-comment\">// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2524</span>\n","\t<span class=\"code-comment\">// \u2502 data \u2502 \u2502 data \u2502 \u2502 data \u2502 \u2502 data \u2502</span>\n","\t<span class=\"code-comment\">// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createItem</span>(<span class=\"code-params\">data</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t prev: <span class=\"code-literal\">null</span>,\n","\t next: <span class=\"code-literal\">null</span>,\n","\t data: data\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">allocateCursor</span>(<span class=\"code-params\">node, prev, next</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor;\n","\n","\t <span class=\"code-keyword\">if</span> (cursors !== <span class=\"code-literal\">null</span>) {\n","\t cursor = cursors;\n","\t cursors = cursors.cursor;\n","\t cursor.prev = prev;\n","\t cursor.next = next;\n","\t cursor.cursor = node.cursor;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t cursor = {\n","\t prev: prev,\n","\t next: next,\n","\t cursor: node.cursor\n","\t };\n","\t }\n","\n","\t node.cursor = cursor;\n","\n","\t <span class=\"code-keyword\">return</span> cursor;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">releaseCursor</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = node.cursor;\n","\n","\t node.cursor = cursor.cursor;\n","\t cursor.prev = <span class=\"code-literal\">null</span>;\n","\t cursor.next = <span class=\"code-literal\">null</span>;\n","\t cursor.cursor = cursors;\n","\t cursors = cursor;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> cursors = <span class=\"code-literal\">null</span>;\n","\t<span class=\"code-keyword\">var</span> List = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.cursor = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.head = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.tail = <span class=\"code-literal\">null</span>;\n","\t};\n","\n","\tList.createItem = createItem;\n","\tList.prototype.createItem = createItem;\n","\n","\tList.prototype.updateCursors = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">prevOld, prevNew, nextOld, nextNew</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.cursor;\n","\n","\t <span class=\"code-keyword\">while</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">if</span> (cursor.prev === prevOld) {\n","\t cursor.prev = prevNew;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (cursor.next === nextOld) {\n","\t cursor.next = nextNew;\n","\t }\n","\n","\t cursor = cursor.cursor;\n","\t }\n","\t};\n","\n","\tList.prototype.getSize = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> size = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\n","\t <span class=\"code-keyword\">while</span> (cursor) {\n","\t size++;\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> size;\n","\t};\n","\n","\tList.prototype.fromArray = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">array</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.head = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < array.length; i++) {\n","\t <span class=\"code-keyword\">var</span> item = createItem(array[i]);\n","\n","\t <span class=\"code-keyword\">if</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t cursor.next = item;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.head = item;\n","\t }\n","\n","\t item.prev = cursor;\n","\t cursor = item;\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.tail = cursor;\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\tList.prototype.toArray = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\t <span class=\"code-keyword\">var</span> result = [];\n","\n","\t <span class=\"code-keyword\">while</span> (cursor) {\n","\t result.push(cursor.data);\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\tList.prototype.toJSON = List.prototype.toArray;\n","\n","\tList.prototype.isEmpty = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.head === <span class=\"code-literal\">null</span>;\n","\t};\n","\n","\tList.prototype.first = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.head && <span class=\"code-keyword\">this</span>.head.data;\n","\t};\n","\n","\tList.prototype.last = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.tail && <span class=\"code-keyword\">this</span>.tail.data;\n","\t};\n","\n","\tList.prototype.each = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> item;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// push cursor</span>\n","\t <span class=\"code-keyword\">var</span> cursor = allocateCursor(<span class=\"code-keyword\">this</span>, <span class=\"code-literal\">null</span>, <span class=\"code-keyword\">this</span>.head);\n","\n","\t <span class=\"code-keyword\">while</span> (cursor.next !== <span class=\"code-literal\">null</span>) {\n","\t item = cursor.next;\n","\t cursor.next = item.next;\n","\n","\t fn.call(context, item.data, item, <span class=\"code-keyword\">this</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// pop cursor</span>\n","\t releaseCursor(<span class=\"code-keyword\">this</span>);\n","\t};\n","\n","\tList.prototype.forEach = List.prototype.each;\n","\n","\tList.prototype.eachRight = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> item;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// push cursor</span>\n","\t <span class=\"code-keyword\">var</span> cursor = allocateCursor(<span class=\"code-keyword\">this</span>, <span class=\"code-keyword\">this</span>.tail, <span class=\"code-literal\">null</span>);\n","\n","\t <span class=\"code-keyword\">while</span> (cursor.prev !== <span class=\"code-literal\">null</span>) {\n","\t item = cursor.prev;\n","\t cursor.prev = item.prev;\n","\n","\t fn.call(context, item.data, item, <span class=\"code-keyword\">this</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// pop cursor</span>\n","\t releaseCursor(<span class=\"code-keyword\">this</span>);\n","\t};\n","\n","\tList.prototype.forEachRight = List.prototype.eachRight;\n","\n","\tList.prototype.nextUntil = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">start, fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (start === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> item;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// push cursor</span>\n","\t <span class=\"code-keyword\">var</span> cursor = allocateCursor(<span class=\"code-keyword\">this</span>, <span class=\"code-literal\">null</span>, start);\n","\n","\t <span class=\"code-keyword\">while</span> (cursor.next !== <span class=\"code-literal\">null</span>) {\n","\t item = cursor.next;\n","\t cursor.next = item.next;\n","\n","\t <span class=\"code-keyword\">if</span> (fn.call(context, item.data, item, <span class=\"code-keyword\">this</span>)) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// pop cursor</span>\n","\t releaseCursor(<span class=\"code-keyword\">this</span>);\n","\t};\n","\n","\tList.prototype.prevUntil = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">start, fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (start === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> item;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// push cursor</span>\n","\t <span class=\"code-keyword\">var</span> cursor = allocateCursor(<span class=\"code-keyword\">this</span>, start, <span class=\"code-literal\">null</span>);\n","\n","\t <span class=\"code-keyword\">while</span> (cursor.prev !== <span class=\"code-literal\">null</span>) {\n","\t item = cursor.prev;\n","\t cursor.prev = item.prev;\n","\n","\t <span class=\"code-keyword\">if</span> (fn.call(context, item.data, item, <span class=\"code-keyword\">this</span>)) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// pop cursor</span>\n","\t releaseCursor(<span class=\"code-keyword\">this</span>);\n","\t};\n","\n","\tList.prototype.some = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">while</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">if</span> (fn.call(context, cursor.data, cursor, <span class=\"code-keyword\">this</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t};\n","\n","\tList.prototype.map = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-keyword\">new</span> List();\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">while</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t result.appendData(fn.call(context, cursor.data, cursor, <span class=\"code-keyword\">this</span>));\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\tList.prototype.filter = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">fn, context</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-keyword\">new</span> List();\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\n","\t <span class=\"code-keyword\">if</span> (context === <span class=\"code-literal\">undefined</span>) {\n","\t context = <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">while</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">if</span> (fn.call(context, cursor.data, cursor, <span class=\"code-keyword\">this</span>)) {\n","\t result.appendData(cursor.data);\n","\t }\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\tList.prototype.clear = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.head = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.tail = <span class=\"code-literal\">null</span>;\n","\t};\n","\n","\tList.prototype.copy = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-keyword\">new</span> List();\n","\t <span class=\"code-keyword\">var</span> cursor = <span class=\"code-keyword\">this</span>.head;\n","\n","\t <span class=\"code-keyword\">while</span> (cursor !== <span class=\"code-literal\">null</span>) {\n","\t result.insert(createItem(cursor.data));\n","\t cursor = cursor.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\tList.prototype.prepend = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">item</span>) </span>{\n","\t <span class=\"code-comment\">// head</span>\n","\t <span class=\"code-comment\">// ^</span>\n","\t <span class=\"code-comment\">// item</span>\n","\t <span class=\"code-keyword\">this</span>.updateCursors(<span class=\"code-literal\">null</span>, item, <span class=\"code-keyword\">this</span>.head, item);\n","\n","\t <span class=\"code-comment\">// insert to the beginning of the list</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.head !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// new item <- first item</span>\n","\t <span class=\"code-keyword\">this</span>.head.prev = item;\n","\n","\t <span class=\"code-comment\">// new item -> first item</span>\n","\t item.next = <span class=\"code-keyword\">this</span>.head;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// if list has no head, then it also has no tail</span>\n","\t <span class=\"code-comment\">// in this case tail points to the new item</span>\n","\t <span class=\"code-keyword\">this</span>.tail = item;\n","\t }\n","\n","\t <span class=\"code-comment\">// head always points to new item</span>\n","\t <span class=\"code-keyword\">this</span>.head = item;\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\tList.prototype.prependData = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">data</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.prepend(createItem(data));\n","\t};\n","\n","\tList.prototype.append = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">item</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.insert(item);\n","\t};\n","\n","\tList.prototype.appendData = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">data</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.insert(createItem(data));\n","\t};\n","\n","\tList.prototype.insert = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">item, before</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (before !== <span class=\"code-literal\">undefined</span> && before !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// prev before</span>\n","\t <span class=\"code-comment\">// ^</span>\n","\t <span class=\"code-comment\">// item</span>\n","\t <span class=\"code-keyword\">this</span>.updateCursors(before.prev, item, before, item);\n","\n","\t <span class=\"code-keyword\">if</span> (before.prev === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// insert to the beginning of list</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.head !== before) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'before doesn\\'t belong to list'</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// since head points to before therefore list doesn't empty</span>\n","\t <span class=\"code-comment\">// no need to check tail</span>\n","\t <span class=\"code-keyword\">this</span>.head = item;\n","\t before.prev = item;\n","\t item.next = before;\n","\n","\t <span class=\"code-keyword\">this</span>.updateCursors(<span class=\"code-literal\">null</span>, item);\n","\t } <span class=\"code-keyword\">else</span> {\n","\n","\t <span class=\"code-comment\">// insert between two items</span>\n","\t before.prev.next = item;\n","\t item.prev = before.prev;\n","\n","\t before.prev = item;\n","\t item.next = before;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// tail</span>\n","\t <span class=\"code-comment\">// ^</span>\n","\t <span class=\"code-comment\">// item</span>\n","\t <span class=\"code-keyword\">this</span>.updateCursors(<span class=\"code-keyword\">this</span>.tail, item, <span class=\"code-literal\">null</span>, item);\n","\n","\t <span class=\"code-comment\">// insert to the ending of the list</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.tail !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// last item -> new item</span>\n","\t <span class=\"code-keyword\">this</span>.tail.next = item;\n","\n","\t <span class=\"code-comment\">// last item <- new item</span>\n","\t item.prev = <span class=\"code-keyword\">this</span>.tail;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// if list has no tail, then it also has no head</span>\n","\t <span class=\"code-comment\">// in this case head points to new item</span>\n","\t <span class=\"code-keyword\">this</span>.head = item;\n","\t }\n","\n","\t <span class=\"code-comment\">// tail always points to new item</span>\n","\t <span class=\"code-keyword\">this</span>.tail = item;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\tList.prototype.insertData = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">data, before</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.insert(createItem(data), before);\n","\t};\n","\n","\tList.prototype.remove = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">item</span>) </span>{\n","\t <span class=\"code-comment\">// item</span>\n","\t <span class=\"code-comment\">// ^</span>\n","\t <span class=\"code-comment\">// prev next</span>\n","\t <span class=\"code-keyword\">this</span>.updateCursors(item, item.prev, item, item.next);\n","\n","\t <span class=\"code-keyword\">if</span> (item.prev !== <span class=\"code-literal\">null</span>) {\n","\t item.prev.next = item.next;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.head !== item) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'item doesn\\'t belong to list'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.head = item.next;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (item.next !== <span class=\"code-literal\">null</span>) {\n","\t item.next.prev = item.prev;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.tail !== item) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'item doesn\\'t belong to list'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.tail = item.prev;\n","\t }\n","\n","\t item.prev = <span class=\"code-literal\">null</span>;\n","\t item.next = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">return</span> item;\n","\t};\n","\n","\tList.prototype.push = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">data</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.insert(createItem(data));\n","\t};\n","\n","\tList.prototype.pop = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.tail !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.remove(<span class=\"code-keyword\">this</span>.tail);\n","\t }\n","\t};\n","\n","\tList.prototype.unshift = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">data</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.prepend(createItem(data));\n","\t};\n","\n","\tList.prototype.shift = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.head !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.remove(<span class=\"code-keyword\">this</span>.head);\n","\t }\n","\t};\n","\n","\tList.prototype.prependList = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.insertList(list, <span class=\"code-keyword\">this</span>.head);\n","\t};\n","\n","\tList.prototype.appendList = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.insertList(list);\n","\t};\n","\n","\tList.prototype.insertList = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list, before</span>) </span>{\n","\t <span class=\"code-comment\">// ignore empty lists</span>\n","\t <span class=\"code-keyword\">if</span> (list.head === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (before !== <span class=\"code-literal\">undefined</span> && before !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.updateCursors(before.prev, list.tail, before, list.head);\n","\n","\t <span class=\"code-comment\">// insert in the middle of dist list</span>\n","\t <span class=\"code-keyword\">if</span> (before.prev !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// before.prev <-> list.head</span>\n","\t before.prev.next = list.head;\n","\t list.head.prev = before.prev;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.head = list.head;\n","\t }\n","\n","\t before.prev = list.tail;\n","\t list.tail.next = before;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.updateCursors(<span class=\"code-keyword\">this</span>.tail, list.tail, <span class=\"code-literal\">null</span>, list.head);\n","\n","\t <span class=\"code-comment\">// insert to end of the list</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.tail !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// if destination list has a tail, then it also has a head,</span>\n","\t <span class=\"code-comment\">// but head doesn't change</span>\n","\n","\t <span class=\"code-comment\">// dest tail -> source head</span>\n","\t <span class=\"code-keyword\">this</span>.tail.next = list.head;\n","\n","\t <span class=\"code-comment\">// dest tail <- source head</span>\n","\t list.head.prev = <span class=\"code-keyword\">this</span>.tail;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// if list has no a tail, then it also has no a head</span>\n","\t <span class=\"code-comment\">// in this case points head to new item</span>\n","\t <span class=\"code-keyword\">this</span>.head = list.head;\n","\t }\n","\n","\t <span class=\"code-comment\">// tail always start point to new item</span>\n","\t <span class=\"code-keyword\">this</span>.tail = list.tail;\n","\t }\n","\n","\t list.head = <span class=\"code-literal\">null</span>;\n","\t list.tail = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>;\n","\t};\n","\n","\tList.prototype.replace = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">oldItem, newItemOrList</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-string\">'head'</span> <span class=\"code-keyword\">in</span> newItemOrList) {\n","\t <span class=\"code-keyword\">this</span>.insertList(newItemOrList, oldItem);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.insert(newItemOrList, oldItem);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.remove(oldItem);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> List_1 = List;\n","\n","\t<span class=\"code-keyword\">var</span> createCustomError = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createCustomError</span>(<span class=\"code-params\">name, message</span>) </span>{\n","\t <span class=\"code-comment\">// use Object.create(), because some VMs prevent setting line/column otherwise</span>\n","\t <span class=\"code-comment\">// (iOS Safari 10 even throws an exception)</span>\n","\t <span class=\"code-keyword\">var</span> error = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-built_in\">SyntaxError</span>.prototype);\n","\t <span class=\"code-keyword\">var</span> errorStack = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>();\n","\n","\t error.name = name;\n","\t error.message = message;\n","\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(error, <span class=\"code-string\">'stack'</span>, {\n","\t <span class=\"code-keyword\">get</span>: function() {\n","\t <span class=\"code-keyword\">return</span> (errorStack.stack || <span class=\"code-string\">''</span>).replace(<span class=\"code-regexp\">/^(.+\\n){1,3}/</span>, name + <span class=\"code-string\">': '</span> + message + <span class=\"code-string\">'\\n'</span>);\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> error;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> MAX_LINE_LENGTH = <span class=\"code-number\">100</span>;\n","\t<span class=\"code-keyword\">var</span> OFFSET_CORRECTION = <span class=\"code-number\">60</span>;\n","\t<span class=\"code-keyword\">var</span> TAB_REPLACEMENT = <span class=\"code-string\">' '</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">sourceFragment</span>(<span class=\"code-params\">error, extraLines</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">processLines</span>(<span class=\"code-params\">start, end</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> lines.slice(start, end).map(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">line, idx</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> num = <span class=\"code-built_in\">String</span>(start + idx + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">while</span> (num.length < maxNumLength) {\n","\t num = <span class=\"code-string\">' '</span> + num;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> num + <span class=\"code-string\">' |'</span> + line;\n","\t }).join(<span class=\"code-string\">'\\n'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> lines = error.source.split(<span class=\"code-regexp\">/\\r\\n?|\\n|\\f/</span>);\n","\t <span class=\"code-keyword\">var</span> line = error.line;\n","\t <span class=\"code-keyword\">var</span> column = error.column;\n","\t <span class=\"code-keyword\">var</span> startLine = <span class=\"code-built_in\">Math</span>.max(<span class=\"code-number\">1</span>, line - extraLines) - <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> endLine = <span class=\"code-built_in\">Math</span>.min(line + extraLines, lines.length + <span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">var</span> maxNumLength = <span class=\"code-built_in\">Math</span>.max(<span class=\"code-number\">4</span>, <span class=\"code-built_in\">String</span>(endLine).length) + <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> cutLeft = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// column correction according to replaced tab before column</span>\n","\t column += (TAB_REPLACEMENT.length - <span class=\"code-number\">1</span>) * (lines[line - <span class=\"code-number\">1</span>].substr(<span class=\"code-number\">0</span>, column - <span class=\"code-number\">1</span>).match(<span class=\"code-regexp\">/\\t/g</span>) || []).length;\n","\n","\t <span class=\"code-keyword\">if</span> (column > MAX_LINE_LENGTH) {\n","\t cutLeft = column - OFFSET_CORRECTION + <span class=\"code-number\">3</span>;\n","\t column = OFFSET_CORRECTION - <span class=\"code-number\">2</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = startLine; i <= endLine; i++) {\n","\t <span class=\"code-keyword\">if</span> (i >= <span class=\"code-number\">0</span> && i < lines.length) {\n","\t lines[i] = lines[i].replace(<span class=\"code-regexp\">/\\t/g</span>, TAB_REPLACEMENT);\n","\t lines[i] =\n","\t (cutLeft > <span class=\"code-number\">0</span> && lines[i].length > cutLeft ? <span class=\"code-string\">'\\u2026'</span> : <span class=\"code-string\">''</span>) +\n","\t lines[i].substr(cutLeft, MAX_LINE_LENGTH - <span class=\"code-number\">2</span>) +\n","\t (lines[i].length > cutLeft + MAX_LINE_LENGTH - <span class=\"code-number\">1</span> ? <span class=\"code-string\">'\\u2026'</span> : <span class=\"code-string\">''</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> [\n","\t processLines(startLine, line),\n","\t <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(column + maxNumLength + <span class=\"code-number\">2</span>).join(<span class=\"code-string\">'-'</span>) + <span class=\"code-string\">'^'</span>,\n","\t processLines(line, endLine)\n","\t ].filter(<span class=\"code-built_in\">Boolean</span>).join(<span class=\"code-string\">'\\n'</span>);\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> <span class=\"code-built_in\">SyntaxError</span>$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">message, source, offset, line, column</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> error = createCustomError(<span class=\"code-string\">'SyntaxError'</span>, message);\n","\n","\t error.source = source;\n","\t error.offset = offset;\n","\t error.line = line;\n","\t error.column = column;\n","\n","\t error.sourceFragment = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">extraLines</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> sourceFragment(error, <span class=\"code-built_in\">isNaN</span>(extraLines) ? <span class=\"code-number\">0</span> : extraLines);\n","\t };\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(error, <span class=\"code-string\">'formattedMessage'</span>, {\n","\t <span class=\"code-keyword\">get</span>: function() {\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-string\">'Parse error: '</span> + error.message + <span class=\"code-string\">'\\n'</span> +\n","\t sourceFragment(error, <span class=\"code-number\">2</span>)\n","\t );\n","\t }\n","\t });\n","\n","\t <span class=\"code-comment\">// for backward capability</span>\n","\t error.parseError = {\n","\t offset: offset,\n","\t line: line,\n","\t column: column\n","\t };\n","\n","\t <span class=\"code-keyword\">return</span> error;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> _SyntaxError = <span class=\"code-built_in\">SyntaxError</span>$<span class=\"code-number\">1</span>;\n","\n","\t<span class=\"code-comment\">// CSS Syntax Module Level 3</span>\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css-syntax-3/</span>\n","\t<span class=\"code-keyword\">var</span> TYPE = {\n","\t EOF: <span class=\"code-number\">0</span>, <span class=\"code-comment\">// <EOF-token></span>\n","\t Ident: <span class=\"code-number\">1</span>, <span class=\"code-comment\">// <ident-token></span>\n","\t <span class=\"code-built_in\">Function</span>: <span class=\"code-number\">2</span>, <span class=\"code-comment\">// <function-token></span>\n","\t AtKeyword: <span class=\"code-number\">3</span>, <span class=\"code-comment\">// <at-keyword-token></span>\n","\t Hash: <span class=\"code-number\">4</span>, <span class=\"code-comment\">// <hash-token></span>\n","\t <span class=\"code-built_in\">String</span>: <span class=\"code-number\">5</span>, <span class=\"code-comment\">// <string-token></span>\n","\t BadString: <span class=\"code-number\">6</span>, <span class=\"code-comment\">// <bad-string-token></span>\n","\t Url: <span class=\"code-number\">7</span>, <span class=\"code-comment\">// <url-token></span>\n","\t BadUrl: <span class=\"code-number\">8</span>, <span class=\"code-comment\">// <bad-url-token></span>\n","\t Delim: <span class=\"code-number\">9</span>, <span class=\"code-comment\">// <delim-token></span>\n","\t <span class=\"code-built_in\">Number</span>: <span class=\"code-number\">10</span>, <span class=\"code-comment\">// <number-token></span>\n","\t Percentage: <span class=\"code-number\">11</span>, <span class=\"code-comment\">// <percentage-token></span>\n","\t Dimension: <span class=\"code-number\">12</span>, <span class=\"code-comment\">// <dimension-token></span>\n","\t WhiteSpace: <span class=\"code-number\">13</span>, <span class=\"code-comment\">// <whitespace-token></span>\n","\t CDO: <span class=\"code-number\">14</span>, <span class=\"code-comment\">// <CDO-token></span>\n","\t CDC: <span class=\"code-number\">15</span>, <span class=\"code-comment\">// <CDC-token></span>\n","\t Colon: <span class=\"code-number\">16</span>, <span class=\"code-comment\">// <colon-token> :</span>\n","\t Semicolon: <span class=\"code-number\">17</span>, <span class=\"code-comment\">// <semicolon-token> ;</span>\n","\t Comma: <span class=\"code-number\">18</span>, <span class=\"code-comment\">// <comma-token> ,</span>\n","\t LeftSquareBracket: <span class=\"code-number\">19</span>, <span class=\"code-comment\">// <[-token></span>\n","\t RightSquareBracket: <span class=\"code-number\">20</span>, <span class=\"code-comment\">// <]-token></span>\n","\t LeftParenthesis: <span class=\"code-number\">21</span>, <span class=\"code-comment\">// <(-token></span>\n","\t RightParenthesis: <span class=\"code-number\">22</span>, <span class=\"code-comment\">// <)-token></span>\n","\t LeftCurlyBracket: <span class=\"code-number\">23</span>, <span class=\"code-comment\">// <{-token></span>\n","\t RightCurlyBracket: <span class=\"code-number\">24</span>, <span class=\"code-comment\">// <}-token></span>\n","\t Comment: <span class=\"code-number\">25</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> NAME = <span class=\"code-built_in\">Object</span>.keys(TYPE).reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">result, key</span>) </span>{\n","\t result[TYPE[key]] = key;\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}, {});\n","\n","\t<span class=\"code-keyword\">var</span> _const = {\n","\t TYPE: TYPE,\n","\t NAME: NAME\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> EOF = <span class=\"code-number\">0</span>;\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax-3/</span>\n","\t<span class=\"code-comment\">// \u00A7 4.2. Definitions</span>\n","\n","\t<span class=\"code-comment\">// digit</span>\n","\t<span class=\"code-comment\">// A code point between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isDigit</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code >= <span class=\"code-number\">0x0030</span> && code <= <span class=\"code-number\">0x0039</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// hex digit</span>\n","\t<span class=\"code-comment\">// A digit, or a code point between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F),</span>\n","\t<span class=\"code-comment\">// or a code point between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isHexDigit</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (\n","\t isDigit(code) || <span class=\"code-comment\">// 0 .. 9</span>\n","\t (code >= <span class=\"code-number\">0x0041</span> && code <= <span class=\"code-number\">0x0046</span>) || <span class=\"code-comment\">// A .. F</span>\n","\t (code >= <span class=\"code-number\">0x0061</span> && code <= <span class=\"code-number\">0x0066</span>) <span class=\"code-comment\">// a .. f</span>\n","\t );\n","\t}\n","\n","\t<span class=\"code-comment\">// uppercase letter</span>\n","\t<span class=\"code-comment\">// A code point between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isUppercaseLetter</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code >= <span class=\"code-number\">0x0041</span> && code <= <span class=\"code-number\">0x005A</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// lowercase letter</span>\n","\t<span class=\"code-comment\">// A code point between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isLowercaseLetter</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code >= <span class=\"code-number\">0x0061</span> && code <= <span class=\"code-number\">0x007A</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// letter</span>\n","\t<span class=\"code-comment\">// An uppercase letter or a lowercase letter.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isLetter</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> isUppercaseLetter(code) || isLowercaseLetter(code);\n","\t}\n","\n","\t<span class=\"code-comment\">// non-ASCII code point</span>\n","\t<span class=\"code-comment\">// A code point with a value equal to or greater than U+0080 <control>.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isNonAscii</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code >= <span class=\"code-number\">0x0080</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// name-start code point</span>\n","\t<span class=\"code-comment\">// A letter, a non-ASCII code point, or U+005F LOW LINE (_).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isNameStart</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> isLetter(code) || isNonAscii(code) || code === <span class=\"code-number\">0x005F</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// name code point</span>\n","\t<span class=\"code-comment\">// A name-start code point, a digit, or U+002D HYPHEN-MINUS (-).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isName</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> isNameStart(code) || isDigit(code) || code === <span class=\"code-number\">0x002D</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// non-printable code point</span>\n","\t<span class=\"code-comment\">// A code point between U+0000 NULL and U+0008 BACKSPACE, or U+000B LINE TABULATION,</span>\n","\t<span class=\"code-comment\">// or a code point between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE, or U+007F DELETE.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isNonPrintable</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (\n","\t (code >= <span class=\"code-number\">0x0000</span> && code <= <span class=\"code-number\">0x0008</span>) ||\n","\t (code === <span class=\"code-number\">0x000B</span>) ||\n","\t (code >= <span class=\"code-number\">0x000E</span> && code <= <span class=\"code-number\">0x001F</span>) ||\n","\t (code === <span class=\"code-number\">0x007F</span>)\n","\t );\n","\t}\n","\n","\t<span class=\"code-comment\">// newline</span>\n","\t<span class=\"code-comment\">// U+000A LINE FEED. Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition,</span>\n","\t<span class=\"code-comment\">// as they are converted to U+000A LINE FEED during preprocessing.</span>\n","\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> we doesn't do a preprocessing, so check a code point for U+000D CARRIAGE RETURN and U+000C FORM FEED</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isNewline</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code === <span class=\"code-number\">0x000A</span> || code === <span class=\"code-number\">0x000D</span> || code === <span class=\"code-number\">0x000C</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// whitespace</span>\n","\t<span class=\"code-comment\">// A newline, U+0009 CHARACTER TABULATION, or U+0020 SPACE.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isWhiteSpace</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> isNewline(code) || code === <span class=\"code-number\">0x0020</span> || code === <span class=\"code-number\">0x0009</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 4.3.8. Check if two code points are a valid escape</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isValidEscape</span>(<span class=\"code-params\">first, second</span>) </span>{\n","\t <span class=\"code-comment\">// If the first code point is not U+005C REVERSE SOLIDUS (\\), return false.</span>\n","\t <span class=\"code-keyword\">if</span> (first !== <span class=\"code-number\">0x005C</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, if the second code point is a newline or EOF, return false.</span>\n","\t <span class=\"code-keyword\">if</span> (isNewline(second) || second === EOF) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, return true.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 4.3.9. Check if three code points would start an identifier</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isIdentifierStart</span>(<span class=\"code-params\">first, second, third</span>) </span>{\n","\t <span class=\"code-comment\">// Look at the first code point:</span>\n","\n","\t <span class=\"code-comment\">// U+002D HYPHEN-MINUS</span>\n","\t <span class=\"code-keyword\">if</span> (first === <span class=\"code-number\">0x002D</span>) {\n","\t <span class=\"code-comment\">// If the second code point is a name-start code point or a U+002D HYPHEN-MINUS,</span>\n","\t <span class=\"code-comment\">// or the second and third code points are a valid escape, return true. Otherwise, return false.</span>\n","\t <span class=\"code-keyword\">return</span> (\n","\t isNameStart(second) ||\n","\t second === <span class=\"code-number\">0x002D</span> ||\n","\t isValidEscape(second, third)\n","\t );\n","\t }\n","\n","\t <span class=\"code-comment\">// name-start code point</span>\n","\t <span class=\"code-keyword\">if</span> (isNameStart(first)) {\n","\t <span class=\"code-comment\">// Return true.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// U+005C REVERSE SOLIDUS (\\)</span>\n","\t <span class=\"code-keyword\">if</span> (first === <span class=\"code-number\">0x005C</span>) {\n","\t <span class=\"code-comment\">// If the first and second code points are a valid escape, return true. Otherwise, return false.</span>\n","\t <span class=\"code-keyword\">return</span> isValidEscape(first, second);\n","\t }\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-comment\">// Return false.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 4.3.10. Check if three code points would start a number</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isNumberStart</span>(<span class=\"code-params\">first, second, third</span>) </span>{\n","\t <span class=\"code-comment\">// Look at the first code point:</span>\n","\n","\t <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t <span class=\"code-keyword\">if</span> (first === <span class=\"code-number\">0x002B</span> || first === <span class=\"code-number\">0x002D</span>) {\n","\t <span class=\"code-comment\">// If the second code point is a digit, return true.</span>\n","\t <span class=\"code-keyword\">if</span> (isDigit(second)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">2</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, if the second code point is a U+002E FULL STOP (.)</span>\n","\t <span class=\"code-comment\">// and the third code point is a digit, return true.</span>\n","\t <span class=\"code-comment\">// Otherwise, return false.</span>\n","\t <span class=\"code-keyword\">return</span> second === <span class=\"code-number\">0x002E</span> && isDigit(third) ? <span class=\"code-number\">3</span> : <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// U+002E FULL STOP (.)</span>\n","\t <span class=\"code-keyword\">if</span> (first === <span class=\"code-number\">0x002E</span>) {\n","\t <span class=\"code-comment\">// If the second code point is a digit, return true. Otherwise, return false.</span>\n","\t <span class=\"code-keyword\">return</span> isDigit(second) ? <span class=\"code-number\">2</span> : <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// digit</span>\n","\t <span class=\"code-keyword\">if</span> (isDigit(first)) {\n","\t <span class=\"code-comment\">// Return true.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-comment\">// Return false.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// Misc</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-comment\">// detect BOM (https://en.wikipedia.org/wiki/Byte_order_mark)</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isBOM</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-comment\">// UTF-16BE</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0xFEFF</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// UTF-16LE</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0xFFFE</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// Fast code category</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#tokenizer-definitions</span>\n","\t<span class=\"code-comment\">// > non-ASCII code point</span>\n","\t<span class=\"code-comment\">// > A code point with a value equal to or greater than U+0080 <control></span>\n","\t<span class=\"code-comment\">// > name-start code point</span>\n","\t<span class=\"code-comment\">// > A letter, a non-ASCII code point, or U+005F LOW LINE (_).</span>\n","\t<span class=\"code-comment\">// > name code point</span>\n","\t<span class=\"code-comment\">// > A name-start code point, a digit, or U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-comment\">// That means only ASCII code points has a special meaning and we define a maps for 0..127 codes only</span>\n","\t<span class=\"code-keyword\">var</span> CATEGORY = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(<span class=\"code-number\">0x80</span>);\n","\tcharCodeCategory.Eof = <span class=\"code-number\">0x80</span>;\n","\tcharCodeCategory.WhiteSpace = <span class=\"code-number\">0x82</span>;\n","\tcharCodeCategory.Digit = <span class=\"code-number\">0x83</span>;\n","\tcharCodeCategory.NameStart = <span class=\"code-number\">0x84</span>;\n","\tcharCodeCategory.NonPrintable = <span class=\"code-number\">0x85</span>;\n","\n","\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < CATEGORY.length; i++) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-literal\">true</span>) {\n","\t <span class=\"code-keyword\">case</span> isWhiteSpace(i):\n","\t CATEGORY[i] = charCodeCategory.WhiteSpace;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> isDigit(i):\n","\t CATEGORY[i] = charCodeCategory.Digit;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> isNameStart(i):\n","\t CATEGORY[i] = charCodeCategory.NameStart;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> isNonPrintable(i):\n","\t CATEGORY[i] = charCodeCategory.NonPrintable;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t CATEGORY[i] = i || charCodeCategory.Eof;\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">charCodeCategory</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> code < <span class=\"code-number\">0x80</span> ? CATEGORY[code] : charCodeCategory.NameStart;\n","\t}\n","\t<span class=\"code-keyword\">var</span> charCodeDefinitions = {\n","\t isDigit: isDigit,\n","\t isHexDigit: isHexDigit,\n","\t isUppercaseLetter: isUppercaseLetter,\n","\t isLowercaseLetter: isLowercaseLetter,\n","\t isLetter: isLetter,\n","\t isNonAscii: isNonAscii,\n","\t isNameStart: isNameStart,\n","\t isName: isName,\n","\t isNonPrintable: isNonPrintable,\n","\t isNewline: isNewline,\n","\t isWhiteSpace: isWhiteSpace,\n","\t isValidEscape: isValidEscape,\n","\t isIdentifierStart: isIdentifierStart,\n","\t isNumberStart: isNumberStart,\n","\n","\t isBOM: isBOM,\n","\t charCodeCategory: charCodeCategory\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isDigit$<span class=\"code-number\">1</span> = charCodeDefinitions.isDigit;\n","\t<span class=\"code-keyword\">var</span> isHexDigit$<span class=\"code-number\">1</span> = charCodeDefinitions.isHexDigit;\n","\t<span class=\"code-keyword\">var</span> isUppercaseLetter$<span class=\"code-number\">1</span> = charCodeDefinitions.isUppercaseLetter;\n","\t<span class=\"code-keyword\">var</span> isName$<span class=\"code-number\">1</span> = charCodeDefinitions.isName;\n","\t<span class=\"code-keyword\">var</span> isWhiteSpace$<span class=\"code-number\">1</span> = charCodeDefinitions.isWhiteSpace;\n","\t<span class=\"code-keyword\">var</span> isValidEscape$<span class=\"code-number\">1</span> = charCodeDefinitions.isValidEscape;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getCharCode</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> offset < source.length ? source.charCodeAt(offset) : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getNewlineLength</span>(<span class=\"code-params\">source, offset, code</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">13</span> <span class=\"code-comment\">/* \\r */</span> && getCharCode(source, offset + <span class=\"code-number\">1</span>) === <span class=\"code-number\">10</span> <span class=\"code-comment\">/* \\n */</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">2</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cmpChar</span>(<span class=\"code-params\">testStr, offset, referenceCode</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> code = testStr.charCodeAt(offset);\n","\n","\t <span class=\"code-comment\">// code.toLowerCase() for A..Z</span>\n","\t <span class=\"code-keyword\">if</span> (isUppercaseLetter$<span class=\"code-number\">1</span>(code)) {\n","\t code = code | <span class=\"code-number\">32</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> code === referenceCode;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cmpStr</span>(<span class=\"code-params\">testStr, start, end, referenceStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (end - start !== referenceStr.length) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (start < <span class=\"code-number\">0</span> || end > testStr.length) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = start; i < end; i++) {\n","\t <span class=\"code-keyword\">var</span> testCode = testStr.charCodeAt(i);\n","\t <span class=\"code-keyword\">var</span> referenceCode = referenceStr.charCodeAt(i - start);\n","\n","\t <span class=\"code-comment\">// testCode.toLowerCase() for A..Z</span>\n","\t <span class=\"code-keyword\">if</span> (isUppercaseLetter$<span class=\"code-number\">1</span>(testCode)) {\n","\t testCode = testCode | <span class=\"code-number\">32</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (testCode !== referenceCode) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findWhiteSpaceStart</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (; offset >= <span class=\"code-number\">0</span>; offset--) {\n","\t <span class=\"code-keyword\">if</span> (!isWhiteSpace$<span class=\"code-number\">1</span>(source.charCodeAt(offset))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset + <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findWhiteSpaceEnd</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">if</span> (!isWhiteSpace$<span class=\"code-number\">1</span>(source.charCodeAt(offset))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findDecimalNumberEnd</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">1</span>(source.charCodeAt(offset))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 4.3.7. Consume an escaped code point</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeEscaped</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-comment\">// It assumes that the U+005C REVERSE SOLIDUS (\\) has already been consumed and</span>\n","\t <span class=\"code-comment\">// that the next input code point has already been verified to be part of a valid escape.</span>\n","\t offset += <span class=\"code-number\">2</span>;\n","\n","\t <span class=\"code-comment\">// hex digit</span>\n","\t <span class=\"code-keyword\">if</span> (isHexDigit$<span class=\"code-number\">1</span>(getCharCode(source, offset - <span class=\"code-number\">1</span>))) {\n","\t <span class=\"code-comment\">// Consume as many hex digits as possible, but no more than 5.</span>\n","\t <span class=\"code-comment\">// Note that this means 1-6 hex digits have been consumed in total.</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> maxOffset = <span class=\"code-built_in\">Math</span>.min(source.length, offset + <span class=\"code-number\">5</span>); offset < maxOffset; offset++) {\n","\t <span class=\"code-keyword\">if</span> (!isHexDigit$<span class=\"code-number\">1</span>(getCharCode(source, offset))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// If the next input code point is whitespace, consume it as well.</span>\n","\t <span class=\"code-keyword\">var</span> code = getCharCode(source, offset);\n","\t <span class=\"code-keyword\">if</span> (isWhiteSpace$<span class=\"code-number\">1</span>(code)) {\n","\t offset += getNewlineLength(source, offset, code);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A74.3.11. Consume a name</span>\n","\t<span class=\"code-comment\">// Note: This algorithm does not do the verification of the first few code points that are necessary</span>\n","\t<span class=\"code-comment\">// to ensure the returned code points would constitute an <ident-token>. If that is the intended use,</span>\n","\t<span class=\"code-comment\">// ensure that the stream starts with an identifier before calling this algorithm.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeName</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-comment\">// Let result initially be an empty string.</span>\n","\t <span class=\"code-comment\">// Repeatedly consume the next input code point from the stream:</span>\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\n","\t <span class=\"code-comment\">// name code point</span>\n","\t <span class=\"code-keyword\">if</span> (isName$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// Append the code point to result.</span>\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// the stream starts with a valid escape</span>\n","\t <span class=\"code-keyword\">if</span> (isValidEscape$<span class=\"code-number\">1</span>(code, getCharCode(source, offset + <span class=\"code-number\">1</span>))) {\n","\t <span class=\"code-comment\">// Consume an escaped code point. Append the returned code point to result.</span>\n","\t offset = consumeEscaped(source, offset) - <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-comment\">// Reconsume the current input code point. Return result.</span>\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A74.3.12. Consume a number</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeNumber</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\n","\t <span class=\"code-comment\">// 2. If the next input code point is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-),</span>\n","\t <span class=\"code-comment\">// consume it and append it to repr.</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0x002B</span> || code === <span class=\"code-number\">0x002D</span>) {\n","\t code = source.charCodeAt(offset += <span class=\"code-number\">1</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// 3. While the next input code point is a digit, consume it and append it to repr.</span>\n","\t <span class=\"code-keyword\">if</span> (isDigit$<span class=\"code-number\">1</span>(code)) {\n","\t offset = findDecimalNumberEnd(source, offset + <span class=\"code-number\">1</span>);\n","\t code = source.charCodeAt(offset);\n","\t }\n","\n","\t <span class=\"code-comment\">// 4. If the next 2 input code points are U+002E FULL STOP (.) followed by a digit, then:</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0x002E</span> && isDigit$<span class=\"code-number\">1</span>(source.charCodeAt(offset + <span class=\"code-number\">1</span>))) {\n","\t <span class=\"code-comment\">// 4.1 Consume them.</span>\n","\t <span class=\"code-comment\">// 4.2 Append them to repr.</span>\n","\t code = source.charCodeAt(offset += <span class=\"code-number\">2</span>);\n","\n","\t <span class=\"code-comment\">// 4.3 Set type to \"number\".</span>\n","\t <span class=\"code-comment\">// TODO</span>\n","\n","\t <span class=\"code-comment\">// 4.4 While the next input code point is a digit, consume it and append it to repr.</span>\n","\n","\t offset = findDecimalNumberEnd(source, offset);\n","\t }\n","\n","\t <span class=\"code-comment\">// 5. If the next 2 or 3 input code points are U+0045 LATIN CAPITAL LETTER E (E)</span>\n","\t <span class=\"code-comment\">// or U+0065 LATIN SMALL LETTER E (e), ... , followed by a digit, then:</span>\n","\t <span class=\"code-keyword\">if</span> (cmpChar(source, offset, <span class=\"code-number\">101</span> <span class=\"code-comment\">/* e */</span>)) {\n","\t <span class=\"code-keyword\">var</span> sign = <span class=\"code-number\">0</span>;\n","\t code = source.charCodeAt(offset + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-comment\">// ... optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+) ...</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0x002D</span> || code === <span class=\"code-number\">0x002B</span>) {\n","\t sign = <span class=\"code-number\">1</span>;\n","\t code = source.charCodeAt(offset + <span class=\"code-number\">2</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// ... followed by a digit</span>\n","\t <span class=\"code-keyword\">if</span> (isDigit$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// 5.1 Consume them.</span>\n","\t <span class=\"code-comment\">// 5.2 Append them to repr.</span>\n","\n","\t <span class=\"code-comment\">// 5.3 Set type to \"number\".</span>\n","\t <span class=\"code-comment\">// TODO</span>\n","\n","\t <span class=\"code-comment\">// 5.4 While the next input code point is a digit, consume it and append it to repr.</span>\n","\t offset = findDecimalNumberEnd(source, offset + <span class=\"code-number\">1</span> + sign + <span class=\"code-number\">1</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 4.3.14. Consume the remnants of a bad url</span>\n","\t<span class=\"code-comment\">// ... its sole use is to consume enough of the input stream to reach a recovery point</span>\n","\t<span class=\"code-comment\">// where normal tokenizing can resume.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeBadUrlRemnants</span>(<span class=\"code-params\">source, offset</span>) </span>{\n","\t <span class=\"code-comment\">// Repeatedly consume the next input code point from the stream:</span>\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\n","\t <span class=\"code-comment\">// U+0029 RIGHT PARENTHESIS ())</span>\n","\t <span class=\"code-comment\">// EOF</span>\n","\t <span class=\"code-keyword\">if</span> (code === <span class=\"code-number\">0x0029</span>) {\n","\t <span class=\"code-comment\">// Return.</span>\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (isValidEscape$<span class=\"code-number\">1</span>(code, getCharCode(source, offset + <span class=\"code-number\">1</span>))) {\n","\t <span class=\"code-comment\">// Consume an escaped code point.</span>\n","\t <span class=\"code-comment\">// Note: This allows an escaped right parenthesis (\"\\)\") to be encountered</span>\n","\t <span class=\"code-comment\">// without ending the <bad-url-token>. This is otherwise identical to</span>\n","\t <span class=\"code-comment\">// the \"anything else\" clause.</span>\n","\t offset = consumeEscaped(source, offset);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> utils = {\n","\t consumeEscaped: consumeEscaped,\n","\t consumeName: consumeName,\n","\t consumeNumber: consumeNumber,\n","\t consumeBadUrlRemnants: consumeBadUrlRemnants,\n","\n","\t cmpChar: cmpChar,\n","\t cmpStr: cmpStr,\n","\n","\t getNewlineLength: getNewlineLength,\n","\t findWhiteSpaceStart: findWhiteSpaceStart,\n","\t findWhiteSpaceEnd: findWhiteSpaceEnd\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">1</span> = _const.TYPE;\n","\t<span class=\"code-keyword\">var</span> NAME$<span class=\"code-number\">1</span> = _const.NAME;\n","\n","\n","\t<span class=\"code-keyword\">var</span> cmpStr$<span class=\"code-number\">1</span> = utils.cmpStr;\n","\n","\t<span class=\"code-keyword\">var</span> EOF$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">1.</span>EOF;\n","\t<span class=\"code-keyword\">var</span> WHITESPACE = TYPE$<span class=\"code-number\">1.</span>WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT = TYPE$<span class=\"code-number\">1.</span>Comment;\n","\n","\t<span class=\"code-keyword\">var</span> OFFSET_MASK = <span class=\"code-number\">0x00FFFFFF</span>;\n","\t<span class=\"code-keyword\">var</span> TYPE_SHIFT = <span class=\"code-number\">24</span>;\n","\n","\t<span class=\"code-keyword\">var</span> TokenStream = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.offsetAndType = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.balance = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.reset();\n","\t};\n","\n","\tTokenStream.prototype = {\n","\t reset: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.eof = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">this</span>.tokenIndex = <span class=\"code-number\">-1</span>;\n","\t <span class=\"code-keyword\">this</span>.tokenType = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">this</span>.tokenStart = <span class=\"code-keyword\">this</span>.firstCharOffset;\n","\t <span class=\"code-keyword\">this</span>.tokenEnd = <span class=\"code-keyword\">this</span>.firstCharOffset;\n","\t },\n","\n","\t lookupType: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">offset</span>) </span>{\n","\t offset += <span class=\"code-keyword\">this</span>.tokenIndex;\n","\n","\t <span class=\"code-keyword\">if</span> (offset < <span class=\"code-keyword\">this</span>.tokenCount) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.offsetAndType[offset] >> TYPE_SHIFT;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> EOF$<span class=\"code-number\">1</span>;\n","\t },\n","\t lookupOffset: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">offset</span>) </span>{\n","\t offset += <span class=\"code-keyword\">this</span>.tokenIndex;\n","\n","\t <span class=\"code-keyword\">if</span> (offset < <span class=\"code-keyword\">this</span>.tokenCount) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.offsetAndType[offset - <span class=\"code-number\">1</span>] & OFFSET_MASK;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.source.length;\n","\t },\n","\t lookupValue: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">offset, referenceStr</span>) </span>{\n","\t offset += <span class=\"code-keyword\">this</span>.tokenIndex;\n","\n","\t <span class=\"code-keyword\">if</span> (offset < <span class=\"code-keyword\">this</span>.tokenCount) {\n","\t <span class=\"code-keyword\">return</span> cmpStr$<span class=\"code-number\">1</span>(\n","\t <span class=\"code-keyword\">this</span>.source,\n","\t <span class=\"code-keyword\">this</span>.offsetAndType[offset - <span class=\"code-number\">1</span>] & OFFSET_MASK,\n","\t <span class=\"code-keyword\">this</span>.offsetAndType[offset] & OFFSET_MASK,\n","\t referenceStr\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t },\n","\t getTokenStart: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">tokenIndex</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (tokenIndex === <span class=\"code-keyword\">this</span>.tokenIndex) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.tokenStart;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (tokenIndex > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> tokenIndex < <span class=\"code-keyword\">this</span>.tokenCount\n","\t ? <span class=\"code-keyword\">this</span>.offsetAndType[tokenIndex - <span class=\"code-number\">1</span>] & OFFSET_MASK\n","\t : <span class=\"code-keyword\">this</span>.offsetAndType[<span class=\"code-keyword\">this</span>.tokenCount] & OFFSET_MASK;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.firstCharOffset;\n","\t },\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> -> skipUntilBalanced</span>\n","\t getRawLength: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">startToken, mode</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cursor = startToken;\n","\t <span class=\"code-keyword\">var</span> balanceEnd;\n","\t <span class=\"code-keyword\">var</span> offset = <span class=\"code-keyword\">this</span>.offsetAndType[<span class=\"code-built_in\">Math</span>.max(cursor - <span class=\"code-number\">1</span>, <span class=\"code-number\">0</span>)] & OFFSET_MASK;\n","\t <span class=\"code-keyword\">var</span> type;\n","\n","\t loop:\n","\t <span class=\"code-keyword\">for</span> (; cursor < <span class=\"code-keyword\">this</span>.tokenCount; cursor++) {\n","\t balanceEnd = <span class=\"code-keyword\">this</span>.balance[cursor];\n","\n","\t <span class=\"code-comment\">// stop scanning on balance edge that points to offset before start token</span>\n","\t <span class=\"code-keyword\">if</span> (balanceEnd < startToken) {\n","\t <span class=\"code-keyword\">break</span> loop;\n","\t }\n","\n","\t type = <span class=\"code-keyword\">this</span>.offsetAndType[cursor] >> TYPE_SHIFT;\n","\n","\t <span class=\"code-comment\">// check token is stop type</span>\n","\t <span class=\"code-keyword\">switch</span> (mode(type, <span class=\"code-keyword\">this</span>.source, offset)) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">break</span> loop;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t cursor++;\n","\t <span class=\"code-keyword\">break</span> loop;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t offset = <span class=\"code-keyword\">this</span>.offsetAndType[cursor] & OFFSET_MASK;\n","\n","\t <span class=\"code-comment\">// fast forward to the end of balanced block</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.balance[balanceEnd] === cursor) {\n","\t cursor = balanceEnd;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> cursor - <span class=\"code-keyword\">this</span>.tokenIndex;\n","\t },\n","\t isBalanceEdge: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">pos</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.balance[<span class=\"code-keyword\">this</span>.tokenIndex] < pos;\n","\t },\n","\t isDelim: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">code, offset</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (offset) {\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-keyword\">this</span>.lookupType(offset) === TYPE$<span class=\"code-number\">1.</span>Delim &&\n","\t <span class=\"code-keyword\">this</span>.source.charCodeAt(<span class=\"code-keyword\">this</span>.lookupOffset(offset)) === code\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-keyword\">this</span>.tokenType === TYPE$<span class=\"code-number\">1.</span>Delim &&\n","\t <span class=\"code-keyword\">this</span>.source.charCodeAt(<span class=\"code-keyword\">this</span>.tokenStart) === code\n","\t );\n","\t },\n","\n","\t getTokenValue: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.source.substring(<span class=\"code-keyword\">this</span>.tokenStart, <span class=\"code-keyword\">this</span>.tokenEnd);\n","\t },\n","\t getTokenLength: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.tokenEnd - <span class=\"code-keyword\">this</span>.tokenStart;\n","\t },\n","\t substrToCursor: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">start</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.source.substring(start, <span class=\"code-keyword\">this</span>.tokenStart);\n","\t },\n","\n","\t skipWS: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-keyword\">this</span>.tokenIndex, skipTokenCount = <span class=\"code-number\">0</span>; i < <span class=\"code-keyword\">this</span>.tokenCount; i++, skipTokenCount++) {\n","\t <span class=\"code-keyword\">if</span> ((<span class=\"code-keyword\">this</span>.offsetAndType[i] >> TYPE_SHIFT) !== WHITESPACE) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (skipTokenCount > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">this</span>.skip(skipTokenCount);\n","\t }\n","\t },\n","\t skipSC: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">while</span> (<span class=\"code-keyword\">this</span>.tokenType === WHITESPACE || <span class=\"code-keyword\">this</span>.tokenType === COMMENT) {\n","\t <span class=\"code-keyword\">this</span>.next();\n","\t }\n","\t },\n","\t skip: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">tokenCount</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> next = <span class=\"code-keyword\">this</span>.tokenIndex + tokenCount;\n","\n","\t <span class=\"code-keyword\">if</span> (next < <span class=\"code-keyword\">this</span>.tokenCount) {\n","\t <span class=\"code-keyword\">this</span>.tokenIndex = next;\n","\t <span class=\"code-keyword\">this</span>.tokenStart = <span class=\"code-keyword\">this</span>.offsetAndType[next - <span class=\"code-number\">1</span>] & OFFSET_MASK;\n","\t next = <span class=\"code-keyword\">this</span>.offsetAndType[next];\n","\t <span class=\"code-keyword\">this</span>.tokenType = next >> TYPE_SHIFT;\n","\t <span class=\"code-keyword\">this</span>.tokenEnd = next & OFFSET_MASK;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.tokenIndex = <span class=\"code-keyword\">this</span>.tokenCount;\n","\t <span class=\"code-keyword\">this</span>.next();\n","\t }\n","\t },\n","\t next: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> next = <span class=\"code-keyword\">this</span>.tokenIndex + <span class=\"code-number\">1</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (next < <span class=\"code-keyword\">this</span>.tokenCount) {\n","\t <span class=\"code-keyword\">this</span>.tokenIndex = next;\n","\t <span class=\"code-keyword\">this</span>.tokenStart = <span class=\"code-keyword\">this</span>.tokenEnd;\n","\t next = <span class=\"code-keyword\">this</span>.offsetAndType[next];\n","\t <span class=\"code-keyword\">this</span>.tokenType = next >> TYPE_SHIFT;\n","\t <span class=\"code-keyword\">this</span>.tokenEnd = next & OFFSET_MASK;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.tokenIndex = <span class=\"code-keyword\">this</span>.tokenCount;\n","\t <span class=\"code-keyword\">this</span>.eof = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">this</span>.tokenType = EOF$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">this</span>.tokenStart = <span class=\"code-keyword\">this</span>.tokenEnd = <span class=\"code-keyword\">this</span>.source.length;\n","\t }\n","\t },\n","\n","\t dump: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> offset = <span class=\"code-keyword\">this</span>.firstCharOffset;\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Array</span>.prototype.slice.call(<span class=\"code-keyword\">this</span>.offsetAndType, <span class=\"code-number\">0</span>, <span class=\"code-keyword\">this</span>.tokenCount).map(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">item, idx</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = offset;\n","\t <span class=\"code-keyword\">var</span> end = item & OFFSET_MASK;\n","\n","\t offset = end;\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t idx: idx,\n","\t type: NAME$<span class=\"code-number\">1</span>[item >> TYPE_SHIFT],\n","\t chunk: <span class=\"code-keyword\">this</span>.source.substring(start, end),\n","\t balance: <span class=\"code-keyword\">this</span>.balance[idx]\n","\t };\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TokenStream_1 = TokenStream;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">noop$1</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> value;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generateMultiplier</span>(<span class=\"code-params\">multiplier</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (multiplier.min === <span class=\"code-number\">0</span> && multiplier.max === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-string\">'*'</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (multiplier.min === <span class=\"code-number\">0</span> && multiplier.max === <span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-string\">'?'</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (multiplier.min === <span class=\"code-number\">1</span> && multiplier.max === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> multiplier.comma ? <span class=\"code-string\">'#'</span> : <span class=\"code-string\">'+'</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (multiplier.min === <span class=\"code-number\">1</span> && multiplier.max === <span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-string\">''</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t (multiplier.comma ? <span class=\"code-string\">'#'</span> : <span class=\"code-string\">''</span>) +\n","\t (multiplier.min === multiplier.max\n","\t ? <span class=\"code-string\">'{'</span> + multiplier.min + <span class=\"code-string\">'}'</span>\n","\t : <span class=\"code-string\">'{'</span> + multiplier.min + <span class=\"code-string\">','</span> + (multiplier.max !== <span class=\"code-number\">0</span> ? multiplier.max : <span class=\"code-string\">''</span>) + <span class=\"code-string\">'}'</span>\n","\t )\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generateTypeOpts</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">switch</span> (node.type) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Range'</span>:\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-string\">' ['</span> +\n","\t (node.min === <span class=\"code-literal\">null</span> ? <span class=\"code-string\">'-\u221E'</span> : node.min) +\n","\t <span class=\"code-string\">','</span> +\n","\t (node.max === <span class=\"code-literal\">null</span> ? <span class=\"code-string\">'\u221E'</span> : node.max) +\n","\t <span class=\"code-string\">']'</span>\n","\t );\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown node type `'</span> + node.type + <span class=\"code-string\">'`'</span>);\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generateSequence</span>(<span class=\"code-params\">node, decorate, forceBraces, compact</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> combinator = node.combinator === <span class=\"code-string\">' '</span> || compact ? node.combinator : <span class=\"code-string\">' '</span> + node.combinator + <span class=\"code-string\">' '</span>;\n","\t <span class=\"code-keyword\">var</span> result = node.terms.map(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">term</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> generate(term, decorate, forceBraces, compact);\n","\t }).join(combinator);\n","\n","\t <span class=\"code-keyword\">if</span> (node.explicit || forceBraces) {\n","\t result = (compact || result[<span class=\"code-number\">0</span>] === <span class=\"code-string\">','</span> ? <span class=\"code-string\">'['</span> : <span class=\"code-string\">'[ '</span>) + result + (compact ? <span class=\"code-string\">']'</span> : <span class=\"code-string\">' ]'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generate</span>(<span class=\"code-params\">node, decorate, forceBraces, compact</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result;\n","\n","\t <span class=\"code-keyword\">switch</span> (node.type) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Group'</span>:\n","\t result =\n","\t generateSequence(node, decorate, forceBraces, compact) +\n","\t (node.disallowEmpty ? <span class=\"code-string\">'!'</span> : <span class=\"code-string\">''</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Multiplier'</span>:\n","\t <span class=\"code-comment\">// return since node is a composition</span>\n","\t <span class=\"code-keyword\">return</span> (\n","\t generate(node.term, decorate, forceBraces, compact) +\n","\t decorate(generateMultiplier(node), node)\n","\t );\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Type'</span>:\n","\t result = <span class=\"code-string\">'<'</span> + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : <span class=\"code-string\">''</span>) + <span class=\"code-string\">'>'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Property'</span>:\n","\t result = <span class=\"code-string\">'<\\''</span> + node.name + <span class=\"code-string\">'\\'>'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Keyword'</span>:\n","\t result = node.name;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'AtKeyword'</span>:\n","\t result = <span class=\"code-string\">'@'</span> + node.name;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Function'</span>:\n","\t result = node.name + <span class=\"code-string\">'('</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'String'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Token'</span>:\n","\t result = node.value;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Comma'</span>:\n","\t result = <span class=\"code-string\">','</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown node type `'</span> + node.type + <span class=\"code-string\">'`'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> decorate(result, node);\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> generate_1 = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, options</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> decorate = noop$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> forceBraces = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">var</span> compact = <span class=\"code-literal\">false</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> options === <span class=\"code-string\">'function'</span>) {\n","\t decorate = options;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (options) {\n","\t forceBraces = <span class=\"code-built_in\">Boolean</span>(options.forceBraces);\n","\t compact = <span class=\"code-built_in\">Boolean</span>(options.compact);\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> options.decorate === <span class=\"code-string\">'function'</span>) {\n","\t decorate = options.decorate;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> generate(node, decorate, forceBraces, compact);\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">fromMatchResult</span>(<span class=\"code-params\">matchResult</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> tokens = matchResult.tokens;\n","\t <span class=\"code-keyword\">var</span> longestMatch = matchResult.longestMatch;\n","\t <span class=\"code-keyword\">var</span> node = longestMatch < tokens.length ? tokens[longestMatch].node : <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> mismatchOffset = <span class=\"code-number\">-1</span>;\n","\t <span class=\"code-keyword\">var</span> entries = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> css = <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < tokens.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (i === longestMatch) {\n","\t mismatchOffset = css.length;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (node !== <span class=\"code-literal\">null</span> && tokens[i].node === node) {\n","\t <span class=\"code-keyword\">if</span> (i <= longestMatch) {\n","\t entries++;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t entries = <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t css += tokens[i].value;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t node: node,\n","\t css: css,\n","\t mismatchOffset: mismatchOffset === <span class=\"code-number\">-1</span> ? css.length : mismatchOffset,\n","\t last: node === <span class=\"code-literal\">null</span> || entries > <span class=\"code-number\">1</span>\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getLocation</span>(<span class=\"code-params\">node, point</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> loc = node && node.loc && node.loc[point];\n","\n","\t <span class=\"code-keyword\">if</span> (loc) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t offset: loc.offset,\n","\t line: loc.line,\n","\t column: loc.column\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> SyntaxReferenceError = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">type, referenceName</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> error = createCustomError(\n","\t <span class=\"code-string\">'SyntaxReferenceError'</span>,\n","\t type + (referenceName ? <span class=\"code-string\">' `'</span> + referenceName + <span class=\"code-string\">'`'</span> : <span class=\"code-string\">''</span>)\n","\t );\n","\n","\t error.reference = referenceName;\n","\n","\t <span class=\"code-keyword\">return</span> error;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> MatchError = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">message, syntax, node, matchResult</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> error = createCustomError(<span class=\"code-string\">'SyntaxMatchError'</span>, message);\n","\t <span class=\"code-keyword\">var</span> details = fromMatchResult(matchResult);\n","\t <span class=\"code-keyword\">var</span> mismatchOffset = details.mismatchOffset || <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> badNode = details.node || node;\n","\t <span class=\"code-keyword\">var</span> end = getLocation(badNode, <span class=\"code-string\">'end'</span>);\n","\t <span class=\"code-keyword\">var</span> start = details.last ? end : getLocation(badNode, <span class=\"code-string\">'start'</span>);\n","\t <span class=\"code-keyword\">var</span> css = details.css;\n","\n","\t error.rawMessage = message;\n","\t error.syntax = syntax ? generate_1(syntax) : <span class=\"code-string\">'<generic>'</span>;\n","\t error.css = css;\n","\t error.mismatchOffset = mismatchOffset;\n","\t error.loc = {\n","\t source: (badNode && badNode.loc && badNode.loc.source) || <span class=\"code-string\">'<unknown>'</span>,\n","\t start: start,\n","\t end: end\n","\t };\n","\t error.line = start ? start.line : <span class=\"code-literal\">undefined</span>;\n","\t error.column = start ? start.column : <span class=\"code-literal\">undefined</span>;\n","\t error.offset = start ? start.offset : <span class=\"code-literal\">undefined</span>;\n","\t error.message = message + <span class=\"code-string\">'\\n'</span> +\n","\t <span class=\"code-string\">' syntax: '</span> + error.syntax + <span class=\"code-string\">'\\n'</span> +\n","\t <span class=\"code-string\">' value: '</span> + (error.css || <span class=\"code-string\">'<empty string>'</span>) + <span class=\"code-string\">'\\n'</span> +\n","\t <span class=\"code-string\">' --------'</span> + <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(error.mismatchOffset + <span class=\"code-number\">1</span>).join(<span class=\"code-string\">'-'</span>) + <span class=\"code-string\">'^'</span>;\n","\n","\t <span class=\"code-keyword\">return</span> error;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> error = {\n","\t SyntaxReferenceError: SyntaxReferenceError,\n","\t MatchError: MatchError\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\t<span class=\"code-keyword\">var</span> keywords = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t<span class=\"code-keyword\">var</span> properties = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS = <span class=\"code-number\">45</span>; <span class=\"code-comment\">// '-'.charCodeAt()</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isCustomProperty</span>(<span class=\"code-params\">str, offset</span>) </span>{\n","\t offset = offset || <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-keyword\">return</span> str.length - offset >= <span class=\"code-number\">2</span> &&\n","\t str.charCodeAt(offset) === HYPHENMINUS &&\n","\t str.charCodeAt(offset + <span class=\"code-number\">1</span>) === HYPHENMINUS;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getVendorPrefix</span>(<span class=\"code-params\">str, offset</span>) </span>{\n","\t offset = offset || <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// verdor prefix should be at least 3 chars length</span>\n","\t <span class=\"code-keyword\">if</span> (str.length - offset >= <span class=\"code-number\">3</span>) {\n","\t <span class=\"code-comment\">// vendor prefix starts with hyper minus following non-hyper minus</span>\n","\t <span class=\"code-keyword\">if</span> (str.charCodeAt(offset) === HYPHENMINUS &&\n","\t str.charCodeAt(offset + <span class=\"code-number\">1</span>) !== HYPHENMINUS) {\n","\t <span class=\"code-comment\">// vendor prefix should contain a hyper minus at the ending</span>\n","\t <span class=\"code-keyword\">var</span> secondDashIndex = str.indexOf(<span class=\"code-string\">'-'</span>, offset + <span class=\"code-number\">2</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (secondDashIndex !== <span class=\"code-number\">-1</span>) {\n","\t <span class=\"code-keyword\">return</span> str.substring(offset, secondDashIndex + <span class=\"code-number\">1</span>);\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-string\">''</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getKeywordDescriptor</span>(<span class=\"code-params\">keyword</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty.call(keywords, keyword)) {\n","\t <span class=\"code-keyword\">return</span> keywords[keyword];\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> name = keyword.toLowerCase();\n","\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty.call(keywords, name)) {\n","\t <span class=\"code-keyword\">return</span> keywords[keyword] = keywords[name];\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> custom = isCustomProperty(name, <span class=\"code-number\">0</span>);\n","\t <span class=\"code-keyword\">var</span> vendor = !custom ? getVendorPrefix(name, <span class=\"code-number\">0</span>) : <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">return</span> keywords[keyword] = <span class=\"code-built_in\">Object</span>.freeze({\n","\t basename: name.substr(vendor.length),\n","\t name: name,\n","\t vendor: vendor,\n","\t prefix: vendor,\n","\t custom: custom\n","\t });\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getPropertyDescriptor</span>(<span class=\"code-params\">property</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty.call(properties, property)) {\n","\t <span class=\"code-keyword\">return</span> properties[property];\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> name = property;\n","\t <span class=\"code-keyword\">var</span> hack = property[<span class=\"code-number\">0</span>];\n","\n","\t <span class=\"code-keyword\">if</span> (hack === <span class=\"code-string\">'/'</span>) {\n","\t hack = property[<span class=\"code-number\">1</span>] === <span class=\"code-string\">'/'</span> ? <span class=\"code-string\">'//'</span> : <span class=\"code-string\">'/'</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (hack !== <span class=\"code-string\">'_'</span> &&\n","\t hack !== <span class=\"code-string\">'*'</span> &&\n","\t hack !== <span class=\"code-string\">'$'</span> &&\n","\t hack !== <span class=\"code-string\">'#'</span> &&\n","\t hack !== <span class=\"code-string\">'+'</span> &&\n","\t hack !== <span class=\"code-string\">'&'</span>) {\n","\t hack = <span class=\"code-string\">''</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> custom = isCustomProperty(name, hack.length);\n","\n","\t <span class=\"code-comment\">// re-use result when possible (the same as for lower case)</span>\n","\t <span class=\"code-keyword\">if</span> (!custom) {\n","\t name = name.toLowerCase();\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty.call(properties, name)) {\n","\t <span class=\"code-keyword\">return</span> properties[property] = properties[name];\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> vendor = !custom ? getVendorPrefix(name, hack.length) : <span class=\"code-string\">''</span>;\n","\t <span class=\"code-keyword\">var</span> prefix = name.substr(<span class=\"code-number\">0</span>, hack.length + vendor.length);\n","\n","\t <span class=\"code-keyword\">return</span> properties[property] = <span class=\"code-built_in\">Object</span>.freeze({\n","\t basename: name.substr(prefix.length),\n","\t name: name.substr(hack.length),\n","\t hack: hack,\n","\t vendor: vendor,\n","\t prefix: prefix,\n","\t custom: custom\n","\t });\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> names = {\n","\t keyword: getKeywordDescriptor,\n","\t property: getPropertyDescriptor,\n","\t isCustomProperty: isCustomProperty,\n","\t vendorPrefix: getVendorPrefix\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> MIN_SIZE = <span class=\"code-number\">16</span> * <span class=\"code-number\">1024</span>;\n","\t<span class=\"code-keyword\">var</span> SafeUint32Array = <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Uint32Array</span> !== <span class=\"code-string\">'undefined'</span> ? <span class=\"code-built_in\">Uint32Array</span> : <span class=\"code-built_in\">Array</span>; <span class=\"code-comment\">// fallback on Array when TypedArray is not supported</span>\n","\n","\t<span class=\"code-keyword\">var</span> adoptBuffer = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">adoptBuffer</span>(<span class=\"code-params\">buffer, size</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (buffer === <span class=\"code-literal\">null</span> || buffer.length < size) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> SafeUint32Array(<span class=\"code-built_in\">Math</span>.max(size + <span class=\"code-number\">1024</span>, MIN_SIZE));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> buffer;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">2</span> = _const.TYPE;\n","\n","\n","\t<span class=\"code-keyword\">var</span> isNewline$<span class=\"code-number\">1</span> = charCodeDefinitions.isNewline;\n","\t<span class=\"code-keyword\">var</span> isName$<span class=\"code-number\">2</span> = charCodeDefinitions.isName;\n","\t<span class=\"code-keyword\">var</span> isValidEscape$<span class=\"code-number\">2</span> = charCodeDefinitions.isValidEscape;\n","\t<span class=\"code-keyword\">var</span> isNumberStart$<span class=\"code-number\">1</span> = charCodeDefinitions.isNumberStart;\n","\t<span class=\"code-keyword\">var</span> isIdentifierStart$<span class=\"code-number\">1</span> = charCodeDefinitions.isIdentifierStart;\n","\t<span class=\"code-keyword\">var</span> charCodeCategory$<span class=\"code-number\">1</span> = charCodeDefinitions.charCodeCategory;\n","\t<span class=\"code-keyword\">var</span> isBOM$<span class=\"code-number\">1</span> = charCodeDefinitions.isBOM;\n","\n","\n","\t<span class=\"code-keyword\">var</span> cmpStr$<span class=\"code-number\">2</span> = utils.cmpStr;\n","\t<span class=\"code-keyword\">var</span> getNewlineLength$<span class=\"code-number\">1</span> = utils.getNewlineLength;\n","\t<span class=\"code-keyword\">var</span> findWhiteSpaceEnd$<span class=\"code-number\">1</span> = utils.findWhiteSpaceEnd;\n","\t<span class=\"code-keyword\">var</span> consumeEscaped$<span class=\"code-number\">1</span> = utils.consumeEscaped;\n","\t<span class=\"code-keyword\">var</span> consumeName$<span class=\"code-number\">1</span> = utils.consumeName;\n","\t<span class=\"code-keyword\">var</span> consumeNumber$<span class=\"code-number\">1</span> = utils.consumeNumber;\n","\t<span class=\"code-keyword\">var</span> consumeBadUrlRemnants$<span class=\"code-number\">1</span> = utils.consumeBadUrlRemnants;\n","\n","\t<span class=\"code-keyword\">var</span> OFFSET_MASK$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x00FFFFFF</span>;\n","\t<span class=\"code-keyword\">var</span> TYPE_SHIFT$<span class=\"code-number\">1</span> = <span class=\"code-number\">24</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">tokenize</span>(<span class=\"code-params\">source, stream</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getCharCode</span>(<span class=\"code-params\">offset</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> offset < sourceLength ? source.charCodeAt(offset) : <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// \u00A7 4.3.3. Consume a numeric token</span>\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeNumericToken</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-comment\">// Consume a number and let number be the result.</span>\n","\t offset = consumeNumber$<span class=\"code-number\">1</span>(source, offset);\n","\n","\t <span class=\"code-comment\">// If the next 3 input code points would start an identifier, then:</span>\n","\t <span class=\"code-keyword\">if</span> (isIdentifierStart$<span class=\"code-number\">1</span>(getCharCode(offset), getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t <span class=\"code-comment\">// Create a <dimension-token> with the same value and type flag as number, and a unit set initially to the empty string.</span>\n","\t <span class=\"code-comment\">// Consume a name. Set the <dimension-token>\u2019s unit to the returned value.</span>\n","\t <span class=\"code-comment\">// Return the <dimension-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Dimension;\n","\t offset = consumeName$<span class=\"code-number\">1</span>(source, offset);\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, if the next input code point is U+0025 PERCENTAGE SIGN (%), consume it.</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset) === <span class=\"code-number\">0x0025</span>) {\n","\t <span class=\"code-comment\">// Create a <percentage-token> with the same value as number, and return it.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Percentage;\n","\t offset++;\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, create a <number-token> with the same value and type flag as number, and return it.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span><span class=\"code-built_in\">Number</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// \u00A7 4.3.4. Consume an ident-like token</span>\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeIdentLikeToken</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">const</span> nameStartOffset = offset;\n","\n","\t <span class=\"code-comment\">// Consume a name, and let string be the result.</span>\n","\t offset = consumeName$<span class=\"code-number\">1</span>(source, offset);\n","\n","\t <span class=\"code-comment\">// If string\u2019s value is an ASCII case-insensitive match for \"url\",</span>\n","\t <span class=\"code-comment\">// and the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.</span>\n","\t <span class=\"code-keyword\">if</span> (cmpStr$<span class=\"code-number\">2</span>(source, nameStartOffset, offset, <span class=\"code-string\">'url'</span>) && getCharCode(offset) === <span class=\"code-number\">0x0028</span>) {\n","\t <span class=\"code-comment\">// While the next two input code points are whitespace, consume the next input code point.</span>\n","\t offset = findWhiteSpaceEnd$<span class=\"code-number\">1</span>(source, offset + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-comment\">// If the next one or two input code points are U+0022 QUOTATION MARK (\"), U+0027 APOSTROPHE ('),</span>\n","\t <span class=\"code-comment\">// or whitespace followed by U+0022 QUOTATION MARK (\") or U+0027 APOSTROPHE ('),</span>\n","\t <span class=\"code-comment\">// then create a <function-token> with its value set to string and return it.</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset) === <span class=\"code-number\">0x0022</span> ||\n","\t getCharCode(offset) === <span class=\"code-number\">0x0027</span>) {\n","\t type = TYPE$<span class=\"code-number\">2.</span><span class=\"code-built_in\">Function</span>;\n","\t offset = nameStartOffset + <span class=\"code-number\">4</span>;\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, consume a url token, and return it.</span>\n","\t consumeUrlToken();\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, if the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.</span>\n","\t <span class=\"code-comment\">// Create a <function-token> with its value set to string and return it.</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset) === <span class=\"code-number\">0x0028</span>) {\n","\t type = TYPE$<span class=\"code-number\">2.</span><span class=\"code-built_in\">Function</span>;\n","\t offset++;\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, create an <ident-token> with its value set to string and return it.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Ident;\n","\t }\n","\n","\t <span class=\"code-comment\">// \u00A7 4.3.5. Consume a string token</span>\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeStringToken</span>(<span class=\"code-params\">endingCodePoint</span>) </span>{\n","\t <span class=\"code-comment\">// This algorithm may be called with an ending code point, which denotes the code point</span>\n","\t <span class=\"code-comment\">// that ends the string. If an ending code point is not specified,</span>\n","\t <span class=\"code-comment\">// the current input code point is used.</span>\n","\t <span class=\"code-keyword\">if</span> (!endingCodePoint) {\n","\t endingCodePoint = getCharCode(offset++);\n","\t }\n","\n","\t <span class=\"code-comment\">// Initially create a <string-token> with its value set to the empty string.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span><span class=\"code-built_in\">String</span>;\n","\n","\t <span class=\"code-comment\">// Repeatedly consume the next input code point from the stream:</span>\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\n","\t <span class=\"code-keyword\">switch</span> (charCodeCategory$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// ending code point</span>\n","\t <span class=\"code-keyword\">case</span> endingCodePoint:\n","\t <span class=\"code-comment\">// Return the <string-token>.</span>\n","\t offset++;\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// EOF</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>Eof:\n","\t <span class=\"code-comment\">// This is a parse error. Return the <string-token>.</span>\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// newline</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>WhiteSpace:\n","\t <span class=\"code-keyword\">if</span> (isNewline$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// This is a parse error. Reconsume the current input code point,</span>\n","\t <span class=\"code-comment\">// create a <bad-string-token>, and return it.</span>\n","\t offset += getNewlineLength$<span class=\"code-number\">1</span>(source, offset, code);\n","\t type = TYPE$<span class=\"code-number\">2.</span>BadString;\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+005C REVERSE SOLIDUS (\\)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x005C</span>:\n","\t <span class=\"code-comment\">// If the next input code point is EOF, do nothing.</span>\n","\t <span class=\"code-keyword\">if</span> (offset === source.length - <span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> nextCode = getCharCode(offset + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-comment\">// Otherwise, if the next input code point is a newline, consume it.</span>\n","\t <span class=\"code-keyword\">if</span> (isNewline$<span class=\"code-number\">1</span>(nextCode)) {\n","\t offset += getNewlineLength$<span class=\"code-number\">1</span>(source, offset + <span class=\"code-number\">1</span>, nextCode);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (isValidEscape$<span class=\"code-number\">2</span>(code, nextCode)) {\n","\t <span class=\"code-comment\">// Otherwise, (the stream starts with a valid escape) consume</span>\n","\t <span class=\"code-comment\">// an escaped code point and append the returned code point to</span>\n","\t <span class=\"code-comment\">// the <string-token>\u2019s value.</span>\n","\t offset = consumeEscaped$<span class=\"code-number\">1</span>(source, offset) - <span class=\"code-number\">1</span>;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-comment\">// Append the current input code point to the <string-token>\u2019s value.</span>\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// \u00A7 4.3.6. Consume a url token</span>\n","\t <span class=\"code-comment\">// Note: This algorithm assumes that the initial \"url(\" has already been consumed.</span>\n","\t <span class=\"code-comment\">// This algorithm also assumes that it\u2019s being called to consume an \"unquoted\" value, like url(foo).</span>\n","\t <span class=\"code-comment\">// A quoted value, like url(\"foo\"), is parsed as a <function-token>. Consume an ident-like token</span>\n","\t <span class=\"code-comment\">// automatically handles this distinction; this algorithm shouldn\u2019t be called directly otherwise.</span>\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeUrlToken</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-comment\">// Initially create a <url-token> with its value set to the empty string.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Url;\n","\n","\t <span class=\"code-comment\">// Consume as much whitespace as possible.</span>\n","\t offset = findWhiteSpaceEnd$<span class=\"code-number\">1</span>(source, offset);\n","\n","\t <span class=\"code-comment\">// Repeatedly consume the next input code point from the stream:</span>\n","\t <span class=\"code-keyword\">for</span> (; offset < source.length; offset++) {\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\n","\t <span class=\"code-keyword\">switch</span> (charCodeCategory$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// U+0029 RIGHT PARENTHESIS ())</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0029</span>:\n","\t <span class=\"code-comment\">// Return the <url-token>.</span>\n","\t offset++;\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// EOF</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>Eof:\n","\t <span class=\"code-comment\">// This is a parse error. Return the <url-token>.</span>\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// whitespace</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>WhiteSpace:\n","\t <span class=\"code-comment\">// Consume as much whitespace as possible.</span>\n","\t offset = findWhiteSpaceEnd$<span class=\"code-number\">1</span>(source, offset);\n","\n","\t <span class=\"code-comment\">// If the next input code point is U+0029 RIGHT PARENTHESIS ()) or EOF,</span>\n","\t <span class=\"code-comment\">// consume it and return the <url-token></span>\n","\t <span class=\"code-comment\">// (if EOF was encountered, this is a parse error);</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset) === <span class=\"code-number\">0x0029</span> || offset >= source.length) {\n","\t <span class=\"code-keyword\">if</span> (offset < source.length) {\n","\t offset++;\n","\t }\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// otherwise, consume the remnants of a bad url, create a <bad-url-token>,</span>\n","\t <span class=\"code-comment\">// and return it.</span>\n","\t offset = consumeBadUrlRemnants$<span class=\"code-number\">1</span>(source, offset);\n","\t type = TYPE$<span class=\"code-number\">2.</span>BadUrl;\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// U+0022 QUOTATION MARK (\")</span>\n","\t <span class=\"code-comment\">// U+0027 APOSTROPHE (')</span>\n","\t <span class=\"code-comment\">// U+0028 LEFT PARENTHESIS (()</span>\n","\t <span class=\"code-comment\">// non-printable code point</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0022</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0027</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0028</span>:\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>NonPrintable:\n","\t <span class=\"code-comment\">// This is a parse error. Consume the remnants of a bad url,</span>\n","\t <span class=\"code-comment\">// create a <bad-url-token>, and return it.</span>\n","\t offset = consumeBadUrlRemnants$<span class=\"code-number\">1</span>(source, offset);\n","\t type = TYPE$<span class=\"code-number\">2.</span>BadUrl;\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// U+005C REVERSE SOLIDUS (\\)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x005C</span>:\n","\t <span class=\"code-comment\">// If the stream starts with a valid escape, consume an escaped code point and</span>\n","\t <span class=\"code-comment\">// append the returned code point to the <url-token>\u2019s value.</span>\n","\t <span class=\"code-keyword\">if</span> (isValidEscape$<span class=\"code-number\">2</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>))) {\n","\t offset = consumeEscaped$<span class=\"code-number\">1</span>(source, offset) - <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Otherwise, this is a parse error. Consume the remnants of a bad url,</span>\n","\t <span class=\"code-comment\">// create a <bad-url-token>, and return it.</span>\n","\t offset = consumeBadUrlRemnants$<span class=\"code-number\">1</span>(source, offset);\n","\t type = TYPE$<span class=\"code-number\">2.</span>BadUrl;\n","\t <span class=\"code-keyword\">return</span>;\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-comment\">// Append the current input code point to the <url-token>\u2019s value.</span>\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!stream) {\n","\t stream = <span class=\"code-keyword\">new</span> TokenStream_1();\n","\t }\n","\n","\t <span class=\"code-comment\">// ensure source is a string</span>\n","\t source = <span class=\"code-built_in\">String</span>(source || <span class=\"code-string\">''</span>);\n","\n","\t <span class=\"code-keyword\">var</span> sourceLength = source.length;\n","\t <span class=\"code-keyword\">var</span> offsetAndType = adoptBuffer(stream.offsetAndType, sourceLength + <span class=\"code-number\">1</span>); <span class=\"code-comment\">// +1 because of eof-token</span>\n","\t <span class=\"code-keyword\">var</span> balance = adoptBuffer(stream.balance, sourceLength + <span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">var</span> tokenCount = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> start = isBOM$<span class=\"code-number\">1</span>(getCharCode(<span class=\"code-number\">0</span>));\n","\t <span class=\"code-keyword\">var</span> offset = start;\n","\t <span class=\"code-keyword\">var</span> balanceCloseType = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> balanceStart = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> balancePrev = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// https://drafts.csswg.org/css-syntax-3/#consume-token</span>\n","\t <span class=\"code-comment\">// \u00A7 4.3.1. Consume a token</span>\n","\t <span class=\"code-keyword\">while</span> (offset < sourceLength) {\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(offset);\n","\t <span class=\"code-keyword\">var</span> type = <span class=\"code-number\">0</span>;\n","\n","\t balance[tokenCount] = sourceLength;\n","\n","\t <span class=\"code-keyword\">switch</span> (charCodeCategory$<span class=\"code-number\">1</span>(code)) {\n","\t <span class=\"code-comment\">// whitespace</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>WhiteSpace:\n","\t <span class=\"code-comment\">// Consume as much whitespace as possible. Return a <whitespace-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>WhiteSpace;\n","\t offset = findWhiteSpaceEnd$<span class=\"code-number\">1</span>(source, offset + <span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0022 QUOTATION MARK (\")</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0022</span>:\n","\t <span class=\"code-comment\">// Consume a string token and return it.</span>\n","\t consumeStringToken();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0023 NUMBER SIGN (#)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0023</span>:\n","\t <span class=\"code-comment\">// If the next input code point is a name code point or the next two input code points are a valid escape, then:</span>\n","\t <span class=\"code-keyword\">if</span> (isName$<span class=\"code-number\">2</span>(getCharCode(offset + <span class=\"code-number\">1</span>)) || isValidEscape$<span class=\"code-number\">2</span>(getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t <span class=\"code-comment\">// Create a <hash-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Hash;\n","\n","\t <span class=\"code-comment\">// If the next 3 input code points would start an identifier, set the <hash-token>\u2019s type flag to \"id\".</span>\n","\t <span class=\"code-comment\">// if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) {</span>\n","\t <span class=\"code-comment\">// // <span class=\"code-doctag\">TODO:</span> set id flag</span>\n","\t <span class=\"code-comment\">// }</span>\n","\n","\t <span class=\"code-comment\">// Consume a name, and set the <hash-token>\u2019s value to the returned string.</span>\n","\t offset = consumeName$<span class=\"code-number\">1</span>(source, offset + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-comment\">// Return the <hash-token>.</span>\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0027 APOSTROPHE (')</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0027</span>:\n","\t <span class=\"code-comment\">// Consume a string token and return it.</span>\n","\t consumeStringToken();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0028 LEFT PARENTHESIS (()</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0028</span>:\n","\t <span class=\"code-comment\">// Return a <(-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>LeftParenthesis;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0029 RIGHT PARENTHESIS ())</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0029</span>:\n","\t <span class=\"code-comment\">// Return a <)-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>RightParenthesis;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x002B</span>:\n","\t <span class=\"code-comment\">// If the input stream starts with a number, ...</span>\n","\t <span class=\"code-keyword\">if</span> (isNumberStart$<span class=\"code-number\">1</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t <span class=\"code-comment\">// ... reconsume the current input code point, consume a numeric token, and return it.</span>\n","\t consumeNumericToken();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+002C COMMA (,)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x002C</span>:\n","\t <span class=\"code-comment\">// Return a <comma-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Comma;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x002D</span>:\n","\t <span class=\"code-comment\">// If the input stream starts with a number, reconsume the current input code point, consume a numeric token, and return it.</span>\n","\t <span class=\"code-keyword\">if</span> (isNumberStart$<span class=\"code-number\">1</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t consumeNumericToken();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, if the next 2 input code points are U+002D HYPHEN-MINUS U+003E GREATER-THAN SIGN (->), consume them and return a <CDC-token>.</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset + <span class=\"code-number\">1</span>) === <span class=\"code-number\">0x002D</span> &&\n","\t getCharCode(offset + <span class=\"code-number\">2</span>) === <span class=\"code-number\">0x003E</span>) {\n","\t type = TYPE$<span class=\"code-number\">2.</span>CDC;\n","\t offset = offset + <span class=\"code-number\">3</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, if the input stream starts with an identifier, ...</span>\n","\t <span class=\"code-keyword\">if</span> (isIdentifierStart$<span class=\"code-number\">1</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t <span class=\"code-comment\">// ... reconsume the current input code point, consume an ident-like token, and return it.</span>\n","\t consumeIdentLikeToken();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+002E FULL STOP (.)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x002E</span>:\n","\t <span class=\"code-comment\">// If the input stream starts with a number, ...</span>\n","\t <span class=\"code-keyword\">if</span> (isNumberStart$<span class=\"code-number\">1</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>))) {\n","\t <span class=\"code-comment\">// ... reconsume the current input code point, consume a numeric token, and return it.</span>\n","\t consumeNumericToken();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x002F</span>:\n","\t <span class=\"code-comment\">// If the next two input code point are U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*),</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset + <span class=\"code-number\">1</span>) === <span class=\"code-number\">0x002A</span>) {\n","\t <span class=\"code-comment\">// ... consume them and all following code points up to and including the first U+002A ASTERISK (*)</span>\n","\t <span class=\"code-comment\">// followed by a U+002F SOLIDUS (/), or up to an EOF code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Comment;\n","\t offset = source.indexOf(<span class=\"code-string\">'*/'</span>, offset + <span class=\"code-number\">2</span>) + <span class=\"code-number\">2</span>;\n","\t <span class=\"code-keyword\">if</span> (offset === <span class=\"code-number\">1</span>) {\n","\t offset = source.length;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+003A COLON (:)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x003A</span>:\n","\t <span class=\"code-comment\">// Return a <colon-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Colon;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+003B SEMICOLON (;)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x003B</span>:\n","\t <span class=\"code-comment\">// Return a <semicolon-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Semicolon;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+003C LESS-THAN SIGN (<)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x003C</span>:\n","\t <span class=\"code-comment\">// If the next 3 input code points are U+0021 EXCLAMATION MARK U+002D HYPHEN-MINUS U+002D HYPHEN-MINUS (!--), ...</span>\n","\t <span class=\"code-keyword\">if</span> (getCharCode(offset + <span class=\"code-number\">1</span>) === <span class=\"code-number\">0x0021</span> &&\n","\t getCharCode(offset + <span class=\"code-number\">2</span>) === <span class=\"code-number\">0x002D</span> &&\n","\t getCharCode(offset + <span class=\"code-number\">3</span>) === <span class=\"code-number\">0x002D</span>) {\n","\t <span class=\"code-comment\">// ... consume them and return a <CDO-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>CDO;\n","\t offset = offset + <span class=\"code-number\">4</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+0040 COMMERCIAL AT (@)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x0040</span>:\n","\t <span class=\"code-comment\">// If the next 3 input code points would start an identifier, ...</span>\n","\t <span class=\"code-keyword\">if</span> (isIdentifierStart$<span class=\"code-number\">1</span>(getCharCode(offset + <span class=\"code-number\">1</span>), getCharCode(offset + <span class=\"code-number\">2</span>), getCharCode(offset + <span class=\"code-number\">3</span>))) {\n","\t <span class=\"code-comment\">// ... consume a name, create an <at-keyword-token> with its value set to the returned value, and return it.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>AtKeyword;\n","\t offset = consumeName$<span class=\"code-number\">1</span>(source, offset + <span class=\"code-number\">1</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+005B LEFT SQUARE BRACKET ([)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x005B</span>:\n","\t <span class=\"code-comment\">// Return a <[-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>LeftSquareBracket;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+005C REVERSE SOLIDUS (\\)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x005C</span>:\n","\t <span class=\"code-comment\">// If the input stream starts with a valid escape, ...</span>\n","\t <span class=\"code-keyword\">if</span> (isValidEscape$<span class=\"code-number\">2</span>(code, getCharCode(offset + <span class=\"code-number\">1</span>))) {\n","\t <span class=\"code-comment\">// ... reconsume the current input code point, consume an ident-like token, and return it.</span>\n","\t consumeIdentLikeToken();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// Otherwise, this is a parse error. Return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+005D RIGHT SQUARE BRACKET (])</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x005D</span>:\n","\t <span class=\"code-comment\">// Return a <]-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>RightSquareBracket;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+007B LEFT CURLY BRACKET ({)</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x007B</span>:\n","\t <span class=\"code-comment\">// Return a <{-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>LeftCurlyBracket;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// U+007D RIGHT CURLY BRACKET (})</span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">0x007D</span>:\n","\t <span class=\"code-comment\">// Return a <}-token>.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>RightCurlyBracket;\n","\t offset++;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// digit</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>Digit:\n","\t <span class=\"code-comment\">// Reconsume the current input code point, consume a numeric token, and return it.</span>\n","\t consumeNumericToken();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// name-start code point</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>NameStart:\n","\t <span class=\"code-comment\">// Reconsume the current input code point, consume an ident-like token, and return it.</span>\n","\t consumeIdentLikeToken();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// EOF</span>\n","\t <span class=\"code-keyword\">case</span> charCodeCategory$<span class=\"code-number\">1.</span>Eof:\n","\t <span class=\"code-comment\">// Return an <EOF-token>.</span>\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// anything else</span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-comment\">// Return a <delim-token> with its value set to the current input code point.</span>\n","\t type = TYPE$<span class=\"code-number\">2.</span>Delim;\n","\t offset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (type) {\n","\t <span class=\"code-keyword\">case</span> balanceCloseType:\n","\t balancePrev = balanceStart & OFFSET_MASK$<span class=\"code-number\">1</span>;\n","\t balanceStart = balance[balancePrev];\n","\t balanceCloseType = balanceStart >> TYPE_SHIFT$<span class=\"code-number\">1</span>;\n","\t balance[tokenCount] = balancePrev;\n","\t balance[balancePrev++] = tokenCount;\n","\t <span class=\"code-keyword\">for</span> (; balancePrev < tokenCount; balancePrev++) {\n","\t <span class=\"code-keyword\">if</span> (balance[balancePrev] === sourceLength) {\n","\t balance[balancePrev] = tokenCount;\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">2.</span>LeftParenthesis:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">2.</span><span class=\"code-built_in\">Function</span>:\n","\t balance[tokenCount] = balanceStart;\n","\t balanceCloseType = TYPE$<span class=\"code-number\">2.</span>RightParenthesis;\n","\t balanceStart = (balanceCloseType << TYPE_SHIFT$<span class=\"code-number\">1</span>) | tokenCount;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">2.</span>LeftSquareBracket:\n","\t balance[tokenCount] = balanceStart;\n","\t balanceCloseType = TYPE$<span class=\"code-number\">2.</span>RightSquareBracket;\n","\t balanceStart = (balanceCloseType << TYPE_SHIFT$<span class=\"code-number\">1</span>) | tokenCount;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">2.</span>LeftCurlyBracket:\n","\t balance[tokenCount] = balanceStart;\n","\t balanceCloseType = TYPE$<span class=\"code-number\">2.</span>RightCurlyBracket;\n","\t balanceStart = (balanceCloseType << TYPE_SHIFT$<span class=\"code-number\">1</span>) | tokenCount;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t offsetAndType[tokenCount++] = (type << TYPE_SHIFT$<span class=\"code-number\">1</span>) | offset;\n","\t }\n","\n","\t <span class=\"code-comment\">// finalize buffers</span>\n","\t offsetAndType[tokenCount] = (TYPE$<span class=\"code-number\">2.</span>EOF << TYPE_SHIFT$<span class=\"code-number\">1</span>) | offset; <span class=\"code-comment\">// <EOF-token></span>\n","\t balance[tokenCount] = sourceLength;\n","\t balance[sourceLength] = sourceLength; <span class=\"code-comment\">// prevents false positive balance match with any token</span>\n","\t <span class=\"code-keyword\">while</span> (balanceStart !== <span class=\"code-number\">0</span>) {\n","\t balancePrev = balanceStart & OFFSET_MASK$<span class=\"code-number\">1</span>;\n","\t balanceStart = balance[balancePrev];\n","\t balance[balancePrev] = sourceLength;\n","\t }\n","\n","\t <span class=\"code-comment\">// update stream</span>\n","\t stream.source = source;\n","\t stream.firstCharOffset = start;\n","\t stream.offsetAndType = offsetAndType;\n","\t stream.tokenCount = tokenCount;\n","\t stream.balance = balance;\n","\t stream.reset();\n","\t stream.next();\n","\n","\t <span class=\"code-keyword\">return</span> stream;\n","\t}\n","\n","\t<span class=\"code-comment\">// extend tokenizer with constants</span>\n","\t<span class=\"code-built_in\">Object</span>.keys(_const).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">key</span>) </span>{\n","\t tokenize[key] = _const[key];\n","\t});\n","\n","\t<span class=\"code-comment\">// extend tokenizer with static methods from utils</span>\n","\t<span class=\"code-built_in\">Object</span>.keys(charCodeDefinitions).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">key</span>) </span>{\n","\t tokenize[key] = charCodeDefinitions[key];\n","\t});\n","\t<span class=\"code-built_in\">Object</span>.keys(utils).forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">key</span>) </span>{\n","\t tokenize[key] = utils[key];\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> tokenizer = tokenize;\n","\n","\t<span class=\"code-keyword\">var</span> isDigit$<span class=\"code-number\">2</span> = tokenizer.isDigit;\n","\t<span class=\"code-keyword\">var</span> cmpChar$<span class=\"code-number\">1</span> = tokenizer.cmpChar;\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">3</span> = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> DELIM = TYPE$<span class=\"code-number\">3.</span>Delim;\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">3.</span>WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">3.</span>Comment;\n","\t<span class=\"code-keyword\">var</span> IDENT = TYPE$<span class=\"code-number\">3.</span>Ident;\n","\t<span class=\"code-keyword\">var</span> NUMBER = TYPE$<span class=\"code-number\">3.</span><span class=\"code-built_in\">Number</span>;\n","\t<span class=\"code-keyword\">var</span> DIMENSION = TYPE$<span class=\"code-number\">3.</span>Dimension;\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x002D</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-keyword\">var</span> N = <span class=\"code-number\">0x006E</span>; <span class=\"code-comment\">// U+006E LATIN SMALL LETTER N (n)</span>\n","\t<span class=\"code-keyword\">var</span> DISALLOW_SIGN = <span class=\"code-literal\">true</span>;\n","\t<span class=\"code-keyword\">var</span> ALLOW_SIGN = <span class=\"code-literal\">false</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isDelim</span>(<span class=\"code-params\">token, code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> token !== <span class=\"code-literal\">null</span> && token.type === DELIM && token.value.charCodeAt(<span class=\"code-number\">0</span>) === code;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">skipSC</span>(<span class=\"code-params\">token, offset, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">while</span> (token !== <span class=\"code-literal\">null</span> && (token.type === WHITESPACE$<span class=\"code-number\">1</span> || token.type === COMMENT$<span class=\"code-number\">1</span>)) {\n","\t token = getNextToken(++offset);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">checkInteger</span>(<span class=\"code-params\">token, valueOffset, disallowSign, offset</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!token) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> code = token.value.charCodeAt(valueOffset);\n","\n","\t <span class=\"code-keyword\">if</span> (code === PLUSSIGN || code === HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">if</span> (disallowSign) {\n","\t <span class=\"code-comment\">// Number sign is not allowed</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t valueOffset++;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (; valueOffset < token.value.length; valueOffset++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">2</span>(token.value.charCodeAt(valueOffset))) {\n","\t <span class=\"code-comment\">// Integer is expected</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> offset + <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// ... <signed-integer></span>\n","\t<span class=\"code-comment\">// ... ['+' | '-'] <signless-integer></span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeB</span>(<span class=\"code-params\">token, offset_, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sign = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">var</span> offset = skipSC(token, offset_, getNextToken);\n","\n","\t token = getNextToken(offset);\n","\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> offset_;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (token.type !== NUMBER) {\n","\t <span class=\"code-keyword\">if</span> (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS$<span class=\"code-number\">1</span>)) {\n","\t sign = <span class=\"code-literal\">true</span>;\n","\t offset = skipSC(getNextToken(++offset), offset, getNextToken);\n","\t token = getNextToken(offset);\n","\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> && token.type !== NUMBER) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> offset_;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!sign) {\n","\t <span class=\"code-keyword\">var</span> code = token.value.charCodeAt(<span class=\"code-number\">0</span>);\n","\t <span class=\"code-keyword\">if</span> (code !== PLUSSIGN && code !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-comment\">// Number sign is expected</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, sign ? <span class=\"code-number\">0</span> : <span class=\"code-number\">1</span>, sign, offset);\n","\t}\n","\n","\t<span class=\"code-comment\">// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb</span>\n","\t<span class=\"code-keyword\">var</span> genericAnPlusB = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">anPlusB</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-comment\">/* eslint-disable brace-style*/</span>\n","\t <span class=\"code-keyword\">var</span> offset = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (!token) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// <integer></span>\n","\t <span class=\"code-keyword\">if</span> (token.type === NUMBER) {\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">0</span>, ALLOW_SIGN, offset); <span class=\"code-comment\">// b</span>\n","\t }\n","\n","\t <span class=\"code-comment\">// -n</span>\n","\t <span class=\"code-comment\">// -n <signed-integer></span>\n","\t <span class=\"code-comment\">// -n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-comment\">// -n- <signless-integer></span>\n","\t <span class=\"code-comment\">// <dashndashdigit-ident></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (token.type === IDENT && token.value.charCodeAt(<span class=\"code-number\">0</span>) === HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-comment\">// expect 1st char is N</span>\n","\t <span class=\"code-keyword\">if</span> (!cmpChar$<span class=\"code-number\">1</span>(token.value, <span class=\"code-number\">1</span>, N)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (token.value.length) {\n","\t <span class=\"code-comment\">// -n</span>\n","\t <span class=\"code-comment\">// -n <signed-integer></span>\n","\t <span class=\"code-comment\">// -n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">return</span> consumeB(getNextToken(++offset), offset, getNextToken);\n","\n","\t <span class=\"code-comment\">// -n- <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">if</span> (token.value.charCodeAt(<span class=\"code-number\">2</span>) !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t offset = skipSC(getNextToken(++offset), offset, getNextToken);\n","\t token = getNextToken(offset);\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">0</span>, DISALLOW_SIGN, offset);\n","\n","\t <span class=\"code-comment\">// <dashndashdigit-ident></span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">if</span> (token.value.charCodeAt(<span class=\"code-number\">2</span>) !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">3</span>, DISALLOW_SIGN, offset);\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// '+'? n</span>\n","\t <span class=\"code-comment\">// '+'? n <signed-integer></span>\n","\t <span class=\"code-comment\">// '+'? n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-comment\">// '+'? n- <signless-integer></span>\n","\t <span class=\"code-comment\">// '+'? <ndashdigit-ident></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (token.type === IDENT || (isDelim(token, PLUSSIGN) && getNextToken(offset + <span class=\"code-number\">1</span>).type === IDENT)) {\n","\t <span class=\"code-comment\">// just ignore a plus</span>\n","\t <span class=\"code-keyword\">if</span> (token.type !== IDENT) {\n","\t token = getNextToken(++offset);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || !cmpChar$<span class=\"code-number\">1</span>(token.value, <span class=\"code-number\">0</span>, N)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (token.value.length) {\n","\t <span class=\"code-comment\">// '+'? n</span>\n","\t <span class=\"code-comment\">// '+'? n <signed-integer></span>\n","\t <span class=\"code-comment\">// '+'? n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">return</span> consumeB(getNextToken(++offset), offset, getNextToken);\n","\n","\t <span class=\"code-comment\">// '+'? n- <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">if</span> (token.value.charCodeAt(<span class=\"code-number\">1</span>) !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t offset = skipSC(getNextToken(++offset), offset, getNextToken);\n","\t token = getNextToken(offset);\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">0</span>, DISALLOW_SIGN, offset);\n","\n","\t <span class=\"code-comment\">// '+'? <ndashdigit-ident></span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">if</span> (token.value.charCodeAt(<span class=\"code-number\">1</span>) !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">2</span>, DISALLOW_SIGN, offset);\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// <ndashdigit-dimension></span>\n","\t <span class=\"code-comment\">// <ndash-dimension> <signless-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension></span>\n","\t <span class=\"code-comment\">// <n-dimension> <signed-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension> ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (token.type === DIMENSION) {\n","\t <span class=\"code-keyword\">var</span> code = token.value.charCodeAt(<span class=\"code-number\">0</span>);\n","\t <span class=\"code-keyword\">var</span> sign = code === PLUSSIGN || code === HYPHENMINUS$<span class=\"code-number\">1</span> ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = sign; i < token.value.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">2</span>(token.value.charCodeAt(i))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (i === sign) {\n","\t <span class=\"code-comment\">// Integer is expected</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!cmpChar$<span class=\"code-number\">1</span>(token.value, i, N)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// <n-dimension></span>\n","\t <span class=\"code-comment\">// <n-dimension> <signed-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension> ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">if</span> (i + <span class=\"code-number\">1</span> === token.value.length) {\n","\t <span class=\"code-keyword\">return</span> consumeB(getNextToken(++offset), offset, getNextToken);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (token.value.charCodeAt(i + <span class=\"code-number\">1</span>) !== HYPHENMINUS$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// <ndash-dimension> <signless-integer></span>\n","\t <span class=\"code-keyword\">if</span> (i + <span class=\"code-number\">2</span> === token.value.length) {\n","\t offset = skipSC(getNextToken(++offset), offset, getNextToken);\n","\t token = getNextToken(offset);\n","\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, <span class=\"code-number\">0</span>, DISALLOW_SIGN, offset);\n","\t }\n","\t <span class=\"code-comment\">// <ndashdigit-dimension></span>\n","\t <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> checkInteger(token, i + <span class=\"code-number\">2</span>, DISALLOW_SIGN, offset);\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isHexDigit$<span class=\"code-number\">2</span> = tokenizer.isHexDigit;\n","\t<span class=\"code-keyword\">var</span> cmpChar$<span class=\"code-number\">2</span> = tokenizer.cmpChar;\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">4</span> = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">4.</span>Ident;\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">4.</span>Delim;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">4.</span><span class=\"code-built_in\">Number</span>;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">4.</span>Dimension;\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x002D</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-keyword\">var</span> QUESTIONMARK = <span class=\"code-number\">0x003F</span>; <span class=\"code-comment\">// U+003F QUESTION MARK (?)</span>\n","\t<span class=\"code-keyword\">var</span> U = <span class=\"code-number\">0x0075</span>; <span class=\"code-comment\">// U+0075 LATIN SMALL LETTER U (u)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isDelim$1</span>(<span class=\"code-params\">token, code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> token !== <span class=\"code-literal\">null</span> && token.type === DELIM$<span class=\"code-number\">1</span> && token.value.charCodeAt(<span class=\"code-number\">0</span>) === code;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">startsWith</span>(<span class=\"code-params\">token, code</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> token.value.charCodeAt(<span class=\"code-number\">0</span>) === code;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">hexSequence</span>(<span class=\"code-params\">token, offset, allowDash</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> pos = offset, hexlen = <span class=\"code-number\">0</span>; pos < token.value.length; pos++) {\n","\t <span class=\"code-keyword\">var</span> code = token.value.charCodeAt(pos);\n","\n","\t <span class=\"code-keyword\">if</span> (code === HYPHENMINUS$<span class=\"code-number\">2</span> && allowDash && hexlen !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">if</span> (hexSequence(token, offset + hexlen + <span class=\"code-number\">1</span>, <span class=\"code-literal\">false</span>) > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">6</span>; <span class=\"code-comment\">// dissallow following question marks</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>; <span class=\"code-comment\">// dash at the ending of a hex sequence is not allowed</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!isHexDigit$<span class=\"code-number\">2</span>(code)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>; <span class=\"code-comment\">// not a hex digit</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (++hexlen > <span class=\"code-number\">6</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>; <span class=\"code-comment\">// too many hex digits</span>\n","\t } }\n","\n","\t <span class=\"code-keyword\">return</span> hexlen;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">withQuestionMarkSequence</span>(<span class=\"code-params\">consumed, length, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!consumed) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>; <span class=\"code-comment\">// nothing consumed</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">while</span> (isDelim$<span class=\"code-number\">1</span>(getNextToken(length), QUESTIONMARK)) {\n","\t <span class=\"code-keyword\">if</span> (++consumed > <span class=\"code-number\">6</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>; <span class=\"code-comment\">// too many question marks</span>\n","\t }\n","\n","\t length++;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> length;\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#urange</span>\n","\t<span class=\"code-comment\">// Informally, the <urange> production has three forms:</span>\n","\t<span class=\"code-comment\">// U+0001</span>\n","\t<span class=\"code-comment\">// Defines a range consisting of a single code point, in this case the code point \"1\".</span>\n","\t<span class=\"code-comment\">// U+0001-00ff</span>\n","\t<span class=\"code-comment\">// Defines a range of codepoints between the first and the second value, in this case</span>\n","\t<span class=\"code-comment\">// the range between \"1\" and \"ff\" (255 in decimal) inclusive.</span>\n","\t<span class=\"code-comment\">// U+00??</span>\n","\t<span class=\"code-comment\">// Defines a range of codepoints where the \"?\" characters range over all hex digits,</span>\n","\t<span class=\"code-comment\">// in this case defining the same as the value U+0000-00ff.</span>\n","\t<span class=\"code-comment\">// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat \"?\" as a hexadecimal digit).</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// <urange> =</span>\n","\t<span class=\"code-comment\">// u '+' <ident-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <dimension-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <number-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <number-token> <dimension-token> |</span>\n","\t<span class=\"code-comment\">// u <number-token> <number-token> |</span>\n","\t<span class=\"code-comment\">// u '+' '?'+</span>\n","\t<span class=\"code-keyword\">var</span> genericUrange = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">urange</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> length = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// should start with `u` or `U`</span>\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== IDENT$<span class=\"code-number\">1</span> || !cmpChar$<span class=\"code-number\">2</span>(token.value, <span class=\"code-number\">0</span>, U)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t token = getNextToken(++length);\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// u '+' <ident-token> '?'*</span>\n","\t <span class=\"code-comment\">// u '+' '?'+</span>\n","\t <span class=\"code-keyword\">if</span> (isDelim$<span class=\"code-number\">1</span>(token, PLUSSIGN$<span class=\"code-number\">1</span>)) {\n","\t token = getNextToken(++length);\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (token.type === IDENT$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-comment\">// u '+' <ident-token> '?'*</span>\n","\t <span class=\"code-keyword\">return</span> withQuestionMarkSequence(hexSequence(token, <span class=\"code-number\">0</span>, <span class=\"code-literal\">true</span>), ++length, getNextToken);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (isDelim$<span class=\"code-number\">1</span>(token, QUESTIONMARK)) {\n","\t <span class=\"code-comment\">// u '+' '?'+</span>\n","\t <span class=\"code-keyword\">return</span> withQuestionMarkSequence(<span class=\"code-number\">1</span>, ++length, getNextToken);\n","\t }\n","\n","\t <span class=\"code-comment\">// Hex digit or question mark is expected</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// u <number-token> '?'*</span>\n","\t <span class=\"code-comment\">// u <number-token> <dimension-token></span>\n","\t <span class=\"code-comment\">// u <number-token> <number-token></span>\n","\t <span class=\"code-keyword\">if</span> (token.type === NUMBER$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">if</span> (!startsWith(token, PLUSSIGN$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> consumedHexLength = hexSequence(token, <span class=\"code-number\">1</span>, <span class=\"code-literal\">true</span>);\n","\t <span class=\"code-keyword\">if</span> (consumedHexLength === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t token = getNextToken(++length);\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// u <number-token> <eof></span>\n","\t <span class=\"code-keyword\">return</span> length;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (token.type === DIMENSION$<span class=\"code-number\">1</span> || token.type === NUMBER$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-comment\">// u <number-token> <dimension-token></span>\n","\t <span class=\"code-comment\">// u <number-token> <number-token></span>\n","\t <span class=\"code-keyword\">if</span> (!startsWith(token, HYPHENMINUS$<span class=\"code-number\">2</span>) || !hexSequence(token, <span class=\"code-number\">1</span>, <span class=\"code-literal\">false</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> length + <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// u <number-token> '?'*</span>\n","\t <span class=\"code-keyword\">return</span> withQuestionMarkSequence(consumedHexLength, length, getNextToken);\n","\t }\n","\n","\t <span class=\"code-comment\">// u <dimension-token> '?'*</span>\n","\t <span class=\"code-keyword\">if</span> (token.type === DIMENSION$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">if</span> (!startsWith(token, PLUSSIGN$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> withQuestionMarkSequence(hexSequence(token, <span class=\"code-number\">1</span>, <span class=\"code-literal\">true</span>), ++length, getNextToken);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isIdentifierStart$<span class=\"code-number\">2</span> = tokenizer.isIdentifierStart;\n","\t<span class=\"code-keyword\">var</span> isHexDigit$<span class=\"code-number\">3</span> = tokenizer.isHexDigit;\n","\t<span class=\"code-keyword\">var</span> isDigit$<span class=\"code-number\">3</span> = tokenizer.isDigit;\n","\t<span class=\"code-keyword\">var</span> cmpStr$<span class=\"code-number\">3</span> = tokenizer.cmpStr;\n","\t<span class=\"code-keyword\">var</span> consumeNumber$<span class=\"code-number\">2</span> = tokenizer.consumeNumber;\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">5</span> = tokenizer.TYPE;\n","\n","\n","\n","\t<span class=\"code-keyword\">var</span> cssWideKeywords = [<span class=\"code-string\">'unset'</span>, <span class=\"code-string\">'initial'</span>, <span class=\"code-string\">'inherit'</span>];\n","\t<span class=\"code-keyword\">var</span> calcFunctionNames = [<span class=\"code-string\">'calc('</span>, <span class=\"code-string\">'-moz-calc('</span>, <span class=\"code-string\">'-webkit-calc('</span>];\n","\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css-values-3/#lengths</span>\n","\t<span class=\"code-keyword\">var</span> LENGTH = {\n","\t <span class=\"code-comment\">// absolute length units</span>\n","\t <span class=\"code-string\">'px'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'mm'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'cm'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'in'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'pt'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'pc'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'q'</span>: <span class=\"code-literal\">true</span>,\n","\n","\t <span class=\"code-comment\">// relative length units</span>\n","\t <span class=\"code-string\">'em'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'ex'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'ch'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'rem'</span>: <span class=\"code-literal\">true</span>,\n","\n","\t <span class=\"code-comment\">// viewport-percentage lengths</span>\n","\t <span class=\"code-string\">'vh'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'vw'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'vmin'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'vmax'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'vm'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> ANGLE = {\n","\t <span class=\"code-string\">'deg'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'grad'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'rad'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'turn'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TIME = {\n","\t <span class=\"code-string\">'s'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'ms'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> FREQUENCY = {\n","\t <span class=\"code-string\">'hz'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'khz'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css-values-3/#resolution (https://drafts.csswg.org/css-values/#resolution)</span>\n","\t<span class=\"code-keyword\">var</span> RESOLUTION = {\n","\t <span class=\"code-string\">'dpi'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'dpcm'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'dppx'</span>: <span class=\"code-literal\">true</span>,\n","\t <span class=\"code-string\">'x'</span>: <span class=\"code-literal\">true</span> <span class=\"code-comment\">// https://github.com/w3c/csswg-drafts/issues/461</span>\n","\t};\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-grid/#fr-unit</span>\n","\t<span class=\"code-keyword\">var</span> FLEX = {\n","\t <span class=\"code-string\">'fr'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume</span>\n","\t<span class=\"code-keyword\">var</span> DECIBEL = {\n","\t <span class=\"code-string\">'db'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch</span>\n","\t<span class=\"code-keyword\">var</span> SEMITONES = {\n","\t <span class=\"code-string\">'st'</span>: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-comment\">// safe char code getter</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">charCode</span>(<span class=\"code-params\">str, index</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> index < str.length ? str.charCodeAt(index) : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">eqStr</span>(<span class=\"code-params\">actual, expected</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> cmpStr$<span class=\"code-number\">3</span>(actual, <span class=\"code-number\">0</span>, actual.length, expected);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">eqStrAny</span>(<span class=\"code-params\">actual, expected</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < expected.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (eqStr(actual, expected[i])) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// IE postfix hack, i.e. 123\\0 or 123px\\9</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isPostfixIeHack</span>(<span class=\"code-params\">str, offset</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (offset !== str.length - <span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t str.charCodeAt(offset) === <span class=\"code-number\">0x005C</span> && <span class=\"code-comment\">// U+005C REVERSE SOLIDUS (\\)</span>\n","\t isDigit$<span class=\"code-number\">3</span>(str.charCodeAt(offset + <span class=\"code-number\">1</span>))\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">outOfRange</span>(<span class=\"code-params\">opts, value, numEnd</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (opts && opts.type === <span class=\"code-string\">'Range'</span>) {\n","\t <span class=\"code-keyword\">var</span> num = <span class=\"code-built_in\">Number</span>(\n","\t numEnd !== <span class=\"code-literal\">undefined</span> && numEnd !== value.length\n","\t ? value.substr(<span class=\"code-number\">0</span>, numEnd)\n","\t : value\n","\t );\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">isNaN</span>(num)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (opts.min !== <span class=\"code-literal\">null</span> && num < opts.min) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (opts.max !== <span class=\"code-literal\">null</span> && num > opts.max) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeFunction</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> startIdx = token.index;\n","\t <span class=\"code-keyword\">var</span> length = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// balanced token consuming</span>\n","\t <span class=\"code-keyword\">do</span> {\n","\t length++;\n","\n","\t <span class=\"code-keyword\">if</span> (token.balance <= startIdx) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t } <span class=\"code-keyword\">while</span> (token = getNextToken(length));\n","\n","\t <span class=\"code-keyword\">return</span> length;\n","\t}\n","\n","\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> implement</span>\n","\t<span class=\"code-comment\">// can be used wherever <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> values are allowed</span>\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values/#calc-notation</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">calc</span>(<span class=\"code-params\">next</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (token.type === TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Function</span> && eqStrAny(token.value, calcFunctionNames)) {\n","\t <span class=\"code-keyword\">return</span> consumeFunction(token, getNextToken);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> next(token, getNextToken, opts);\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">tokenType</span>(<span class=\"code-params\">expectedTokenType</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== expectedTokenType) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">func</span>(<span class=\"code-params\">name</span>) </span>{\n","\t name = name + <span class=\"code-string\">'('</span>;\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span> && eqStr(token.value, name)) {\n","\t <span class=\"code-keyword\">return</span> consumeFunction(token, getNextToken);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t };\n","\t}\n","\n","\t<span class=\"code-comment\">// =========================</span>\n","\t<span class=\"code-comment\">// Complex types</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#custom-idents</span>\n","\t<span class=\"code-comment\">// 4.2. Author-defined Identifiers: the <custom-ident> type</span>\n","\t<span class=\"code-comment\">// Some properties accept arbitrary author-defined identifiers as a component value.</span>\n","\t<span class=\"code-comment\">// This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier</span>\n","\t<span class=\"code-comment\">// that would not be misinterpreted as a pre-defined keyword in that property\u2019s value definition.</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// See also: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">customIdent</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Ident) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> name = token.value.toLowerCase();\n","\n","\t <span class=\"code-comment\">// The CSS-wide keywords are not valid <custom-ident>s</span>\n","\t <span class=\"code-keyword\">if</span> (eqStrAny(name, cssWideKeywords)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// The default keyword is reserved and is also not a valid <custom-ident></span>\n","\t <span class=\"code-keyword\">if</span> (eqStr(name, <span class=\"code-string\">'default'</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> ignore property specific keywords (as described https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident)</span>\n","\t <span class=\"code-comment\">// Specifications using <custom-ident> must specify clearly what other keywords</span>\n","\t <span class=\"code-comment\">// are excluded from <custom-ident>, if any\u2014for example by saying that any pre-defined keywords</span>\n","\t <span class=\"code-comment\">// in that property\u2019s value definition are excluded. Excluded keywords are excluded</span>\n","\t <span class=\"code-comment\">// in all ASCII case permutations.</span>\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-variables/#typedef-custom-property-name</span>\n","\t<span class=\"code-comment\">// A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo.</span>\n","\t<span class=\"code-comment\">// The <custom-property-name> production corresponds to this: it\u2019s defined as any valid identifier</span>\n","\t<span class=\"code-comment\">// that starts with two dashes, except -- itself, which is reserved for future use by CSS.</span>\n","\t<span class=\"code-comment\">// <span class=\"code-doctag\">NOTE:</span> Current implementation treat `--` as a valid name since most (all?) major browsers treat it as valid.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">customPropertyName</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-comment\">// ... defined as any valid identifier</span>\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Ident) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// ... that starts with two dashes (U+002D HYPHEN-MINUS)</span>\n","\t <span class=\"code-keyword\">if</span> (charCode(token.value, <span class=\"code-number\">0</span>) !== <span class=\"code-number\">0x002D</span> || charCode(token.value, <span class=\"code-number\">1</span>) !== <span class=\"code-number\">0x002D</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-color-4/#hex-notation</span>\n","\t<span class=\"code-comment\">// The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits.</span>\n","\t<span class=\"code-comment\">// In other words, a hex color is written as a hash character, \"#\", followed by some number of digits 0-9 or</span>\n","\t<span class=\"code-comment\">// letters a-f (the case of the letters doesn\u2019t matter - #00ff00 is identical to #00FF00).</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">hexColor</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Hash) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> length = token.value.length;\n","\n","\t <span class=\"code-comment\">// valid values (length): #rgb (4), #rgba (5), #rrggbb (7), #rrggbbaa (9)</span>\n","\t <span class=\"code-keyword\">if</span> (length !== <span class=\"code-number\">4</span> && length !== <span class=\"code-number\">5</span> && length !== <span class=\"code-number\">7</span> && length !== <span class=\"code-number\">9</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">1</span>; i < length; i++) {\n","\t <span class=\"code-keyword\">if</span> (!isHexDigit$<span class=\"code-number\">3</span>(token.value.charCodeAt(i))) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">idSelector</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Hash) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!isIdentifierStart$<span class=\"code-number\">2</span>(charCode(token.value, <span class=\"code-number\">1</span>), charCode(token.value, <span class=\"code-number\">2</span>), charCode(token.value, <span class=\"code-number\">3</span>))) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#any-value</span>\n","\t<span class=\"code-comment\">// It represents the entirety of what a valid declaration can have as its value.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">declarationValue</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!token) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> length = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> level = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> startIdx = token.index;\n","\n","\t <span class=\"code-comment\">// The <declaration-value> production matches any sequence of one or more tokens,</span>\n","\t <span class=\"code-comment\">// so long as the sequence ...</span>\n","\t scan:\n","\t <span class=\"code-keyword\">do</span> {\n","\t <span class=\"code-keyword\">switch</span> (token.type) {\n","\t <span class=\"code-comment\">// ... does not contain <bad-string-token>, <bad-url-token>,</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>BadString:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>BadUrl:\n","\t <span class=\"code-keyword\">break</span> scan;\n","\n","\t <span class=\"code-comment\">// ... unmatched <)-token>, <]-token>, or <}-token>,</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightCurlyBracket:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightParenthesis:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightSquareBracket:\n","\t <span class=\"code-keyword\">if</span> (token.balance > token.index || token.balance < startIdx) {\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t level--;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// ... or top-level <semicolon-token> tokens</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>Semicolon:\n","\t <span class=\"code-keyword\">if</span> (level === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// ... or <delim-token> tokens with a value of \"!\"</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>Delim:\n","\t <span class=\"code-keyword\">if</span> (token.value === <span class=\"code-string\">'!'</span> && level === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Function</span>:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>LeftParenthesis:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>LeftSquareBracket:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>LeftCurlyBracket:\n","\t level++;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t length++;\n","\n","\t <span class=\"code-comment\">// until balance closing</span>\n","\t <span class=\"code-keyword\">if</span> (token.balance <= startIdx) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t } <span class=\"code-keyword\">while</span> (token = getNextToken(length));\n","\n","\t <span class=\"code-keyword\">return</span> length;\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#any-value</span>\n","\t<span class=\"code-comment\">// The <any-value> production is identical to <declaration-value>, but also</span>\n","\t<span class=\"code-comment\">// allows top-level <semicolon-token> tokens and <delim-token> tokens</span>\n","\t<span class=\"code-comment\">// with a value of \"!\". It represents the entirety of what valid CSS can be in any context.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">anyValue</span>(<span class=\"code-params\">token, getNextToken</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!token) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> startIdx = token.index;\n","\t <span class=\"code-keyword\">var</span> length = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// The <any-value> production matches any sequence of one or more tokens,</span>\n","\t <span class=\"code-comment\">// so long as the sequence ...</span>\n","\t scan:\n","\t <span class=\"code-keyword\">do</span> {\n","\t <span class=\"code-keyword\">switch</span> (token.type) {\n","\t <span class=\"code-comment\">// ... does not contain <bad-string-token>, <bad-url-token>,</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>BadString:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>BadUrl:\n","\t <span class=\"code-keyword\">break</span> scan;\n","\n","\t <span class=\"code-comment\">// ... unmatched <)-token>, <]-token>, or <}-token>,</span>\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightCurlyBracket:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightParenthesis:\n","\t <span class=\"code-keyword\">case</span> TYPE$<span class=\"code-number\">5.</span>RightSquareBracket:\n","\t <span class=\"code-keyword\">if</span> (token.balance > token.index || token.balance < startIdx) {\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t length++;\n","\n","\t <span class=\"code-comment\">// until balance closing</span>\n","\t <span class=\"code-keyword\">if</span> (token.balance <= startIdx) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t } <span class=\"code-keyword\">while</span> (token = getNextToken(length));\n","\n","\t <span class=\"code-keyword\">return</span> length;\n","\t}\n","\n","\t<span class=\"code-comment\">// =========================</span>\n","\t<span class=\"code-comment\">// Dimensions</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">dimension</span>(<span class=\"code-params\">type</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Dimension) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> numberEnd = consumeNumber$<span class=\"code-number\">2</span>(token.value, <span class=\"code-number\">0</span>);\n","\n","\t <span class=\"code-comment\">// check unit</span>\n","\t <span class=\"code-keyword\">if</span> (type !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// check for IE postfix hack, i.e. 123px\\0 or 123px\\9</span>\n","\t <span class=\"code-keyword\">var</span> reverseSolidusOffset = token.value.indexOf(<span class=\"code-string\">'\\\\'</span>, numberEnd);\n","\t <span class=\"code-keyword\">var</span> unit = reverseSolidusOffset === <span class=\"code-number\">-1</span> || !isPostfixIeHack(token.value, reverseSolidusOffset)\n","\t ? token.value.substr(numberEnd)\n","\t : token.value.substring(numberEnd, reverseSolidusOffset);\n","\n","\t <span class=\"code-keyword\">if</span> (type.hasOwnProperty(unit.toLowerCase()) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// check range if specified</span>\n","\t <span class=\"code-keyword\">if</span> (outOfRange(opts, token.value, numberEnd)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t };\n","\t}\n","\n","\t<span class=\"code-comment\">// =========================</span>\n","\t<span class=\"code-comment\">// Percentage</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-comment\">// \u00A75.5. Percentages: the <percentage> type</span>\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#percentages</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">percentage</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-comment\">// ... corresponds to the <percentage-token> production</span>\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span>Percentage) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// check range if specified</span>\n","\t <span class=\"code-keyword\">if</span> (outOfRange(opts, token.value, token.value.length - <span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// =========================</span>\n","\t<span class=\"code-comment\">// Numeric</span>\n","\t<span class=\"code-comment\">//</span>\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#numbers</span>\n","\t<span class=\"code-comment\">// The value <zero> represents a literal number with the value 0. Expressions that merely</span>\n","\t<span class=\"code-comment\">// evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>;</span>\n","\t<span class=\"code-comment\">// only literal <number-token>s do.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">zero</span>(<span class=\"code-params\">next</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> next !== <span class=\"code-string\">'function'</span>) {\n","\t next = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span> && token.type === TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Number</span>) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Number</span>(token.value) === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> next(token, getNextToken, opts);\n","\t };\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A7 5.3. Real Numbers: the <number> type</span>\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#numbers</span>\n","\t<span class=\"code-comment\">// Number values are denoted by <number>, and represent real numbers, possibly with a fractional component.</span>\n","\t<span class=\"code-comment\">// ... It corresponds to the <number-token> production</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">number</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> numberEnd = consumeNumber$<span class=\"code-number\">2</span>(token.value, <span class=\"code-number\">0</span>);\n","\t <span class=\"code-keyword\">var</span> isNumber = numberEnd === token.value.length;\n","\t <span class=\"code-keyword\">if</span> (!isNumber && !isPostfixIeHack(token.value, numberEnd)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// check range if specified</span>\n","\t <span class=\"code-keyword\">if</span> (outOfRange(opts, token.value, numberEnd)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// \u00A75.2. Integers: the <integer> type</span>\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#integers</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">integer</span>(<span class=\"code-params\">token, getNextToken, opts</span>) </span>{\n","\t <span class=\"code-comment\">// ... corresponds to a subset of the <number-token> production</span>\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span> || token.type !== TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Number</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// The first digit of an integer may be immediately preceded by `-` or `+` to indicate the integer\u2019s sign.</span>\n","\t <span class=\"code-keyword\">var</span> i = token.value.charCodeAt(<span class=\"code-number\">0</span>) === <span class=\"code-number\">0x002B</span> || <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t token.value.charCodeAt(<span class=\"code-number\">0</span>) === <span class=\"code-number\">0x002D</span> ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\n","\t <span class=\"code-comment\">// When written literally, an integer is one or more decimal digits 0 through 9 ...</span>\n","\t <span class=\"code-keyword\">for</span> (; i < token.value.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">3</span>(token.value.charCodeAt(i))) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// check range if specified</span>\n","\t <span class=\"code-keyword\">if</span> (outOfRange(opts, token.value, i)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> generic = {\n","\t <span class=\"code-comment\">// token types</span>\n","\t <span class=\"code-string\">'ident-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Ident),\n","\t <span class=\"code-string\">'function-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Function</span>),\n","\t <span class=\"code-string\">'at-keyword-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>AtKeyword),\n","\t <span class=\"code-string\">'hash-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Hash),\n","\t <span class=\"code-string\">'string-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">String</span>),\n","\t <span class=\"code-string\">'bad-string-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>BadString),\n","\t <span class=\"code-string\">'url-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Url),\n","\t <span class=\"code-string\">'bad-url-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>BadUrl),\n","\t <span class=\"code-string\">'delim-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Delim),\n","\t <span class=\"code-string\">'number-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">Number</span>),\n","\t <span class=\"code-string\">'percentage-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Percentage),\n","\t <span class=\"code-string\">'dimension-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Dimension),\n","\t <span class=\"code-string\">'whitespace-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>WhiteSpace),\n","\t <span class=\"code-string\">'CDO-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>CDO),\n","\t <span class=\"code-string\">'CDC-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>CDC),\n","\t <span class=\"code-string\">'colon-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Colon),\n","\t <span class=\"code-string\">'semicolon-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Semicolon),\n","\t <span class=\"code-string\">'comma-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Comma),\n","\t <span class=\"code-string\">'[-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>LeftSquareBracket),\n","\t <span class=\"code-string\">']-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>RightSquareBracket),\n","\t <span class=\"code-string\">'(-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>LeftParenthesis),\n","\t <span class=\"code-string\">')-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>RightParenthesis),\n","\t <span class=\"code-string\">'{-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>LeftCurlyBracket),\n","\t <span class=\"code-string\">'}-token'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>RightCurlyBracket),\n","\n","\t <span class=\"code-comment\">// token type aliases</span>\n","\t <span class=\"code-string\">'string'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span><span class=\"code-built_in\">String</span>),\n","\t <span class=\"code-string\">'ident'</span>: tokenType(TYPE$<span class=\"code-number\">5.</span>Ident),\n","\n","\t <span class=\"code-comment\">// complex types</span>\n","\t <span class=\"code-string\">'custom-ident'</span>: customIdent,\n","\t <span class=\"code-string\">'custom-property-name'</span>: customPropertyName,\n","\t <span class=\"code-string\">'hex-color'</span>: hexColor,\n","\t <span class=\"code-string\">'id-selector'</span>: idSelector, <span class=\"code-comment\">// element( <id-selector> )</span>\n","\t <span class=\"code-string\">'an-plus-b'</span>: genericAnPlusB,\n","\t <span class=\"code-string\">'urange'</span>: genericUrange,\n","\t <span class=\"code-string\">'declaration-value'</span>: declarationValue,\n","\t <span class=\"code-string\">'any-value'</span>: anyValue,\n","\n","\t <span class=\"code-comment\">// dimensions</span>\n","\t <span class=\"code-string\">'dimension'</span>: calc(dimension(<span class=\"code-literal\">null</span>)),\n","\t <span class=\"code-string\">'angle'</span>: calc(dimension(ANGLE)),\n","\t <span class=\"code-string\">'decibel'</span>: calc(dimension(DECIBEL)),\n","\t <span class=\"code-string\">'frequency'</span>: calc(dimension(FREQUENCY)),\n","\t <span class=\"code-string\">'flex'</span>: calc(dimension(FLEX)),\n","\t <span class=\"code-string\">'length'</span>: calc(zero(dimension(LENGTH))),\n","\t <span class=\"code-string\">'resolution'</span>: calc(dimension(RESOLUTION)),\n","\t <span class=\"code-string\">'semitones'</span>: calc(dimension(SEMITONES)),\n","\t <span class=\"code-string\">'time'</span>: calc(dimension(TIME)),\n","\n","\t <span class=\"code-comment\">// percentage</span>\n","\t <span class=\"code-string\">'percentage'</span>: calc(percentage),\n","\n","\t <span class=\"code-comment\">// numeric</span>\n","\t <span class=\"code-string\">'zero'</span>: zero(),\n","\t <span class=\"code-string\">'number'</span>: calc(number),\n","\t <span class=\"code-string\">'integer'</span>: calc(integer),\n","\n","\t <span class=\"code-comment\">// old IE stuff</span>\n","\t <span class=\"code-string\">'-ms-legacy-expression'</span>: func(<span class=\"code-string\">'expression'</span>)\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> _SyntaxError$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SyntaxError</span>(<span class=\"code-params\">message, input, offset</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> error = createCustomError(<span class=\"code-string\">'SyntaxError'</span>, message);\n","\n","\t error.input = input;\n","\t error.offset = offset;\n","\t error.rawMessage = message;\n","\t error.message = error.rawMessage + <span class=\"code-string\">'\\n'</span> +\n","\t <span class=\"code-string\">' '</span> + error.input + <span class=\"code-string\">'\\n'</span> +\n","\t <span class=\"code-string\">'--'</span> + <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>((error.offset || error.input.length) + <span class=\"code-number\">1</span>).join(<span class=\"code-string\">'-'</span>) + <span class=\"code-string\">'^'</span>;\n","\n","\t <span class=\"code-keyword\">return</span> error;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TAB = <span class=\"code-number\">9</span>;\n","\t<span class=\"code-keyword\">var</span> N$<span class=\"code-number\">1</span> = <span class=\"code-number\">10</span>;\n","\t<span class=\"code-keyword\">var</span> F = <span class=\"code-number\">12</span>;\n","\t<span class=\"code-keyword\">var</span> R = <span class=\"code-number\">13</span>;\n","\t<span class=\"code-keyword\">var</span> SPACE = <span class=\"code-number\">32</span>;\n","\n","\t<span class=\"code-keyword\">var</span> Tokenizer = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">str</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.str = str;\n","\t <span class=\"code-keyword\">this</span>.pos = <span class=\"code-number\">0</span>;\n","\t};\n","\n","\tTokenizer.prototype = {\n","\t charCodeAt: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">pos</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> pos < <span class=\"code-keyword\">this</span>.str.length ? <span class=\"code-keyword\">this</span>.str.charCodeAt(pos) : <span class=\"code-number\">0</span>;\n","\t },\n","\t charCode: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.charCodeAt(<span class=\"code-keyword\">this</span>.pos);\n","\t },\n","\t nextCharCode: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.charCodeAt(<span class=\"code-keyword\">this</span>.pos + <span class=\"code-number\">1</span>);\n","\t },\n","\t nextNonWsCode: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">pos</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.charCodeAt(<span class=\"code-keyword\">this</span>.findWsEnd(pos));\n","\t },\n","\t findWsEnd: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">pos</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (; pos < <span class=\"code-keyword\">this</span>.str.length; pos++) {\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.str.charCodeAt(pos);\n","\t <span class=\"code-keyword\">if</span> (code !== R && code !== N$<span class=\"code-number\">1</span> && code !== F && code !== SPACE && code !== TAB) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> pos;\n","\t },\n","\t substringToPos: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">end</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.str.substring(<span class=\"code-keyword\">this</span>.pos, <span class=\"code-keyword\">this</span>.pos = end);\n","\t },\n","\t eat: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.charCode() !== code) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Expect `'</span> + <span class=\"code-built_in\">String</span>.fromCharCode(code) + <span class=\"code-string\">'`'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.pos++;\n","\t },\n","\t peek: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.pos < <span class=\"code-keyword\">this</span>.str.length ? <span class=\"code-keyword\">this</span>.str.charAt(<span class=\"code-keyword\">this</span>.pos++) : <span class=\"code-string\">''</span>;\n","\t },\n","\t error: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">message</span>) </span>{\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> _SyntaxError$<span class=\"code-number\">1</span>(message, <span class=\"code-keyword\">this</span>.str, <span class=\"code-keyword\">this</span>.pos);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> tokenizer$<span class=\"code-number\">1</span> = Tokenizer;\n","\n","\t<span class=\"code-keyword\">var</span> TAB$<span class=\"code-number\">1</span> = <span class=\"code-number\">9</span>;\n","\t<span class=\"code-keyword\">var</span> N$<span class=\"code-number\">2</span> = <span class=\"code-number\">10</span>;\n","\t<span class=\"code-keyword\">var</span> F$<span class=\"code-number\">1</span> = <span class=\"code-number\">12</span>;\n","\t<span class=\"code-keyword\">var</span> R$<span class=\"code-number\">1</span> = <span class=\"code-number\">13</span>;\n","\t<span class=\"code-keyword\">var</span> SPACE$<span class=\"code-number\">1</span> = <span class=\"code-number\">32</span>;\n","\t<span class=\"code-keyword\">var</span> EXCLAMATIONMARK = <span class=\"code-number\">33</span>; <span class=\"code-comment\">// !</span>\n","\t<span class=\"code-keyword\">var</span> NUMBERSIGN = <span class=\"code-number\">35</span>; <span class=\"code-comment\">// #</span>\n","\t<span class=\"code-keyword\">var</span> AMPERSAND = <span class=\"code-number\">38</span>; <span class=\"code-comment\">// &</span>\n","\t<span class=\"code-keyword\">var</span> APOSTROPHE = <span class=\"code-number\">39</span>; <span class=\"code-comment\">// '</span>\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS = <span class=\"code-number\">40</span>; <span class=\"code-comment\">// (</span>\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS = <span class=\"code-number\">41</span>; <span class=\"code-comment\">// )</span>\n","\t<span class=\"code-keyword\">var</span> ASTERISK = <span class=\"code-number\">42</span>; <span class=\"code-comment\">// *</span>\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">2</span> = <span class=\"code-number\">43</span>; <span class=\"code-comment\">// +</span>\n","\t<span class=\"code-keyword\">var</span> COMMA = <span class=\"code-number\">44</span>; <span class=\"code-comment\">// ,</span>\n","\t<span class=\"code-keyword\">var</span> HYPERMINUS = <span class=\"code-number\">45</span>; <span class=\"code-comment\">// -</span>\n","\t<span class=\"code-keyword\">var</span> LESSTHANSIGN = <span class=\"code-number\">60</span>; <span class=\"code-comment\">// <</span>\n","\t<span class=\"code-keyword\">var</span> GREATERTHANSIGN = <span class=\"code-number\">62</span>; <span class=\"code-comment\">// ></span>\n","\t<span class=\"code-keyword\">var</span> QUESTIONMARK$<span class=\"code-number\">1</span> = <span class=\"code-number\">63</span>; <span class=\"code-comment\">// ?</span>\n","\t<span class=\"code-keyword\">var</span> COMMERCIALAT = <span class=\"code-number\">64</span>; <span class=\"code-comment\">// @</span>\n","\t<span class=\"code-keyword\">var</span> LEFTSQUAREBRACKET = <span class=\"code-number\">91</span>; <span class=\"code-comment\">// [</span>\n","\t<span class=\"code-keyword\">var</span> RIGHTSQUAREBRACKET = <span class=\"code-number\">93</span>; <span class=\"code-comment\">// ]</span>\n","\t<span class=\"code-keyword\">var</span> LEFTCURLYBRACKET = <span class=\"code-number\">123</span>; <span class=\"code-comment\">// {</span>\n","\t<span class=\"code-keyword\">var</span> VERTICALLINE = <span class=\"code-number\">124</span>; <span class=\"code-comment\">// |</span>\n","\t<span class=\"code-keyword\">var</span> RIGHTCURLYBRACKET = <span class=\"code-number\">125</span>; <span class=\"code-comment\">// }</span>\n","\t<span class=\"code-keyword\">var</span> INFINITY = <span class=\"code-number\">8734</span>; <span class=\"code-comment\">// \u221E</span>\n","\t<span class=\"code-keyword\">var</span> NAME_CHAR = createCharMap(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ch</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-regexp\">/[a-zA-Z0-9\\-]/</span>.test(ch);\n","\t});\n","\t<span class=\"code-keyword\">var</span> COMBINATOR_PRECEDENCE = {\n","\t <span class=\"code-string\">' '</span>: <span class=\"code-number\">1</span>,\n","\t <span class=\"code-string\">'&&'</span>: <span class=\"code-number\">2</span>,\n","\t <span class=\"code-string\">'||'</span>: <span class=\"code-number\">3</span>,\n","\t <span class=\"code-string\">'|'</span>: <span class=\"code-number\">4</span>\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createCharMap</span>(<span class=\"code-params\">fn</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> array = <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Uint32Array</span> === <span class=\"code-string\">'function'</span> ? <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Uint32Array</span>(<span class=\"code-number\">128</span>) : <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(<span class=\"code-number\">128</span>);\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < <span class=\"code-number\">128</span>; i++) {\n","\t array[i] = fn(<span class=\"code-built_in\">String</span>.fromCharCode(i)) ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>;\n","\t }\n","\t <span class=\"code-keyword\">return</span> array;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">scanSpaces</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> tokenizer.substringToPos(\n","\t tokenizer.findWsEnd(tokenizer.pos)\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">scanWord</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> end = tokenizer.pos;\n","\n","\t <span class=\"code-keyword\">for</span> (; end < tokenizer.str.length; end++) {\n","\t <span class=\"code-keyword\">var</span> code = tokenizer.str.charCodeAt(end);\n","\t <span class=\"code-keyword\">if</span> (code >= <span class=\"code-number\">128</span> || NAME_CHAR[code] === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.pos === end) {\n","\t tokenizer.error(<span class=\"code-string\">'Expect a keyword'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> tokenizer.substringToPos(end);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">scanNumber</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> end = tokenizer.pos;\n","\n","\t <span class=\"code-keyword\">for</span> (; end < tokenizer.str.length; end++) {\n","\t <span class=\"code-keyword\">var</span> code = tokenizer.str.charCodeAt(end);\n","\t <span class=\"code-keyword\">if</span> (code < <span class=\"code-number\">48</span> || code > <span class=\"code-number\">57</span>) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.pos === end) {\n","\t tokenizer.error(<span class=\"code-string\">'Expect a number'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> tokenizer.substringToPos(end);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">scanString</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> end = tokenizer.str.indexOf(<span class=\"code-string\">'\\''</span>, tokenizer.pos + <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (end === <span class=\"code-number\">-1</span>) {\n","\t tokenizer.pos = tokenizer.str.length;\n","\t tokenizer.error(<span class=\"code-string\">'Expect an apostrophe'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> tokenizer.substringToPos(end + <span class=\"code-number\">1</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readMultiplierRange</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> min = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> max = <span class=\"code-literal\">null</span>;\n","\n","\t tokenizer.eat(LEFTCURLYBRACKET);\n","\n","\t min = scanNumber(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === COMMA) {\n","\t tokenizer.pos++;\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() !== RIGHTCURLYBRACKET) {\n","\t max = scanNumber(tokenizer);\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t max = min;\n","\t }\n","\n","\t tokenizer.eat(RIGHTCURLYBRACKET);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t min: <span class=\"code-built_in\">Number</span>(min),\n","\t max: max ? <span class=\"code-built_in\">Number</span>(max) : <span class=\"code-number\">0</span>\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readMultiplier</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> range = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> comma = <span class=\"code-literal\">false</span>;\n","\n","\t <span class=\"code-keyword\">switch</span> (tokenizer.charCode()) {\n","\t <span class=\"code-keyword\">case</span> ASTERISK:\n","\t tokenizer.pos++;\n","\n","\t range = {\n","\t min: <span class=\"code-number\">0</span>,\n","\t max: <span class=\"code-number\">0</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> PLUSSIGN$<span class=\"code-number\">2</span>:\n","\t tokenizer.pos++;\n","\n","\t range = {\n","\t min: <span class=\"code-number\">1</span>,\n","\t max: <span class=\"code-number\">0</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> QUESTIONMARK$<span class=\"code-number\">1</span>:\n","\t tokenizer.pos++;\n","\n","\t range = {\n","\t min: <span class=\"code-number\">0</span>,\n","\t max: <span class=\"code-number\">1</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> NUMBERSIGN:\n","\t tokenizer.pos++;\n","\n","\t comma = <span class=\"code-literal\">true</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === LEFTCURLYBRACKET) {\n","\t range = readMultiplierRange(tokenizer);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t range = {\n","\t min: <span class=\"code-number\">1</span>,\n","\t max: <span class=\"code-number\">0</span>\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTCURLYBRACKET:\n","\t range = readMultiplierRange(tokenizer);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Multiplier'</span>,\n","\t comma: comma,\n","\t min: range.min,\n","\t max: range.max,\n","\t term: <span class=\"code-literal\">null</span>\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">maybeMultiplied</span>(<span class=\"code-params\">tokenizer, node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> multiplier = readMultiplier(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (multiplier !== <span class=\"code-literal\">null</span>) {\n","\t multiplier.term = node;\n","\t <span class=\"code-keyword\">return</span> multiplier;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> node;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">maybeToken</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> ch = tokenizer.peek();\n","\n","\t <span class=\"code-keyword\">if</span> (ch === <span class=\"code-string\">''</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Token'</span>,\n","\t value: ch\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readProperty</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> name;\n","\n","\t tokenizer.eat(LESSTHANSIGN);\n","\t tokenizer.eat(APOSTROPHE);\n","\n","\t name = scanWord(tokenizer);\n","\n","\t tokenizer.eat(APOSTROPHE);\n","\t tokenizer.eat(GREATERTHANSIGN);\n","\n","\t <span class=\"code-keyword\">return</span> maybeMultiplied(tokenizer, {\n","\t type: <span class=\"code-string\">'Property'</span>,\n","\t name: name\n","\t });\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-values-3/#numeric-ranges</span>\n","\t<span class=\"code-comment\">// 4.1. Range Restrictions and Range Definition Notation</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// Range restrictions can be annotated in the numeric type notation using CSS bracketed</span>\n","\t<span class=\"code-comment\">// range notation\u2014[min,max]\u2014within the angle brackets, after the identifying keyword,</span>\n","\t<span class=\"code-comment\">// indicating a closed range between (and including) min and max.</span>\n","\t<span class=\"code-comment\">// For example, <integer [0, 10]> indicates an integer between 0 and 10, inclusive.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readTypeRange</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-comment\">// use null for Infinity to make AST format JSON serializable/deserializable</span>\n","\t <span class=\"code-keyword\">var</span> min = <span class=\"code-literal\">null</span>; <span class=\"code-comment\">// -Infinity</span>\n","\t <span class=\"code-keyword\">var</span> max = <span class=\"code-literal\">null</span>; <span class=\"code-comment\">// Infinity</span>\n","\t <span class=\"code-keyword\">var</span> sign = <span class=\"code-number\">1</span>;\n","\n","\t tokenizer.eat(LEFTSQUAREBRACKET);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === HYPERMINUS) {\n","\t tokenizer.peek();\n","\t sign = <span class=\"code-number\">-1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (sign == <span class=\"code-number\">-1</span> && tokenizer.charCode() === INFINITY) {\n","\t tokenizer.peek();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t min = sign * <span class=\"code-built_in\">Number</span>(scanNumber(tokenizer));\n","\t }\n","\n","\t scanSpaces(tokenizer);\n","\t tokenizer.eat(COMMA);\n","\t scanSpaces(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === INFINITY) {\n","\t tokenizer.peek();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t sign = <span class=\"code-number\">1</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === HYPERMINUS) {\n","\t tokenizer.peek();\n","\t sign = <span class=\"code-number\">-1</span>;\n","\t }\n","\n","\t max = sign * <span class=\"code-built_in\">Number</span>(scanNumber(tokenizer));\n","\t }\n","\n","\t tokenizer.eat(RIGHTSQUAREBRACKET);\n","\n","\t <span class=\"code-comment\">// If no range is indicated, either by using the bracketed range notation</span>\n","\t <span class=\"code-comment\">// or in the property description, then [\u2212\u221E,\u221E] is assumed.</span>\n","\t <span class=\"code-keyword\">if</span> (min === <span class=\"code-literal\">null</span> && max === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Range'</span>,\n","\t min: min,\n","\t max: max\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readType</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> opts = <span class=\"code-literal\">null</span>;\n","\n","\t tokenizer.eat(LESSTHANSIGN);\n","\t name = scanWord(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === LEFTPARENTHESIS &&\n","\t tokenizer.nextCharCode() === RIGHTPARENTHESIS) {\n","\t tokenizer.pos += <span class=\"code-number\">2</span>;\n","\t name += <span class=\"code-string\">'()'</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) {\n","\t scanSpaces(tokenizer);\n","\t opts = readTypeRange(tokenizer);\n","\t }\n","\n","\t tokenizer.eat(GREATERTHANSIGN);\n","\n","\t <span class=\"code-keyword\">return</span> maybeMultiplied(tokenizer, {\n","\t type: <span class=\"code-string\">'Type'</span>,\n","\t name: name,\n","\t opts: opts\n","\t });\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readKeywordOrFunction</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> name;\n","\n","\t name = scanWord(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === LEFTPARENTHESIS) {\n","\t tokenizer.pos++;\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Function'</span>,\n","\t name: name\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> maybeMultiplied(tokenizer, {\n","\t type: <span class=\"code-string\">'Keyword'</span>,\n","\t name: name\n","\t });\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">regroupTerms</span>(<span class=\"code-params\">terms, combinators</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createGroup</span>(<span class=\"code-params\">terms, combinator</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Group'</span>,\n","\t terms: terms,\n","\t combinator: combinator,\n","\t disallowEmpty: <span class=\"code-literal\">false</span>,\n","\t explicit: <span class=\"code-literal\">false</span>\n","\t };\n","\t }\n","\n","\t combinators = <span class=\"code-built_in\">Object</span>.keys(combinators).sort(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">a, b</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b];\n","\t });\n","\n","\t <span class=\"code-keyword\">while</span> (combinators.length > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">var</span> combinator = combinators.shift();\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>, subgroupStart = <span class=\"code-number\">0</span>; i < terms.length; i++) {\n","\t <span class=\"code-keyword\">var</span> term = terms[i];\n","\t <span class=\"code-keyword\">if</span> (term.type === <span class=\"code-string\">'Combinator'</span>) {\n","\t <span class=\"code-keyword\">if</span> (term.value === combinator) {\n","\t <span class=\"code-keyword\">if</span> (subgroupStart === <span class=\"code-number\">-1</span>) {\n","\t subgroupStart = i - <span class=\"code-number\">1</span>;\n","\t }\n","\t terms.splice(i, <span class=\"code-number\">1</span>);\n","\t i--;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (subgroupStart !== <span class=\"code-number\">-1</span> && i - subgroupStart > <span class=\"code-number\">1</span>) {\n","\t terms.splice(\n","\t subgroupStart,\n","\t i - subgroupStart,\n","\t createGroup(terms.slice(subgroupStart, i), combinator)\n","\t );\n","\t i = subgroupStart + <span class=\"code-number\">1</span>;\n","\t }\n","\t subgroupStart = <span class=\"code-number\">-1</span>;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (subgroupStart !== <span class=\"code-number\">-1</span> && combinators.length) {\n","\t terms.splice(\n","\t subgroupStart,\n","\t i - subgroupStart,\n","\t createGroup(terms.slice(subgroupStart, i), combinator)\n","\t );\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> combinator;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readImplicitGroup</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> terms = [];\n","\t <span class=\"code-keyword\">var</span> combinators = {};\n","\t <span class=\"code-keyword\">var</span> token;\n","\t <span class=\"code-keyword\">var</span> prevToken = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> prevTokenPos = tokenizer.pos;\n","\n","\t <span class=\"code-keyword\">while</span> (token = peek(tokenizer)) {\n","\t <span class=\"code-keyword\">if</span> (token.type !== <span class=\"code-string\">'Spaces'</span>) {\n","\t <span class=\"code-keyword\">if</span> (token.type === <span class=\"code-string\">'Combinator'</span>) {\n","\t <span class=\"code-comment\">// check for combinator in group beginning and double combinator sequence</span>\n","\t <span class=\"code-keyword\">if</span> (prevToken === <span class=\"code-literal\">null</span> || prevToken.type === <span class=\"code-string\">'Combinator'</span>) {\n","\t tokenizer.pos = prevTokenPos;\n","\t tokenizer.error(<span class=\"code-string\">'Unexpected combinator'</span>);\n","\t }\n","\n","\t combinators[token.value] = <span class=\"code-literal\">true</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prevToken !== <span class=\"code-literal\">null</span> && prevToken.type !== <span class=\"code-string\">'Combinator'</span>) {\n","\t combinators[<span class=\"code-string\">' '</span>] = <span class=\"code-literal\">true</span>; <span class=\"code-comment\">// a b</span>\n","\t terms.push({\n","\t type: <span class=\"code-string\">'Combinator'</span>,\n","\t value: <span class=\"code-string\">' '</span>\n","\t });\n","\t }\n","\n","\t terms.push(token);\n","\t prevToken = token;\n","\t prevTokenPos = tokenizer.pos;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// check for combinator in group ending</span>\n","\t <span class=\"code-keyword\">if</span> (prevToken !== <span class=\"code-literal\">null</span> && prevToken.type === <span class=\"code-string\">'Combinator'</span>) {\n","\t tokenizer.pos -= prevTokenPos;\n","\t tokenizer.error(<span class=\"code-string\">'Unexpected combinator'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Group'</span>,\n","\t terms: terms,\n","\t combinator: regroupTerms(terms, combinators) || <span class=\"code-string\">' '</span>,\n","\t disallowEmpty: <span class=\"code-literal\">false</span>,\n","\t explicit: <span class=\"code-literal\">false</span>\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readGroup</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result;\n","\n","\t tokenizer.eat(LEFTSQUAREBRACKET);\n","\t result = readImplicitGroup(tokenizer);\n","\t tokenizer.eat(RIGHTSQUAREBRACKET);\n","\n","\t result.explicit = <span class=\"code-literal\">true</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.charCode() === EXCLAMATIONMARK) {\n","\t tokenizer.pos++;\n","\t result.disallowEmpty = <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">peek</span>(<span class=\"code-params\">tokenizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> code = tokenizer.charCode();\n","\n","\t <span class=\"code-keyword\">if</span> (code < <span class=\"code-number\">128</span> && NAME_CHAR[code] === <span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> readKeywordOrFunction(tokenizer);\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (code) {\n","\t <span class=\"code-keyword\">case</span> RIGHTSQUAREBRACKET:\n","\t <span class=\"code-comment\">// don't eat, stop scan a group</span>\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTSQUAREBRACKET:\n","\t <span class=\"code-keyword\">return</span> maybeMultiplied(tokenizer, readGroup(tokenizer));\n","\n","\t <span class=\"code-keyword\">case</span> LESSTHANSIGN:\n","\t <span class=\"code-keyword\">return</span> tokenizer.nextCharCode() === APOSTROPHE\n","\t ? readProperty(tokenizer)\n","\t : readType(tokenizer);\n","\n","\t <span class=\"code-keyword\">case</span> VERTICALLINE:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Combinator'</span>,\n","\t value: tokenizer.substringToPos(\n","\t tokenizer.nextCharCode() === VERTICALLINE\n","\t ? tokenizer.pos + <span class=\"code-number\">2</span>\n","\t : tokenizer.pos + <span class=\"code-number\">1</span>\n","\t )\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> AMPERSAND:\n","\t tokenizer.pos++;\n","\t tokenizer.eat(AMPERSAND);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Combinator'</span>,\n","\t value: <span class=\"code-string\">'&&'</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> COMMA:\n","\t tokenizer.pos++;\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Comma'</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> APOSTROPHE:\n","\t <span class=\"code-keyword\">return</span> maybeMultiplied(tokenizer, {\n","\t type: <span class=\"code-string\">'String'</span>,\n","\t value: scanString(tokenizer)\n","\t });\n","\n","\t <span class=\"code-keyword\">case</span> SPACE$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> TAB$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> N$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">case</span> R$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> F$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Spaces'</span>,\n","\t value: scanSpaces(tokenizer)\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> COMMERCIALAT:\n","\t code = tokenizer.nextCharCode();\n","\n","\t <span class=\"code-keyword\">if</span> (code < <span class=\"code-number\">128</span> && NAME_CHAR[code] === <span class=\"code-number\">1</span>) {\n","\t tokenizer.pos++;\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'AtKeyword'</span>,\n","\t name: scanWord(tokenizer)\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> maybeToken(tokenizer);\n","\n","\t <span class=\"code-keyword\">case</span> ASTERISK:\n","\t <span class=\"code-keyword\">case</span> PLUSSIGN$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">case</span> QUESTIONMARK$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> NUMBERSIGN:\n","\t <span class=\"code-keyword\">case</span> EXCLAMATIONMARK:\n","\t <span class=\"code-comment\">// prohibited tokens (used as a multiplier start)</span>\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTCURLYBRACKET:\n","\t <span class=\"code-comment\">// LEFTCURLYBRACKET is allowed since mdn/data uses it w/o quoting</span>\n","\t <span class=\"code-comment\">// check next char isn't a number, because it's likely a disjoined multiplier</span>\n","\t code = tokenizer.nextCharCode();\n","\n","\t <span class=\"code-keyword\">if</span> (code < <span class=\"code-number\">48</span> || code > <span class=\"code-number\">57</span>) {\n","\t <span class=\"code-keyword\">return</span> maybeToken(tokenizer);\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">return</span> maybeToken(tokenizer);\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">parse</span>(<span class=\"code-params\">source</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> tokenizer = <span class=\"code-keyword\">new</span> tokenizer$<span class=\"code-number\">1</span>(source);\n","\t <span class=\"code-keyword\">var</span> result = readImplicitGroup(tokenizer);\n","\n","\t <span class=\"code-keyword\">if</span> (tokenizer.pos !== source.length) {\n","\t tokenizer.error(<span class=\"code-string\">'Unexpected input'</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// reduce redundant groups with single group term</span>\n","\t <span class=\"code-keyword\">if</span> (result.terms.length === <span class=\"code-number\">1</span> && result.terms[<span class=\"code-number\">0</span>].type === <span class=\"code-string\">'Group'</span>) {\n","\t result = result.terms[<span class=\"code-number\">0</span>];\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-comment\">// warm up parse to elimitate code branches that never execute</span>\n","\t<span class=\"code-comment\">// fix soft deoptimizations (insufficient type feedback)</span>\n","\tparse(<span class=\"code-string\">'[a&&<b>#|<\\'c\\'>*||e() f{2} /,(% g#{1,2} h{2,})]!'</span>);\n","\n","\t<span class=\"code-keyword\">var</span> parse_1 = parse;\n","\n","\t<span class=\"code-keyword\">var</span> noop$<span class=\"code-number\">2</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ensureFunction</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">'function'</span> ? value : noop$<span class=\"code-number\">2</span>;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> walk$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, options, context</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">walk</span>(<span class=\"code-params\">node</span>) </span>{\n","\t enter.call(context, node);\n","\n","\t <span class=\"code-keyword\">switch</span> (node.type) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Group'</span>:\n","\t node.terms.forEach(walk);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Multiplier'</span>:\n","\t walk(node.term);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Type'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Property'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Keyword'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'AtKeyword'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Function'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'String'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Token'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Comma'</span>:\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown type: '</span> + node.type);\n","\t }\n","\n","\t leave.call(context, node);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> enter = noop$<span class=\"code-number\">2</span>;\n","\t <span class=\"code-keyword\">var</span> leave = noop$<span class=\"code-number\">2</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> options === <span class=\"code-string\">'function'</span>) {\n","\t enter = options;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (options) {\n","\t enter = ensureFunction(options.enter);\n","\t leave = ensureFunction(options.leave);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (enter === noop$<span class=\"code-number\">2</span> && leave === noop$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Neither `enter` nor `leave` walker handler is set or both aren\\'t a function'</span>);\n","\t }\n","\n","\t walk(node);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> tokenStream = <span class=\"code-keyword\">new</span> TokenStream_1();\n","\t<span class=\"code-keyword\">var</span> astToTokens = {\n","\t decorator: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">handlers</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> curNode = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> prev = { <span class=\"code-attr\">len</span>: <span class=\"code-number\">0</span>, <span class=\"code-attr\">node</span>: <span class=\"code-literal\">null</span> };\n","\t <span class=\"code-keyword\">var</span> nodes = [prev];\n","\t <span class=\"code-keyword\">var</span> buffer = <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t children: handlers.children,\n","\t node: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> tmp = curNode;\n","\t curNode = node;\n","\t handlers.node.call(<span class=\"code-keyword\">this</span>, node);\n","\t curNode = tmp;\n","\t },\n","\t chunk: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">chunk</span>) </span>{\n","\t buffer += chunk;\n","\t <span class=\"code-keyword\">if</span> (prev.node !== curNode) {\n","\t nodes.push({\n","\t len: chunk.length,\n","\t node: curNode\n","\t });\n","\t } <span class=\"code-keyword\">else</span> {\n","\t prev.len += chunk.length;\n","\t }\n","\t },\n","\t result: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> prepareTokens(buffer, nodes);\n","\t }\n","\t };\n","\t }\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">prepareTokens</span>(<span class=\"code-params\">str, nodes</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> tokens = [];\n","\t <span class=\"code-keyword\">var</span> nodesOffset = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> nodesIndex = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> currentNode = nodes ? nodes[nodesIndex].node : <span class=\"code-literal\">null</span>;\n","\n","\t tokenizer(str, tokenStream);\n","\n","\t <span class=\"code-keyword\">while</span> (!tokenStream.eof) {\n","\t <span class=\"code-keyword\">if</span> (nodes) {\n","\t <span class=\"code-keyword\">while</span> (nodesIndex < nodes.length && nodesOffset + nodes[nodesIndex].len <= tokenStream.tokenStart) {\n","\t nodesOffset += nodes[nodesIndex++].len;\n","\t currentNode = nodes[nodesIndex].node;\n","\t }\n","\t }\n","\n","\t tokens.push({\n","\t type: tokenStream.tokenType,\n","\t value: tokenStream.getTokenValue(),\n","\t index: tokenStream.tokenIndex, <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> remove it, temporary solution</span>\n","\t balance: tokenStream.balance[tokenStream.tokenIndex], <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> remove it, temporary solution</span>\n","\t node: currentNode\n","\t });\n","\t tokenStream.next();\n","\t <span class=\"code-comment\">// console.log({ ...tokens[tokens.length - 1], node: undefined });</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> tokens;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> prepareTokens_1 = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">value, syntax</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">'string'</span>) {\n","\t <span class=\"code-keyword\">return</span> prepareTokens(value, <span class=\"code-literal\">null</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> syntax.generate(value, astToTokens);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> MATCH = { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'Match'</span> };\n","\t<span class=\"code-keyword\">var</span> MISMATCH = { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'Mismatch'</span> };\n","\t<span class=\"code-keyword\">var</span> DISALLOW_EMPTY = { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'DisallowEmpty'</span> };\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">1</span> = <span class=\"code-number\">40</span>; <span class=\"code-comment\">// (</span>\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">1</span> = <span class=\"code-number\">41</span>; <span class=\"code-comment\">// )</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createCondition</span>(<span class=\"code-params\">match, thenBranch, elseBranch</span>) </span>{\n","\t <span class=\"code-comment\">// reduce node count</span>\n","\t <span class=\"code-keyword\">if</span> (thenBranch === MATCH && elseBranch === MISMATCH) {\n","\t <span class=\"code-keyword\">return</span> match;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) {\n","\t <span class=\"code-keyword\">return</span> match;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (match.type === <span class=\"code-string\">'If'</span> && match.else === MISMATCH && thenBranch === MATCH) {\n","\t thenBranch = match.then;\n","\t match = match.match;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'If'</span>,\n","\t match: match,\n","\t then: thenBranch,\n","\t <span class=\"code-keyword\">else</span>: elseBranch\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isFunctionType</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (\n","\t name.length > <span class=\"code-number\">2</span> &&\n","\t name.charCodeAt(name.length - <span class=\"code-number\">2</span>) === LEFTPARENTHESIS$<span class=\"code-number\">1</span> &&\n","\t name.charCodeAt(name.length - <span class=\"code-number\">1</span>) === RIGHTPARENTHESIS$<span class=\"code-number\">1</span>\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isEnumCapatible</span>(<span class=\"code-params\">term</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (\n","\t term.type === <span class=\"code-string\">'Keyword'</span> ||\n","\t term.type === <span class=\"code-string\">'AtKeyword'</span> ||\n","\t term.type === <span class=\"code-string\">'Function'</span> ||\n","\t term.type === <span class=\"code-string\">'Type'</span> && isFunctionType(term.name)\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">buildGroupMatchGraph</span>(<span class=\"code-params\">combinator, terms, atLeastOneTermMatched</span>) </span>{\n","\t <span class=\"code-keyword\">switch</span> (combinator) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">' '</span>:\n","\t <span class=\"code-comment\">// Juxtaposing components means that all of them must occur, in the given order.</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a b c</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then match b</span>\n","\t <span class=\"code-comment\">// then match c</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-keyword\">var</span> result = MATCH;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = terms.length - <span class=\"code-number\">1</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t <span class=\"code-keyword\">var</span> term = terms[i];\n","\n","\t result = createCondition(\n","\t term,\n","\t result,\n","\t MISMATCH\n","\t );\n","\t }\n","\t <span class=\"code-keyword\">return</span> result;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'|'</span>:\n","\t <span class=\"code-comment\">// A bar (|) separates two or more alternatives: exactly one of them must occur.</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a | b | c</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else match b</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else match c</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\n","\t <span class=\"code-keyword\">var</span> result = MISMATCH;\n","\t <span class=\"code-keyword\">var</span> map = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = terms.length - <span class=\"code-number\">1</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t <span class=\"code-keyword\">var</span> term = terms[i];\n","\n","\t <span class=\"code-comment\">// reduce sequence of keywords into a Enum</span>\n","\t <span class=\"code-keyword\">if</span> (isEnumCapatible(term)) {\n","\t <span class=\"code-keyword\">if</span> (map === <span class=\"code-literal\">null</span> && i > <span class=\"code-number\">0</span> && isEnumCapatible(terms[i - <span class=\"code-number\">1</span>])) {\n","\t map = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t result = createCondition(\n","\t {\n","\t type: <span class=\"code-string\">'Enum'</span>,\n","\t map: map\n","\t },\n","\t MATCH,\n","\t result\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (map !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">var</span> key = (isFunctionType(term.name) ? term.name.slice(<span class=\"code-number\">0</span>, <span class=\"code-number\">-1</span>) : term.name).toLowerCase();\n","\t <span class=\"code-keyword\">if</span> (key <span class=\"code-keyword\">in</span> map === <span class=\"code-literal\">false</span>) {\n","\t map[key] = term;\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\t }\n","\t }\n","\n","\t map = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-comment\">// create a new conditonal node</span>\n","\t result = createCondition(\n","\t term,\n","\t MATCH,\n","\t result\n","\t );\n","\t }\n","\t <span class=\"code-keyword\">return</span> result;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'&&'</span>:\n","\t <span class=\"code-comment\">// A double ampersand (&&) separates two or more components,</span>\n","\t <span class=\"code-comment\">// all of which must occur, in any order.</span>\n","\n","\t <span class=\"code-comment\">// Use MatchOnce for groups with a large number of terms,</span>\n","\t <span class=\"code-comment\">// since &&-groups produces at least N!-node trees</span>\n","\t <span class=\"code-keyword\">if</span> (terms.length > <span class=\"code-number\">5</span>) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MatchOnce'</span>,\n","\t terms: terms,\n","\t all: <span class=\"code-literal\">true</span>\n","\t };\n","\t }\n","\n","\t <span class=\"code-comment\">// Use a combination tree for groups with small number of terms</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a && b && c</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then [b && c]</span>\n","\t <span class=\"code-comment\">// else match b</span>\n","\t <span class=\"code-comment\">// then [a && c]</span>\n","\t <span class=\"code-comment\">// else match c</span>\n","\t <span class=\"code-comment\">// then [a && b]</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a && b</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then match b</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">// else match b</span>\n","\t <span class=\"code-comment\">// then match a</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-keyword\">var</span> result = MISMATCH;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = terms.length - <span class=\"code-number\">1</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t <span class=\"code-keyword\">var</span> term = terms[i];\n","\t <span class=\"code-keyword\">var</span> thenClause;\n","\n","\t <span class=\"code-keyword\">if</span> (terms.length > <span class=\"code-number\">1</span>) {\n","\t thenClause = buildGroupMatchGraph(\n","\t combinator,\n","\t terms.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">newGroupTerm</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> newGroupTerm !== term;\n","\t }),\n","\t <span class=\"code-literal\">false</span>\n","\t );\n","\t } <span class=\"code-keyword\">else</span> {\n","\t thenClause = MATCH;\n","\t }\n","\n","\t result = createCondition(\n","\t term,\n","\t thenClause,\n","\t result\n","\t );\n","\t }\n","\t <span class=\"code-keyword\">return</span> result;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'||'</span>:\n","\t <span class=\"code-comment\">// A double bar (||) separates two or more options:</span>\n","\t <span class=\"code-comment\">// one or more of them must occur, in any order.</span>\n","\n","\t <span class=\"code-comment\">// Use MatchOnce for groups with a large number of terms,</span>\n","\t <span class=\"code-comment\">// since ||-groups produces at least N!-node trees</span>\n","\t <span class=\"code-keyword\">if</span> (terms.length > <span class=\"code-number\">5</span>) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MatchOnce'</span>,\n","\t terms: terms,\n","\t all: <span class=\"code-literal\">false</span>\n","\t };\n","\t }\n","\n","\t <span class=\"code-comment\">// Use a combination tree for groups with small number of terms</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a || b || c</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then [b || c]</span>\n","\t <span class=\"code-comment\">// else match b</span>\n","\t <span class=\"code-comment\">// then [a || c]</span>\n","\t <span class=\"code-comment\">// else match c</span>\n","\t <span class=\"code-comment\">// then [a || b]</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// a || b</span>\n","\t <span class=\"code-comment\">// =</span>\n","\t <span class=\"code-comment\">// match a</span>\n","\t <span class=\"code-comment\">// then match b</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MATCH</span>\n","\t <span class=\"code-comment\">// else match b</span>\n","\t <span class=\"code-comment\">// then match a</span>\n","\t <span class=\"code-comment\">// then MATCH</span>\n","\t <span class=\"code-comment\">// else MATCH</span>\n","\t <span class=\"code-comment\">// else MISMATCH</span>\n","\t <span class=\"code-keyword\">var</span> result = atLeastOneTermMatched ? MATCH : MISMATCH;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = terms.length - <span class=\"code-number\">1</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t <span class=\"code-keyword\">var</span> term = terms[i];\n","\t <span class=\"code-keyword\">var</span> thenClause;\n","\n","\t <span class=\"code-keyword\">if</span> (terms.length > <span class=\"code-number\">1</span>) {\n","\t thenClause = buildGroupMatchGraph(\n","\t combinator,\n","\t terms.filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">newGroupTerm</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> newGroupTerm !== term;\n","\t }),\n","\t <span class=\"code-literal\">true</span>\n","\t );\n","\t } <span class=\"code-keyword\">else</span> {\n","\t thenClause = MATCH;\n","\t }\n","\n","\t result = createCondition(\n","\t term,\n","\t thenClause,\n","\t result\n","\t );\n","\t }\n","\t <span class=\"code-keyword\">return</span> result;\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">buildMultiplierMatchGraph</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = MATCH;\n","\t <span class=\"code-keyword\">var</span> matchTerm = buildMatchGraph(node.term);\n","\n","\t <span class=\"code-keyword\">if</span> (node.max === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-comment\">// disable repeating of empty match to prevent infinite loop</span>\n","\t matchTerm = createCondition(\n","\t matchTerm,\n","\t DISALLOW_EMPTY,\n","\t MISMATCH\n","\t );\n","\n","\t <span class=\"code-comment\">// an occurrence count is not limited, make a cycle;</span>\n","\t <span class=\"code-comment\">// to collect more terms on each following matching mismatch</span>\n","\t result = createCondition(\n","\t matchTerm,\n","\t <span class=\"code-literal\">null</span>, <span class=\"code-comment\">// will be a loop</span>\n","\t MISMATCH\n","\t );\n","\n","\t result.then = createCondition(\n","\t MATCH,\n","\t MATCH,\n","\t result <span class=\"code-comment\">// make a loop</span>\n","\t );\n","\n","\t <span class=\"code-keyword\">if</span> (node.comma) {\n","\t result.then.else = createCondition(\n","\t { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'Comma'</span>, <span class=\"code-attr\">syntax</span>: node },\n","\t result,\n","\t MISMATCH\n","\t );\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// create a match node chain for [min .. max] interval with optional matches</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = node.min || <span class=\"code-number\">1</span>; i <= node.max; i++) {\n","\t <span class=\"code-keyword\">if</span> (node.comma && result !== MATCH) {\n","\t result = createCondition(\n","\t { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'Comma'</span>, <span class=\"code-attr\">syntax</span>: node },\n","\t result,\n","\t MISMATCH\n","\t );\n","\t }\n","\n","\t result = createCondition(\n","\t matchTerm,\n","\t createCondition(\n","\t MATCH,\n","\t MATCH,\n","\t result\n","\t ),\n","\t MISMATCH\n","\t );\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (node.min === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-comment\">// allow zero match</span>\n","\t result = createCondition(\n","\t MATCH,\n","\t MATCH,\n","\t result\n","\t );\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// create a match node chain to collect [0 ... min - 1] required matches</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < node.min - <span class=\"code-number\">1</span>; i++) {\n","\t <span class=\"code-keyword\">if</span> (node.comma && result !== MATCH) {\n","\t result = createCondition(\n","\t { <span class=\"code-attr\">type</span>: <span class=\"code-string\">'Comma'</span>, <span class=\"code-attr\">syntax</span>: node },\n","\t result,\n","\t MISMATCH\n","\t );\n","\t }\n","\n","\t result = createCondition(\n","\t matchTerm,\n","\t result,\n","\t MISMATCH\n","\t );\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">buildMatchGraph</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> node === <span class=\"code-string\">'function'</span>) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Generic'</span>,\n","\t fn: node\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (node.type) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Group'</span>:\n","\t <span class=\"code-keyword\">var</span> result = buildGroupMatchGraph(\n","\t node.combinator,\n","\t node.terms.map(buildMatchGraph),\n","\t <span class=\"code-literal\">false</span>\n","\t );\n","\n","\t <span class=\"code-keyword\">if</span> (node.disallowEmpty) {\n","\t result = createCondition(\n","\t result,\n","\t DISALLOW_EMPTY,\n","\t MISMATCH\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Multiplier'</span>:\n","\t <span class=\"code-keyword\">return</span> buildMultiplierMatchGraph(node);\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Type'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Property'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t name: node.name,\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Keyword'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t name: node.name.toLowerCase(),\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'AtKeyword'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t name: <span class=\"code-string\">'@'</span> + node.name.toLowerCase(),\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Function'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t name: node.name.toLowerCase() + <span class=\"code-string\">'('</span>,\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'String'</span>:\n","\t <span class=\"code-comment\">// convert a one char length String to a Token</span>\n","\t <span class=\"code-keyword\">if</span> (node.value.length === <span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Token'</span>,\n","\t value: node.value.charAt(<span class=\"code-number\">1</span>),\n","\t syntax: node\n","\t };\n","\t }\n","\n","\t <span class=\"code-comment\">// otherwise use it as is</span>\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t value: node.value.substr(<span class=\"code-number\">1</span>, node.value.length - <span class=\"code-number\">2</span>).replace(<span class=\"code-regexp\">/\\\\'/g</span>, <span class=\"code-string\">'\\''</span>),\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Token'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t value: node.value,\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Comma'</span>:\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: node.type,\n","\t syntax: node\n","\t };\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown node type:'</span>, node.type);\n","\t }\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> matchGraph = {\n","\t MATCH: MATCH,\n","\t MISMATCH: MISMATCH,\n","\t DISALLOW_EMPTY: DISALLOW_EMPTY,\n","\t buildMatchGraph: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">syntaxTree, ref</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> syntaxTree === <span class=\"code-string\">'string'</span>) {\n","\t syntaxTree = parse_1(syntaxTree);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MatchGraph'</span>,\n","\t match: buildMatchGraph(syntaxTree),\n","\t syntax: ref || <span class=\"code-literal\">null</span>,\n","\t source: syntaxTree\n","\t };\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\n","\t<span class=\"code-keyword\">var</span> MATCH$<span class=\"code-number\">1</span> = matchGraph.MATCH;\n","\t<span class=\"code-keyword\">var</span> MISMATCH$<span class=\"code-number\">1</span> = matchGraph.MISMATCH;\n","\t<span class=\"code-keyword\">var</span> DISALLOW_EMPTY$<span class=\"code-number\">1</span> = matchGraph.DISALLOW_EMPTY;\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">6</span> = _const.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> STUB = <span class=\"code-number\">0</span>;\n","\t<span class=\"code-keyword\">var</span> TOKEN = <span class=\"code-number\">1</span>;\n","\t<span class=\"code-keyword\">var</span> OPEN_SYNTAX = <span class=\"code-number\">2</span>;\n","\t<span class=\"code-keyword\">var</span> CLOSE_SYNTAX = <span class=\"code-number\">3</span>;\n","\n","\t<span class=\"code-keyword\">var</span> EXIT_REASON_MATCH = <span class=\"code-string\">'Match'</span>;\n","\t<span class=\"code-keyword\">var</span> EXIT_REASON_MISMATCH = <span class=\"code-string\">'Mismatch'</span>;\n","\t<span class=\"code-keyword\">var</span> EXIT_REASON_ITERATION_LIMIT = <span class=\"code-string\">'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)'</span>;\n","\n","\t<span class=\"code-keyword\">var</span> ITERATION_LIMIT = <span class=\"code-number\">15000</span>;\n","\t<span class=\"code-keyword\">var</span> totalIterationCount = <span class=\"code-number\">0</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">reverseList</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> prev = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> next = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> item = list;\n","\n","\t <span class=\"code-keyword\">while</span> (item !== <span class=\"code-literal\">null</span>) {\n","\t next = item.prev;\n","\t item.prev = prev;\n","\t prev = item;\n","\t item = next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> prev;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">areStringsEqualCaseInsensitive</span>(<span class=\"code-params\">testStr, referenceStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (testStr.length !== referenceStr.length) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < testStr.length; i++) {\n","\t <span class=\"code-keyword\">var</span> testCode = testStr.charCodeAt(i);\n","\t <span class=\"code-keyword\">var</span> referenceCode = referenceStr.charCodeAt(i);\n","\n","\t <span class=\"code-comment\">// testCode.toLowerCase() for U+0041 LATIN CAPITAL LETTER A (A) .. U+005A LATIN CAPITAL LETTER Z (Z).</span>\n","\t <span class=\"code-keyword\">if</span> (testCode >= <span class=\"code-number\">0x0041</span> && testCode <= <span class=\"code-number\">0x005A</span>) {\n","\t testCode = testCode | <span class=\"code-number\">32</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (testCode !== referenceCode) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isCommaContextStart</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>Comma ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span><span class=\"code-built_in\">Function</span> ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>LeftParenthesis ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>LeftSquareBracket ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>LeftCurlyBracket ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>Delim\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isCommaContextEnd</span>(<span class=\"code-params\">token</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (token === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>RightParenthesis ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>RightSquareBracket ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>RightCurlyBracket ||\n","\t token.type === TYPE$<span class=\"code-number\">6.</span>Delim\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">internalMatch</span>(<span class=\"code-params\">tokens, state, syntaxes</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">moveToNextToken</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">do</span> {\n","\t tokenIndex++;\n","\t token = tokenIndex < tokens.length ? tokens[tokenIndex] : <span class=\"code-literal\">null</span>;\n","\t } <span class=\"code-keyword\">while</span> (token !== <span class=\"code-literal\">null</span> && (token.type === TYPE$<span class=\"code-number\">6.</span>WhiteSpace || token.type === TYPE$<span class=\"code-number\">6.</span>Comment));\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getNextToken</span>(<span class=\"code-params\">offset</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> nextIndex = tokenIndex + offset;\n","\n","\t <span class=\"code-keyword\">return</span> nextIndex < tokens.length ? tokens[nextIndex] : <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">stateSnapshotFromSyntax</span>(<span class=\"code-params\">nextState, prev</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t nextState: nextState,\n","\t matchStack: matchStack,\n","\t syntaxStack: syntaxStack,\n","\t thenStack: thenStack,\n","\t tokenIndex: tokenIndex,\n","\t prev: prev\n","\t };\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">pushThenStack</span>(<span class=\"code-params\">nextState</span>) </span>{\n","\t thenStack = {\n","\t nextState: nextState,\n","\t matchStack: matchStack,\n","\t syntaxStack: syntaxStack,\n","\t prev: thenStack\n","\t };\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">pushElseStack</span>(<span class=\"code-params\">nextState</span>) </span>{\n","\t elseStack = stateSnapshotFromSyntax(nextState, elseStack);\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">addTokenToMatch</span>(<span class=\"code-params\"></span>) </span>{\n","\t matchStack = {\n","\t type: TOKEN,\n","\t syntax: state.syntax,\n","\t token: token,\n","\t prev: matchStack\n","\t };\n","\n","\t moveToNextToken();\n","\t syntaxStash = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (tokenIndex > longestMatch) {\n","\t longestMatch = tokenIndex;\n","\t }\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">openSyntax</span>(<span class=\"code-params\"></span>) </span>{\n","\t syntaxStack = {\n","\t syntax: state.syntax,\n","\t opts: state.syntax.opts || (syntaxStack !== <span class=\"code-literal\">null</span> && syntaxStack.opts) || <span class=\"code-literal\">null</span>,\n","\t prev: syntaxStack\n","\t };\n","\n","\t matchStack = {\n","\t type: OPEN_SYNTAX,\n","\t syntax: state.syntax,\n","\t token: matchStack.token,\n","\t prev: matchStack\n","\t };\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">closeSyntax</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (matchStack.type === OPEN_SYNTAX) {\n","\t matchStack = matchStack.prev;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t matchStack = {\n","\t type: CLOSE_SYNTAX,\n","\t syntax: syntaxStack.syntax,\n","\t token: matchStack.token,\n","\t prev: matchStack\n","\t };\n","\t }\n","\n","\t syntaxStack = syntaxStack.prev;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> syntaxStack = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> thenStack = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> elseStack = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-comment\">// null \u2013 stashing allowed, nothing stashed</span>\n","\t <span class=\"code-comment\">// false \u2013 stashing disabled, nothing stashed</span>\n","\t <span class=\"code-comment\">// anithing else \u2013 fail stashable syntaxes, some syntax stashed</span>\n","\t <span class=\"code-keyword\">var</span> syntaxStash = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">var</span> iterationCount = <span class=\"code-number\">0</span>; <span class=\"code-comment\">// count iterations and prevent infinite loop</span>\n","\t <span class=\"code-keyword\">var</span> exitReason = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">var</span> token = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> tokenIndex = <span class=\"code-number\">-1</span>;\n","\t <span class=\"code-keyword\">var</span> longestMatch = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> matchStack = {\n","\t type: STUB,\n","\t syntax: <span class=\"code-literal\">null</span>,\n","\t token: <span class=\"code-literal\">null</span>,\n","\t prev: <span class=\"code-literal\">null</span>\n","\t };\n","\n","\t moveToNextToken();\n","\n","\t <span class=\"code-keyword\">while</span> (exitReason === <span class=\"code-literal\">null</span> && ++iterationCount < ITERATION_LIMIT) {\n","\t <span class=\"code-comment\">// function mapList(list, fn) {</span>\n","\t <span class=\"code-comment\">// var result = [];</span>\n","\t <span class=\"code-comment\">// while (list) {</span>\n","\t <span class=\"code-comment\">// result.unshift(fn(list));</span>\n","\t <span class=\"code-comment\">// list = list.prev;</span>\n","\t <span class=\"code-comment\">// }</span>\n","\t <span class=\"code-comment\">// return result;</span>\n","\t <span class=\"code-comment\">// }</span>\n","\t <span class=\"code-comment\">// console.log('--\\n',</span>\n","\t <span class=\"code-comment\">// '#' + iterationCount,</span>\n","\t <span class=\"code-comment\">// require('util').inspect({</span>\n","\t <span class=\"code-comment\">// match: mapList(matchStack, x => x.type === TOKEN ? x.token && x.token.value : x.syntax ? ({ [OPEN_SYNTAX]: '<', [CLOSE_SYNTAX]: '</' }[x.type] || x.type) + '!' + x.syntax.name : null),</span>\n","\t <span class=\"code-comment\">// token: token && token.value,</span>\n","\t <span class=\"code-comment\">// tokenIndex,</span>\n","\t <span class=\"code-comment\">// syntax: syntax.type + (syntax.id ? ' #' + syntax.id : '')</span>\n","\t <span class=\"code-comment\">// }, { depth: null })</span>\n","\t <span class=\"code-comment\">// );</span>\n","\t <span class=\"code-keyword\">switch</span> (state.type) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Match'</span>:\n","\t <span class=\"code-keyword\">if</span> (thenStack === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// turn to MISMATCH when some tokens left unmatched</span>\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// doesn't mismatch if just one token left and it's an IE hack</span>\n","\t <span class=\"code-keyword\">if</span> (tokenIndex !== tokens.length - <span class=\"code-number\">1</span> || (token.value !== <span class=\"code-string\">'\\\\0'</span> && token.value !== <span class=\"code-string\">'\\\\9'</span>)) {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// break the main loop, return a result - MATCH</span>\n","\t exitReason = EXIT_REASON_MATCH;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// go to next syntax (`then` branch)</span>\n","\t state = thenStack.nextState;\n","\n","\t <span class=\"code-comment\">// check match is not empty</span>\n","\t <span class=\"code-keyword\">if</span> (state === DISALLOW_EMPTY$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">if</span> (thenStack.matchStack === matchStack) {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// close syntax if needed</span>\n","\t <span class=\"code-keyword\">while</span> (thenStack.syntaxStack !== syntaxStack) {\n","\t closeSyntax();\n","\t }\n","\n","\t <span class=\"code-comment\">// pop stack</span>\n","\t thenStack = thenStack.prev;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Mismatch'</span>:\n","\t <span class=\"code-comment\">// when some syntax is stashed</span>\n","\t <span class=\"code-keyword\">if</span> (syntaxStash !== <span class=\"code-literal\">null</span> && syntaxStash !== <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-comment\">// there is no else branches or a branch reduce match stack</span>\n","\t <span class=\"code-keyword\">if</span> (elseStack === <span class=\"code-literal\">null</span> || tokenIndex > elseStack.tokenIndex) {\n","\t <span class=\"code-comment\">// restore state from the stash</span>\n","\t elseStack = syntaxStash;\n","\t syntaxStash = <span class=\"code-literal\">false</span>; <span class=\"code-comment\">// disable stashing</span>\n","\t }\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (elseStack === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// no else branches -> break the main loop</span>\n","\t <span class=\"code-comment\">// return a result - MISMATCH</span>\n","\t exitReason = EXIT_REASON_MISMATCH;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// go to next syntax (`else` branch)</span>\n","\t state = elseStack.nextState;\n","\n","\t <span class=\"code-comment\">// restore all the rest stack states</span>\n","\t thenStack = elseStack.thenStack;\n","\t syntaxStack = elseStack.syntaxStack;\n","\t matchStack = elseStack.matchStack;\n","\t tokenIndex = elseStack.tokenIndex;\n","\t token = tokenIndex < tokens.length ? tokens[tokenIndex] : <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-comment\">// pop stack</span>\n","\t elseStack = elseStack.prev;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'MatchGraph'</span>:\n","\t state = state.match;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'If'</span>:\n","\t <span class=\"code-comment\">// IMPORTANT: else stack push must go first,</span>\n","\t <span class=\"code-comment\">// since it stores the state of thenStack before changes</span>\n","\t <span class=\"code-keyword\">if</span> (state.else !== MISMATCH$<span class=\"code-number\">1</span>) {\n","\t pushElseStack(state.else);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (state.then !== MATCH$<span class=\"code-number\">1</span>) {\n","\t pushThenStack(state.then);\n","\t }\n","\n","\t state = state.match;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'MatchOnce'</span>:\n","\t state = {\n","\t type: <span class=\"code-string\">'MatchOnceBuffer'</span>,\n","\t syntax: state,\n","\t index: <span class=\"code-number\">0</span>,\n","\t mask: <span class=\"code-number\">0</span>\n","\t };\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'MatchOnceBuffer'</span>:\n","\t <span class=\"code-keyword\">var</span> terms = state.syntax.terms;\n","\n","\t <span class=\"code-keyword\">if</span> (state.index === terms.length) {\n","\t <span class=\"code-comment\">// no matches at all or it's required all terms to be matched</span>\n","\t <span class=\"code-keyword\">if</span> (state.mask === <span class=\"code-number\">0</span> || state.syntax.all) {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// a partial match is ok</span>\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// all terms are matched</span>\n","\t <span class=\"code-keyword\">if</span> (state.mask === (<span class=\"code-number\">1</span> << terms.length) - <span class=\"code-number\">1</span>) {\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (; state.index < terms.length; state.index++) {\n","\t <span class=\"code-keyword\">var</span> matchFlag = <span class=\"code-number\">1</span> << state.index;\n","\n","\t <span class=\"code-keyword\">if</span> ((state.mask & matchFlag) === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-comment\">// IMPORTANT: else stack push must go first,</span>\n","\t <span class=\"code-comment\">// since it stores the state of thenStack before changes</span>\n","\t pushElseStack(state);\n","\t pushThenStack({\n","\t type: <span class=\"code-string\">'AddMatchOnce'</span>,\n","\t syntax: state.syntax,\n","\t mask: state.mask | matchFlag\n","\t });\n","\n","\t <span class=\"code-comment\">// match</span>\n","\t state = terms[state.index++];\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'AddMatchOnce'</span>:\n","\t state = {\n","\t type: <span class=\"code-string\">'MatchOnceBuffer'</span>,\n","\t syntax: state.syntax,\n","\t index: <span class=\"code-number\">0</span>,\n","\t mask: state.mask\n","\t };\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Enum'</span>:\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">var</span> name = token.value.toLowerCase();\n","\n","\t <span class=\"code-comment\">// drop \\0 and \\9 hack from keyword name</span>\n","\t <span class=\"code-keyword\">if</span> (name.indexOf(<span class=\"code-string\">'\\\\'</span>) !== <span class=\"code-number\">-1</span>) {\n","\t name = name.replace(<span class=\"code-regexp\">/\\\\[09].*$/</span>, <span class=\"code-string\">''</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">1.</span>call(state.map, name)) {\n","\t state = state.map[name];\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Generic'</span>:\n","\t <span class=\"code-keyword\">var</span> opts = syntaxStack !== <span class=\"code-literal\">null</span> ? syntaxStack.opts : <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> lastTokenIndex = tokenIndex + <span class=\"code-built_in\">Math</span>.floor(state.fn(token, getNextToken, opts));\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-built_in\">isNaN</span>(lastTokenIndex) && lastTokenIndex > tokenIndex) {\n","\t <span class=\"code-keyword\">while</span> (tokenIndex < lastTokenIndex) {\n","\t addTokenToMatch();\n","\t }\n","\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Type'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Property'</span>:\n","\t <span class=\"code-keyword\">var</span> syntaxDict = state.type === <span class=\"code-string\">'Type'</span> ? <span class=\"code-string\">'types'</span> : <span class=\"code-string\">'properties'</span>;\n","\t <span class=\"code-keyword\">var</span> dictSyntax = hasOwnProperty$<span class=\"code-number\">1.</span>call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (!dictSyntax || !dictSyntax.match) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(\n","\t <span class=\"code-string\">'Bad syntax reference: '</span> +\n","\t (state.type === <span class=\"code-string\">'Type'</span>\n","\t ? <span class=\"code-string\">'<'</span> + state.name + <span class=\"code-string\">'>'</span>\n","\t : <span class=\"code-string\">'<\\''</span> + state.name + <span class=\"code-string\">'\\'>'</span>)\n","\t );\n","\t }\n","\n","\t <span class=\"code-comment\">// stash a syntax for types with low priority</span>\n","\t <span class=\"code-keyword\">if</span> (syntaxStash !== <span class=\"code-literal\">false</span> && token !== <span class=\"code-literal\">null</span> && state.type === <span class=\"code-string\">'Type'</span>) {\n","\t <span class=\"code-keyword\">var</span> lowPriorityMatching =\n","\t <span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#custom-idents</span>\n","\t <span class=\"code-comment\">// When parsing positionally-ambiguous keywords in a property value, a <custom-ident> production</span>\n","\t <span class=\"code-comment\">// can only claim the keyword if no other unfulfilled production can claim it.</span>\n","\t (state.name === <span class=\"code-string\">'custom-ident'</span> && token.type === TYPE$<span class=\"code-number\">6.</span>Ident) ||\n","\n","\t <span class=\"code-comment\">// https://drafts.csswg.org/css-values-4/#lengths</span>\n","\t <span class=\"code-comment\">// ... if a `0` could be parsed as either a <number> or a <length> in a property (such as line-height),</span>\n","\t <span class=\"code-comment\">// it must parse as a <number></span>\n","\t (state.name === <span class=\"code-string\">'length'</span> && token.value === <span class=\"code-string\">'0'</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (lowPriorityMatching) {\n","\t <span class=\"code-keyword\">if</span> (syntaxStash === <span class=\"code-literal\">null</span>) {\n","\t syntaxStash = stateSnapshotFromSyntax(state, elseStack);\n","\t }\n","\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t openSyntax();\n","\t state = dictSyntax.match;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Keyword'</span>:\n","\t <span class=\"code-keyword\">var</span> name = state.name;\n","\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">var</span> keywordName = token.value;\n","\n","\t <span class=\"code-comment\">// drop \\0 and \\9 hack from keyword name</span>\n","\t <span class=\"code-keyword\">if</span> (keywordName.indexOf(<span class=\"code-string\">'\\\\'</span>) !== <span class=\"code-number\">-1</span>) {\n","\t keywordName = keywordName.replace(<span class=\"code-regexp\">/\\\\[09].*$/</span>, <span class=\"code-string\">''</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (areStringsEqualCaseInsensitive(keywordName, name)) {\n","\t addTokenToMatch();\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'AtKeyword'</span>:\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Function'</span>:\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span> && areStringsEqualCaseInsensitive(token.value, state.name)) {\n","\t addTokenToMatch();\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Token'</span>:\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span> && token.value === state.value) {\n","\t addTokenToMatch();\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'Comma'</span>:\n","\t <span class=\"code-keyword\">if</span> (token !== <span class=\"code-literal\">null</span> && token.type === TYPE$<span class=\"code-number\">6.</span>Comma) {\n","\t <span class=\"code-keyword\">if</span> (isCommaContextStart(matchStack.token)) {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t addTokenToMatch();\n","\t state = isCommaContextEnd(token) ? MISMATCH$<span class=\"code-number\">1</span> : MATCH$<span class=\"code-number\">1</span>;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? MATCH$<span class=\"code-number\">1</span> : MISMATCH$<span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'String'</span>:\n","\t <span class=\"code-keyword\">var</span> string = <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> lastTokenIndex = tokenIndex; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) {\n","\t string += tokens[lastTokenIndex].value;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (areStringsEqualCaseInsensitive(string, state.value)) {\n","\t <span class=\"code-keyword\">while</span> (tokenIndex < lastTokenIndex) {\n","\t addTokenToMatch();\n","\t }\n","\n","\t state = MATCH$<span class=\"code-number\">1</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t state = MISMATCH$<span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown node type: '</span> + state.type);\n","\t }\n","\t }\n","\n","\t totalIterationCount += iterationCount;\n","\n","\t <span class=\"code-keyword\">switch</span> (exitReason) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-literal\">null</span>:\n","\t <span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">'[csstree-match] BREAK after '</span> + ITERATION_LIMIT + <span class=\"code-string\">' iterations'</span>);\n","\t exitReason = EXIT_REASON_ITERATION_LIMIT;\n","\t matchStack = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> EXIT_REASON_MATCH:\n","\t <span class=\"code-keyword\">while</span> (syntaxStack !== <span class=\"code-literal\">null</span>) {\n","\t closeSyntax();\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t matchStack = <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t tokens: tokens,\n","\t reason: exitReason,\n","\t iterations: iterationCount,\n","\t match: matchStack,\n","\t longestMatch: longestMatch\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">matchAsList</span>(<span class=\"code-params\">tokens, matchGraph, syntaxes</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> matchResult = internalMatch(tokens, matchGraph, syntaxes || {});\n","\n","\t <span class=\"code-keyword\">if</span> (matchResult.match !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">var</span> item = reverseList(matchResult.match).prev;\n","\n","\t matchResult.match = [];\n","\n","\t <span class=\"code-keyword\">while</span> (item !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">switch</span> (item.type) {\n","\t <span class=\"code-keyword\">case</span> STUB:\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> OPEN_SYNTAX:\n","\t <span class=\"code-keyword\">case</span> CLOSE_SYNTAX:\n","\t matchResult.match.push({\n","\t type: item.type,\n","\t syntax: item.syntax\n","\t });\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t matchResult.match.push({\n","\t token: item.token.value,\n","\t node: item.token.node\n","\t });\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t item = item.prev;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchResult;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">matchAsTree</span>(<span class=\"code-params\">tokens, matchGraph, syntaxes</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> matchResult = internalMatch(tokens, matchGraph, syntaxes || {});\n","\n","\t <span class=\"code-keyword\">if</span> (matchResult.match === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> matchResult;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> item = matchResult.match;\n","\t <span class=\"code-keyword\">var</span> host = matchResult.match = {\n","\t syntax: matchGraph.syntax || <span class=\"code-literal\">null</span>,\n","\t match: []\n","\t };\n","\t <span class=\"code-keyword\">var</span> hostStack = [host];\n","\n","\t <span class=\"code-comment\">// revert a list and start with 2nd item since 1st is a stub item</span>\n","\t item = reverseList(item).prev;\n","\n","\t <span class=\"code-comment\">// build a tree</span>\n","\t <span class=\"code-keyword\">while</span> (item !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">switch</span> (item.type) {\n","\t <span class=\"code-keyword\">case</span> OPEN_SYNTAX:\n","\t host.match.push(host = {\n","\t syntax: item.syntax,\n","\t match: []\n","\t });\n","\t hostStack.push(host);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> CLOSE_SYNTAX:\n","\t hostStack.pop();\n","\t host = hostStack[hostStack.length - <span class=\"code-number\">1</span>];\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t host.match.push({\n","\t syntax: item.syntax || <span class=\"code-literal\">null</span>,\n","\t token: item.token.value,\n","\t node: item.token.node\n","\t });\n","\t }\n","\n","\t item = item.prev;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchResult;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> match = {\n","\t matchAsList: matchAsList,\n","\t matchAsTree: matchAsTree,\n","\t getTotalIterationCount: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> totalIterationCount;\n","\t }\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getTrace</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">shouldPutToTrace</span>(<span class=\"code-params\">syntax</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (syntax === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> (\n","\t syntax.type === <span class=\"code-string\">'Type'</span> ||\n","\t syntax.type === <span class=\"code-string\">'Property'</span> ||\n","\t syntax.type === <span class=\"code-string\">'Keyword'</span>\n","\t );\n","\t }\n","\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">hasMatch</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(matchNode.match)) {\n","\t <span class=\"code-comment\">// use for-loop for better perfomance</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < matchNode.match.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (hasMatch(matchNode.match[i])) {\n","\t <span class=\"code-keyword\">if</span> (shouldPutToTrace(matchNode.syntax)) {\n","\t result.unshift(matchNode.syntax);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\t }\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (matchNode.node === node) {\n","\t result = shouldPutToTrace(matchNode.syntax)\n","\t ? [matchNode.syntax]\n","\t : [];\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.matched !== <span class=\"code-literal\">null</span>) {\n","\t hasMatch(<span class=\"code-keyword\">this</span>.matched);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">testNode</span>(<span class=\"code-params\">match, node, fn</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> trace = getTrace.call(match, node);\n","\n","\t <span class=\"code-keyword\">if</span> (trace === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> trace.some(fn);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isType</span>(<span class=\"code-params\">node, type</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> testNode(<span class=\"code-keyword\">this</span>, node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> matchNode.type === <span class=\"code-string\">'Type'</span> && matchNode.name === type;\n","\t });\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isProperty</span>(<span class=\"code-params\">node, property</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> testNode(<span class=\"code-keyword\">this</span>, node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> matchNode.type === <span class=\"code-string\">'Property'</span> && matchNode.name === property;\n","\t });\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isKeyword</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> testNode(<span class=\"code-keyword\">this</span>, node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> matchNode.type === <span class=\"code-string\">'Keyword'</span>;\n","\t });\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> trace = {\n","\t getTrace: getTrace,\n","\t isType: isType,\n","\t isProperty: isProperty,\n","\t isKeyword: isKeyword\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getFirstMatchNode</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-string\">'node'</span> <span class=\"code-keyword\">in</span> matchNode) {\n","\t <span class=\"code-keyword\">return</span> matchNode.node;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> getFirstMatchNode(matchNode.match[<span class=\"code-number\">0</span>]);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getLastMatchNode</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-string\">'node'</span> <span class=\"code-keyword\">in</span> matchNode) {\n","\t <span class=\"code-keyword\">return</span> matchNode.node;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> getLastMatchNode(matchNode.match[matchNode.match.length - <span class=\"code-number\">1</span>]);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">matchFragments</span>(<span class=\"code-params\">lexer, ast, match, type, name</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">findFragments</span>(<span class=\"code-params\">matchNode</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (matchNode.syntax !== <span class=\"code-literal\">null</span> &&\n","\t matchNode.syntax.type === type &&\n","\t matchNode.syntax.name === name) {\n","\t <span class=\"code-keyword\">var</span> start = getFirstMatchNode(matchNode);\n","\t <span class=\"code-keyword\">var</span> end = getLastMatchNode(matchNode);\n","\n","\t lexer.syntax.walk(ast, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node === start) {\n","\t <span class=\"code-keyword\">var</span> nodes = <span class=\"code-keyword\">new</span> List_1();\n","\n","\t <span class=\"code-keyword\">do</span> {\n","\t nodes.appendData(item.data);\n","\n","\t <span class=\"code-keyword\">if</span> (item.data === end) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t item = item.next;\n","\t } <span class=\"code-keyword\">while</span> (item !== <span class=\"code-literal\">null</span>);\n","\n","\t fragments.push({\n","\t parent: list,\n","\t nodes: nodes\n","\t });\n","\t }\n","\t });\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(matchNode.match)) {\n","\t matchNode.match.forEach(findFragments);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> fragments = [];\n","\n","\t <span class=\"code-keyword\">if</span> (match.matched !== <span class=\"code-literal\">null</span>) {\n","\t findFragments(match.matched);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> fragments;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> search = {\n","\t matchFragments: matchFragments\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty$<span class=\"code-number\">2</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isValidNumber</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-comment\">// Number.isInteger(value) && value >= 0</span>\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">'number'</span> &&\n","\t <span class=\"code-built_in\">isFinite</span>(value) &&\n","\t <span class=\"code-built_in\">Math</span>.floor(value) === value &&\n","\t value >= <span class=\"code-number\">0</span>\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isValidLocation</span>(<span class=\"code-params\">loc</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> (\n","\t <span class=\"code-built_in\">Boolean</span>(loc) &&\n","\t isValidNumber(loc.offset) &&\n","\t isValidNumber(loc.line) &&\n","\t isValidNumber(loc.column)\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createNodeStructureChecker</span>(<span class=\"code-params\">type, fields</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">checkNode</span>(<span class=\"code-params\">node, warn</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!node || node.constructor !== <span class=\"code-built_in\">Object</span>) {\n","\t <span class=\"code-keyword\">return</span> warn(node, <span class=\"code-string\">'Type of node should be an Object'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> node) {\n","\t <span class=\"code-keyword\">var</span> valid = <span class=\"code-literal\">true</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">2.</span>call(node, key) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (key === <span class=\"code-string\">'type'</span>) {\n","\t <span class=\"code-keyword\">if</span> (node.type !== type) {\n","\t warn(node, <span class=\"code-string\">'Wrong node type `'</span> + node.type + <span class=\"code-string\">'`, expected `'</span> + type + <span class=\"code-string\">'`'</span>);\n","\t }\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (key === <span class=\"code-string\">'loc'</span>) {\n","\t <span class=\"code-keyword\">if</span> (node.loc === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (node.loc && node.loc.constructor === <span class=\"code-built_in\">Object</span>) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> node.loc.source !== <span class=\"code-string\">'string'</span>) {\n","\t key += <span class=\"code-string\">'.source'</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!isValidLocation(node.loc.start)) {\n","\t key += <span class=\"code-string\">'.start'</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!isValidLocation(node.loc.end)) {\n","\t key += <span class=\"code-string\">'.end'</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\t }\n","\n","\t valid = <span class=\"code-literal\">false</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (fields.hasOwnProperty(key)) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>, valid = <span class=\"code-literal\">false</span>; !valid && i < fields[key].length; i++) {\n","\t <span class=\"code-keyword\">var</span> fieldType = fields[key][i];\n","\n","\t <span class=\"code-keyword\">switch</span> (fieldType) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-built_in\">String</span>:\n","\t valid = <span class=\"code-keyword\">typeof</span> node[key] === <span class=\"code-string\">'string'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-built_in\">Boolean</span>:\n","\t valid = <span class=\"code-keyword\">typeof</span> node[key] === <span class=\"code-string\">'boolean'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-literal\">null</span>:\n","\t valid = node[key] === <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> fieldType === <span class=\"code-string\">'string'</span>) {\n","\t valid = node[key] && node[key].type === fieldType;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(fieldType)) {\n","\t valid = node[key] <span class=\"code-keyword\">instanceof</span> List_1;\n","\t }\n","\t }\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t warn(node, <span class=\"code-string\">'Unknown field `'</span> + key + <span class=\"code-string\">'` for '</span> + type + <span class=\"code-string\">' node type'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!valid) {\n","\t warn(node, <span class=\"code-string\">'Bad value for `'</span> + type + <span class=\"code-string\">'.'</span> + key + <span class=\"code-string\">'`'</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> fields) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">2.</span>call(fields, key) &&\n","\t hasOwnProperty$<span class=\"code-number\">2.</span>call(node, key) === <span class=\"code-literal\">false</span>) {\n","\t warn(node, <span class=\"code-string\">'Field `'</span> + type + <span class=\"code-string\">'.'</span> + key + <span class=\"code-string\">'` is missed'</span>);\n","\t }\n","\t }\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">processStructure</span>(<span class=\"code-params\">name, nodeType</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> structure = nodeType.structure;\n","\t <span class=\"code-keyword\">var</span> fields = {\n","\t type: <span class=\"code-built_in\">String</span>,\n","\t loc: <span class=\"code-literal\">true</span>\n","\t };\n","\t <span class=\"code-keyword\">var</span> docs = {\n","\t type: <span class=\"code-string\">'\"'</span> + name + <span class=\"code-string\">'\"'</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> structure) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">2.</span>call(structure, key) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> docsTypes = [];\n","\t <span class=\"code-keyword\">var</span> fieldTypes = fields[key] = <span class=\"code-built_in\">Array</span>.isArray(structure[key])\n","\t ? structure[key].slice()\n","\t : [structure[key]];\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < fieldTypes.length; i++) {\n","\t <span class=\"code-keyword\">var</span> fieldType = fieldTypes[i];\n","\t <span class=\"code-keyword\">if</span> (fieldType === <span class=\"code-built_in\">String</span> || fieldType === <span class=\"code-built_in\">Boolean</span>) {\n","\t docsTypes.push(fieldType.name);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (fieldType === <span class=\"code-literal\">null</span>) {\n","\t docsTypes.push(<span class=\"code-string\">'null'</span>);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> fieldType === <span class=\"code-string\">'string'</span>) {\n","\t docsTypes.push(<span class=\"code-string\">'<'</span> + fieldType + <span class=\"code-string\">'>'</span>);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(fieldType)) {\n","\t docsTypes.push(<span class=\"code-string\">'List'</span>); <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> use type enum</span>\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Wrong value `'</span> + fieldType + <span class=\"code-string\">'` in `'</span> + name + <span class=\"code-string\">'.'</span> + key + <span class=\"code-string\">'` structure definition'</span>);\n","\t }\n","\t }\n","\n","\t docs[key] = docsTypes.join(<span class=\"code-string\">' | '</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t docs: docs,\n","\t check: createNodeStructureChecker(name, fields)\n","\t };\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> structure = {\n","\t getStructureFromConfig: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> structure = {};\n","\n","\t <span class=\"code-keyword\">if</span> (config.node) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.node) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">2.</span>call(config.node, name)) {\n","\t <span class=\"code-keyword\">var</span> nodeType = config.node[name];\n","\n","\t <span class=\"code-keyword\">if</span> (nodeType.structure) {\n","\t structure[name] = processStructure(name, nodeType);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Missed `structure` field in `'</span> + name + <span class=\"code-string\">'` node type definition'</span>);\n","\t }\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> structure;\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> SyntaxReferenceError$<span class=\"code-number\">1</span> = error.SyntaxReferenceError;\n","\t<span class=\"code-keyword\">var</span> MatchError$<span class=\"code-number\">1</span> = error.MatchError;\n","\n","\n","\n","\n","\n","\n","\t<span class=\"code-keyword\">var</span> buildMatchGraph$<span class=\"code-number\">1</span> = matchGraph.buildMatchGraph;\n","\t<span class=\"code-keyword\">var</span> matchAsTree$<span class=\"code-number\">1</span> = match.matchAsTree;\n","\n","\n","\t<span class=\"code-keyword\">var</span> getStructureFromConfig = structure.getStructureFromConfig;\n","\t<span class=\"code-keyword\">var</span> cssWideKeywords$<span class=\"code-number\">1</span> = buildMatchGraph$<span class=\"code-number\">1</span>(<span class=\"code-string\">'inherit | initial | unset'</span>);\n","\t<span class=\"code-keyword\">var</span> cssWideKeywordsWithExpression = buildMatchGraph$<span class=\"code-number\">1</span>(<span class=\"code-string\">'inherit | initial | unset | <-ms-legacy-expression>'</span>);\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">dumpMapSyntax</span>(<span class=\"code-params\">map, compact, syntaxAsAst</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> map) {\n","\t <span class=\"code-keyword\">if</span> (map[name].syntax) {\n","\t result[name] = syntaxAsAst\n","\t ? map[name].syntax\n","\t : generate_1(map[name].syntax, { <span class=\"code-attr\">compact</span>: compact });\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">valueHasVar</span>(<span class=\"code-params\">tokens</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < tokens.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (tokens[i].value.toLowerCase() === <span class=\"code-string\">'var('</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">buildMatchResult</span>(<span class=\"code-params\">match, error, iterations</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t matched: match,\n","\t iterations: iterations,\n","\t error: error,\n","\t getTrace: trace.getTrace,\n","\t isType: trace.isType,\n","\t isProperty: trace.isProperty,\n","\t isKeyword: trace.isKeyword\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">matchSyntax</span>(<span class=\"code-params\">lexer, syntax, value, useCommon</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> tokens = prepareTokens_1(value, lexer.syntax);\n","\t <span class=\"code-keyword\">var</span> result;\n","\n","\t <span class=\"code-keyword\">if</span> (valueHasVar(tokens)) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Matching for a tree with var() is not supported'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (useCommon) {\n","\t result = matchAsTree$<span class=\"code-number\">1</span>(tokens, lexer.valueCommonSyntax, lexer);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!useCommon || !result.match) {\n","\t result = matchAsTree$<span class=\"code-number\">1</span>(tokens, syntax.match, lexer);\n","\t <span class=\"code-keyword\">if</span> (!result.match) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(\n","\t <span class=\"code-literal\">null</span>,\n","\t <span class=\"code-keyword\">new</span> MatchError$<span class=\"code-number\">1</span>(result.reason, syntax.syntax, value, result),\n","\t result.iterations\n","\t );\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(result.match, <span class=\"code-literal\">null</span>, result.iterations);\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Lexer = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">config, syntax, structure</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.valueCommonSyntax = cssWideKeywords$<span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">this</span>.syntax = syntax;\n","\t <span class=\"code-keyword\">this</span>.generic = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">this</span>.atrules = {};\n","\t <span class=\"code-keyword\">this</span>.properties = {};\n","\t <span class=\"code-keyword\">this</span>.types = {};\n","\t <span class=\"code-keyword\">this</span>.structure = structure || getStructureFromConfig(config);\n","\n","\t <span class=\"code-keyword\">if</span> (config) {\n","\t <span class=\"code-keyword\">if</span> (config.types) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.types) {\n","\t <span class=\"code-keyword\">this</span>.addType_(name, config.types[name]);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.generic) {\n","\t <span class=\"code-keyword\">this</span>.generic = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> generic) {\n","\t <span class=\"code-keyword\">this</span>.addType_(name, generic[name]);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.atrules) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.atrules) {\n","\t <span class=\"code-keyword\">this</span>.addAtrule_(name, config.atrules[name]);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.properties) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.properties) {\n","\t <span class=\"code-keyword\">this</span>.addProperty_(name, config.properties[name]);\n","\t }\n","\t }\n","\t }\n","\t};\n","\n","\tLexer.prototype = {\n","\t structure: {},\n","\t checkStructure: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">collectWarning</span>(<span class=\"code-params\">node, message</span>) </span>{\n","\t warns.push({\n","\t node: node,\n","\t message: message\n","\t });\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> structure = <span class=\"code-keyword\">this</span>.structure;\n","\t <span class=\"code-keyword\">var</span> warns = [];\n","\n","\t <span class=\"code-keyword\">this</span>.syntax.walk(ast, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (structure.hasOwnProperty(node.type)) {\n","\t structure[node.type].check(node, collectWarning);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t collectWarning(node, <span class=\"code-string\">'Unknown node type `'</span> + node.type + <span class=\"code-string\">'`'</span>);\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> warns.length ? warns : <span class=\"code-literal\">false</span>;\n","\t },\n","\n","\t createDescriptor: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">syntax, type, name</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> ref = {\n","\t type: type,\n","\t name: name\n","\t };\n","\t <span class=\"code-keyword\">var</span> descriptor = {\n","\t type: type,\n","\t name: name,\n","\t syntax: <span class=\"code-literal\">null</span>,\n","\t match: <span class=\"code-literal\">null</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> syntax === <span class=\"code-string\">'function'</span>) {\n","\t descriptor.match = buildMatchGraph$<span class=\"code-number\">1</span>(syntax, ref);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> syntax === <span class=\"code-string\">'string'</span>) {\n","\t <span class=\"code-comment\">// lazy parsing on first access</span>\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(descriptor, <span class=\"code-string\">'syntax'</span>, {\n","\t <span class=\"code-keyword\">get</span>: function() {\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(descriptor, <span class=\"code-string\">'syntax'</span>, {\n","\t value: parse_1(syntax)\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> descriptor.syntax;\n","\t }\n","\t });\n","\t } <span class=\"code-keyword\">else</span> {\n","\t descriptor.syntax = syntax;\n","\t }\n","\n","\t <span class=\"code-comment\">// lazy graph build on first access</span>\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(descriptor, <span class=\"code-string\">'match'</span>, {\n","\t <span class=\"code-keyword\">get</span>: function() {\n","\t <span class=\"code-built_in\">Object</span>.defineProperty(descriptor, <span class=\"code-string\">'match'</span>, {\n","\t value: buildMatchGraph$<span class=\"code-number\">1</span>(descriptor.syntax, ref)\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> descriptor.match;\n","\t }\n","\t });\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> descriptor;\n","\t },\n","\t addAtrule_: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name, syntax</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.atrules[name] = {\n","\t prelude: syntax.prelude ? <span class=\"code-keyword\">this</span>.createDescriptor(syntax.prelude, <span class=\"code-string\">'AtrulePrelude'</span>, name) : <span class=\"code-literal\">null</span>,\n","\t descriptors: syntax.descriptors\n","\t ? <span class=\"code-built_in\">Object</span>.keys(syntax.descriptors).reduce(<span class=\"code-function\">(<span class=\"code-params\">res, name</span>) =></span> {\n","\t res[name] = <span class=\"code-keyword\">this</span>.createDescriptor(syntax.descriptors[name], <span class=\"code-string\">'AtruleDescriptor'</span>, name);\n","\t <span class=\"code-keyword\">return</span> res;\n","\t }, {})\n","\t : <span class=\"code-literal\">null</span>\n","\t };\n","\t },\n","\t addProperty_: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name, syntax</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.properties[name] = <span class=\"code-keyword\">this</span>.createDescriptor(syntax, <span class=\"code-string\">'Property'</span>, name);\n","\t },\n","\t addType_: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name, syntax</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.types[name] = <span class=\"code-keyword\">this</span>.createDescriptor(syntax, <span class=\"code-string\">'Type'</span>, name);\n","\n","\t <span class=\"code-keyword\">if</span> (syntax === generic[<span class=\"code-string\">'-ms-legacy-expression'</span>]) {\n","\t <span class=\"code-keyword\">this</span>.valueCommonSyntax = cssWideKeywordsWithExpression;\n","\t }\n","\t },\n","\n","\t matchAtrulePrelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">atruleName, prelude</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> atrule = names.keyword(atruleName);\n","\n","\t <span class=\"code-keyword\">var</span> atrulePreludeSyntax = atrule.vendor\n","\t ? <span class=\"code-keyword\">this</span>.getAtrulePrelude(atrule.name) || <span class=\"code-keyword\">this</span>.getAtrulePrelude(atrule.basename)\n","\t : <span class=\"code-keyword\">this</span>.getAtrulePrelude(atrule.name);\n","\n","\t <span class=\"code-keyword\">if</span> (!atrulePreludeSyntax) {\n","\t <span class=\"code-keyword\">if</span> (atrule.basename <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.atrules) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'At-rule `'</span> + atruleName + <span class=\"code-string\">'` should not contain a prelude'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Unknown at-rule'</span>, atruleName));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchSyntax(<span class=\"code-keyword\">this</span>, atrulePreludeSyntax, prelude, <span class=\"code-literal\">true</span>);\n","\t },\n","\t matchAtruleDescriptor: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">atruleName, descriptorName, value</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> atrule = names.keyword(atruleName);\n","\t <span class=\"code-keyword\">var</span> descriptor = names.keyword(descriptorName);\n","\n","\t <span class=\"code-keyword\">var</span> atruleEntry = atrule.vendor\n","\t ? <span class=\"code-keyword\">this</span>.atrules[atrule.name] || <span class=\"code-keyword\">this</span>.atrules[atrule.basename]\n","\t : <span class=\"code-keyword\">this</span>.atrules[atrule.name];\n","\n","\t <span class=\"code-keyword\">if</span> (!atruleEntry) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Unknown at-rule'</span>, atruleName));\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!atruleEntry.descriptors) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'At-rule `'</span> + atruleName + <span class=\"code-string\">'` has no known descriptors'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> atruleDescriptorSyntax = descriptor.vendor\n","\t ? atruleEntry.descriptors[descriptor.name] || atruleEntry.descriptors[descriptor.basename]\n","\t : atruleEntry.descriptors[descriptor.name];\n","\n","\t <span class=\"code-keyword\">if</span> (!atruleDescriptorSyntax) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Unknown at-rule descriptor'</span>, descriptorName));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchSyntax(<span class=\"code-keyword\">this</span>, atruleDescriptorSyntax, value, <span class=\"code-literal\">true</span>);\n","\t },\n","\t matchDeclaration: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.type !== <span class=\"code-string\">'Declaration'</span>) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Not a Declaration node'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.matchProperty(node.property, node.value);\n","\t },\n","\t matchProperty: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">propertyName, value</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> property = names.property(propertyName);\n","\n","\t <span class=\"code-comment\">// don't match syntax for a custom property</span>\n","\t <span class=\"code-keyword\">if</span> (property.custom) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Lexer matching doesn\\'t applicable for custom properties'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> propertySyntax = property.vendor\n","\t ? <span class=\"code-keyword\">this</span>.getProperty(property.name) || <span class=\"code-keyword\">this</span>.getProperty(property.basename)\n","\t : <span class=\"code-keyword\">this</span>.getProperty(property.name);\n","\n","\t <span class=\"code-keyword\">if</span> (!propertySyntax) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Unknown property'</span>, propertyName));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchSyntax(<span class=\"code-keyword\">this</span>, propertySyntax, value, <span class=\"code-literal\">true</span>);\n","\t },\n","\t matchType: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">typeName, value</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> typeSyntax = <span class=\"code-keyword\">this</span>.getType(typeName);\n","\n","\t <span class=\"code-keyword\">if</span> (!typeSyntax) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Unknown type'</span>, typeName));\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchSyntax(<span class=\"code-keyword\">this</span>, typeSyntax, value, <span class=\"code-literal\">false</span>);\n","\t },\n","\t match: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">syntax, value</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> syntax !== <span class=\"code-string\">'string'</span> && (!syntax || !syntax.type)) {\n","\t <span class=\"code-keyword\">return</span> buildMatchResult(<span class=\"code-literal\">null</span>, <span class=\"code-keyword\">new</span> SyntaxReferenceError$<span class=\"code-number\">1</span>(<span class=\"code-string\">'Bad syntax'</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> syntax === <span class=\"code-string\">'string'</span> || !syntax.match) {\n","\t syntax = <span class=\"code-keyword\">this</span>.createDescriptor(syntax, <span class=\"code-string\">'Type'</span>, <span class=\"code-string\">'anonymous'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> matchSyntax(<span class=\"code-keyword\">this</span>, syntax, value, <span class=\"code-literal\">false</span>);\n","\t },\n","\n","\t findValueFragments: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">propertyName, value, type, name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> search.matchFragments(<span class=\"code-keyword\">this</span>, value, <span class=\"code-keyword\">this</span>.matchProperty(propertyName, value), type, name);\n","\t },\n","\t findDeclarationValueFragments: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">declaration, type, name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> search.matchFragments(<span class=\"code-keyword\">this</span>, declaration.value, <span class=\"code-keyword\">this</span>.matchDeclaration(declaration), type, name);\n","\t },\n","\t findAllFragments: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast, type, name</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = [];\n","\n","\t <span class=\"code-keyword\">this</span>.syntax.walk(ast, {\n","\t visit: <span class=\"code-string\">'Declaration'</span>,\n","\t enter: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">declaration</span>) </span>{\n","\t result.push.apply(result, <span class=\"code-keyword\">this</span>.findDeclarationValueFragments(declaration, type, name));\n","\t }.bind(<span class=\"code-keyword\">this</span>)\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t },\n","\n","\t getAtrulePrelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">atruleName</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.atrules.hasOwnProperty(atruleName) ? <span class=\"code-keyword\">this</span>.atrules[atruleName].prelude : <span class=\"code-literal\">null</span>;\n","\t },\n","\t getAtruleDescriptor: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">atruleName, name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.atrules.hasOwnProperty(atruleName) && <span class=\"code-keyword\">this</span>.atrules.declarators\n","\t ? <span class=\"code-keyword\">this</span>.atrules[atruleName].declarators[name] || <span class=\"code-literal\">null</span>\n","\t : <span class=\"code-literal\">null</span>;\n","\t },\n","\t getProperty: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.properties.hasOwnProperty(name) ? <span class=\"code-keyword\">this</span>.properties[name] : <span class=\"code-literal\">null</span>;\n","\t },\n","\t getType: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.types.hasOwnProperty(name) ? <span class=\"code-keyword\">this</span>.types[name] : <span class=\"code-literal\">null</span>;\n","\t },\n","\n","\t validate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">validate</span>(<span class=\"code-params\">syntax, name, broken, descriptor</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (broken.hasOwnProperty(name)) {\n","\t <span class=\"code-keyword\">return</span> broken[name];\n","\t }\n","\n","\t broken[name] = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">if</span> (descriptor.syntax !== <span class=\"code-literal\">null</span>) {\n","\t walk$<span class=\"code-number\">1</span>(descriptor.syntax, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.type !== <span class=\"code-string\">'Type'</span> && node.type !== <span class=\"code-string\">'Property'</span>) {\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> map = node.type === <span class=\"code-string\">'Type'</span> ? syntax.types : syntax.properties;\n","\t <span class=\"code-keyword\">var</span> brokenMap = node.type === <span class=\"code-string\">'Type'</span> ? brokenTypes : brokenProperties;\n","\n","\t <span class=\"code-keyword\">if</span> (!map.hasOwnProperty(node.name) || validate(syntax, node.name, brokenMap, map[node.name])) {\n","\t broken[name] = <span class=\"code-literal\">true</span>;\n","\t }\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> brokenTypes = {};\n","\t <span class=\"code-keyword\">var</span> brokenProperties = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.types) {\n","\t validate(<span class=\"code-keyword\">this</span>, key, brokenTypes, <span class=\"code-keyword\">this</span>.types[key]);\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.properties) {\n","\t validate(<span class=\"code-keyword\">this</span>, key, brokenProperties, <span class=\"code-keyword\">this</span>.properties[key]);\n","\t }\n","\n","\t brokenTypes = <span class=\"code-built_in\">Object</span>.keys(brokenTypes).filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> brokenTypes[name];\n","\t });\n","\t brokenProperties = <span class=\"code-built_in\">Object</span>.keys(brokenProperties).filter(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> brokenProperties[name];\n","\t });\n","\n","\t <span class=\"code-keyword\">if</span> (brokenTypes.length || brokenProperties.length) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t types: brokenTypes,\n","\t properties: brokenProperties\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t },\n","\t dump: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">syntaxAsAst, pretty</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t generic: <span class=\"code-keyword\">this</span>.generic,\n","\t types: dumpMapSyntax(<span class=\"code-keyword\">this</span>.types, !pretty, syntaxAsAst),\n","\t properties: dumpMapSyntax(<span class=\"code-keyword\">this</span>.properties, !pretty, syntaxAsAst)\n","\t };\n","\t },\n","\t toString: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">JSON</span>.stringify(<span class=\"code-keyword\">this</span>.dump());\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> Lexer_1 = Lexer;\n","\n","\t<span class=\"code-keyword\">var</span> definitionSyntax = {\n","\t <span class=\"code-built_in\">SyntaxError</span>: _SyntaxError$<span class=\"code-number\">1</span>,\n","\t parse: parse_1,\n","\t generate: generate_1,\n","\t walk: walk$<span class=\"code-number\">1</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isBOM$<span class=\"code-number\">2</span> = tokenizer.isBOM;\n","\n","\t<span class=\"code-keyword\">var</span> N$<span class=\"code-number\">3</span> = <span class=\"code-number\">10</span>;\n","\t<span class=\"code-keyword\">var</span> F$<span class=\"code-number\">2</span> = <span class=\"code-number\">12</span>;\n","\t<span class=\"code-keyword\">var</span> R$<span class=\"code-number\">2</span> = <span class=\"code-number\">13</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">computeLinesAndColumns</span>(<span class=\"code-params\">host, source</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sourceLength = source.length;\n","\t <span class=\"code-keyword\">var</span> lines = adoptBuffer(host.lines, sourceLength); <span class=\"code-comment\">// +1</span>\n","\t <span class=\"code-keyword\">var</span> line = host.startLine;\n","\t <span class=\"code-keyword\">var</span> columns = adoptBuffer(host.columns, sourceLength);\n","\t <span class=\"code-keyword\">var</span> column = host.startColumn;\n","\t <span class=\"code-keyword\">var</span> startOffset = source.length > <span class=\"code-number\">0</span> ? isBOM$<span class=\"code-number\">2</span>(source.charCodeAt(<span class=\"code-number\">0</span>)) : <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = startOffset; i < sourceLength; i++) { <span class=\"code-comment\">// -1</span>\n","\t <span class=\"code-keyword\">var</span> code = source.charCodeAt(i);\n","\n","\t lines[i] = line;\n","\t columns[i] = column++;\n","\n","\t <span class=\"code-keyword\">if</span> (code === N$<span class=\"code-number\">3</span> || code === R$<span class=\"code-number\">2</span> || code === F$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">if</span> (code === R$<span class=\"code-number\">2</span> && i + <span class=\"code-number\">1</span> < sourceLength && source.charCodeAt(i + <span class=\"code-number\">1</span>) === N$<span class=\"code-number\">3</span>) {\n","\t i++;\n","\t lines[i] = line;\n","\t columns[i] = column;\n","\t }\n","\n","\t line++;\n","\t column = <span class=\"code-number\">1</span>;\n","\t }\n","\t }\n","\n","\t lines[i] = line;\n","\t columns[i] = column;\n","\n","\t host.lines = lines;\n","\t host.columns = columns;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> OffsetToLocation = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.lines = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.columns = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">this</span>.linesAndColumnsComputed = <span class=\"code-literal\">false</span>;\n","\t};\n","\n","\tOffsetToLocation.prototype = {\n","\t setSource: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">source, startOffset, startLine, startColumn</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.source = source;\n","\t <span class=\"code-keyword\">this</span>.startOffset = <span class=\"code-keyword\">typeof</span> startOffset === <span class=\"code-string\">'undefined'</span> ? <span class=\"code-number\">0</span> : startOffset;\n","\t <span class=\"code-keyword\">this</span>.startLine = <span class=\"code-keyword\">typeof</span> startLine === <span class=\"code-string\">'undefined'</span> ? <span class=\"code-number\">1</span> : startLine;\n","\t <span class=\"code-keyword\">this</span>.startColumn = <span class=\"code-keyword\">typeof</span> startColumn === <span class=\"code-string\">'undefined'</span> ? <span class=\"code-number\">1</span> : startColumn;\n","\t <span class=\"code-keyword\">this</span>.linesAndColumnsComputed = <span class=\"code-literal\">false</span>;\n","\t },\n","\n","\t ensureLinesAndColumnsComputed: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.linesAndColumnsComputed) {\n","\t computeLinesAndColumns(<span class=\"code-keyword\">this</span>, <span class=\"code-keyword\">this</span>.source);\n","\t <span class=\"code-keyword\">this</span>.linesAndColumnsComputed = <span class=\"code-literal\">true</span>;\n","\t }\n","\t },\n","\t getLocation: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">offset, filename</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.ensureLinesAndColumnsComputed();\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t source: filename,\n","\t offset: <span class=\"code-keyword\">this</span>.startOffset + offset,\n","\t line: <span class=\"code-keyword\">this</span>.lines[offset],\n","\t column: <span class=\"code-keyword\">this</span>.columns[offset]\n","\t };\n","\t },\n","\t getLocationRange: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">start, end, filename</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.ensureLinesAndColumnsComputed();\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t source: filename,\n","\t start: {\n","\t offset: <span class=\"code-keyword\">this</span>.startOffset + start,\n","\t line: <span class=\"code-keyword\">this</span>.lines[start],\n","\t column: <span class=\"code-keyword\">this</span>.columns[start]\n","\t },\n","\t end: {\n","\t offset: <span class=\"code-keyword\">this</span>.startOffset + end,\n","\t line: <span class=\"code-keyword\">this</span>.lines[end],\n","\t column: <span class=\"code-keyword\">this</span>.columns[end]\n","\t }\n","\t };\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> OffsetToLocation_1 = OffsetToLocation;\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">7</span> = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">2</span> = TYPE$<span class=\"code-number\">7.</span>WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">2</span> = TYPE$<span class=\"code-number\">7.</span>Comment;\n","\n","\t<span class=\"code-keyword\">var</span> sequence = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readSequence</span>(<span class=\"code-params\">recognizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\t <span class=\"code-keyword\">var</span> child = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> context = {\n","\t recognizer: recognizer,\n","\t space: <span class=\"code-literal\">null</span>,\n","\t ignoreWS: <span class=\"code-literal\">false</span>,\n","\t ignoreWSAfter: <span class=\"code-literal\">false</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">if</span> (context.ignoreWS) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t context.space = <span class=\"code-keyword\">this</span>.WhiteSpace();\n","\t }\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t child = recognizer.getNode.call(<span class=\"code-keyword\">this</span>, context);\n","\n","\t <span class=\"code-keyword\">if</span> (child === <span class=\"code-literal\">undefined</span>) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (context.space !== <span class=\"code-literal\">null</span>) {\n","\t children.push(context.space);\n","\t context.space = <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t children.push(child);\n","\n","\t <span class=\"code-keyword\">if</span> (context.ignoreWSAfter) {\n","\t context.ignoreWSAfter = <span class=\"code-literal\">false</span>;\n","\t context.ignoreWS = <span class=\"code-literal\">true</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t context.ignoreWS = <span class=\"code-literal\">false</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> findWhiteSpaceStart$<span class=\"code-number\">1</span> = utils.findWhiteSpaceStart;\n","\n","\t<span class=\"code-keyword\">var</span> noop$<span class=\"code-number\">3</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">8</span> = _const.TYPE;\n","\t<span class=\"code-keyword\">var</span> NAME$<span class=\"code-number\">2</span> = _const.NAME;\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">3</span> = TYPE$<span class=\"code-number\">8.</span>WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">2</span> = TYPE$<span class=\"code-number\">8.</span>Ident;\n","\t<span class=\"code-keyword\">var</span> FUNCTION = TYPE$<span class=\"code-number\">8.</span><span class=\"code-built_in\">Function</span>;\n","\t<span class=\"code-keyword\">var</span> URL$<span class=\"code-number\">1</span> = TYPE$<span class=\"code-number\">8.</span>Url;\n","\t<span class=\"code-keyword\">var</span> HASH = TYPE$<span class=\"code-number\">8.</span>Hash;\n","\t<span class=\"code-keyword\">var</span> PERCENTAGE = TYPE$<span class=\"code-number\">8.</span>Percentage;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">2</span> = TYPE$<span class=\"code-number\">8.</span><span class=\"code-built_in\">Number</span>;\n","\t<span class=\"code-keyword\">var</span> NUMBERSIGN$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x0023</span>; <span class=\"code-comment\">// U+0023 NUMBER SIGN (#)</span>\n","\t<span class=\"code-keyword\">var</span> NULL = <span class=\"code-number\">0</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createParseContext</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>[name]();\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">processConfig</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> parserConfig = {\n","\t context: {},\n","\t scope: {},\n","\t atrule: {},\n","\t pseudo: {}\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (config.parseContext) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.parseContext) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">typeof</span> config.parseContext[name]) {\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'function'</span>:\n","\t parserConfig.context[name] = config.parseContext[name];\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-string\">'string'</span>:\n","\t parserConfig.context[name] = createParseContext(config.parseContext[name]);\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.scope) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.scope) {\n","\t parserConfig.scope[name] = config.scope[name];\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.atrule) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.atrule) {\n","\t <span class=\"code-keyword\">var</span> atrule = config.atrule[name];\n","\n","\t <span class=\"code-keyword\">if</span> (atrule.parse) {\n","\t parserConfig.atrule[name] = atrule.parse;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.pseudo) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.pseudo) {\n","\t <span class=\"code-keyword\">var</span> pseudo = config.pseudo[name];\n","\n","\t <span class=\"code-keyword\">if</span> (pseudo.parse) {\n","\t parserConfig.pseudo[name] = pseudo.parse;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (config.node) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.node) {\n","\t parserConfig[name] = config.node[name].parse;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> parserConfig;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createParser</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> parser = {\n","\t scanner: <span class=\"code-keyword\">new</span> TokenStream_1(),\n","\t locationMap: <span class=\"code-keyword\">new</span> OffsetToLocation_1(),\n","\n","\t filename: <span class=\"code-string\">'<unknown>'</span>,\n","\t needPositions: <span class=\"code-literal\">false</span>,\n","\t onParseError: noop$<span class=\"code-number\">3</span>,\n","\t onParseErrorThrow: <span class=\"code-literal\">false</span>,\n","\t parseAtrulePrelude: <span class=\"code-literal\">true</span>,\n","\t parseRulePrelude: <span class=\"code-literal\">true</span>,\n","\t parseValue: <span class=\"code-literal\">true</span>,\n","\t parseCustomProperty: <span class=\"code-literal\">false</span>,\n","\n","\t readSequence: sequence,\n","\n","\t createList: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> List_1();\n","\t },\n","\t createSingleNodeList: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> List_1().appendData(node);\n","\t },\n","\t getFirstListNode: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> list && list.first();\n","\t },\n","\t getLastListNode: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> list.last();\n","\t },\n","\n","\t parseWithFallback: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">consumer, fallback</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> startToken = <span class=\"code-keyword\">this</span>.scanner.tokenIndex;\n","\n","\t <span class=\"code-keyword\">try</span> {\n","\t <span class=\"code-keyword\">return</span> consumer.call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">catch</span> (e) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.onParseErrorThrow) {\n","\t <span class=\"code-keyword\">throw</span> e;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> fallbackNode = fallback.call(<span class=\"code-keyword\">this</span>, startToken);\n","\n","\t <span class=\"code-keyword\">this</span>.onParseErrorThrow = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">this</span>.onParseError(e, fallbackNode);\n","\t <span class=\"code-keyword\">this</span>.onParseErrorThrow = <span class=\"code-literal\">false</span>;\n","\n","\t <span class=\"code-keyword\">return</span> fallbackNode;\n","\t }\n","\t },\n","\n","\t lookupNonWSType: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">offset</span>) </span>{\n","\t <span class=\"code-keyword\">do</span> {\n","\t <span class=\"code-keyword\">var</span> type = <span class=\"code-keyword\">this</span>.scanner.lookupType(offset++);\n","\t <span class=\"code-keyword\">if</span> (type !== WHITESPACE$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">return</span> type;\n","\t }\n","\t } <span class=\"code-keyword\">while</span> (type !== NULL);\n","\n","\t <span class=\"code-keyword\">return</span> NULL;\n","\t },\n","\n","\t eat: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">tokenType</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== tokenType) {\n","\t <span class=\"code-keyword\">var</span> offset = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> message = NAME$<span class=\"code-number\">2</span>[tokenType] + <span class=\"code-string\">' is expected'</span>;\n","\n","\t <span class=\"code-comment\">// tweak message and offset</span>\n","\t <span class=\"code-keyword\">switch</span> (tokenType) {\n","\t <span class=\"code-keyword\">case</span> IDENT$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-comment\">// when identifier is expected but there is a function or url</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === FUNCTION || <span class=\"code-keyword\">this</span>.scanner.tokenType === URL$<span class=\"code-number\">1</span>) {\n","\t offset = <span class=\"code-keyword\">this</span>.scanner.tokenEnd - <span class=\"code-number\">1</span>;\n","\t message = <span class=\"code-string\">'Identifier is expected but function found'</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t message = <span class=\"code-string\">'Identifier is expected'</span>;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> HASH:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(NUMBERSIGN$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t offset++;\n","\t message = <span class=\"code-string\">'Name is expected'</span>;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> PERCENTAGE:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === NUMBER$<span class=\"code-number\">2</span>) {\n","\t offset = <span class=\"code-keyword\">this</span>.scanner.tokenEnd;\n","\t message = <span class=\"code-string\">'Percent sign is expected'</span>;\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-comment\">// when test type is part of another token show error for current position + 1</span>\n","\t <span class=\"code-comment\">// e.g. eat(HYPHENMINUS) will fail on \"-foo\", but pointing on \"-\" is odd</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart) === tokenType) {\n","\t offset = offset + <span class=\"code-number\">1</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.error(message, offset);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t },\n","\n","\t consume: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">tokenType</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> value = <span class=\"code-keyword\">this</span>.scanner.getTokenValue();\n","\n","\t <span class=\"code-keyword\">this</span>.eat(tokenType);\n","\n","\t <span class=\"code-keyword\">return</span> value;\n","\t },\n","\t consumeFunctionName: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> name = <span class=\"code-keyword\">this</span>.scanner.source.substring(<span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd - <span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">this</span>.eat(FUNCTION);\n","\n","\t <span class=\"code-keyword\">return</span> name;\n","\t },\n","\n","\t getLocation: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">start, end</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.needPositions) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.locationMap.getLocationRange(\n","\t start,\n","\t end,\n","\t <span class=\"code-keyword\">this</span>.filename\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t },\n","\t getLocationFromList: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.needPositions) {\n","\t <span class=\"code-keyword\">var</span> head = <span class=\"code-keyword\">this</span>.getFirstListNode(list);\n","\t <span class=\"code-keyword\">var</span> tail = <span class=\"code-keyword\">this</span>.getLastListNode(list);\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.locationMap.getLocationRange(\n","\t head !== <span class=\"code-literal\">null</span> ? head.loc.start.offset - <span class=\"code-keyword\">this</span>.locationMap.startOffset : <span class=\"code-keyword\">this</span>.scanner.tokenStart,\n","\t tail !== <span class=\"code-literal\">null</span> ? tail.loc.end.offset - <span class=\"code-keyword\">this</span>.locationMap.startOffset : <span class=\"code-keyword\">this</span>.scanner.tokenStart,\n","\t <span class=\"code-keyword\">this</span>.filename\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t },\n","\n","\t error: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">message, offset</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> location = <span class=\"code-keyword\">typeof</span> offset !== <span class=\"code-string\">'undefined'</span> && offset < <span class=\"code-keyword\">this</span>.scanner.source.length\n","\t ? <span class=\"code-keyword\">this</span>.locationMap.getLocation(offset)\n","\t : <span class=\"code-keyword\">this</span>.scanner.eof\n","\t ? <span class=\"code-keyword\">this</span>.locationMap.getLocation(findWhiteSpaceStart$<span class=\"code-number\">1</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.source.length - <span class=\"code-number\">1</span>))\n","\t : <span class=\"code-keyword\">this</span>.locationMap.getLocation(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> _SyntaxError(\n","\t message || <span class=\"code-string\">'Unexpected input'</span>,\n","\t <span class=\"code-keyword\">this</span>.scanner.source,\n","\t location.offset,\n","\t location.line,\n","\t location.column\n","\t );\n","\t }\n","\t };\n","\n","\t config = processConfig(config || {});\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> config) {\n","\t parser[key] = config[key];\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">source, options</span>) </span>{\n","\t options = options || {};\n","\n","\t <span class=\"code-keyword\">var</span> context = options.context || <span class=\"code-string\">'default'</span>;\n","\t <span class=\"code-keyword\">var</span> ast;\n","\n","\t tokenizer(source, parser.scanner);\n","\t parser.locationMap.setSource(\n","\t source,\n","\t options.offset,\n","\t options.line,\n","\t options.column\n","\t );\n","\n","\t parser.filename = options.filename || <span class=\"code-string\">'<unknown>'</span>;\n","\t parser.needPositions = <span class=\"code-built_in\">Boolean</span>(options.positions);\n","\t parser.onParseError = <span class=\"code-keyword\">typeof</span> options.onParseError === <span class=\"code-string\">'function'</span> ? options.onParseError : noop$<span class=\"code-number\">3</span>;\n","\t parser.onParseErrorThrow = <span class=\"code-literal\">false</span>;\n","\t parser.parseAtrulePrelude = <span class=\"code-string\">'parseAtrulePrelude'</span> <span class=\"code-keyword\">in</span> options ? <span class=\"code-built_in\">Boolean</span>(options.parseAtrulePrelude) : <span class=\"code-literal\">true</span>;\n","\t parser.parseRulePrelude = <span class=\"code-string\">'parseRulePrelude'</span> <span class=\"code-keyword\">in</span> options ? <span class=\"code-built_in\">Boolean</span>(options.parseRulePrelude) : <span class=\"code-literal\">true</span>;\n","\t parser.parseValue = <span class=\"code-string\">'parseValue'</span> <span class=\"code-keyword\">in</span> options ? <span class=\"code-built_in\">Boolean</span>(options.parseValue) : <span class=\"code-literal\">true</span>;\n","\t parser.parseCustomProperty = <span class=\"code-string\">'parseCustomProperty'</span> <span class=\"code-keyword\">in</span> options ? <span class=\"code-built_in\">Boolean</span>(options.parseCustomProperty) : <span class=\"code-literal\">false</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (!parser.context.hasOwnProperty(context)) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown context `'</span> + context + <span class=\"code-string\">'`'</span>);\n","\t }\n","\n","\t ast = parser.context[context].call(parser, options);\n","\n","\t <span class=\"code-keyword\">if</span> (!parser.scanner.eof) {\n","\t parser.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> ast;\n","\t };\n","\t};\n","\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2011 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\t<span class=\"code-keyword\">var</span> intToCharMap = <span class=\"code-string\">'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'</span>.split(<span class=\"code-string\">''</span>);\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-keyword\">var</span> encode = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">number</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-number\">0</span> <= number && number < intToCharMap.length) {\n","\t <span class=\"code-keyword\">return</span> intToCharMap[number];\n","\t }\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(<span class=\"code-string\">\"Must be between 0 and 63: \"</span> + number);\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Decode a single base 64 character code digit to an integer. Returns -1 on\n</span>","<span class=\"code-comment\">\t * failure.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-keyword\">var</span> decode = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">charCode</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> bigA = <span class=\"code-number\">65</span>; <span class=\"code-comment\">// 'A'</span>\n","\t <span class=\"code-keyword\">var</span> bigZ = <span class=\"code-number\">90</span>; <span class=\"code-comment\">// 'Z'</span>\n","\n","\t <span class=\"code-keyword\">var</span> littleA = <span class=\"code-number\">97</span>; <span class=\"code-comment\">// 'a'</span>\n","\t <span class=\"code-keyword\">var</span> littleZ = <span class=\"code-number\">122</span>; <span class=\"code-comment\">// 'z'</span>\n","\n","\t <span class=\"code-keyword\">var</span> zero = <span class=\"code-number\">48</span>; <span class=\"code-comment\">// '0'</span>\n","\t <span class=\"code-keyword\">var</span> nine = <span class=\"code-number\">57</span>; <span class=\"code-comment\">// '9'</span>\n","\n","\t <span class=\"code-keyword\">var</span> plus = <span class=\"code-number\">43</span>; <span class=\"code-comment\">// '+'</span>\n","\t <span class=\"code-keyword\">var</span> slash = <span class=\"code-number\">47</span>; <span class=\"code-comment\">// '/'</span>\n","\n","\t <span class=\"code-keyword\">var</span> littleOffset = <span class=\"code-number\">26</span>;\n","\t <span class=\"code-keyword\">var</span> numberOffset = <span class=\"code-number\">52</span>;\n","\n","\t <span class=\"code-comment\">// 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ</span>\n","\t <span class=\"code-keyword\">if</span> (bigA <= charCode && charCode <= bigZ) {\n","\t <span class=\"code-keyword\">return</span> (charCode - bigA);\n","\t }\n","\n","\t <span class=\"code-comment\">// 26 - 51: abcdefghijklmnopqrstuvwxyz</span>\n","\t <span class=\"code-keyword\">if</span> (littleA <= charCode && charCode <= littleZ) {\n","\t <span class=\"code-keyword\">return</span> (charCode - littleA + littleOffset);\n","\t }\n","\n","\t <span class=\"code-comment\">// 52 - 61: 0123456789</span>\n","\t <span class=\"code-keyword\">if</span> (zero <= charCode && charCode <= nine) {\n","\t <span class=\"code-keyword\">return</span> (charCode - zero + numberOffset);\n","\t }\n","\n","\t <span class=\"code-comment\">// 62: +</span>\n","\t <span class=\"code-keyword\">if</span> (charCode == plus) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">62</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// 63: /</span>\n","\t <span class=\"code-keyword\">if</span> (charCode == slash) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">63</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// Invalid base64 digit.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> base64 = {\n","\t\tencode: encode,\n","\t\tdecode: decode\n","\t};\n","\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2011 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Based on the Base 64 VLQ implementation in Closure Compiler:\n</span>","<span class=\"code-comment\">\t * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n</span>","<span class=\"code-comment\">\t * Redistribution and use in source and binary forms, with or without\n</span>","<span class=\"code-comment\">\t * modification, are permitted provided that the following conditions are\n</span>","<span class=\"code-comment\">\t * met:\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * * Redistributions of source code must retain the above copyright\n</span>","<span class=\"code-comment\">\t * notice, this list of conditions and the following disclaimer.\n</span>","<span class=\"code-comment\">\t * * Redistributions in binary form must reproduce the above\n</span>","<span class=\"code-comment\">\t * copyright notice, this list of conditions and the following\n</span>","<span class=\"code-comment\">\t * disclaimer in the documentation and/or other materials provided\n</span>","<span class=\"code-comment\">\t * with the distribution.\n</span>","<span class=\"code-comment\">\t * * Neither the name of Google Inc. nor the names of its\n</span>","<span class=\"code-comment\">\t * contributors may be used to endorse or promote products derived\n</span>","<span class=\"code-comment\">\t * from this software without specific prior written permission.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n</span>","<span class=\"code-comment\">\t * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n</span>","<span class=\"code-comment\">\t * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n</span>","<span class=\"code-comment\">\t * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n</span>","<span class=\"code-comment\">\t * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n</span>","<span class=\"code-comment\">\t * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n</span>","<span class=\"code-comment\">\t * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n</span>","<span class=\"code-comment\">\t * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n</span>","<span class=\"code-comment\">\t * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n</span>","<span class=\"code-comment\">\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n</span>","<span class=\"code-comment\">\t * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\n","\n","\t<span class=\"code-comment\">// A single base 64 digit can contain 6 bits of data. For the base 64 variable</span>\n","\t<span class=\"code-comment\">// length quantities we use in the source map spec, the first bit is the sign,</span>\n","\t<span class=\"code-comment\">// the next four bits are the actual value, and the 6th bit is the</span>\n","\t<span class=\"code-comment\">// continuation bit. The continuation bit tells us whether there are more</span>\n","\t<span class=\"code-comment\">// digits in this value following this digit.</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// Continuation</span>\n","\t<span class=\"code-comment\">// | Sign</span>\n","\t<span class=\"code-comment\">// | |</span>\n","\t<span class=\"code-comment\">// V V</span>\n","\t<span class=\"code-comment\">// 101011</span>\n","\n","\t<span class=\"code-keyword\">var</span> VLQ_BASE_SHIFT = <span class=\"code-number\">5</span>;\n","\n","\t<span class=\"code-comment\">// binary: 100000</span>\n","\t<span class=\"code-keyword\">var</span> VLQ_BASE = <span class=\"code-number\">1</span> << VLQ_BASE_SHIFT;\n","\n","\t<span class=\"code-comment\">// binary: 011111</span>\n","\t<span class=\"code-keyword\">var</span> VLQ_BASE_MASK = VLQ_BASE - <span class=\"code-number\">1</span>;\n","\n","\t<span class=\"code-comment\">// binary: 100000</span>\n","\t<span class=\"code-keyword\">var</span> VLQ_CONTINUATION_BIT = VLQ_BASE;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Converts from a two-complement value to a value where the sign bit is\n</span>","<span class=\"code-comment\">\t * placed in the least significant bit. For example, as decimals:\n</span>","<span class=\"code-comment\">\t * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n</span>","<span class=\"code-comment\">\t * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">toVLQSigned</span>(<span class=\"code-params\">aValue</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> aValue < <span class=\"code-number\">0</span>\n","\t ? ((-aValue) << <span class=\"code-number\">1</span>) + <span class=\"code-number\">1</span>\n","\t : (aValue << <span class=\"code-number\">1</span>) + <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Converts to a two-complement value from a value where the sign bit is\n</span>","<span class=\"code-comment\">\t * placed in the least significant bit. For example, as decimals:\n</span>","<span class=\"code-comment\">\t * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n</span>","<span class=\"code-comment\">\t * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">fromVLQSigned</span>(<span class=\"code-params\">aValue</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> isNegative = (aValue & <span class=\"code-number\">1</span>) === <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> shifted = aValue >> <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">return</span> isNegative\n","\t ? -shifted\n","\t : shifted;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Returns the base 64 VLQ encoded value.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-keyword\">var</span> encode$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">base64VLQ_encode</span>(<span class=\"code-params\">aValue</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> encoded = <span class=\"code-string\">\"\"</span>;\n","\t <span class=\"code-keyword\">var</span> digit;\n","\n","\t <span class=\"code-keyword\">var</span> vlq = toVLQSigned(aValue);\n","\n","\t <span class=\"code-keyword\">do</span> {\n","\t digit = vlq & VLQ_BASE_MASK;\n","\t vlq >>>= VLQ_BASE_SHIFT;\n","\t <span class=\"code-keyword\">if</span> (vlq > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-comment\">// There are still more digits in this value, so we must make sure the</span>\n","\t <span class=\"code-comment\">// continuation bit is marked.</span>\n","\t digit |= VLQ_CONTINUATION_BIT;\n","\t }\n","\t encoded += base64.encode(digit);\n","\t } <span class=\"code-keyword\">while</span> (vlq > <span class=\"code-number\">0</span>);\n","\n","\t <span class=\"code-keyword\">return</span> encoded;\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Decodes the next base 64 VLQ value from the given string and returns the\n</span>","<span class=\"code-comment\">\t * value and the rest of the string via the out parameter.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-keyword\">var</span> decode$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">base64VLQ_decode</span>(<span class=\"code-params\">aStr, aIndex, aOutParam</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> strLen = aStr.length;\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> shift = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> continuation, digit;\n","\n","\t <span class=\"code-keyword\">do</span> {\n","\t <span class=\"code-keyword\">if</span> (aIndex >= strLen) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">\"Expected more digits in base 64 VLQ value.\"</span>);\n","\t }\n","\n","\t digit = base64.decode(aStr.charCodeAt(aIndex++));\n","\t <span class=\"code-keyword\">if</span> (digit === <span class=\"code-number\">-1</span>) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">\"Invalid base64 digit: \"</span> + aStr.charAt(aIndex - <span class=\"code-number\">1</span>));\n","\t }\n","\n","\t continuation = !!(digit & VLQ_CONTINUATION_BIT);\n","\t digit &= VLQ_BASE_MASK;\n","\t result = result + (digit << shift);\n","\t shift += VLQ_BASE_SHIFT;\n","\t } <span class=\"code-keyword\">while</span> (continuation);\n","\n","\t aOutParam.value = fromVLQSigned(result);\n","\t aOutParam.rest = aIndex;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> base64Vlq = {\n","\t\tencode: encode$<span class=\"code-number\">1</span>,\n","\t\tdecode: decode$<span class=\"code-number\">1</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> util = createCommonjsModule(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">module, exports</span>) </span>{\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2011 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * This is a helper function for getting values from parameter/options\n</span>","<span class=\"code-comment\">\t * objects.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param args The object we are extracting values from\n</span>","<span class=\"code-comment\">\t * @param name The name of the property we are getting.\n</span>","<span class=\"code-comment\">\t * @param defaultValue An optional value to return if the property is missing\n</span>","<span class=\"code-comment\">\t * from the object. If this is not specified and the property is missing, an\n</span>","<span class=\"code-comment\">\t * error will be thrown.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getArg</span>(<span class=\"code-params\">aArgs, aName, aDefaultValue</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (aName <span class=\"code-keyword\">in</span> aArgs) {\n","\t <span class=\"code-keyword\">return</span> aArgs[aName];\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">arguments</span>.length === <span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">return</span> aDefaultValue;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'\"'</span> + aName + <span class=\"code-string\">'\" is a required argument.'</span>);\n","\t }\n","\t}\n","\texports.getArg = getArg;\n","\n","\t<span class=\"code-keyword\">var</span> urlRegexp = <span class=\"code-regexp\">/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/</span>;\n","\t<span class=\"code-keyword\">var</span> dataUrlRegexp = <span class=\"code-regexp\">/^data:.+\\,.+$/</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">urlParse</span>(<span class=\"code-params\">aUrl</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> match = aUrl.match(urlRegexp);\n","\t <span class=\"code-keyword\">if</span> (!match) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\t <span class=\"code-keyword\">return</span> {\n","\t scheme: match[<span class=\"code-number\">1</span>],\n","\t auth: match[<span class=\"code-number\">2</span>],\n","\t host: match[<span class=\"code-number\">3</span>],\n","\t port: match[<span class=\"code-number\">4</span>],\n","\t path: match[<span class=\"code-number\">5</span>]\n","\t };\n","\t}\n","\texports.urlParse = urlParse;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">urlGenerate</span>(<span class=\"code-params\">aParsedUrl</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> url = <span class=\"code-string\">''</span>;\n","\t <span class=\"code-keyword\">if</span> (aParsedUrl.scheme) {\n","\t url += aParsedUrl.scheme + <span class=\"code-string\">':'</span>;\n","\t }\n","\t url += <span class=\"code-string\">'//'</span>;\n","\t <span class=\"code-keyword\">if</span> (aParsedUrl.auth) {\n","\t url += aParsedUrl.auth + <span class=\"code-string\">'@'</span>;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (aParsedUrl.host) {\n","\t url += aParsedUrl.host;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (aParsedUrl.port) {\n","\t url += <span class=\"code-string\">\":\"</span> + aParsedUrl.port;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (aParsedUrl.path) {\n","\t url += aParsedUrl.path;\n","\t }\n","\t <span class=\"code-keyword\">return</span> url;\n","\t}\n","\texports.urlGenerate = urlGenerate;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Normalizes a path, or the path portion of a URL:\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * - Replaces consecutive slashes with one slash.\n</span>","<span class=\"code-comment\">\t * - Removes unnecessary '.' parts.\n</span>","<span class=\"code-comment\">\t * - Removes unnecessary '<dir>/..' parts.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Based on code in the Node.js 'path' core module.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param aPath The path or url to normalize.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">normalize</span>(<span class=\"code-params\">aPath</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> path = aPath;\n","\t <span class=\"code-keyword\">var</span> url = urlParse(aPath);\n","\t <span class=\"code-keyword\">if</span> (url) {\n","\t <span class=\"code-keyword\">if</span> (!url.path) {\n","\t <span class=\"code-keyword\">return</span> aPath;\n","\t }\n","\t path = url.path;\n","\t }\n","\t <span class=\"code-keyword\">var</span> isAbsolute = exports.isAbsolute(path);\n","\n","\t <span class=\"code-keyword\">var</span> parts = path.split(<span class=\"code-regexp\">/\\/+/</span>);\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> part, up = <span class=\"code-number\">0</span>, i = parts.length - <span class=\"code-number\">1</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t part = parts[i];\n","\t <span class=\"code-keyword\">if</span> (part === <span class=\"code-string\">'.'</span>) {\n","\t parts.splice(i, <span class=\"code-number\">1</span>);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (part === <span class=\"code-string\">'..'</span>) {\n","\t up++;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (up > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">if</span> (part === <span class=\"code-string\">''</span>) {\n","\t <span class=\"code-comment\">// The first part is blank if the path is absolute. Trying to go</span>\n","\t <span class=\"code-comment\">// above the root is a no-op. Therefore we can remove all '..' parts</span>\n","\t <span class=\"code-comment\">// directly after the root.</span>\n","\t parts.splice(i + <span class=\"code-number\">1</span>, up);\n","\t up = <span class=\"code-number\">0</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t parts.splice(i, <span class=\"code-number\">2</span>);\n","\t up--;\n","\t }\n","\t }\n","\t }\n","\t path = parts.join(<span class=\"code-string\">'/'</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (path === <span class=\"code-string\">''</span>) {\n","\t path = isAbsolute ? <span class=\"code-string\">'/'</span> : <span class=\"code-string\">'.'</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (url) {\n","\t url.path = path;\n","\t <span class=\"code-keyword\">return</span> urlGenerate(url);\n","\t }\n","\t <span class=\"code-keyword\">return</span> path;\n","\t}\n","\texports.normalize = normalize;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Joins two paths/URLs.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param aRoot The root path or URL.\n</span>","<span class=\"code-comment\">\t * @param aPath The path or URL to be joined with the root.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n</span>","<span class=\"code-comment\">\t * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n</span>","<span class=\"code-comment\">\t * first.\n</span>","<span class=\"code-comment\">\t * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n</span>","<span class=\"code-comment\">\t * is updated with the result and aRoot is returned. Otherwise the result\n</span>","<span class=\"code-comment\">\t * is returned.\n</span>","<span class=\"code-comment\">\t * - If aPath is absolute, the result is aPath.\n</span>","<span class=\"code-comment\">\t * - Otherwise the two paths are joined with a slash.\n</span>","<span class=\"code-comment\">\t * - Joining for example 'http://' and 'www.example.com' is also supported.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">join</span>(<span class=\"code-params\">aRoot, aPath</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (aRoot === <span class=\"code-string\">\"\"</span>) {\n","\t aRoot = <span class=\"code-string\">\".\"</span>;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (aPath === <span class=\"code-string\">\"\"</span>) {\n","\t aPath = <span class=\"code-string\">\".\"</span>;\n","\t }\n","\t <span class=\"code-keyword\">var</span> aPathUrl = urlParse(aPath);\n","\t <span class=\"code-keyword\">var</span> aRootUrl = urlParse(aRoot);\n","\t <span class=\"code-keyword\">if</span> (aRootUrl) {\n","\t aRoot = aRootUrl.path || <span class=\"code-string\">'/'</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// `join(foo, '//www.example.org')`</span>\n","\t <span class=\"code-keyword\">if</span> (aPathUrl && !aPathUrl.scheme) {\n","\t <span class=\"code-keyword\">if</span> (aRootUrl) {\n","\t aPathUrl.scheme = aRootUrl.scheme;\n","\t }\n","\t <span class=\"code-keyword\">return</span> urlGenerate(aPathUrl);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aPathUrl || aPath.match(dataUrlRegexp)) {\n","\t <span class=\"code-keyword\">return</span> aPath;\n","\t }\n","\n","\t <span class=\"code-comment\">// `join('http://', 'www.example.com')`</span>\n","\t <span class=\"code-keyword\">if</span> (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n","\t aRootUrl.host = aPath;\n","\t <span class=\"code-keyword\">return</span> urlGenerate(aRootUrl);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> joined = aPath.charAt(<span class=\"code-number\">0</span>) === <span class=\"code-string\">'/'</span>\n","\t ? aPath\n","\t : normalize(aRoot.replace(<span class=\"code-regexp\">/\\/+$/</span>, <span class=\"code-string\">''</span>) + <span class=\"code-string\">'/'</span> + aPath);\n","\n","\t <span class=\"code-keyword\">if</span> (aRootUrl) {\n","\t aRootUrl.path = joined;\n","\t <span class=\"code-keyword\">return</span> urlGenerate(aRootUrl);\n","\t }\n","\t <span class=\"code-keyword\">return</span> joined;\n","\t}\n","\texports.join = join;\n","\n","\texports.isAbsolute = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">aPath</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> aPath.charAt(<span class=\"code-number\">0</span>) === <span class=\"code-string\">'/'</span> || urlRegexp.test(aPath);\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Make a path relative to a URL or another path.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param aRoot The root path or URL.\n</span>","<span class=\"code-comment\">\t * @param aPath The path or URL to be made relative to aRoot.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">relative</span>(<span class=\"code-params\">aRoot, aPath</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (aRoot === <span class=\"code-string\">\"\"</span>) {\n","\t aRoot = <span class=\"code-string\">\".\"</span>;\n","\t }\n","\n","\t aRoot = aRoot.replace(<span class=\"code-regexp\">/\\/$/</span>, <span class=\"code-string\">''</span>);\n","\n","\t <span class=\"code-comment\">// It is possible for the path to be above the root. In this case, simply</span>\n","\t <span class=\"code-comment\">// checking whether the root is a prefix of the path won't work. Instead, we</span>\n","\t <span class=\"code-comment\">// need to remove components from the root one by one, until either we find</span>\n","\t <span class=\"code-comment\">// a prefix that fits, or we run out of components to remove.</span>\n","\t <span class=\"code-keyword\">var</span> level = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">while</span> (aPath.indexOf(aRoot + <span class=\"code-string\">'/'</span>) !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">var</span> index = aRoot.lastIndexOf(<span class=\"code-string\">\"/\"</span>);\n","\t <span class=\"code-keyword\">if</span> (index < <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> aPath;\n","\t }\n","\n","\t <span class=\"code-comment\">// If the only part of the root that is left is the scheme (i.e. http://,</span>\n","\t <span class=\"code-comment\">// file:///, etc.), one or more slashes (/), or simply nothing at all, we</span>\n","\t <span class=\"code-comment\">// have exhausted all components, so the path is not relative to the root.</span>\n","\t aRoot = aRoot.slice(<span class=\"code-number\">0</span>, index);\n","\t <span class=\"code-keyword\">if</span> (aRoot.match(<span class=\"code-regexp\">/^([^\\/]+:\\/)?\\/*$/</span>)) {\n","\t <span class=\"code-keyword\">return</span> aPath;\n","\t }\n","\n","\t ++level;\n","\t }\n","\n","\t <span class=\"code-comment\">// Make sure we add a \"../\" for each component we removed from the root.</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Array</span>(level + <span class=\"code-number\">1</span>).join(<span class=\"code-string\">\"../\"</span>) + aPath.substr(aRoot.length + <span class=\"code-number\">1</span>);\n","\t}\n","\texports.relative = relative;\n","\n","\t<span class=\"code-keyword\">var</span> supportsNullProto = (<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> obj = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t <span class=\"code-keyword\">return</span> !(<span class=\"code-string\">'__proto__'</span> <span class=\"code-keyword\">in</span> obj);\n","\t}());\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">identity</span> (<span class=\"code-params\">s</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> s;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Because behavior goes wacky when you set `__proto__` on objects, we\n</span>","<span class=\"code-comment\">\t * have to prefix all the strings in our set with an arbitrary character.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * See https://github.com/mozilla/source-map/pull/31 and\n</span>","<span class=\"code-comment\">\t * https://github.com/mozilla/source-map/issues/30\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param String aStr\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">toSetString</span>(<span class=\"code-params\">aStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (isProtoString(aStr)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-string\">'$'</span> + aStr;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> aStr;\n","\t}\n","\texports.toSetString = supportsNullProto ? identity : toSetString;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">fromSetString</span>(<span class=\"code-params\">aStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (isProtoString(aStr)) {\n","\t <span class=\"code-keyword\">return</span> aStr.slice(<span class=\"code-number\">1</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> aStr;\n","\t}\n","\texports.fromSetString = supportsNullProto ? identity : fromSetString;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isProtoString</span>(<span class=\"code-params\">s</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!s) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> length = s.length;\n","\n","\t <span class=\"code-keyword\">if</span> (length < <span class=\"code-number\">9</span> <span class=\"code-comment\">/* \"__proto__\".length */</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (s.charCodeAt(length - <span class=\"code-number\">1</span>) !== <span class=\"code-number\">95</span> <span class=\"code-comment\">/* '_' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">2</span>) !== <span class=\"code-number\">95</span> <span class=\"code-comment\">/* '_' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">3</span>) !== <span class=\"code-number\">111</span> <span class=\"code-comment\">/* 'o' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">4</span>) !== <span class=\"code-number\">116</span> <span class=\"code-comment\">/* 't' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">5</span>) !== <span class=\"code-number\">111</span> <span class=\"code-comment\">/* 'o' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">6</span>) !== <span class=\"code-number\">114</span> <span class=\"code-comment\">/* 'r' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">7</span>) !== <span class=\"code-number\">112</span> <span class=\"code-comment\">/* 'p' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">8</span>) !== <span class=\"code-number\">95</span> <span class=\"code-comment\">/* '_' */</span> ||\n","\t s.charCodeAt(length - <span class=\"code-number\">9</span>) !== <span class=\"code-number\">95</span> <span class=\"code-comment\">/* '_' */</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = length - <span class=\"code-number\">10</span>; i >= <span class=\"code-number\">0</span>; i--) {\n","\t <span class=\"code-keyword\">if</span> (s.charCodeAt(i) !== <span class=\"code-number\">36</span> <span class=\"code-comment\">/* '$' */</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Comparator between two mappings where the original positions are compared.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n</span>","<span class=\"code-comment\">\t * mappings with the same original source/line/column, but different generated\n</span>","<span class=\"code-comment\">\t * line and column the same. Useful when searching for a mapping with a\n</span>","<span class=\"code-comment\">\t * stubbed out mapping.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">compareByOriginalPositions</span>(<span class=\"code-params\">mappingA, mappingB, onlyCompareOriginal</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cmp = strcmp(mappingA.source, mappingB.source);\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalLine - mappingB.originalLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span> || onlyCompareOriginal) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.generatedLine - mappingB.generatedLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> strcmp(mappingA.name, mappingB.name);\n","\t}\n","\texports.compareByOriginalPositions = compareByOriginalPositions;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Comparator between two mappings with deflated source and name indices where\n</span>","<span class=\"code-comment\">\t * the generated positions are compared.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n</span>","<span class=\"code-comment\">\t * mappings with the same generated line and column, but different\n</span>","<span class=\"code-comment\">\t * source/name/original line and column the same. Useful when searching for a\n</span>","<span class=\"code-comment\">\t * mapping with a stubbed out mapping.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">compareByGeneratedPositionsDeflated</span>(<span class=\"code-params\">mappingA, mappingB, onlyCompareGenerated</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cmp = mappingA.generatedLine - mappingB.generatedLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span> || onlyCompareGenerated) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = strcmp(mappingA.source, mappingB.source);\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalLine - mappingB.originalLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> strcmp(mappingA.name, mappingB.name);\n","\t}\n","\texports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">strcmp</span>(<span class=\"code-params\">aStr1, aStr2</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (aStr1 === aStr2) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aStr1 === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>; <span class=\"code-comment\">// aStr2 !== null</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aStr2 === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>; <span class=\"code-comment\">// aStr1 !== null</span>\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aStr1 > aStr2) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Comparator between two mappings with inflated source and name strings where\n</span>","<span class=\"code-comment\">\t * the generated positions are compared.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">compareByGeneratedPositionsInflated</span>(<span class=\"code-params\">mappingA, mappingB</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> cmp = mappingA.generatedLine - mappingB.generatedLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = strcmp(mappingA.source, mappingB.source);\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalLine - mappingB.originalLine;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n","\t <span class=\"code-keyword\">if</span> (cmp !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> cmp;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> strcmp(mappingA.name, mappingB.name);\n","\t}\n","\texports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Strip any JSON XSSI avoidance prefix from the string (as documented\n</span>","<span class=\"code-comment\">\t * in the source maps specification), and then parse the string as\n</span>","<span class=\"code-comment\">\t * JSON.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">parseSourceMapInput</span>(<span class=\"code-params\">str</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">JSON</span>.parse(str.replace(<span class=\"code-regexp\">/^\\)]}'[^\\n]*\\n/</span>, <span class=\"code-string\">''</span>));\n","\t}\n","\texports.parseSourceMapInput = parseSourceMapInput;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Compute the URL of a source given the the source root, the source's\n</span>","<span class=\"code-comment\">\t * URL, and the source map's URL.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">computeSourceURL</span>(<span class=\"code-params\">sourceRoot, sourceURL, sourceMapURL</span>) </span>{\n","\t sourceURL = sourceURL || <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (sourceRoot) {\n","\t <span class=\"code-comment\">// This follows what Chrome does.</span>\n","\t <span class=\"code-keyword\">if</span> (sourceRoot[sourceRoot.length - <span class=\"code-number\">1</span>] !== <span class=\"code-string\">'/'</span> && sourceURL[<span class=\"code-number\">0</span>] !== <span class=\"code-string\">'/'</span>) {\n","\t sourceRoot += <span class=\"code-string\">'/'</span>;\n","\t }\n","\t <span class=\"code-comment\">// The spec says:</span>\n","\t <span class=\"code-comment\">// Line 4: An optional source root, useful for relocating source</span>\n","\t <span class=\"code-comment\">// files on a server or removing repeated values in the</span>\n","\t <span class=\"code-comment\">// \u201Csources\u201D entry. This value is prepended to the individual</span>\n","\t <span class=\"code-comment\">// entries in the \u201Csource\u201D field.</span>\n","\t sourceURL = sourceRoot + sourceURL;\n","\t }\n","\n","\t <span class=\"code-comment\">// Historically, SourceMapConsumer did not take the sourceMapURL as</span>\n","\t <span class=\"code-comment\">// a parameter. This mode is still somewhat supported, which is why</span>\n","\t <span class=\"code-comment\">// this code block is conditional. However, it's preferable to pass</span>\n","\t <span class=\"code-comment\">// the source map URL to SourceMapConsumer, so that this function</span>\n","\t <span class=\"code-comment\">// can implement the source URL resolution algorithm as outlined in</span>\n","\t <span class=\"code-comment\">// the spec. This block is basically the equivalent of:</span>\n","\t <span class=\"code-comment\">// new URL(sourceURL, sourceMapURL).toString()</span>\n","\t <span class=\"code-comment\">// ... except it avoids using URL, which wasn't available in the</span>\n","\t <span class=\"code-comment\">// older releases of node still supported by this library.</span>\n","\t <span class=\"code-comment\">//</span>\n","\t <span class=\"code-comment\">// The spec says:</span>\n","\t <span class=\"code-comment\">// If the sources are not absolute URLs after prepending of the</span>\n","\t <span class=\"code-comment\">// \u201CsourceRoot\u201D, the sources are resolved relative to the</span>\n","\t <span class=\"code-comment\">// SourceMap (like resolving script src in a html document).</span>\n","\t <span class=\"code-keyword\">if</span> (sourceMapURL) {\n","\t <span class=\"code-keyword\">var</span> parsed = urlParse(sourceMapURL);\n","\t <span class=\"code-keyword\">if</span> (!parsed) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">\"sourceMapURL could not be parsed\"</span>);\n","\t }\n","\t <span class=\"code-keyword\">if</span> (parsed.path) {\n","\t <span class=\"code-comment\">// Strip the last path component, but keep the \"/\".</span>\n","\t <span class=\"code-keyword\">var</span> index = parsed.path.lastIndexOf(<span class=\"code-string\">'/'</span>);\n","\t <span class=\"code-keyword\">if</span> (index >= <span class=\"code-number\">0</span>) {\n","\t parsed.path = parsed.path.substring(<span class=\"code-number\">0</span>, index + <span class=\"code-number\">1</span>);\n","\t }\n","\t }\n","\t sourceURL = join(urlGenerate(parsed), sourceURL);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> normalize(sourceURL);\n","\t}\n","\texports.computeSourceURL = computeSourceURL;\n","\t});\n","\t<span class=\"code-keyword\">var</span> util_1 = util.getArg;\n","\t<span class=\"code-keyword\">var</span> util_2 = util.urlParse;\n","\t<span class=\"code-keyword\">var</span> util_3 = util.urlGenerate;\n","\t<span class=\"code-keyword\">var</span> util_4 = util.normalize;\n","\t<span class=\"code-keyword\">var</span> util_5 = util.join;\n","\t<span class=\"code-keyword\">var</span> util_6 = util.isAbsolute;\n","\t<span class=\"code-keyword\">var</span> util_7 = util.relative;\n","\t<span class=\"code-keyword\">var</span> util_8 = util.toSetString;\n","\t<span class=\"code-keyword\">var</span> util_9 = util.fromSetString;\n","\t<span class=\"code-keyword\">var</span> util_10 = util.compareByOriginalPositions;\n","\t<span class=\"code-keyword\">var</span> util_11 = util.compareByGeneratedPositionsDeflated;\n","\t<span class=\"code-keyword\">var</span> util_12 = util.compareByGeneratedPositionsInflated;\n","\t<span class=\"code-keyword\">var</span> util_13 = util.parseSourceMapInput;\n","\t<span class=\"code-keyword\">var</span> util_14 = util.computeSourceURL;\n","\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2011 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\n","\t<span class=\"code-keyword\">var</span> has = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\t<span class=\"code-keyword\">var</span> hasNativeMap = <span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Map</span> !== <span class=\"code-string\">\"undefined\"</span>;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * A data structure which is a combination of an array and a set. Adding a new\n</span>","<span class=\"code-comment\">\t * member is O(1), testing for membership is O(1), and finding the index of an\n</span>","<span class=\"code-comment\">\t * element is O(1). Removing elements from the set is not supported. Only\n</span>","<span class=\"code-comment\">\t * strings are supported for membership.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>._array = [];\n","\t <span class=\"code-keyword\">this</span>._set = hasNativeMap ? <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Map</span>() : <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Static method for creating ArraySet instances from an existing array.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.fromArray = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_fromArray</span>(<span class=\"code-params\">aArray, aAllowDuplicates</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> <span class=\"code-keyword\">set</span> = new ArraySet();\n","\t for (var i = 0, len = aArray.length; i < len; i++) {\n","\t <span class=\"code-keyword\">set</span>.add(aArray[i], aAllowDuplicates);\n","\t }\n","\t return <span class=\"code-keyword\">set</span>;\n","\t};\n","\n","\t/**\n","\t * Return how many unique items are in this ArraySet. If duplicates have been\n","\t * added, than those do not count towards the size.\n","\t *\n","\t * @returns Number\n","\t */\n","\tArraySet.prototype.size = function ArraySet_size() {\n","\t <span class=\"code-keyword\">return</span> hasNativeMap ? <span class=\"code-keyword\">this</span>._set.size : <span class=\"code-built_in\">Object</span>.getOwnPropertyNames(<span class=\"code-keyword\">this</span>._set).length;\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Add the given string to this set.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param String aStr\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.prototype.add = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_add</span>(<span class=\"code-params\">aStr, aAllowDuplicates</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n","\t <span class=\"code-keyword\">var</span> isDuplicate = hasNativeMap ? <span class=\"code-keyword\">this</span>.has(aStr) : has.call(<span class=\"code-keyword\">this</span>._set, sStr);\n","\t <span class=\"code-keyword\">var</span> idx = <span class=\"code-keyword\">this</span>._array.length;\n","\t <span class=\"code-keyword\">if</span> (!isDuplicate || aAllowDuplicates) {\n","\t <span class=\"code-keyword\">this</span>._array.push(aStr);\n","\t }\n","\t <span class=\"code-keyword\">if</span> (!isDuplicate) {\n","\t <span class=\"code-keyword\">if</span> (hasNativeMap) {\n","\t <span class=\"code-keyword\">this</span>._set.set(aStr, idx);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>._set[sStr] = idx;\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Is the given string a member of this set?\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param String aStr\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.prototype.has = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_has</span>(<span class=\"code-params\">aStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (hasNativeMap) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._set.has(aStr);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">var</span> sStr = util.toSetString(aStr);\n","\t <span class=\"code-keyword\">return</span> has.call(<span class=\"code-keyword\">this</span>._set, sStr);\n","\t }\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * What is the index of the given string in the array?\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param String aStr\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.prototype.indexOf = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_indexOf</span>(<span class=\"code-params\">aStr</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (hasNativeMap) {\n","\t <span class=\"code-keyword\">var</span> idx = <span class=\"code-keyword\">this</span>._set.get(aStr);\n","\t <span class=\"code-keyword\">if</span> (idx >= <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">return</span> idx;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">var</span> sStr = util.toSetString(aStr);\n","\t <span class=\"code-keyword\">if</span> (has.call(<span class=\"code-keyword\">this</span>._set, sStr)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._set[sStr];\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'\"'</span> + aStr + <span class=\"code-string\">'\" is not in the set.'</span>);\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * What is the element at the given index?\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param Number aIdx\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.prototype.at = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_at</span>(<span class=\"code-params\">aIdx</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (aIdx >= <span class=\"code-number\">0</span> && aIdx < <span class=\"code-keyword\">this</span>._array.length) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._array[aIdx];\n","\t }\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'No element indexed by '</span> + aIdx);\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Returns the array representation of this set (which has the proper indices\n</span>","<span class=\"code-comment\">\t * indicated by indexOf). Note that this is a copy of the internal array used\n</span>","<span class=\"code-comment\">\t * for storing the members so that no one can mess with internal state.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tArraySet.prototype.toArray = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ArraySet_toArray</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._array.slice();\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> ArraySet_1 = ArraySet;\n","\n","\t<span class=\"code-keyword\">var</span> arraySet = {\n","\t\tArraySet: ArraySet_1\n","\t};\n","\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2014 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Determine whether mappingB is after mappingA with respect to generated\n</span>","<span class=\"code-comment\">\t * position.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generatedPositionAfter</span>(<span class=\"code-params\">mappingA, mappingB</span>) </span>{\n","\t <span class=\"code-comment\">// Optimized for most common case</span>\n","\t <span class=\"code-keyword\">var</span> lineA = mappingA.generatedLine;\n","\t <span class=\"code-keyword\">var</span> lineB = mappingB.generatedLine;\n","\t <span class=\"code-keyword\">var</span> columnA = mappingA.generatedColumn;\n","\t <span class=\"code-keyword\">var</span> columnB = mappingB.generatedColumn;\n","\t <span class=\"code-keyword\">return</span> lineB > lineA || lineB == lineA && columnB >= columnA ||\n","\t util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * A data structure to provide a sorted view of accumulated mappings in a\n</span>","<span class=\"code-comment\">\t * performance conscious manner. It trades a neglibable overhead in general\n</span>","<span class=\"code-comment\">\t * case for a large speedup in case of mappings being added in order.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">MappingList</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>._array = [];\n","\t <span class=\"code-keyword\">this</span>._sorted = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-comment\">// Serves as infimum</span>\n","\t <span class=\"code-keyword\">this</span>._last = {<span class=\"code-attr\">generatedLine</span>: <span class=\"code-number\">-1</span>, <span class=\"code-attr\">generatedColumn</span>: <span class=\"code-number\">0</span>};\n","\t}\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Iterate through internal items. This method takes the same arguments that\n</span>","<span class=\"code-comment\">\t * `Array.prototype.forEach` takes.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * <span class=\"code-doctag\">NOTE:</span> The order of the mappings is NOT guaranteed.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tMappingList.prototype.unsortedForEach =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">MappingList_forEach</span>(<span class=\"code-params\">aCallback, aThisArg</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>._array.forEach(aCallback, aThisArg);\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Add the given source mapping.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param Object aMapping\n</span>","<span class=\"code-comment\">\t */</span>\n","\tMappingList.prototype.add = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">MappingList_add</span>(<span class=\"code-params\">aMapping</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (generatedPositionAfter(<span class=\"code-keyword\">this</span>._last, aMapping)) {\n","\t <span class=\"code-keyword\">this</span>._last = aMapping;\n","\t <span class=\"code-keyword\">this</span>._array.push(aMapping);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>._sorted = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">this</span>._array.push(aMapping);\n","\t }\n","\t};\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Returns the flat, sorted array of mappings. The mappings are sorted by\n</span>","<span class=\"code-comment\">\t * generated position.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * WARNING: This method returns internal data without copying, for\n</span>","<span class=\"code-comment\">\t * performance. The return value must NOT be mutated, and should be treated as\n</span>","<span class=\"code-comment\">\t * an immutable borrow. If you want to take ownership, you must make your own\n</span>","<span class=\"code-comment\">\t * copy.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tMappingList.prototype.toArray = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">MappingList_toArray</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._sorted) {\n","\t <span class=\"code-keyword\">this</span>._array.sort(util.compareByGeneratedPositionsInflated);\n","\t <span class=\"code-keyword\">this</span>._sorted = <span class=\"code-literal\">true</span>;\n","\t }\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._array;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> MappingList_1 = MappingList;\n","\n","\t<span class=\"code-keyword\">var</span> mappingList = {\n","\t\tMappingList: MappingList_1\n","\t};\n","\n","\t<span class=\"code-comment\">/* -*- Mode: js; js-indent-level: 2; -*- */</span>\n","\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t * Copyright 2011 Mozilla Foundation and contributors\n</span>","<span class=\"code-comment\">\t * Licensed under the New BSD license. See LICENSE or:\n</span>","<span class=\"code-comment\">\t * http://opensource.org/licenses/BSD-3-Clause\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\n","\n","\t<span class=\"code-keyword\">var</span> ArraySet$<span class=\"code-number\">1</span> = arraySet.ArraySet;\n","\t<span class=\"code-keyword\">var</span> MappingList$<span class=\"code-number\">1</span> = mappingList.MappingList;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * An instance of the SourceMapGenerator represents a source map which is\n</span>","<span class=\"code-comment\">\t * being built incrementally. You may pass an object with the following\n</span>","<span class=\"code-comment\">\t * properties:\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * - file: The filename of the generated source.\n</span>","<span class=\"code-comment\">\t * - sourceRoot: A root for all relative URLs in this source map.\n</span>","<span class=\"code-comment\">\t */</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator</span>(<span class=\"code-params\">aArgs</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!aArgs) {\n","\t aArgs = {};\n","\t }\n","\t <span class=\"code-keyword\">this</span>._file = util.getArg(aArgs, <span class=\"code-string\">'file'</span>, <span class=\"code-literal\">null</span>);\n","\t <span class=\"code-keyword\">this</span>._sourceRoot = util.getArg(aArgs, <span class=\"code-string\">'sourceRoot'</span>, <span class=\"code-literal\">null</span>);\n","\t <span class=\"code-keyword\">this</span>._skipValidation = util.getArg(aArgs, <span class=\"code-string\">'skipValidation'</span>, <span class=\"code-literal\">false</span>);\n","\t <span class=\"code-keyword\">this</span>._sources = <span class=\"code-keyword\">new</span> ArraySet$<span class=\"code-number\">1</span>();\n","\t <span class=\"code-keyword\">this</span>._names = <span class=\"code-keyword\">new</span> ArraySet$<span class=\"code-number\">1</span>();\n","\t <span class=\"code-keyword\">this</span>._mappings = <span class=\"code-keyword\">new</span> MappingList$<span class=\"code-number\">1</span>();\n","\t <span class=\"code-keyword\">this</span>._sourcesContents = <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\tSourceMapGenerator.prototype._version = <span class=\"code-number\">3</span>;\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Creates a new SourceMapGenerator based on a SourceMapConsumer\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param aSourceMapConsumer The SourceMap.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.fromSourceMap =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_fromSourceMap</span>(<span class=\"code-params\">aSourceMapConsumer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sourceRoot = aSourceMapConsumer.sourceRoot;\n","\t <span class=\"code-keyword\">var</span> generator = <span class=\"code-keyword\">new</span> SourceMapGenerator({\n","\t file: aSourceMapConsumer.file,\n","\t sourceRoot: sourceRoot\n","\t });\n","\t aSourceMapConsumer.eachMapping(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">mapping</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> newMapping = {\n","\t generated: {\n","\t line: mapping.generatedLine,\n","\t column: mapping.generatedColumn\n","\t }\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (mapping.source != <span class=\"code-literal\">null</span>) {\n","\t newMapping.source = mapping.source;\n","\t <span class=\"code-keyword\">if</span> (sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t newMapping.source = util.relative(sourceRoot, newMapping.source);\n","\t }\n","\n","\t newMapping.original = {\n","\t line: mapping.originalLine,\n","\t column: mapping.originalColumn\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (mapping.name != <span class=\"code-literal\">null</span>) {\n","\t newMapping.name = mapping.name;\n","\t }\n","\t }\n","\n","\t generator.addMapping(newMapping);\n","\t });\n","\t aSourceMapConsumer.sources.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">sourceFile</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sourceRelative = sourceFile;\n","\t <span class=\"code-keyword\">if</span> (sourceRoot !== <span class=\"code-literal\">null</span>) {\n","\t sourceRelative = util.relative(sourceRoot, sourceFile);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!generator._sources.has(sourceRelative)) {\n","\t generator._sources.add(sourceRelative);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> content = aSourceMapConsumer.sourceContentFor(sourceFile);\n","\t <span class=\"code-keyword\">if</span> (content != <span class=\"code-literal\">null</span>) {\n","\t generator.setSourceContent(sourceFile, content);\n","\t }\n","\t });\n","\t <span class=\"code-keyword\">return</span> generator;\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Add a single mapping from original source line and column to the generated\n</span>","<span class=\"code-comment\">\t * source's line and column for this source map being created. The mapping\n</span>","<span class=\"code-comment\">\t * object should have the following properties:\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * - generated: An object with the generated line and column positions.\n</span>","<span class=\"code-comment\">\t * - original: An object with the original line and column positions.\n</span>","<span class=\"code-comment\">\t * - source: The original source file (relative to the sourceRoot).\n</span>","<span class=\"code-comment\">\t * - name: An optional original token name for this mapping.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype.addMapping =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_addMapping</span>(<span class=\"code-params\">aArgs</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> generated = util.getArg(aArgs, <span class=\"code-string\">'generated'</span>);\n","\t <span class=\"code-keyword\">var</span> original = util.getArg(aArgs, <span class=\"code-string\">'original'</span>, <span class=\"code-literal\">null</span>);\n","\t <span class=\"code-keyword\">var</span> source = util.getArg(aArgs, <span class=\"code-string\">'source'</span>, <span class=\"code-literal\">null</span>);\n","\t <span class=\"code-keyword\">var</span> name = util.getArg(aArgs, <span class=\"code-string\">'name'</span>, <span class=\"code-literal\">null</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._skipValidation) {\n","\t <span class=\"code-keyword\">this</span>._validateMapping(generated, original, source, name);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (source != <span class=\"code-literal\">null</span>) {\n","\t source = <span class=\"code-built_in\">String</span>(source);\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._sources.has(source)) {\n","\t <span class=\"code-keyword\">this</span>._sources.add(source);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (name != <span class=\"code-literal\">null</span>) {\n","\t name = <span class=\"code-built_in\">String</span>(name);\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._names.has(name)) {\n","\t <span class=\"code-keyword\">this</span>._names.add(name);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>._mappings.add({\n","\t generatedLine: generated.line,\n","\t generatedColumn: generated.column,\n","\t originalLine: original != <span class=\"code-literal\">null</span> && original.line,\n","\t originalColumn: original != <span class=\"code-literal\">null</span> && original.column,\n","\t source: source,\n","\t name: name\n","\t });\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Set the source content for a source file.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype.setSourceContent =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_setSourceContent</span>(<span class=\"code-params\">aSourceFile, aSourceContent</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> source = aSourceFile;\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>._sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t source = util.relative(<span class=\"code-keyword\">this</span>._sourceRoot, source);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aSourceContent != <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// Add the source content to the _sourcesContents map.</span>\n","\t <span class=\"code-comment\">// Create a new _sourcesContents map if the property is null.</span>\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._sourcesContents) {\n","\t <span class=\"code-keyword\">this</span>._sourcesContents = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\t }\n","\t <span class=\"code-keyword\">this</span>._sourcesContents[util.toSetString(source)] = aSourceContent;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>._sourcesContents) {\n","\t <span class=\"code-comment\">// Remove the source file from the _sourcesContents map.</span>\n","\t <span class=\"code-comment\">// If the _sourcesContents map is empty, set the property to null.</span>\n","\t <span class=\"code-keyword\">delete</span> <span class=\"code-keyword\">this</span>._sourcesContents[util.toSetString(source)];\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>._sourcesContents).length === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">this</span>._sourcesContents = <span class=\"code-literal\">null</span>;\n","\t }\n","\t }\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Applies the mappings of a sub-source-map for a specific source file to the\n</span>","<span class=\"code-comment\">\t * source map being generated. Each mapping to the supplied source file is\n</span>","<span class=\"code-comment\">\t * rewritten using the supplied source map. <span class=\"code-doctag\">Note:</span> The resolution for the\n</span>","<span class=\"code-comment\">\t * resulting mappings is the minimium of this map and the supplied map.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * @param aSourceMapConsumer The source map to be applied.\n</span>","<span class=\"code-comment\">\t * @param aSourceFile Optional. The filename of the source file.\n</span>","<span class=\"code-comment\">\t * If omitted, SourceMapConsumer's file property will be used.\n</span>","<span class=\"code-comment\">\t * @param aSourceMapPath Optional. The dirname of the path to the source map\n</span>","<span class=\"code-comment\">\t * to be applied. If relative, it is relative to the SourceMapConsumer.\n</span>","<span class=\"code-comment\">\t * This parameter is needed when the two source maps aren't in the same\n</span>","<span class=\"code-comment\">\t * directory, and the source map to be applied contains relative source\n</span>","<span class=\"code-comment\">\t * paths. If so, those relative source paths need to be rewritten\n</span>","<span class=\"code-comment\">\t * relative to the SourceMapGenerator.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype.applySourceMap =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_applySourceMap</span>(<span class=\"code-params\">aSourceMapConsumer, aSourceFile, aSourceMapPath</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> sourceFile = aSourceFile;\n","\t <span class=\"code-comment\">// If aSourceFile is omitted, we will use the file property of the SourceMap</span>\n","\t <span class=\"code-keyword\">if</span> (aSourceFile == <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">if</span> (aSourceMapConsumer.file == <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(\n","\t <span class=\"code-string\">'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, '</span> +\n","\t <span class=\"code-string\">'or the source map\\'s \"file\" property. Both were omitted.'</span>\n","\t );\n","\t }\n","\t sourceFile = aSourceMapConsumer.file;\n","\t }\n","\t <span class=\"code-keyword\">var</span> sourceRoot = <span class=\"code-keyword\">this</span>._sourceRoot;\n","\t <span class=\"code-comment\">// Make \"sourceFile\" relative if an absolute Url is passed.</span>\n","\t <span class=\"code-keyword\">if</span> (sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t sourceFile = util.relative(sourceRoot, sourceFile);\n","\t }\n","\t <span class=\"code-comment\">// Applying the SourceMap can add and remove items from the sources and</span>\n","\t <span class=\"code-comment\">// the names array.</span>\n","\t <span class=\"code-keyword\">var</span> newSources = <span class=\"code-keyword\">new</span> ArraySet$<span class=\"code-number\">1</span>();\n","\t <span class=\"code-keyword\">var</span> newNames = <span class=\"code-keyword\">new</span> ArraySet$<span class=\"code-number\">1</span>();\n","\n","\t <span class=\"code-comment\">// Find mappings for the \"sourceFile\"</span>\n","\t <span class=\"code-keyword\">this</span>._mappings.unsortedForEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">mapping</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (mapping.source === sourceFile && mapping.originalLine != <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// Check if it can be mapped by the source map, then update the mapping.</span>\n","\t <span class=\"code-keyword\">var</span> original = aSourceMapConsumer.originalPositionFor({\n","\t line: mapping.originalLine,\n","\t column: mapping.originalColumn\n","\t });\n","\t <span class=\"code-keyword\">if</span> (original.source != <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-comment\">// Copy mapping</span>\n","\t mapping.source = original.source;\n","\t <span class=\"code-keyword\">if</span> (aSourceMapPath != <span class=\"code-literal\">null</span>) {\n","\t mapping.source = util.join(aSourceMapPath, mapping.source);\n","\t }\n","\t <span class=\"code-keyword\">if</span> (sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t mapping.source = util.relative(sourceRoot, mapping.source);\n","\t }\n","\t mapping.originalLine = original.line;\n","\t mapping.originalColumn = original.column;\n","\t <span class=\"code-keyword\">if</span> (original.name != <span class=\"code-literal\">null</span>) {\n","\t mapping.name = original.name;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> source = mapping.source;\n","\t <span class=\"code-keyword\">if</span> (source != <span class=\"code-literal\">null</span> && !newSources.has(source)) {\n","\t newSources.add(source);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> name = mapping.name;\n","\t <span class=\"code-keyword\">if</span> (name != <span class=\"code-literal\">null</span> && !newNames.has(name)) {\n","\t newNames.add(name);\n","\t }\n","\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">this</span>._sources = newSources;\n","\t <span class=\"code-keyword\">this</span>._names = newNames;\n","\n","\t <span class=\"code-comment\">// Copy sourcesContents of applied map.</span>\n","\t aSourceMapConsumer.sources.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">sourceFile</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> content = aSourceMapConsumer.sourceContentFor(sourceFile);\n","\t <span class=\"code-keyword\">if</span> (content != <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">if</span> (aSourceMapPath != <span class=\"code-literal\">null</span>) {\n","\t sourceFile = util.join(aSourceMapPath, sourceFile);\n","\t }\n","\t <span class=\"code-keyword\">if</span> (sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t sourceFile = util.relative(sourceRoot, sourceFile);\n","\t }\n","\t <span class=\"code-keyword\">this</span>.setSourceContent(sourceFile, content);\n","\t }\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * A mapping can have one of the three levels of data:\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * 1. Just the generated position.\n</span>","<span class=\"code-comment\">\t * 2. The Generated position, original position, and original source.\n</span>","<span class=\"code-comment\">\t * 3. Generated and original position, original source, as well as a name\n</span>","<span class=\"code-comment\">\t * token.\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * To maintain consistency, we validate that any new mapping being added falls\n</span>","<span class=\"code-comment\">\t * in to one of these categories.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype._validateMapping =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_validateMapping</span>(<span class=\"code-params\">aGenerated, aOriginal, aSource,\n</span></span>","<span class=\"code-function\"><span class=\"code-params\">\t aName</span>) </span>{\n","\t <span class=\"code-comment\">// When aOriginal is truthy but has empty values for .line and .column,</span>\n","\t <span class=\"code-comment\">// it is most likely a programmer error. In this case we throw a very</span>\n","\t <span class=\"code-comment\">// specific error message to try to guide them the right way.</span>\n","\t <span class=\"code-comment\">// For example: https://github.com/Polymer/polymer-bundler/pull/519</span>\n","\t <span class=\"code-keyword\">if</span> (aOriginal && <span class=\"code-keyword\">typeof</span> aOriginal.line !== <span class=\"code-string\">'number'</span> && <span class=\"code-keyword\">typeof</span> aOriginal.column !== <span class=\"code-string\">'number'</span>) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(\n","\t <span class=\"code-string\">'original.line and original.column are not numbers -- you probably meant to omit '</span> +\n","\t <span class=\"code-string\">'the original mapping entirely and only map the generated position. If so, pass '</span> +\n","\t <span class=\"code-string\">'null for the original mapping instead of an object with empty or null values.'</span>\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (aGenerated && <span class=\"code-string\">'line'</span> <span class=\"code-keyword\">in</span> aGenerated && <span class=\"code-string\">'column'</span> <span class=\"code-keyword\">in</span> aGenerated\n","\t && aGenerated.line > <span class=\"code-number\">0</span> && aGenerated.column >= <span class=\"code-number\">0</span>\n","\t && !aOriginal && !aSource && !aName) {\n","\t <span class=\"code-comment\">// Case 1.</span>\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (aGenerated && <span class=\"code-string\">'line'</span> <span class=\"code-keyword\">in</span> aGenerated && <span class=\"code-string\">'column'</span> <span class=\"code-keyword\">in</span> aGenerated\n","\t && aOriginal && <span class=\"code-string\">'line'</span> <span class=\"code-keyword\">in</span> aOriginal && <span class=\"code-string\">'column'</span> <span class=\"code-keyword\">in</span> aOriginal\n","\t && aGenerated.line > <span class=\"code-number\">0</span> && aGenerated.column >= <span class=\"code-number\">0</span>\n","\t && aOriginal.line > <span class=\"code-number\">0</span> && aOriginal.column >= <span class=\"code-number\">0</span>\n","\t && aSource) {\n","\t <span class=\"code-comment\">// Cases 2 and 3.</span>\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\t <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Invalid mapping: '</span> + <span class=\"code-built_in\">JSON</span>.stringify({\n","\t generated: aGenerated,\n","\t source: aSource,\n","\t original: aOriginal,\n","\t name: aName\n","\t }));\n","\t }\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Serialize the accumulated mappings in to the stream of base 64 VLQs\n</span>","<span class=\"code-comment\">\t * specified by the source map format.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype._serializeMappings =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_serializeMappings</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> previousGeneratedColumn = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> previousGeneratedLine = <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> previousOriginalColumn = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> previousOriginalLine = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> previousName = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> previousSource = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-string\">''</span>;\n","\t <span class=\"code-keyword\">var</span> next;\n","\t <span class=\"code-keyword\">var</span> mapping;\n","\t <span class=\"code-keyword\">var</span> nameIdx;\n","\t <span class=\"code-keyword\">var</span> sourceIdx;\n","\n","\t <span class=\"code-keyword\">var</span> mappings = <span class=\"code-keyword\">this</span>._mappings.toArray();\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>, len = mappings.length; i < len; i++) {\n","\t mapping = mappings[i];\n","\t next = <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (mapping.generatedLine !== previousGeneratedLine) {\n","\t previousGeneratedColumn = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">while</span> (mapping.generatedLine !== previousGeneratedLine) {\n","\t next += <span class=\"code-string\">';'</span>;\n","\t previousGeneratedLine++;\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (i > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">if</span> (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - <span class=\"code-number\">1</span>])) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\t next += <span class=\"code-string\">','</span>;\n","\t }\n","\t }\n","\n","\t next += base64Vlq.encode(mapping.generatedColumn\n","\t - previousGeneratedColumn);\n","\t previousGeneratedColumn = mapping.generatedColumn;\n","\n","\t <span class=\"code-keyword\">if</span> (mapping.source != <span class=\"code-literal\">null</span>) {\n","\t sourceIdx = <span class=\"code-keyword\">this</span>._sources.indexOf(mapping.source);\n","\t next += base64Vlq.encode(sourceIdx - previousSource);\n","\t previousSource = sourceIdx;\n","\n","\t <span class=\"code-comment\">// lines are stored 0-based in SourceMap spec version 3</span>\n","\t next += base64Vlq.encode(mapping.originalLine - <span class=\"code-number\">1</span>\n","\t - previousOriginalLine);\n","\t previousOriginalLine = mapping.originalLine - <span class=\"code-number\">1</span>;\n","\n","\t next += base64Vlq.encode(mapping.originalColumn\n","\t - previousOriginalColumn);\n","\t previousOriginalColumn = mapping.originalColumn;\n","\n","\t <span class=\"code-keyword\">if</span> (mapping.name != <span class=\"code-literal\">null</span>) {\n","\t nameIdx = <span class=\"code-keyword\">this</span>._names.indexOf(mapping.name);\n","\t next += base64Vlq.encode(nameIdx - previousName);\n","\t previousName = nameIdx;\n","\t }\n","\t }\n","\n","\t result += next;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t };\n","\n","\tSourceMapGenerator.prototype._generateSourcesContent =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_generateSourcesContent</span>(<span class=\"code-params\">aSources, aSourceRoot</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> aSources.map(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">source</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>._sourcesContents) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (aSourceRoot != <span class=\"code-literal\">null</span>) {\n","\t source = util.relative(aSourceRoot, source);\n","\t }\n","\t <span class=\"code-keyword\">var</span> key = util.toSetString(source);\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty.call(<span class=\"code-keyword\">this</span>._sourcesContents, key)\n","\t ? <span class=\"code-keyword\">this</span>._sourcesContents[key]\n","\t : <span class=\"code-literal\">null</span>;\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Externalize the source map.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype.toJSON =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_toJSON</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> map = {\n","\t version: <span class=\"code-keyword\">this</span>._version,\n","\t sources: <span class=\"code-keyword\">this</span>._sources.toArray(),\n","\t names: <span class=\"code-keyword\">this</span>._names.toArray(),\n","\t mappings: <span class=\"code-keyword\">this</span>._serializeMappings()\n","\t };\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>._file != <span class=\"code-literal\">null</span>) {\n","\t map.file = <span class=\"code-keyword\">this</span>._file;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>._sourceRoot != <span class=\"code-literal\">null</span>) {\n","\t map.sourceRoot = <span class=\"code-keyword\">this</span>._sourceRoot;\n","\t }\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>._sourcesContents) {\n","\t map.sourcesContent = <span class=\"code-keyword\">this</span>._generateSourcesContent(map.sources, map.sourceRoot);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> map;\n","\t };\n","\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Render the source map being generated to a string.\n</span>","<span class=\"code-comment\">\t */</span>\n","\tSourceMapGenerator.prototype.toString =\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">SourceMapGenerator_toString</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">JSON</span>.stringify(<span class=\"code-keyword\">this</span>.toJSON());\n","\t };\n","\n","\t<span class=\"code-keyword\">var</span> SourceMapGenerator_1 = SourceMapGenerator;\n","\n","\t<span class=\"code-keyword\">var</span> sourceMapGenerator = {\n","\t\tSourceMapGenerator: SourceMapGenerator_1\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> SourceMapGenerator$<span class=\"code-number\">1</span> = sourceMapGenerator.SourceMapGenerator;\n","\t<span class=\"code-keyword\">var</span> trackNodes = {\n","\t Atrule: <span class=\"code-literal\">true</span>,\n","\t Selector: <span class=\"code-literal\">true</span>,\n","\t Declaration: <span class=\"code-literal\">true</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> sourceMap = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">generateSourceMap</span>(<span class=\"code-params\">handlers</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> map = <span class=\"code-keyword\">new</span> SourceMapGenerator$<span class=\"code-number\">1</span>();\n","\t <span class=\"code-keyword\">var</span> line = <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">var</span> column = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> generated = {\n","\t line: <span class=\"code-number\">1</span>,\n","\t column: <span class=\"code-number\">0</span>\n","\t };\n","\t <span class=\"code-keyword\">var</span> original = {\n","\t line: <span class=\"code-number\">0</span>, <span class=\"code-comment\">// should be zero to add first mapping</span>\n","\t column: <span class=\"code-number\">0</span>\n","\t };\n","\t <span class=\"code-keyword\">var</span> sourceMappingActive = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">var</span> activatedGenerated = {\n","\t line: <span class=\"code-number\">1</span>,\n","\t column: <span class=\"code-number\">0</span>\n","\t };\n","\t <span class=\"code-keyword\">var</span> activatedMapping = {\n","\t generated: activatedGenerated\n","\t };\n","\n","\t <span class=\"code-keyword\">var</span> handlersNode = handlers.node;\n","\t handlers.node = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.loc && node.loc.start && trackNodes.hasOwnProperty(node.type)) {\n","\t <span class=\"code-keyword\">var</span> nodeLine = node.loc.start.line;\n","\t <span class=\"code-keyword\">var</span> nodeColumn = node.loc.start.column - <span class=\"code-number\">1</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (original.line !== nodeLine ||\n","\t original.column !== nodeColumn) {\n","\t original.line = nodeLine;\n","\t original.column = nodeColumn;\n","\n","\t generated.line = line;\n","\t generated.column = column;\n","\n","\t <span class=\"code-keyword\">if</span> (sourceMappingActive) {\n","\t sourceMappingActive = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">if</span> (generated.line !== activatedGenerated.line ||\n","\t generated.column !== activatedGenerated.column) {\n","\t map.addMapping(activatedMapping);\n","\t }\n","\t }\n","\n","\t sourceMappingActive = <span class=\"code-literal\">true</span>;\n","\t map.addMapping({\n","\t source: node.loc.source,\n","\t original: original,\n","\t generated: generated\n","\t });\n","\t }\n","\t }\n","\n","\t handlersNode.call(<span class=\"code-keyword\">this</span>, node);\n","\n","\t <span class=\"code-keyword\">if</span> (sourceMappingActive && trackNodes.hasOwnProperty(node.type)) {\n","\t activatedGenerated.line = line;\n","\t activatedGenerated.column = column;\n","\t }\n","\t };\n","\n","\t <span class=\"code-keyword\">var</span> handlersChunk = handlers.chunk;\n","\t handlers.chunk = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">chunk</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < chunk.length; i++) {\n","\t <span class=\"code-keyword\">if</span> (chunk.charCodeAt(i) === <span class=\"code-number\">10</span>) { <span class=\"code-comment\">// \\n</span>\n","\t line++;\n","\t column = <span class=\"code-number\">0</span>;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t column++;\n","\t }\n","\t }\n","\n","\t handlersChunk(chunk);\n","\t };\n","\n","\t <span class=\"code-keyword\">var</span> handlersResult = handlers.result;\n","\t handlers.result = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (sourceMappingActive) {\n","\t map.addMapping(activatedMapping);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t css: handlersResult(),\n","\t map: map\n","\t };\n","\t };\n","\n","\t <span class=\"code-keyword\">return</span> handlers;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty$<span class=\"code-number\">3</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">processChildren</span>(<span class=\"code-params\">node, delimeter</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> list = node.children;\n","\t <span class=\"code-keyword\">var</span> prev = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> delimeter !== <span class=\"code-string\">'function'</span>) {\n","\t list.forEach(<span class=\"code-keyword\">this</span>.node, <span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t list.forEach(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (prev !== <span class=\"code-literal\">null</span>) {\n","\t delimeter.call(<span class=\"code-keyword\">this</span>, prev);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.node(node);\n","\t prev = node;\n","\t }, <span class=\"code-keyword\">this</span>);\n","\t }\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">2</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createGenerator</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">processNode</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">3.</span>call(types, node.type)) {\n","\t types[node.type].call(<span class=\"code-keyword\">this</span>, node);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Unknown node type: '</span> + node.type);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> types = {};\n","\n","\t <span class=\"code-keyword\">if</span> (config.node) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.node) {\n","\t types[name] = config.node[name].generate;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, options</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> buffer = <span class=\"code-string\">''</span>;\n","\t <span class=\"code-keyword\">var</span> handlers = {\n","\t children: processChildren,\n","\t node: processNode,\n","\t chunk: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">chunk</span>) </span>{\n","\t buffer += chunk;\n","\t },\n","\t result: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> buffer;\n","\t }\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (options) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> options.decorator === <span class=\"code-string\">'function'</span>) {\n","\t handlers = options.decorator(handlers);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (options.sourceMap) {\n","\t handlers = sourceMap(handlers);\n","\t }\n","\t }\n","\n","\t handlers.node(node);\n","\n","\t <span class=\"code-keyword\">return</span> handlers.result();\n","\t };\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">3</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createConvertors</span>(<span class=\"code-params\">walk</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t fromPlainObject: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast</span>) </span>{\n","\t walk(ast, {\n","\t enter: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.children && node.children <span class=\"code-keyword\">instanceof</span> List_1 === <span class=\"code-literal\">false</span>) {\n","\t node.children = <span class=\"code-keyword\">new</span> List_1().fromArray(node.children);\n","\t }\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> ast;\n","\t },\n","\t toPlainObject: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast</span>) </span>{\n","\t walk(ast, {\n","\t leave: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.children && node.children <span class=\"code-keyword\">instanceof</span> List_1) {\n","\t node.children = node.children.toArray();\n","\t }\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> ast;\n","\t }\n","\t };\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty$<span class=\"code-number\">4</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\t<span class=\"code-keyword\">var</span> noop$<span class=\"code-number\">4</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">ensureFunction$1</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">'function'</span> ? value : noop$<span class=\"code-number\">4</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">invokeForType</span>(<span class=\"code-params\">fn, type</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (node.type === type) {\n","\t fn.call(<span class=\"code-keyword\">this</span>, node, item, list);\n","\t }\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getWalkersFromStructure</span>(<span class=\"code-params\">name, nodeType</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> structure = nodeType.structure;\n","\t <span class=\"code-keyword\">var</span> walkers = [];\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> structure) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">4.</span>call(structure, key) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> fieldTypes = structure[key];\n","\t <span class=\"code-keyword\">var</span> walker = {\n","\t name: key,\n","\t type: <span class=\"code-literal\">false</span>,\n","\t nullable: <span class=\"code-literal\">false</span>\n","\t };\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-built_in\">Array</span>.isArray(structure[key])) {\n","\t fieldTypes = [structure[key]];\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < fieldTypes.length; i++) {\n","\t <span class=\"code-keyword\">var</span> fieldType = fieldTypes[i];\n","\t <span class=\"code-keyword\">if</span> (fieldType === <span class=\"code-literal\">null</span>) {\n","\t walker.nullable = <span class=\"code-literal\">true</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> fieldType === <span class=\"code-string\">'string'</span>) {\n","\t walker.type = <span class=\"code-string\">'node'</span>;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(fieldType)) {\n","\t walker.type = <span class=\"code-string\">'list'</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (walker.type) {\n","\t walkers.push(walker);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (walkers.length) {\n","\t <span class=\"code-keyword\">return</span> {\n","\t context: nodeType.walkContext,\n","\t fields: walkers\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getTypesFromConfig</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> types = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> config.node) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">4.</span>call(config.node, name)) {\n","\t <span class=\"code-keyword\">var</span> nodeType = config.node[name];\n","\n","\t <span class=\"code-keyword\">if</span> (!nodeType.structure) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Missed `structure` field in `'</span> + name + <span class=\"code-string\">'` node type definition'</span>);\n","\t }\n","\n","\t types[name] = getWalkersFromStructure(name, nodeType);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> types;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createTypeIterator</span>(<span class=\"code-params\">config, reverse</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> fields = config.fields.slice();\n","\t <span class=\"code-keyword\">var</span> contextName = config.context;\n","\t <span class=\"code-keyword\">var</span> useContext = <span class=\"code-keyword\">typeof</span> contextName === <span class=\"code-string\">'string'</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (reverse) {\n","\t fields.reverse();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, context, walk</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> prevContextValue;\n","\n","\t <span class=\"code-keyword\">if</span> (useContext) {\n","\t prevContextValue = context[contextName];\n","\t context[contextName] = node;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < fields.length; i++) {\n","\t <span class=\"code-keyword\">var</span> field = fields[i];\n","\t <span class=\"code-keyword\">var</span> ref = node[field.name];\n","\n","\t <span class=\"code-keyword\">if</span> (!field.nullable || ref) {\n","\t <span class=\"code-keyword\">if</span> (field.type === <span class=\"code-string\">'list'</span>) {\n","\t <span class=\"code-keyword\">if</span> (reverse) {\n","\t ref.forEachRight(walk);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t ref.forEach(walk);\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t walk(ref);\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (useContext) {\n","\t context[contextName] = prevContextValue;\n","\t }\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createFastTraveralMap</span>(<span class=\"code-params\">iterators</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t Atrule: {\n","\t StyleSheet: iterators.StyleSheet,\n","\t Atrule: iterators.Atrule,\n","\t Rule: iterators.Rule,\n","\t Block: iterators.Block\n","\t },\n","\t Rule: {\n","\t StyleSheet: iterators.StyleSheet,\n","\t Atrule: iterators.Atrule,\n","\t Rule: iterators.Rule,\n","\t Block: iterators.Block\n","\t },\n","\t Declaration: {\n","\t StyleSheet: iterators.StyleSheet,\n","\t Atrule: iterators.Atrule,\n","\t Rule: iterators.Rule,\n","\t Block: iterators.Block,\n","\t DeclarationList: iterators.DeclarationList\n","\t }\n","\t };\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">4</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createWalker</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> types = getTypesFromConfig(config);\n","\t <span class=\"code-keyword\">var</span> iteratorsNatural = {};\n","\t <span class=\"code-keyword\">var</span> iteratorsReverse = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> types) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">4.</span>call(types, name) && types[name] !== <span class=\"code-literal\">null</span>) {\n","\t iteratorsNatural[name] = createTypeIterator(types[name], <span class=\"code-literal\">false</span>);\n","\t iteratorsReverse[name] = createTypeIterator(types[name], <span class=\"code-literal\">true</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural);\n","\t <span class=\"code-keyword\">var</span> fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse);\n","\n","\t <span class=\"code-keyword\">var</span> walk = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">root, options</span>) </span>{\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">walkNode</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t enter.call(context, node, item, list);\n","\n","\t <span class=\"code-keyword\">if</span> (iterators.hasOwnProperty(node.type)) {\n","\t iterators[node.type](node, context, walkNode);\n","\t }\n","\n","\t leave.call(context, node, item, list);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> enter = noop$<span class=\"code-number\">4</span>;\n","\t <span class=\"code-keyword\">var</span> leave = noop$<span class=\"code-number\">4</span>;\n","\t <span class=\"code-keyword\">var</span> iterators = iteratorsNatural;\n","\t <span class=\"code-keyword\">var</span> context = {\n","\t root: root,\n","\t stylesheet: <span class=\"code-literal\">null</span>,\n","\t atrule: <span class=\"code-literal\">null</span>,\n","\t atrulePrelude: <span class=\"code-literal\">null</span>,\n","\t rule: <span class=\"code-literal\">null</span>,\n","\t selector: <span class=\"code-literal\">null</span>,\n","\t block: <span class=\"code-literal\">null</span>,\n","\t declaration: <span class=\"code-literal\">null</span>,\n","\t <span class=\"code-function\"><span class=\"code-keyword\">function</span>: <span class=\"code-title\">null</span>\n</span>","<span class=\"code-function\">\t };\n</span>","<span class=\"code-function\">\n</span>","<span class=\"code-function\">\t <span class=\"code-title\">if</span> (<span class=\"code-params\">typeof options === <span class=\"code-string\">'function'</span></span>) </span>{\n","\t enter = options;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (options) {\n","\t enter = ensureFunction$<span class=\"code-number\">1</span>(options.enter);\n","\t leave = ensureFunction$<span class=\"code-number\">1</span>(options.leave);\n","\n","\t <span class=\"code-keyword\">if</span> (options.reverse) {\n","\t iterators = iteratorsReverse;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (options.visit) {\n","\t <span class=\"code-keyword\">if</span> (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) {\n","\t iterators = options.reverse\n","\t ? fastTraversalIteratorsReverse[options.visit]\n","\t : fastTraversalIteratorsNatural[options.visit];\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!types.hasOwnProperty(options.visit)) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Bad value `'</span> + options.visit + <span class=\"code-string\">'` for `visit` option (should be: '</span> + <span class=\"code-built_in\">Object</span>.keys(types).join(<span class=\"code-string\">', '</span>) + <span class=\"code-string\">')'</span>);\n","\t }\n","\n","\t enter = invokeForType(enter, options.visit);\n","\t leave = invokeForType(leave, options.visit);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (enter === noop$<span class=\"code-number\">4</span> && leave === noop$<span class=\"code-number\">4</span>) {\n","\t <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Error</span>(<span class=\"code-string\">'Neither `enter` nor `leave` walker handler is set or both aren\\'t a function'</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// swap handlers in reverse mode to invert visit order</span>\n","\t <span class=\"code-keyword\">if</span> (options.reverse) {\n","\t <span class=\"code-keyword\">var</span> tmp = enter;\n","\t enter = leave;\n","\t leave = tmp;\n","\t }\n","\n","\t walkNode(root);\n","\t };\n","\n","\t walk.find = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast, fn</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> found = <span class=\"code-literal\">null</span>;\n","\n","\t walk(ast, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (found === <span class=\"code-literal\">null</span> && fn.call(<span class=\"code-keyword\">this</span>, node, item, list)) {\n","\t found = node;\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> found;\n","\t };\n","\n","\t walk.findLast = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast, fn</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> found = <span class=\"code-literal\">null</span>;\n","\n","\t walk(ast, {\n","\t reverse: <span class=\"code-literal\">true</span>,\n","\t enter: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (found === <span class=\"code-literal\">null</span> && fn.call(<span class=\"code-keyword\">this</span>, node, item, list)) {\n","\t found = node;\n","\t }\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> found;\n","\t };\n","\n","\t walk.findAll = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">ast, fn</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> found = [];\n","\n","\t walk(ast, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node, item, list</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (fn.call(<span class=\"code-keyword\">this</span>, node, item, list)) {\n","\t found.push(node);\n","\t }\n","\t });\n","\n","\t <span class=\"code-keyword\">return</span> found;\n","\t };\n","\n","\t <span class=\"code-keyword\">return</span> walk;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> clone = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">clone</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> node) {\n","\t <span class=\"code-keyword\">var</span> value = node[key];\n","\n","\t <span class=\"code-keyword\">if</span> (value) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(value) || value <span class=\"code-keyword\">instanceof</span> List_1) {\n","\t value = value.map(clone);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (value.constructor === <span class=\"code-built_in\">Object</span>) {\n","\t value = clone(value);\n","\t }\n","\t }\n","\n","\t result[key] = value;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> hasOwnProperty$<span class=\"code-number\">5</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty;\n","\t<span class=\"code-keyword\">var</span> shape = {\n","\t generic: <span class=\"code-literal\">true</span>,\n","\t types: {},\n","\t atrules: {},\n","\t properties: {},\n","\t parseContext: {},\n","\t scope: {},\n","\t atrule: [<span class=\"code-string\">'parse'</span>],\n","\t pseudo: [<span class=\"code-string\">'parse'</span>],\n","\t node: [<span class=\"code-string\">'name'</span>, <span class=\"code-string\">'structure'</span>, <span class=\"code-string\">'parse'</span>, <span class=\"code-string\">'generate'</span>, <span class=\"code-string\">'walkContext'</span>]\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isObject</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> value && value.constructor === <span class=\"code-built_in\">Object</span>;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">copy</span>(<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (isObject(value)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Object</span>.assign({}, value);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> value;\n","\t }\n","\t}\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">extend</span>(<span class=\"code-params\">dest, src</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> src) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">5.</span>call(src, key)) {\n","\t <span class=\"code-keyword\">if</span> (isObject(dest[key])) {\n","\t extend(dest[key], copy(src[key]));\n","\t } <span class=\"code-keyword\">else</span> {\n","\t dest[key] = copy(src[key]);\n","\t }\n","\t }\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">mix</span>(<span class=\"code-params\">dest, src, shape</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> shape) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">5.</span>call(shape, key) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (shape[key] === <span class=\"code-literal\">true</span>) {\n","\t <span class=\"code-keyword\">if</span> (key <span class=\"code-keyword\">in</span> src) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">5.</span>call(src, key)) {\n","\t dest[key] = copy(src[key]);\n","\t }\n","\t }\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (shape[key]) {\n","\t <span class=\"code-keyword\">if</span> (isObject(shape[key])) {\n","\t <span class=\"code-keyword\">var</span> res = {};\n","\t extend(res, dest[key]);\n","\t extend(res, src[key]);\n","\t dest[key] = res;\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(shape[key])) {\n","\t <span class=\"code-keyword\">var</span> res = {};\n","\t <span class=\"code-keyword\">var</span> innerShape = shape[key].reduce(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">s, k</span>) </span>{\n","\t s[k] = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">return</span> s;\n","\t }, {});\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> dest[key]) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">5.</span>call(dest[key], name)) {\n","\t res[name] = {};\n","\t <span class=\"code-keyword\">if</span> (dest[key] && dest[key][name]) {\n","\t mix(res[name], dest[key][name], innerShape);\n","\t }\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> name <span class=\"code-keyword\">in</span> src[key]) {\n","\t <span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">5.</span>call(src[key], name)) {\n","\t <span class=\"code-keyword\">if</span> (!res[name]) {\n","\t res[name] = {};\n","\t }\n","\t <span class=\"code-keyword\">if</span> (src[key] && src[key][name]) {\n","\t mix(res[name], src[key][name], innerShape);\n","\t }\n","\t }\n","\t }\n","\t dest[key] = res;\n","\t }\n","\t }\n","\t }\n","\t <span class=\"code-keyword\">return</span> dest;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> mix_1 = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">dest, src</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> mix(dest, src, shape);\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">createSyntax</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> parse = create$<span class=\"code-number\">1</span>(config);\n","\t <span class=\"code-keyword\">var</span> walk = create$<span class=\"code-number\">4</span>(config);\n","\t <span class=\"code-keyword\">var</span> generate = create$<span class=\"code-number\">2</span>(config);\n","\t <span class=\"code-keyword\">var</span> convert = create$<span class=\"code-number\">3</span>(walk);\n","\n","\t <span class=\"code-keyword\">var</span> syntax = {\n","\t List: List_1,\n","\t <span class=\"code-built_in\">SyntaxError</span>: _SyntaxError,\n","\t TokenStream: TokenStream_1,\n","\t Lexer: Lexer_1,\n","\n","\t vendorPrefix: names.vendorPrefix,\n","\t keyword: names.keyword,\n","\t property: names.property,\n","\t isCustomProperty: names.isCustomProperty,\n","\n","\t definitionSyntax: definitionSyntax,\n","\t lexer: <span class=\"code-literal\">null</span>,\n","\t createLexer: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> Lexer_1(config, syntax, syntax.lexer.structure);\n","\t },\n","\n","\t tokenize: tokenizer,\n","\t parse: parse,\n","\t walk: walk,\n","\t generate: generate,\n","\n","\t find: walk.find,\n","\t findLast: walk.findLast,\n","\t findAll: walk.findAll,\n","\n","\t clone: clone,\n","\t fromPlainObject: convert.fromPlainObject,\n","\t toPlainObject: convert.toPlainObject,\n","\n","\t createSyntax: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> createSyntax(mix_1({}, config));\n","\t },\n","\t fork: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">extension</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> base = mix_1({}, config); <span class=\"code-comment\">// copy of config</span>\n","\t <span class=\"code-keyword\">return</span> createSyntax(\n","\t <span class=\"code-keyword\">typeof</span> extension === <span class=\"code-string\">'function'</span>\n","\t ? extension(base, <span class=\"code-built_in\">Object</span>.assign)\n","\t : mix_1(base, extension)\n","\t );\n","\t }\n","\t };\n","\n","\t syntax.lexer = <span class=\"code-keyword\">new</span> Lexer_1({\n","\t generic: <span class=\"code-literal\">true</span>,\n","\t types: config.types,\n","\t atrules: config.atrules,\n","\t properties: config.properties,\n","\t node: config.node\n","\t }, syntax);\n","\n","\t <span class=\"code-keyword\">return</span> syntax;\n","\t}\n","\t<span class=\"code-keyword\">var</span> create_1 = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">config</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> createSyntax(mix_1({}, config));\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">5</span> = {\n","\t\tcreate: create_1\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> atRules = {\n","\t\t<span class=\"code-string\">\"@charset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@charset \\\"<charset>\\\";\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Charsets\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@charset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@counter-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@counter-style <counter-style-name> {\\n [ system: <counter-system>; ] ||\\n [ symbols: <counter-symbols>; ] ||\\n [ additive-symbols: <additive-symbols>; ] ||\\n [ negative: <negative-symbol>; ] ||\\n [ prefix: <prefix>; ] ||\\n [ suffix: <suffix>; ] ||\\n [ range: <range>; ] ||\\n [ pad: <padding>; ] ||\\n [ speak-as: <speak-as>; ] ||\\n [ fallback: <counter-style-name>; ]\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSCounterStyleRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Counter Styles\"</span>\n","\t\t],\n","\t\tdescriptors: {\n","\t\t\t<span class=\"code-string\">\"additive-symbols\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"[ <integer> && <symbol> ]#\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"N/A\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tfallback: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<counter-style-name>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"decimal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tnegative: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<symbol> <symbol>?\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"\\\"-\\\" hyphen-minus\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tpad: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<integer> && <symbol>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"0 \\\"\\\"\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tprefix: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<symbol>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"\\\"\\\"\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\trange: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"[ [ <integer> | infinite ]{2} ]# | auto\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"speak-as\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | bullets | numbers | words | spell-out | <counter-style-name>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tsuffix: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<symbol>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"\\\". \\\"\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tsymbols: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<symbol>+\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"N/A\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tsystem: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"symbolic\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t}\n","\t\t},\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@counter-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@document\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\\n <group-rule-body>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSGroupingRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSConditionRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Conditional Rules\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@document\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@font-face\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@font-face {\\n [ font-family: <family-name>; ] ||\\n [ src: <src>; ] ||\\n [ unicode-range: <unicode-range>; ] ||\\n [ font-variant: <font-variant>; ] ||\\n [ font-feature-settings: <font-feature-settings>; ] ||\\n [ font-variation-settings: <font-variation-settings>; ] ||\\n [ font-stretch: <font-stretch>; ] ||\\n [ font-weight: <font-weight>; ] ||\\n [ font-style: <font-style>; ]\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSFontFaceRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tdescriptors: {\n","\t\t\t<span class=\"code-string\">\"font-display\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"[ auto | block | swap | fallback | optional ]\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-family\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<family-name>\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"n/a (required)\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-feature-settings\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"normal | <feature-tag-value>#\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-variation-settings\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"normal | [ <string> <number> ]#\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-stretch\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<font-stretch-absolute>{1,2}\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-style\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"normal | italic | oblique <angle>{0,2}\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-weight\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<font-weight-absolute>{1,2}\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"font-variant\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tsrc: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"n/a (required)\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"unicode-range\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<unicode-range>#\"</span>,\n","\t\t\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\t\t\tinitial: <span class=\"code-string\">\"U+0-10FFFF\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t}\n","\t\t},\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@font-face\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@font-feature-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@font-feature-values <family-name># {\\n <feature-value-block-list>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSFontFeatureValuesRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@import\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@import [ <string> | <url> ] [ <media-query-list> ]?;\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Media Queries\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@import\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@keyframes\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@keyframes <keyframes-name> {\\n <keyframe-block-list>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSKeyframeRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSKeyframesRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@keyframes\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@media\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@media <media-query-list> {\\n <group-rule-body>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSGroupingRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSConditionRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSMediaRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSCustomMediaRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Conditional Rules\"</span>,\n","\t\t\t<span class=\"code-string\">\"Media Queries\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@media\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@namespace\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@namespace <namespace-prefix>? [ <string> | <url> ];\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Namespaces\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@namespace\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@page\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@page <page-selector-list> {\\n <page-body>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSPageRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Pages\"</span>\n","\t\t],\n","\t\tdescriptors: {\n","\t\t\tbleed: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | <length>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"paged\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t\t\t},\n","\t\t\tmarks: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"none | [ crop || cross ]\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"paged\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t\t\t}\n","\t\t},\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@page\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@supports\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@supports <supports-condition> {\\n <group-rule-body>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSGroupingRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSConditionRule\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSSSupportsRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Conditional Rules\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@supports\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"@viewport\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@viewport {\\n <group-rule-body>\\n}\"</span>,\n","\t\tinterfaces: [\n","\t\t\t<span class=\"code-string\">\"CSSViewportRule\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Device Adaptation\"</span>\n","\t\t],\n","\t\tdescriptors: {\n","\t\t\theight: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>{1,2}\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-height\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-height\"</span>\n","\t\t\t\t],\n","\t\t\t\tpercentages: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-height\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-height\"</span>\n","\t\t\t\t],\n","\t\t\t\tcomputed: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-height\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-height\"</span>\n","\t\t\t\t],\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"max-height\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToHeightOfInitialViewport\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"max-width\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToWidthOfInitialViewport\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"max-zoom\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | <number> | <percentage>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"the zoom factor itself\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"autoNonNegativeOrPercentage\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"min-height\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToHeightOfInitialViewport\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"min-width\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToWidthOfInitialViewport\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"min-zoom\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | <number> | <percentage>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"the zoom factor itself\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"autoNonNegativeOrPercentage\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\torientation: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | portrait | landscape\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\t<span class=\"code-string\">\"user-zoom\"</span>: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"zoom | fixed\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"zoom\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\twidth: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"<viewport-length>{1,2}\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-width\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-width\"</span>\n","\t\t\t\t],\n","\t\t\t\tpercentages: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-width\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-width\"</span>\n","\t\t\t\t],\n","\t\t\t\tcomputed: [\n","\t\t\t\t\t<span class=\"code-string\">\"min-width\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"max-width\"</span>\n","\t\t\t\t],\n","\t\t\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t},\n","\t\t\tzoom: {\n","\t\t\t\tsyntax: <span class=\"code-string\">\"auto | <number> | <percentage>\"</span>,\n","\t\t\t\tmedia: [\n","\t\t\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t\t\t<span class=\"code-string\">\"continuous\"</span>\n","\t\t\t\t],\n","\t\t\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\t\t\tpercentages: <span class=\"code-string\">\"the zoom factor itself\"</span>,\n","\t\t\t\tcomputed: <span class=\"code-string\">\"autoNonNegativeOrPercentage\"</span>,\n","\t\t\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\t\t\tstatus: <span class=\"code-string\">\"standard\"</span>\n","\t\t\t}\n","\t\t},\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/@viewport\"</span>\n","\t}\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> atRules$<span class=\"code-number\">1</span> = <span class=\"code-comment\">/*#__PURE__*/</span><span class=\"code-built_in\">Object</span>.freeze({\n","\t\t__proto__: <span class=\"code-literal\">null</span>,\n","\t\t<span class=\"code-string\">'default'</span>: atRules\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> all = {\n","\t\tsyntax: <span class=\"code-string\">\"initial | inherit | unset | revert\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"noPracticalMedia\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Miscellaneous\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"noPracticalInitialValue\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedAppliesToEachProperty\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/all\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> animation = {\n","\t\tsyntax: <span class=\"code-string\">\"<single-animation>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"animation-name\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-duration\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-timing-function\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-delay\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-iteration-count\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-direction\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-fill-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-play-state\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"animation-name\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-duration\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-timing-function\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-delay\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-direction\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-iteration-count\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-fill-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"animation-play-state\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> appearance = {\n","\t\tsyntax: <span class=\"code-string\">\"none | auto | button | textfield | <compat>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> azimuth = {\n","\t\tsyntax: <span class=\"code-string\">\"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"aural\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Speech\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"center\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"normalizedAngle\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/azimuth\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> background = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <bg-layer> , ]* <final-bg-layer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"background-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-attachment\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"background-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-size\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"background-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-attachment\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"background-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-attachment\"</span>,\n","\t\t\t<span class=\"code-string\">\"background-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> border = {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width> || <line-style> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> bottom = {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToContainingBlockHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/bottom\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> clear = {\n","\t\tsyntax: <span class=\"code-string\">\"none | left | right | both | inline-start | inline-end\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/clear\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> clip = {\n","\t\tsyntax: <span class=\"code-string\">\"<shape> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"rectangle\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"absolutelyPositionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"autoOrRectangle\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/clip\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> color = {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Color\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"variesFromBrowserToBrowser\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"translucentValuesRGBAOtherwiseRGB\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/color\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> columns = {\n","\t\tsyntax: <span class=\"code-string\">\"<'column-width'> || <'column-count'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"column-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-count\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"column-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-count\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersExceptTableWrappers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"column-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-count\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/columns\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> contain = {\n","\t\tsyntax: <span class=\"code-string\">\"none | strict | content | [ size || layout || style || paint ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Containment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/contain\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> content = {\n","\t\tsyntax: <span class=\"code-string\">\"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Generated Content\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"beforeAndAfterPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/content\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> cursor = {\n","\t\tsyntax: <span class=\"code-string\">\"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedURLsAbsolute\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/cursor\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> direction = {\n","\t\tsyntax: <span class=\"code-string\">\"ltr | rtl\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Writing Modes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ltr\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/direction\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> display = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Display\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"inline\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/display\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> filter = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <filter-function-list>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"filterList\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Filter Effects\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/filter\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> flex = {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"flex-grow\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-shrink\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-basis\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"flex-grow\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-shrink\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-basis\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsAndInFlowPseudos\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"flex-grow\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-shrink\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-basis\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> float = {\n","\t\tsyntax: <span class=\"code-string\">\"left | right | none | inline-start | inline-end\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsNoEffectIfDisplayNone\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/float\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> font = {\n","\t\tsyntax: <span class=\"code-string\">\"[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"font-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-variant\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-weight\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-stretch\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"line-height\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-family\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"font-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"line-height\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"font-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-variant\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-weight\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-stretch\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"line-height\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-family\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"font-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-variant\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-weight\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-stretch\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"line-height\"</span>,\n","\t\t\t<span class=\"code-string\">\"font-family\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> gap = {\n","\t\tsyntax: <span class=\"code-string\">\"<'row-gap'> <'column-gap'>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-gap\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-gap\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-gap\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/gap\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> grid = {\n","\t\tsyntax: <span class=\"code-string\">\"<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-columns\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-areas\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-flow\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"row-gap\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-areas\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-auto-flow\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"row-gap\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> height = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableColumns\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAutoOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/height\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> hyphens = {\n","\t\tsyntax: <span class=\"code-string\">\"none | manual | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"manual\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/hyphens\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> inset = {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalHeightOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> isolation = {\n","\t\tsyntax: <span class=\"code-string\">\"auto | isolate\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Compositing and Blending\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerGraphicsAndGraphicsReferencingElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/isolation\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> left = {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/left\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> margin = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <percentage> | auto ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"margin-bottom\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-left\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-right\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-top\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableDisplayTypes\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"margin-bottom\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-left\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-right\"</span>,\n","\t\t\t<span class=\"code-string\">\"margin-top\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> mask = {\n","\t\tsyntax: <span class=\"code-string\">\"<mask-layer>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"mask-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-composite\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"mask-position\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"mask-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-composite\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"mask-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-clip\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-size\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-composite\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> offset = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"offset-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-path\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-distance\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-anchor\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-rotate\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"offset-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-distance\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-anchor\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"offset-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-path\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-distance\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-anchor\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-rotate\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"offset-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-path\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-distance\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-anchor\"</span>,\n","\t\t\t<span class=\"code-string\">\"offset-rotate\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/offset\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> opacity = {\n","\t\tsyntax: <span class=\"code-string\">\"<alpha-value>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"number\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Color\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1.0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"specifiedValueClipped0To1\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/opacity\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> order = {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsAndAbsolutelyPositionedFlexContainerChildren\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/order\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> orphans = {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"2\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/orphans\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> outline = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"outline-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-style\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"outline-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-width\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"outline-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"outline-style\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/outline\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> overflow = {\n","\t\tsyntax: <span class=\"code-string\">\"[ visible | hidden | clip | scroll | auto ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"visible\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overflow\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> padding = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <percentage> ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"padding-bottom\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-left\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-right\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-top\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInternalTableDisplayTypes\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"padding-bottom\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-left\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-right\"</span>,\n","\t\t\t<span class=\"code-string\">\"padding-top\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> perspective = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrNone\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/perspective\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> position = {\n","\t\tsyntax: <span class=\"code-string\">\"static | relative | absolute | sticky | fixed\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"static\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/position\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> quotes = {\n","\t\tsyntax: <span class=\"code-string\">\"none | auto | [ <string> <string> ]+\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Generated Content\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"dependsOnUserAgent\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/quotes\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> resize = {\n","\t\tsyntax: <span class=\"code-string\">\"none | both | horizontal | vertical | block | inline\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"elementsWithOverflowNotVisibleAndReplacedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/resize\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> right = {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/right\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> rotate = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <angle> | [ x | y | z | <number>{3} ] && <angle>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"transform\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/rotate\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> scale = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <number>{1,3}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"transform\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scale\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> top = {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToContainingBlockHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/top\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> transform = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <transform-list>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"transform\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transform\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> transition = {\n","\t\tsyntax: <span class=\"code-string\">\"<single-transition>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transitions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"transition-delay\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-duration\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-property\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-timing-function\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"transition-delay\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-duration\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-property\"</span>,\n","\t\t\t<span class=\"code-string\">\"transition-timing-function\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transition\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> translate = {\n","\t\tsyntax: <span class=\"code-string\">\"none | <length-percentage> [ <length-percentage> <length>? ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"transform\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/translate\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> visibility = {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden | collapse\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"visibility\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"visible\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/visibility\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> widows = {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"2\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/widows\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> width = {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableRows\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAutoOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"lengthOrPercentageBeforeKeywordIfBothPresent\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/width\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> zoom = {\n","\t\tsyntax: <span class=\"code-string\">\"normal | reset | <number> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/zoom\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> properties$<span class=\"code-number\">1</span> = {\n","\t\t<span class=\"code-string\">\"--*\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<declaration-value>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Variables\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"seeProse\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedWithVarsSubstituted\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/--*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-accelerator\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"false | true\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"false\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-block-progression\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"tb | rl | bt | lr\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"tb\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-chaining\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | chained\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zooming\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | zoom\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"zoomForTheTopLevelNoneForTheRest\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-limit\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-max\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-min\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-max\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-min\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-max\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-min\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-max\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"maxZoomFactor\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"400%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-limit-min\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"minZoomFactor\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"100%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-snap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-points\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-points\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-points\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"snapInterval(0%, 100%)\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-content-zoom-snap-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | proximity | mandatory\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-filter\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<string>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"\\\"\\\"\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-filter\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-flow-from\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ none | <custom-ident> ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-flow-into\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ none | <custom-ident> ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"iframeElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-high-contrast-adjust\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-hyphenate-limit-chars\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <integer>{1,3}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-hyphenate-limit-lines\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"no-limit | <integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"no-limit\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-hyphenate-limit-zone\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<percentage> | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToLineBoxWidth\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-ime-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | after\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-overflow-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none | scrollbar | -ms-autohiding-scrollbar\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-3dlight-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"dependsOnUserAgent\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-arrow-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ButtonText\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-base-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"dependsOnUserAgent\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-darkshadow-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ThreeDDarkShadow\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-face-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ThreeDFace\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-highlight-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ThreeDHighlight\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-shadow-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ThreeDDarkShadow\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scrollbar-track-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"Scrollbar\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-chaining\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"chained | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"chained\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-limit\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-min\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-min\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-max\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-max\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-min\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-min\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-max\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-max\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-max\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-limit-x-min\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-max\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-limit-y-min\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-rails\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | railed\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"railed\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"snapInterval(0px, 100%)\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"snapInterval(0px, 100%)\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-snap-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | proximity | mandatory\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-snap-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-x\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-x\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-snap-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-y\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"-ms-scroll-snap-points-y\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-scroll-translation\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | vertical-to-horizontal\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-text-autospace\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-touch-select\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"grippers | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"grippers\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-user-select\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | element | text\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"text\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-wrap-flow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | both | start | end | maximum | clear\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-wrap-margin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"exclusionElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-ms-wrap-through\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"wrap | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Microsoft Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"wrap\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-appearance\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"noneButOverriddenInUserAgentCSS\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-binding\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<url> | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptGeneratedContentOrPseudoElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-binding\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-border-bottom-colors\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-border-left-colors\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-border-right-colors\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-border-top-colors\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-context-properties\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ fill | fill-opacity | stroke | stroke-opacity ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsThatCanReferenceImages\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-float-edge\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"border-box | content-box | margin-box | padding-box\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"content-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-force-broken-image-icon\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"images\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-image-region\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<shape> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"xulImageElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-orient\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"inline | block | horizontal | vertical\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"inline\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"anyElementEffectOnProgressAndMeter\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-orient\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-outline-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topleft\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomleft\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topleft\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomleft\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topleft\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomleft\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topleft\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-topright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomright\"</span>,\n","\t\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomleft\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomleft\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<outline-radius>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-outline-radius-bottomright\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<outline-radius>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-outline-radius-topleft\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<outline-radius>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-outline-radius-topright\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<outline-radius>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-stack-sizing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ignore | stretch-to-fit\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"stretch-to-fit\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-text-blink\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | blink\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-user-focus\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-user-input\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none | enabled | disabled\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-user-modify\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"read-only | read-write | write-only\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"read-only\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-window-dragging\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"drag | no-drag\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"drag\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsCreatingNativeWindows\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-moz-window-shadow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"default | menu | tooltip | sheet | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"default\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsCreatingNativeWindows\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-appearance\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"noneButOverriddenInUserAgentCSS\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-border-before\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-width'> || <'border-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"-webkit-border-before-width\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-border-before-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-border-before-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-border-before-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-box-reflect\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ above | below | right | left ]? <length>? <image>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-line-clamp\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-attachment\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-clip\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-attachment\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-origin\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-mask-clip\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-attachment\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<attachment>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"scroll\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-clip\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <box> | border | padding | content | text ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"border\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-clip\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-composite\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<composite-style>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"source-over\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mask-reference>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteURIOrNone\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-image\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-origin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <box> | border | padding | content ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"padding\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-origin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<position>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfElement\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0% 0%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrPercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-position-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | left | center | right ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfElement\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrPercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-position-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | top | center | bottom ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfElement\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrPercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<repeat-style>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"repeat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-repeat\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-repeat-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat | no-repeat | space | round\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"repeat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-repeat-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat | no-repeat | space | round\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"repeat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrPercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-size>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToBackgroundPositioningArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-overflow-scrolling\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | touch\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollingBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-tap-highlight-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"black\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-text-fill-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-text-stroke\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-color\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"-webkit-text-stroke-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"canonicalOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-text-stroke-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-text-stroke-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-touch-callout\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"default | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"default\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"-webkit-user-modify\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"read-only | read-write | read-write-plaintext-only\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"read-only\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"align-content\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multilineFlexContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/align-content\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"align-items\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/align-items\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"align-self\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsGridItemsAndAbsolutelyPositionedBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/align-self\"</span>\n","\t},\n","\t\tall: all,\n","\t\tanimation: animation,\n","\t\t<span class=\"code-string\">\"animation-delay\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0s\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-delay\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-direction\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<single-animation-direction>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-direction\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-duration\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0s\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-duration\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-fill-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<single-animation-fill-mode>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-iteration-count\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<single-animation-iteration-count>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ none | <keyframes-name> ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-name\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-play-state\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<single-animation-play-state>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"running\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-play-state\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animation-timing-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<timing-function>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Animations\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ease\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function\"</span>\n","\t},\n","\t\tappearance: appearance,\n","\t\t<span class=\"code-string\">\"aspect-ratio\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <ratio>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio\"</span>\n","\t},\n","\t\tazimuth: azimuth,\n","\t\t<span class=\"code-string\">\"backdrop-filter\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <filter-function-list>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"filterList\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Filter Effects\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"backface-visibility\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"visible\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/backface-visibility\"</span>\n","\t},\n","\t\tbackground: background,\n","\t\t<span class=\"code-string\">\"background-attachment\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<attachment>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"scroll\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-attachment\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-blend-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<blend-mode>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"none\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Compositing and Blending\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerGraphicsAndGraphicsReferencingElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-clip\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<box>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"border-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-clip\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"transparent\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-image>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedURLsAbsolute\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-image\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-origin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<box>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"padding-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-origin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-position>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"repeatableListOfSimpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0% 0%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"listEachItemTwoKeywordsOriginOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-position-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ center | [ left | right | x-start | x-end ]? <length-percentage>? ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"left\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-position-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-position-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ center | [ top | bottom | y-start | y-end ]? <length-percentage>? ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"top\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-position-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<repeat-style>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"repeat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"listEachItemHasTwoKeywordsOnePerDimension\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-repeat\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"background-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-size>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"repeatableListOfSimpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToBackgroundPositioningArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/background-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"block-overflow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"clip | ellipsis | <string>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"clip\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"block-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"blockSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/block-size\"</span>\n","\t},\n","\t\tborder: border,\n","\t\t<span class=\"code-string\">\"border-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-end-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-end-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-end-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-block-start-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-start-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-start-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-block-start-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width> || <line-style> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom-left-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom-right-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-style>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-bottom-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-collapse\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"collapse | separate\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"separate\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"tableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-collapse\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-end-end-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-end-start-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"border-image-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-width\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-image-source\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-outset\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-repeat\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-image-outset\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-source\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-image-width\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image-outset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <number> ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image-outset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ stretch | repeat | round | space ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"stretch\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image-slice\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number-percentage>{1,4} && fill?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBorderImage\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"100%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"oneToFourPercentagesOrAbsoluteLengthsPlusFill\"</span>,\n","\t\torder: <span class=\"code-string\">\"percentagesOrLengthsFollowedByFill\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image-slice\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image-source\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <image>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"noneOrImageWithAbsoluteURI\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image-source\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-image-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | <number> | auto ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOrHeightOfBorderImageArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableElementsWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-image-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-inline-end-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-end-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-end-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-end-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'> || <'border-top-style'> || <'color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-inline-start-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-start-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-start-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-inline-start-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-top-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroIfBorderStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-left\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width> || <line-style> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-left\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-left-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-left-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-left-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-style>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-left-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-left-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-left-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-top-left-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-right-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-right-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-left-radius\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-left-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-right-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-right-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-left-radius\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-left-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-right-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-left-radius\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-right-radius\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-right\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width> || <line-style> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-right\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-right-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-right-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-right-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-style>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-right-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-right-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOr0IfBorderRightStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-right-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-spacing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> <length>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"tableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-spacing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-start-end-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-start-start-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-style>{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-style\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width> || <line-style> || <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top-left-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top-right-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsUAsNotRequiredWhenCollapse\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"twoAbsoluteLengthOrPercentages\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-style>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-top-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOr0IfBorderTopStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-top-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"border-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"border-bottom-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-left-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-right-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"border-top-width\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/border-width\"</span>\n","\t},\n","\t\tbottom: bottom,\n","\t\t<span class=\"code-string\">\"box-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"start | center | end | baseline | stretch\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"stretch\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"elementsWithDisplayBoxOrInlineBox\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-decoration-break\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"slice | clone\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"slice\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-direction\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | reverse | inherit\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"elementsWithDisplayBoxOrInlineBox\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-direction\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-flex\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"directChildrenOfElementsWithDisplayMozBoxMozInlineBox\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-flex\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-flex-group\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"inFlowChildrenOfBoxElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-flex-group\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-lines\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"single | multiple\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"single\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"boxElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-lines\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-ordinal-group\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"childrenOfBoxElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-orient\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"horizontal | vertical | inline-axis | block-axis | inherit\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"inlineAxisHorizontalInXUL\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"elementsWithDisplayBoxOrInlineBox\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-orient\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-pack\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"start | center | end | justify\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>,\n","\t\t\t<span class=\"code-string\">\"WebKit Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"start\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"elementsWithDisplayMozBoxMozInlineBox\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-pack\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-shadow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <shadow>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"shadowList\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Backgrounds and Borders\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthsSpecifiedColorAsSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-shadow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"box-sizing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"content-box | border-box\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"content-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAcceptingWidthOrHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/box-sizing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"break-after\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/break-after\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"break-before\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/break-before\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"break-inside\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | avoid | avoid-page | avoid-column | avoid-region\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fragmentation\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/break-inside\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"caption-side\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"top | bottom | block-start | block-end | inline-start | inline-end\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"top\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"tableCaptionElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/caption-side\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"caret-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asAutoOrColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/caret-color\"</span>\n","\t},\n","\t\tclear: clear,\n","\t\tclip: clip,\n","\t\t<span class=\"code-string\">\"clip-path\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<clip-source> | [ <basic-shape> || <geometry-box> ] | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"basicShapeOtherwiseNo\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedURLsAbsolute\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/clip-path\"</span>\n","\t},\n","\t\tcolor: color,\n","\t\t<span class=\"code-string\">\"color-adjust\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"economy | exact\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Color\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"economy\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/color-adjust\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-count\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<integer> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersExceptTableWrappers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-count\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-fill\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | balance | balance-all\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visualInContinuousMediaNoEffectInOverflowColumns\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"balance\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multicolElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-fill\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-gap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multiColumnElementsFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-gap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-rule\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"column-rule-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-width\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"column-rule-width\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"multicolElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"column-rule-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"column-rule-width\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-rule\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-rule-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multicolElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-rule-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-rule-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-style'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multicolElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-rule-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-rule-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'border-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multicolElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLength0IfColumnRuleStyleNoneOrHidden\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-rule-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-span\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | all\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"inFlowBlockLevelElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-span\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"column-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Columns\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersExceptTableWrappers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthZeroOrLarger\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-width\"</span>\n","\t},\n","\t\tcolumns: columns,\n","\t\tcontain: contain,\n","\t\tcontent: content,\n","\t\t<span class=\"code-string\">\"counter-increment\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <custom-ident> <integer>? ]+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Counter Styles\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/counter-increment\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counter-reset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <custom-ident> <integer>? ]+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Counter Styles\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/counter-reset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counter-set\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <custom-ident> <integer>? ]+ | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Counter Styles\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/counter-set\"</span>\n","\t},\n","\t\tcursor: cursor,\n","\t\tdirection: direction,\n","\t\tdisplay: display,\n","\t\t<span class=\"code-string\">\"empty-cells\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"show | hide\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"show\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"tableCellElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/empty-cells\"</span>\n","\t},\n","\t\tfilter: filter,\n","\t\tflex: flex,\n","\t\t<span class=\"code-string\">\"flex-basis\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"content | <'width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToFlexContainersInnerMainSize\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsAndInFlowPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"lengthOrPercentageBeforeKeywordIfBothPresent\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-basis\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"flex-direction\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"row | row-reverse | column | column-reverse\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"row\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-direction\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"flex-flow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'flex-direction'> || <'flex-wrap'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"flex-direction\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-wrap\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"flexContainers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"flex-direction\"</span>,\n","\t\t\t<span class=\"code-string\">\"flex-wrap\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-flow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"flex-grow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"number\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsAndInFlowPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-grow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"flex-shrink\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"number\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexItemsAndInFlowPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-shrink\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"flex-wrap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"nowrap | wrap | wrap-reverse\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Flexible Box Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"nowrap\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/flex-wrap\"</span>\n","\t},\n","\t\tfloat: float,\n","\t\tfont: font,\n","\t\t<span class=\"code-string\">\"font-family\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <family-name> | <generic-family> ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"dependsOnUserAgent\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-family\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-feature-settings\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <feature-tag-value>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-kerning\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | normal | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-kerning\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-language-override\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <string>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-language-override\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-optical-sizing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variation-settings\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ <string> <number> ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"transform\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<absolute-size> | <relative-size> | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToParentElementsFontSize\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-size-adjust\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <number>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"number\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-stretch\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<font-stretch-absolute>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"fontStretch\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-stretch\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | italic | oblique <angle>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-synthesis\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ weight || style ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"weight style\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-alternates\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-caps\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-east-asian\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-ligatures\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-numeric\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | sub | super\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-variant-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-weight\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<font-weight-absolute> | bolder | lighter\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"fontWeight\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"keywordOrNumericalValueBolderLighterTransformedToRealValue\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/font-weight\"</span>\n","\t},\n","\t\tgap: gap,\n","\t\tgrid: grid,\n","\t\t<span class=\"code-string\">\"grid-area\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line> [ / <grid-line> ]{0,3}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-row-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-end\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-end\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-row-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-end\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-end\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-area\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-auto-columns\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<track-size>+\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-auto-flow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ row | column ] || dense\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"row\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-auto-rows\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<track-size>+\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-column\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line> [ / <grid-line> ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-column-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-end\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-column-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-end\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-column\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-column-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-column-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-column-gap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/column-gap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-column-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-column-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-gap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'grid-row-gap'> <'grid-column-gap'>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"grid-row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-gap\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-gap\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-row-gap\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-column-gap\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/gap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-row\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line> [ / <grid-line> ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-row-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-end\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-row-start\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-row-end\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-row\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-row-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-row-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-row-gap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/row-gap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-row-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<grid-line>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridItemsAndBoxesWithinGridContainer\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-row-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-template\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-areas\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"grid-template-columns\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-rows\"</span>,\n","\t\t\t<span class=\"code-string\">\"grid-template-areas\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-template\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-template-areas\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <string>+\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-template-columns\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"simpleListOfLpcDifferenceLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-template-rows\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"simpleListOfLpcDifferenceLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Grid Layout\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"gridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"hanging-punctuation\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ first || [ force-end | allow-end ] || last ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation\"</span>\n","\t},\n","\t\theight: height,\n","\t\thyphens: hyphens,\n","\t\t<span class=\"code-string\">\"image-orientation\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"from-image | <angle> | [ <angle>? flip ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Images\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0deg\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"angleRoundedToNextQuarter\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/image-orientation\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-rendering\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | crisp-edges | pixelated\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Images\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/image-rendering\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-resolution\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ from-image || <resolution> ] && snap?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Images\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"1dppx\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedWithExceptionOfResolution\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ime-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | normal | active | inactive | disabled\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"textFields\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/ime-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"initial-letter\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ <number> <integer>? ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Inline\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"firstLetterPseudoElementsAndInlineLevelFirstChildren\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/initial-letter\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"initial-letter-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ auto | alphabetic | hanging | ideographic ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Inline\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"firstLetterPseudoElementsAndInlineLevelFirstChildren\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inline-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"inlineSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inline-size\"</span>\n","\t},\n","\t\tinset: inset,\n","\t\t<span class=\"code-string\">\"inset-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalHeightOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalHeightOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalHeightOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'top'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsBoxOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start\"</span>\n","\t},\n","\t\tisolation: isolation,\n","\t\t<span class=\"code-string\">\"justify-content\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"flexContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/justify-content\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"justify-items\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"legacy\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/justify-items\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"justify-self\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/justify-self\"</span>\n","\t},\n","\t\tleft: left,\n","\t\t<span class=\"code-string\">\"letter-spacing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"optimumValueOfAbsoluteLengthOrNormal\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/letter-spacing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-break\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | loose | normal | strict | anywhere\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/line-break\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-clamp\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersExceptMultiColumnContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-height\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <number> | <length> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"numberOrLength\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToElementFontSize\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrAsSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/line-height\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-height-step\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Fonts\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/line-height-step\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"list-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'list-style-type'> || <'list-style-position'> || <'list-style-image'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Lists and Counters\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"list-style-type\"</span>,\n","\t\t\t<span class=\"code-string\">\"list-style-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"list-style-image\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"listItems\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"list-style-image\"</span>,\n","\t\t\t<span class=\"code-string\">\"list-style-position\"</span>,\n","\t\t\t<span class=\"code-string\">\"list-style-type\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/list-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"list-style-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<url> | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Lists and Counters\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"listItems\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"noneOrImageWithAbsoluteURI\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/list-style-image\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"list-style-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"inside | outside\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Lists and Counters\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"outside\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"listItems\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/list-style-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"list-style-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<counter-style> | <string> | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Lists and Counters\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"disc\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"listItems\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/list-style-type\"</span>\n","\t},\n","\t\tmargin: margin,\n","\t\t<span class=\"code-string\">\"margin-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-bottom\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'margin-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"dependsOnLayoutModel\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsMargin\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-left\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-left\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-right\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-right\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"margin-top\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/margin-top\"</span>\n","\t},\n","\t\tmask: mask,\n","\t\t<span class=\"code-string\">\"mask-border\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"mask-border-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-outset\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-source\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-width\"</span>\n","\t\t],\n","\t\tpercentages: [\n","\t\t\t<span class=\"code-string\">\"mask-border-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-width\"</span>\n","\t\t],\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"mask-border-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-outset\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-source\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-width\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"mask-border-mode\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-outset\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-repeat\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-slice\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-source\"</span>,\n","\t\t\t<span class=\"code-string\">\"mask-border-width\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"luminance | alpha\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"alpha\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-outset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length> | <number> ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ stretch | repeat | round | space ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"stretch\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-slice\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number-percentage>{1,4} fill?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfMaskBorderImage\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-source\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <image>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedURLsAbsolute\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-source\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-border-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | <number> | auto ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToMaskBorderImageArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-border-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-clip\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <geometry-box> | no-clip ]#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"border-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-clip\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-composite\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<compositing-operator>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"add\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-composite\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mask-reference>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedURLsAbsolute\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-image\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<masking-mode>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"match-source\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-origin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<geometry-box>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"border-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-origin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<position>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"repeatableListOfSimpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfMaskPaintingArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"center\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"consistsOfTwoKeywordsForOriginAndOffsets\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<repeat-style>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"no-repeat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"consistsOfTwoDimensionKeywords\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-repeat\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-size>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"repeatableListOfSimpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSVGContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"luminance | alpha\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Masking\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"luminance\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"maskElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mask-type\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max-block-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'max-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"blockSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsMaxWidthAndMaxHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/max-block-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max-height\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableColumns\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedAbsoluteLengthOrNone\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/max-height\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max-inline-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'max-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"inlineSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsMaxWidthAndMaxHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/max-inline-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max-lines\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersExceptMultiColumnContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableRows\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedAbsoluteLengthOrNone\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/max-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"min-block-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'min-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"blockSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsMinWidthAndMinHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/min-block-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"min-height\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"regardingHeightOfGeneratedBoxContainingBlockPercentages0\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableColumns\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/min-height\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"min-inline-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'min-width'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"inlineSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"sameAsWidthAndHeight\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"sameAsMinWidthAndMinHeight\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/min-inline-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"min-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsButNonReplacedAndTableRows\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/min-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mix-blend-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<blend-mode>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Compositing and Blending\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"object-fit\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"fill | contain | cover | none | scale-down\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Images\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"fill\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"replacedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/object-fit\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"object-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"repeatableListOfSimpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthAndHeightOfElement\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Images\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"50% 50%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"replacedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/object-position\"</span>\n","\t},\n","\t\toffset: offset,\n","\t\t<span class=\"code-string\">\"offset-anchor\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"position\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToWidthAndHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"forLengthAbsoluteValueOtherwisePercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"offset-distance\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToTotalPathLength\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"forLengthAbsoluteValueOtherwisePercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/offset-distance\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"offset-path\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"angleOrBasicShapeOrPath\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/offset-path\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"offset-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"position\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"forLengthAbsoluteValueOtherwisePercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"offset-rotate\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ auto | reverse ] || <angle>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"angleOrBasicShapeOrPath\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Motion Path\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/offset-rotate\"</span>\n","\t},\n","\t\topacity: opacity,\n","\t\torder: order,\n","\t\torphans: orphans,\n","\t\toutline: outline,\n","\t\t<span class=\"code-string\">\"outline-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color> | invert\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"invertOrCurrentColor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"invertForTranslucentColorRGBAOtherwiseRGB\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/outline-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"outline-offset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/outline-offset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"outline-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <'border-style'>\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/outline-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"outline-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<line-width>\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"interactive\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"medium\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLength0ForNone\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/outline-width\"</span>\n","\t},\n","\t\toverflow: overflow,\n","\t\t<span class=\"code-string\">\"overflow-anchor\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Anchoring\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden | clip | scroll | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-clip-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"padding-box | content-box\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Mozilla Extensions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"padding-box\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden | clip | scroll | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-wrap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | break-word | anywhere\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedInlineElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden | clip | scroll | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"visible\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overflow-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"visible | hidden | clip | scroll | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Overflow\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"visible\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainersFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overflow-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overscroll-behavior\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ contain | none | auto ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overscroll-behavior-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"contain | none | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overscroll-behavior-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"contain | none | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedBlockAndInlineBlockElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y\"</span>\n","\t},\n","\t\tpadding: padding,\n","\t\t<span class=\"code-string\">\"padding-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-bottom\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInternalTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'padding-left'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"logicalWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Logical Properties\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-left\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInternalTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-left\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-right\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInternalTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-right\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"padding-top\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Model\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptInternalTableDisplayTypes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageAsSpecifiedOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/padding-top\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-break-after\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | always | avoid | left | right | recto | verso\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"paged\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Pages\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockElementsInNormalFlow\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/page-break-after\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-break-before\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | always | avoid | left | right | recto | verso\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"paged\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Pages\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockElementsInNormalFlow\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/page-break-before\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-break-inside\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | avoid\"</span>,\n","\t\tmedia: [\n","\t\t\t<span class=\"code-string\">\"visual\"</span>,\n","\t\t\t<span class=\"code-string\">\"paged\"</span>\n","\t\t],\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Pages\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockElementsInNormalFlow\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/page-break-inside\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"paint-order\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | [ fill || stroke || markers ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"textElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/paint-order\"</span>\n","\t},\n","\t\tperspective: perspective,\n","\t\t<span class=\"code-string\">\"perspective-origin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"simpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"50% 50%\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"forLengthAbsoluteValueOtherwisePercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"oneOrTwoValuesLengthAbsoluteKeywordsPercentages\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/perspective-origin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"place-content\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'align-content'> <'justify-content'>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multilineFlexContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/place-content\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"place-items\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'align-items'> <'justify-items'>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"align-items\"</span>,\n","\t\t\t<span class=\"code-string\">\"justify-items\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"align-items\"</span>,\n","\t\t\t<span class=\"code-string\">\"justify-items\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/place-items\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"place-self\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'align-self'> <'justify-self'>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"align-self\"</span>,\n","\t\t\t<span class=\"code-string\">\"justify-self\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"align-self\"</span>,\n","\t\t\t<span class=\"code-string\">\"justify-self\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/place-self\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"pointer-events\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Pointer Events\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/pointer-events\"</span>\n","\t},\n","\t\tposition: position,\n","\t\tquotes: quotes,\n","\t\tresize: resize,\n","\t\tright: right,\n","\t\trotate: rotate,\n","\t\t<span class=\"code-string\">\"row-gap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToDimensionOfContentArea\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Box Alignment\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"multiColumnElementsFlexContainersGridContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/row-gap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ruby-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"start | center | space-between | space-around\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Ruby\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"space-around\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"rubyBasesAnnotationsBaseAnnotationContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/ruby-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ruby-merge\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"separate | collapse | auto\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Ruby\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"separate\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"rubyAnnotationsContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ruby-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"over | under | inter-character\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Ruby\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"over\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"rubyAnnotationsContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/ruby-position\"</span>\n","\t},\n","\t\tscale: scale,\n","\t\t<span class=\"code-string\">\"scrollbar-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | dark | light | <color>{2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scrollbars\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollingBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scrollbar-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | thin | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scrollbars\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollingBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-behavior\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | smooth\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSSOM View\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollingBoxes\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-bottom\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-left\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-right\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-margin-top\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ auto | <length-percentage> ]{1,4}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ auto | <length-percentage> ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-block-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-block-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-bottom\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-inline\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ auto | <length-percentage> ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-inline-start\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-inline-end\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-left\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-right\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-padding-top\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToTheScrollContainersScrollport\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ none | start | end | center ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-coordinate\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <position>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"position\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToBorderBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-destination\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<position>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"position\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToScrollContainerPaddingBoxAxis\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0px 0px\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-points-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | repeat( <length-percentage> )\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToScrollContainerPaddingBoxAxis\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-points-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | repeat( <length-percentage> )\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"relativeToScrollContainerPaddingBoxAxis\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-stop\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | always\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"perGrammar\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-type-x\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | mandatory | proximity\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scroll-snap-type-y\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | mandatory | proximity\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Scroll Snap\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"scrollContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"obsolete\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"shape-image-threshold\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<alpha-value>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"number\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Shapes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0.0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"floats\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"specifiedValueNumberClipped0To1\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"shape-margin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Shapes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"floats\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedRelativeToAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/shape-margin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"shape-outside\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <shape-box> || <basic-shape> | <image>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"basicShapeOtherwiseNo\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Shapes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"floats\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/shape-outside\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"tab-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<integer> | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"8\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"specifiedIntegerOrAbsoluteLength\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/tab-size\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"table-layout\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | fixed\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"tableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/table-layout\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"start | end | left | right | center | justify | match-parent\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"startOrNamelessValueIfLTRRightIfRTL\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecifiedExceptMatchParent\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-align\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-align-last\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | start | end | left | right | center | justify\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-align-last\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-combine-upright\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | all | [ digits <integer>? ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Writing Modes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedInlineElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"keywordPlusIntegerIfDigits\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"text-decoration-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-thickness\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"text-decoration-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-line\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"text-decoration-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-decoration-thickness\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-line\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-skip\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"objects\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-skip-ink\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"solid | double | dotted | dashed | wavy\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"solid\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-decoration-thickness\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | from-font | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-emphasis\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'text-emphasis-style'> || <'text-emphasis-color'>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: [\n","\t\t\t<span class=\"code-string\">\"text-emphasis-color\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-emphasis-style\"</span>\n","\t\t],\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: [\n","\t\t\t<span class=\"code-string\">\"text-emphasis-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-emphasis-color\"</span>\n","\t\t],\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: [\n","\t\t\t<span class=\"code-string\">\"text-emphasis-style\"</span>,\n","\t\t\t<span class=\"code-string\">\"text-emphasis-color\"</span>\n","\t\t],\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-emphasis-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"color\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"currentcolor\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"computedColor\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-emphasis-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ over | under ] && [ right | left ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"over right\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-emphasis-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-indent\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage> && hanging? && each-line?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"lpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfContainingBlock\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainers\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"percentageOrAbsoluteLengthPlusKeywords\"</span>,\n","\t\torder: <span class=\"code-string\">\"lengthOrPercentageBeforeKeywords\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-indent\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-justify\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | inter-character | inter-word | none\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"inlineLevelAndTableCellElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-justify\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-orientation\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"mixed | upright | sideways\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Writing Modes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"mixed\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-orientation\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-overflow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ clip | ellipsis | <string> ]{1,2}\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"clip\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"blockContainerElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-overflow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-rendering\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | optimizeSpeed | optimizeLegibility | geometricPrecision\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Miscellaneous\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"textElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-rendering\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-shadow\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <shadow-t>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"shadowList\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"colorPlusThreeAbsoluteLengths\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-shadow\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-size-adjust\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | auto | <percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfFont\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"autoForSmartphoneBrowsersSupportingInflation\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"experimental\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-transform\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | capitalize | uppercase | lowercase | full-width | full-size-kana\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"none\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-transform\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-underline-offset\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | from-font | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"byComputedValueType\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"text-underline-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | [ under || [ left | right ] ]\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text Decoration\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"orderOfAppearance\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/text-underline-position\"</span>\n","\t},\n","\t\ttop: top,\n","\t\t<span class=\"code-string\">\"touch-action\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"Pointer Events\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/touch-action\"</span>\n","\t},\n","\t\ttransform: transform,\n","\t\t<span class=\"code-string\">\"transform-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"border-box | fill-box | view-box\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"border-box \"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transform-box\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transform-origin\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"simpleListOfLpc\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToSizeOfBoundingBox\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"50% 50% 0\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"forLengthAbsoluteValueOtherwisePercentage\"</span>,\n","\t\torder: <span class=\"code-string\">\"oneOrTwoValuesLengthAbsoluteKeywordsPercentages\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transform-origin\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transform-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"flat | preserve-3d\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transforms\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"flat\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"transformableElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transform-style\"</span>\n","\t},\n","\t\ttransition: transition,\n","\t\t<span class=\"code-string\">\"transition-delay\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transitions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0s\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transition-delay\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transition-duration\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transitions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"0s\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transition-duration\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transition-property\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <single-transition-property>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transitions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"all\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transition-property\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transition-timing-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<timing-function>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"interactive\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Transitions\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"ease\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsAndPseudos\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function\"</span>\n","\t},\n","\t\ttranslate: translate,\n","\t\t<span class=\"code-string\">\"unicode-bidi\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | embed | isolate | bidi-override | isolate-override | plaintext\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Writing Modes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsSomeValuesNoEffectOnNonInlineElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"user-select\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | text | none | contain | all\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Basic User Interface\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"nonstandard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/user-select\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"vertical-align\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToLineHeight\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Table\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"baseline\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"inlineLevelAndTableCellElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"absoluteLengthOrKeyword\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/vertical-align\"</span>\n","\t},\n","\t\tvisibility: visibility,\n","\t\t<span class=\"code-string\">\"white-space\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | pre | nowrap | pre-wrap | pre-line | break-spaces\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/white-space\"</span>\n","\t},\n","\t\twidows: widows,\n","\t\twidth: width,\n","\t\t<span class=\"code-string\">\"will-change\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <animateable-feature>#\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"all\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Will Change\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/will-change\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"word-break\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | break-all | keep-all | break-word\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/word-break\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"word-spacing\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | <length-percentage>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"length\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"referToWidthOfAffectedGlyph\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\talsoAppliesTo: [\n","\t\t\t<span class=\"code-string\">\"::first-letter\"</span>,\n","\t\t\t<span class=\"code-string\">\"::first-line\"</span>,\n","\t\t\t<span class=\"code-string\">\"::placeholder\"</span>\n","\t\t],\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/word-spacing\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"word-wrap\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | break-word\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Text\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"normal\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"nonReplacedInlineElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"writing-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">true</span>,\n","\t\tanimationType: <span class=\"code-string\">\"discrete\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Writing Modes\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"horizontal-tb\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"allElementsExceptTableRowColumnGroupsTableRowsColumns\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/writing-mode\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"z-index\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <integer>\"</span>,\n","\t\tmedia: <span class=\"code-string\">\"visual\"</span>,\n","\t\tinherited: <span class=\"code-literal\">false</span>,\n","\t\tanimationType: <span class=\"code-string\">\"integer\"</span>,\n","\t\tpercentages: <span class=\"code-string\">\"no\"</span>,\n","\t\tgroups: [\n","\t\t\t<span class=\"code-string\">\"CSS Positioning\"</span>\n","\t\t],\n","\t\tinitial: <span class=\"code-string\">\"auto\"</span>,\n","\t\tappliesto: <span class=\"code-string\">\"positionedElements\"</span>,\n","\t\tcomputed: <span class=\"code-string\">\"asSpecified\"</span>,\n","\t\torder: <span class=\"code-string\">\"uniqueOrder\"</span>,\n","\t\tstacking: <span class=\"code-literal\">true</span>,\n","\t\tstatus: <span class=\"code-string\">\"standard\"</span>,\n","\t\tmdn_url: <span class=\"code-string\">\"https://developer.mozilla.org/docs/Web/CSS/z-index\"</span>\n","\t},\n","\t\tzoom: zoom\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> properties$<span class=\"code-number\">2</span> = <span class=\"code-comment\">/*#__PURE__*/</span><span class=\"code-built_in\">Object</span>.freeze({\n","\t\t__proto__: <span class=\"code-literal\">null</span>,\n","\t\tall: all,\n","\t\tanimation: animation,\n","\t\tappearance: appearance,\n","\t\tazimuth: azimuth,\n","\t\tbackground: background,\n","\t\tborder: border,\n","\t\tbottom: bottom,\n","\t\tclear: clear,\n","\t\tclip: clip,\n","\t\tcolor: color,\n","\t\tcolumns: columns,\n","\t\tcontain: contain,\n","\t\tcontent: content,\n","\t\tcursor: cursor,\n","\t\tdirection: direction,\n","\t\tdisplay: display,\n","\t\tfilter: filter,\n","\t\tflex: flex,\n","\t\tfloat: float,\n","\t\tfont: font,\n","\t\tgap: gap,\n","\t\tgrid: grid,\n","\t\theight: height,\n","\t\thyphens: hyphens,\n","\t\tinset: inset,\n","\t\tisolation: isolation,\n","\t\tleft: left,\n","\t\tmargin: margin,\n","\t\tmask: mask,\n","\t\toffset: offset,\n","\t\topacity: opacity,\n","\t\torder: order,\n","\t\torphans: orphans,\n","\t\toutline: outline,\n","\t\toverflow: overflow,\n","\t\tpadding: padding,\n","\t\tperspective: perspective,\n","\t\tposition: position,\n","\t\tquotes: quotes,\n","\t\tresize: resize,\n","\t\tright: right,\n","\t\trotate: rotate,\n","\t\tscale: scale,\n","\t\ttop: top,\n","\t\ttransform: transform,\n","\t\ttransition: transition,\n","\t\ttranslate: translate,\n","\t\tvisibility: visibility,\n","\t\twidows: widows,\n","\t\twidth: width,\n","\t\tzoom: zoom,\n","\t\t<span class=\"code-string\">'default'</span>: properties$<span class=\"code-number\">1</span>\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> attachment = {\n","\t\tsyntax: <span class=\"code-string\">\"scroll | fixed | local\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> box = {\n","\t\tsyntax: <span class=\"code-string\">\"border-box | padding-box | content-box\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> color$<span class=\"code-number\">1</span> = {\n","\t\tsyntax: <span class=\"code-string\">\"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> combinator = {\n","\t\tsyntax: <span class=\"code-string\">\"'>' | '+' | '~' | [ '||' ]\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> compat = {\n","\t\tsyntax: <span class=\"code-string\">\"searchfield | textarea | push-button | button-bevel | slider-horizontal | checkbox | radio | square-button | menulist | menulist-button | listbox | meter | progress-bar\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> gradient = {\n","\t\tsyntax: <span class=\"code-string\">\"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> hue = {\n","\t\tsyntax: <span class=\"code-string\">\"<number> | <angle>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> image = {\n","\t\tsyntax: <span class=\"code-string\">\"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> nth = {\n","\t\tsyntax: <span class=\"code-string\">\"<an-plus-b> | even | odd\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> position$<span class=\"code-number\">1</span> = {\n","\t\tsyntax: <span class=\"code-string\">\"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> quote = {\n","\t\tsyntax: <span class=\"code-string\">\"open-quote | close-quote | no-open-quote | no-close-quote\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> shadow = {\n","\t\tsyntax: <span class=\"code-string\">\"inset? && <length>{2,4} && <color>?\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> shape$<span class=\"code-number\">1</span> = {\n","\t\tsyntax: <span class=\"code-string\">\"rect(<top>, <right>, <bottom>, <left>)\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> size = {\n","\t\tsyntax: <span class=\"code-string\">\"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> symbol = {\n","\t\tsyntax: <span class=\"code-string\">\"<string> | <image> | <custom-ident>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> target = {\n","\t\tsyntax: <span class=\"code-string\">\"<target-counter()> | <target-counters()> | <target-text()>\"</span>\n","\t};\n","\t<span class=\"code-keyword\">var</span> syntaxes = {\n","\t\t<span class=\"code-string\">\"absolute-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"alpha-value\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"angle-percentage\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<angle> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"angular-color-hint\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<angle-percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"angular-color-stop\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color> && <color-stop-angle>?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"angular-color-stop-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"animateable-feature\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scroll-position | contents | <custom-ident>\"</span>\n","\t},\n","\t\tattachment: attachment,\n","\t\t<span class=\"code-string\">\"attr()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"attr-matcher\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ '~' | '|' | '^' | '$' | '*' ]? '='\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"attr-modifier\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"i | s\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"attribute-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"auto-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"auto-track-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"baseline-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ first | last ]? baseline\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"basic-shape\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<inset()> | <circle()> | <ellipse()> | <polygon()>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"bg-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <image>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"bg-layer\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"bg-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"bg-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | auto ]{1,2} | cover | contain\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"blur()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"blur( <length> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"blend-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity\"</span>\n","\t},\n","\t\tbox: box,\n","\t\t<span class=\"code-string\">\"brightness()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"brightness( <number-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"calc()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"calc( <calc-sum> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"calc-sum\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<calc-product> [ [ '+' | '-' ] <calc-product> ]*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"calc-product\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<calc-value> [ '*' <calc-value> | '/' <number> ]*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"calc-value\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number> | <dimension> | <percentage> | ( <calc-sum> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"cf-final-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<image> | <color>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"cf-mixing-image\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<percentage>? && <image>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"circle()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"circle( [ <shape-radius> ]? [ at <position> ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"clamp()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"clamp( <calc-sum>#{3} )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"class-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"'.' <ident-token>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"clip-source\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<url>\"</span>\n","\t},\n","\t\tcolor: color$<span class=\"code-number\">1</span>,\n","\t\t<span class=\"code-string\">\"color-stop\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color-stop-length> | <color-stop-angle>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"color-stop-angle\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<angle-percentage>{1,2}\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"color-stop-length\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"color-stop-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>\"</span>\n","\t},\n","\t\tcombinator: combinator,\n","\t\t<span class=\"code-string\">\"common-lig-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ common-ligatures | no-common-ligatures ]\"</span>\n","\t},\n","\t\tcompat: compat,\n","\t\t<span class=\"code-string\">\"composite-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"compositing-operator\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"add | subtract | intersect | exclude\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"compound-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"compound-selector-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<compound-selector>#\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"complex-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<compound-selector> [ <combinator>? <compound-selector> ]*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"complex-selector-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<complex-selector>#\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"conic-gradient()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"contextual-alt-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ contextual | no-contextual ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"content-distribution\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"space-between | space-around | space-evenly | stretch\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"content-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"content-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"center | start | end | flex-start | flex-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"content-replacement\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<image>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"contrast()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"contrast( [ <number-percentage> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counter()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"counter( <custom-ident>, <counter-style>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counter-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<counter-style-name> | symbols()\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counter-style-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<custom-ident>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"counters()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"counters( <custom-ident>, <string>, <counter-style>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"cross-fade()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"cubic-bezier-timing-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"deprecated-system-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"discretionary-lig-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ discretionary-ligatures | no-discretionary-ligatures ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"contents | none\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-inside\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"flow | flow-root | table | flex | grid | ruby\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-internal\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-legacy\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"inline-block | inline-list-item | inline-table | inline-flex | inline-grid\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-listitem\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<display-outside>? && [ flow | flow-root ]? && list-item\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"display-outside\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"block | inline | run-in\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"drop-shadow()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"drop-shadow( <length>{2,3} <color>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"east-asian-variant-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"east-asian-width-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ full-width | proportional-width ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"element()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"element( <id-selector> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ellipse()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ending-shape\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"circle | ellipse\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"env()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"env( <custom-ident> , <declaration-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"explicit-track-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <line-names>? <track-size> ]+ <line-names>?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"family-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<string> | <custom-ident>+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-tag-value\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<string> [ <integer> | on | off ]?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-value-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<feature-type> '{' <feature-value-declaration-list> '}'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-value-block-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<feature-value-block>+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-value-declaration\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<custom-ident>: <integer>+;\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-value-declaration-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<feature-value-declaration>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"feature-value-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<custom-ident>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"fill-rule\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"nonzero | evenodd\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"filter-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"filter-function-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <filter-function> | <url> ]+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"final-bg-layer\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"fit-content()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"fit-content( [ <length> | <percentage> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"fixed-breadth\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"fixed-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"fixed-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-stretch-absolute\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-variant-css21\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ normal | small-caps ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"font-weight-absolute\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | bold | <number>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"frequency-percentage\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<frequency> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"general-enclosed\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"generic-family\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"serif | sans-serif | cursive | fantasy | monospace\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"generic-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"serif | sans-serif | cursive | fantasy | monospace\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"geometry-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<shape-box> | fill-box | stroke-box | view-box\"</span>\n","\t},\n","\t\tgradient: gradient,\n","\t\t<span class=\"code-string\">\"grayscale()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"grayscale( <number-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"grid-line\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"historical-lig-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ historical-ligatures | no-historical-ligatures ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"hsl()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"hsla()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )\"</span>\n","\t},\n","\t\thue: hue,\n","\t\t<span class=\"code-string\">\"hue-rotate()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"hue-rotate( <angle> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"id-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<hash-token>\"</span>\n","\t},\n","\t\timage: image,\n","\t\t<span class=\"code-string\">\"image()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"image( <image-tags>? [ <image-src>? , <color>? ]! )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-set()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"image-set( <image-set-option># )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-set-option\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <image> | <string> ] <resolution>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-src\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<url> | <string>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"image-tags\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"ltr | rtl\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inflexible-breadth\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | min-content | max-content | auto\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"inset()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"invert()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"invert( <number-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"keyframes-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<custom-ident> | <string>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"keyframe-block\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<keyframe-selector># {\\n <declaration-list>\\n}\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"keyframe-block-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<keyframe-block>+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"keyframe-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"from | to | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"leader()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"leader( <leader-type> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"leader-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"dotted | solid | space | <string>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"length-percentage\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-names\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"'[' <custom-ident>* ']'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-name-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <line-names> | <name-repeat> ]+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"line-width\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | thin | medium | thick\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"linear-color-hint\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"linear-color-stop\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<color> <color-stop-length>?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"linear-gradient()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-layer\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-reference\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | <image> | <mask-source>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mask-source\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<url>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"masking-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"alpha | luminance | match-source\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"matrix()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"matrix( <number>#{6} )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"matrix3d()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"matrix3d( <number>#{16} )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"max()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"max( <calc-sum># )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-and\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-in-parens> [ and <media-in-parens> ]+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-condition\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-not> | <media-and> | <media-or> | <media-in-parens>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-condition-without-or\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-not> | <media-and> | <media-in-parens>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-feature\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-in-parens\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"( <media-condition> ) | <media-feature> | <general-enclosed>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-not\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"not <media-in-parens>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-or\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-in-parens> [ or <media-in-parens> ]+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-query\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-query-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<media-query>#\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"media-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<ident>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mf-boolean\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mf-name>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mf-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<ident>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mf-plain\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mf-name> : <mf-value>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mf-range\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<mf-name> [ '<' | '>' ]? '='? <mf-value>\\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"mf-value\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number> | <dimension> | <ident> | <ratio>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"min()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"min( <calc-sum># )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"minmax()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"minmax( [ <length> | <percentage> | <flex> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"named-color\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"namespace-prefix\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<ident>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"ns-prefix\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <ident-token> | '*' ]? '|'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"number-percentage\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<number> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"numeric-figure-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ lining-nums | oldstyle-nums ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"numeric-fraction-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ diagonal-fractions | stacked-fractions ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"numeric-spacing-values\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ proportional-nums | tabular-nums ]\"</span>\n","\t},\n","\t\tnth: nth,\n","\t\t<span class=\"code-string\">\"opacity()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"opacity( [ <number-percentage> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"overflow-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"unsafe | safe\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"outline-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-body\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-margin-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<page-margin-box-type> '{' <declaration-list> '}'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-margin-box-type\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-selector-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <page-selector># ]?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"page-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<pseudo-page>+ | <ident> <pseudo-page>*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"paint()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"paint( <ident>, <declaration-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"perspective()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"perspective( <length> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"polygon()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )\"</span>\n","\t},\n","\t\tposition: position$<span class=\"code-number\">1</span>,\n","\t\t<span class=\"code-string\">\"pseudo-class-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"':' <ident-token> | ':' <function-token> <any-value> ')'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"pseudo-element-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"':' <pseudo-class-selector>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"pseudo-page\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\": [ left | right | first | blank ]\"</span>\n","\t},\n","\t\tquote: quote,\n","\t\t<span class=\"code-string\">\"radial-gradient()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"relative-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<combinator>? <complex-selector>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"relative-selector-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<relative-selector>#\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"relative-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"larger | smaller\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"repeat-style\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"repeating-linear-gradient()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"repeating-radial-gradient()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rgb()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rgba()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rotate()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rotate( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rotate3d()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rotateX()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rotateX( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rotateY()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rotateY( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"rotateZ()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"rotateZ( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"saturate()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"saturate( <number-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scale()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scale( <number> , <number>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scale3d()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scale3d( <number> , <number> , <number> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scaleX()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scaleX( <number> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scaleY()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scaleY( <number> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"scaleZ()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"scaleZ( <number> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"self-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"center | start | end | self-start | self-end | flex-start | flex-end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"shape-radius\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage> | closest-side | farthest-side\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"skew()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"skewX()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"skewX( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"skewY()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"skewY( [ <angle> | <zero> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"sepia()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"sepia( <number-percentage> )\"</span>\n","\t},\n","\t\tshadow: shadow,\n","\t\t<span class=\"code-string\">\"shadow-t\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <length>{2,3} && <color>? ]\"</span>\n","\t},\n","\t\tshape: shape$<span class=\"code-number\">1</span>,\n","\t\t<span class=\"code-string\">\"shape-box\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<box> | margin-box\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"side-or-corner\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ left | right ] || [ top | bottom ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-animation\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-animation-direction\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"normal | reverse | alternate | alternate-reverse\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-animation-fill-mode\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"none | forwards | backwards | both\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-animation-iteration-count\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"infinite | <number>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-animation-play-state\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"running | paused\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-transition\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"single-transition-property\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"all | <custom-ident>\"</span>\n","\t},\n","\t\tsize: size,\n","\t\t<span class=\"code-string\">\"step-position\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"jump-start | jump-end | jump-none | jump-both | start | end\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"step-timing-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"step-start | step-end | steps(<integer>[, <step-position>]?)\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"subclass-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"supports-condition\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"supports-in-parens\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"( <supports-condition> ) | <supports-feature> | <general-enclosed>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"supports-feature\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<supports-decl> | <supports-selector-fn>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"supports-decl\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"( <declaration> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"supports-selector-fn\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"selector( <complex-selector> )\"</span>\n","\t},\n","\t\tsymbol: symbol,\n","\t\ttarget: target,\n","\t\t<span class=\"code-string\">\"target-counter()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"target-counters()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"target-text()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"time-percentage\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<time> | <percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"timing-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"linear | <cubic-bezier-timing-function> | <step-timing-function>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"track-breadth\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<length-percentage> | <flex> | min-content | max-content | auto\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"track-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"track-repeat\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"track-size\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transform-function\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"transform-list\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<transform-function>+\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"translate()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"translate( <length-percentage> , <length-percentage>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"translate3d()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"translate3d( <length-percentage> , <length-percentage> , <length> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"translateX()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"translateX( <length-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"translateY()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"translateY( <length-percentage> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"translateZ()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"translateZ( <length> )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"type-or-unit\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"type-selector\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<wq-name> | <ns-prefix>? '*'\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"var()\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"var( <custom-property-name> , <declaration-value>? )\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"viewport-length\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"auto | <length-percentage>\"</span>\n","\t},\n","\t\t<span class=\"code-string\">\"wq-name\"</span>: {\n","\t\tsyntax: <span class=\"code-string\">\"<ns-prefix>? <ident-token>\"</span>\n","\t}\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> syntaxes$<span class=\"code-number\">1</span> = <span class=\"code-comment\">/*#__PURE__*/</span><span class=\"code-built_in\">Object</span>.freeze({\n","\t\t__proto__: <span class=\"code-literal\">null</span>,\n","\t\tattachment: attachment,\n","\t\tbox: box,\n","\t\tcolor: color$<span class=\"code-number\">1</span>,\n","\t\tcombinator: combinator,\n","\t\tcompat: compat,\n","\t\tgradient: gradient,\n","\t\thue: hue,\n","\t\timage: image,\n","\t\tnth: nth,\n","\t\tposition: position$<span class=\"code-number\">1</span>,\n","\t\tquote: quote,\n","\t\tshadow: shadow,\n","\t\tshape: shape$<span class=\"code-number\">1</span>,\n","\t\tsize: size,\n","\t\tsymbol: symbol,\n","\t\ttarget: target,\n","\t\t<span class=\"code-string\">'default'</span>: syntaxes\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> properties$<span class=\"code-number\">3</span> = {\n","\t\t<span class=\"code-string\">\"-moz-background-clip\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"padding | border\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-border-radius-bottomleft\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'border-bottom-left-radius'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-border-radius-bottomright\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'border-bottom-right-radius'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-border-radius-topleft\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'border-top-left-radius'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-border-radius-topright\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'border-bottom-right-radius'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-control-character-visibility\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"visible | hidden\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-osx-font-smoothing\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | grayscale\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-moz-user-select\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | text | all | -moz-none\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-align\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"start | end | center | baseline | stretch\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-item-align\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | start | end | center | baseline | stretch\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-line-pack\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"start | end | center | justify | distribute | stretch\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-negative\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; TODO: find references for comfirmation\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'flex-shrink'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-pack\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"start | end | center | justify | distribute\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-order\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<integer>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-positive\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; TODO: find references for comfirmation\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'flex-grow'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-flex-preferred-size\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; TODO: find references for comfirmation\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'flex-basis'>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-interpolation-mode\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"nearest-neighbor | bicubic\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-grid-column-align\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"start | end | center | stretch\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-grid-columns\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; https://www.w3.org/TR/2012/WD-css3-grid-layout-20120322/#grid-columns\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<track-list-v0>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-grid-row-align\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"start | end | center | stretch\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-grid-rows\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; https://www.w3.org/TR/2012/WD-css3-grid-layout-20120322/#grid-rows\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<track-list-v0>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-hyphenate-limit-last\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | always | column | page | spread\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-appearance\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"webkit specific keywords\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"http://css-infos.net/property/-webkit-appearance\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | listbox | listitem | media-fullscreen-button | media-mute-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-background-clip\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en/docs/Web/CSS/background-clip\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <box> | border | padding | content | text ]#\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-column-break-after\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added, http://help.dottoro.com/lcrthhhv.php\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"always | auto | avoid\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-column-break-before\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added, http://help.dottoro.com/lcxquvkf.php\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"always | auto | avoid\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-column-break-inside\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added, http://help.dottoro.com/lclhnthl.php\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"always | auto | avoid\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-font-smoothing\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | none | antialiased | subpixel-antialiased\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-box-image\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-print-color-adjust\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"economy | exact\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-text-security\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; http://help.dottoro.com/lcbkewgt.php\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | circle | disc | square\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-user-drag\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; http://help.dottoro.com/lcbixvwm.php\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | element | auto\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-user-select\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | none | text | all\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"alignment-baseline\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"baseline-shift\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"baseline | sub | super | <svg-length>\"</span>\n","\t\t},\n","\t\tbehavior: {\n","\t\t\tcomment: <span class=\"code-string\">\"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<url>+\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"clip-rule\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"nonzero | evenodd\"</span>\n","\t\t},\n","\t\tcue: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'cue-before'> <'cue-after'>?\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"cue-after\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<url> <decibel>? | none\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"cue-before\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<url> <decibel>? | none\"</span>\n","\t\t},\n","\t\tcursor: {\n","\t\t\tcomment: <span class=\"code-string\">\"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.sitepoint.com/css3-cursor-styles/\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]\"</span>\n","\t\t},\n","\t\tdisplay: {\n","\t\t\tcomment: <span class=\"code-string\">\"extended with -ms-flexbox\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"block | contents | flex | flow | flow-root | grid | inline | inline-block | inline-flex | inline-grid | inline-list-item | inline-table | list-item | none | ruby | ruby-base | ruby-base-container | ruby-text | ruby-text-container | run-in | table | table-caption | table-cell | table-column | table-column-group | table-footer-group | table-header-group | table-row | table-row-group | -ms-flexbox | -ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box\"</span>\n","\t\t},\n","\t\tposition: {\n","\t\t\tcomment: <span class=\"code-string\">\"extended with -webkit-sticky\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"static | relative | absolute | sticky | fixed | -webkit-sticky\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"dominant-baseline\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"image-rendering\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://developer.mozilla.org/en/docs/Web/CSS/image-rendering\"</span>,\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | crisp-edges | pixelated | optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>\"</span>\n","\t\t},\n","\t\tfill: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#FillProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<paint>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"fill-opacity\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#FillProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<number-zero-one>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"fill-rule\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#FillProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"nonzero | evenodd\"</span>\n","\t\t},\n","\t\tfilter: {\n","\t\t\tcomment: <span class=\"code-string\">\"extend with IE legacy syntaxes\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <filter-function-list> | <-ms-filter-function-list>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"glyph-orientation-horizontal\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<angle>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"glyph-orientation-vertical\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<angle>\"</span>\n","\t\t},\n","\t\tkerning: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#KerningProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | <svg-length>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"letter-spacing\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"fix syntax <length> -> <length-percentage>\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"normal | <length-percentage>\"</span>\n","\t\t},\n","\t\tmarker: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <url>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"marker-end\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <url>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"marker-mid\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <url>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"marker-start\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <url>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"max-width\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available | <-non-standard-width>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"min-width\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available | <-non-standard-width>\"</span>\n","\t\t},\n","\t\topacity: {\n","\t\t\tcomment: <span class=\"code-string\">\"strict to 0..1 <number> -> <number-zero-one>\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<number-zero-one>\"</span>\n","\t\t},\n","\t\toverflow: {\n","\t\t\tcomment: <span class=\"code-string\">\"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ visible | hidden | clip | scroll | auto ]{1,2} | <-non-standard-overflow>\"</span>\n","\t\t},\n","\t\tpause: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'pause-before'> <'pause-after'>?\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"pause-after\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<time> | none | x-weak | weak | medium | strong | x-strong\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"pause-before\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<time> | none | x-weak | weak | medium | strong | x-strong\"</span>\n","\t\t},\n","\t\trest: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<'rest-before'> <'rest-after'>?\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"rest-after\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<time> | none | x-weak | weak | medium | strong | x-strong\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"rest-before\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<time> | none | x-weak | weak | medium | strong | x-strong\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"shape-rendering\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | optimizeSpeed | crispEdges | geometricPrecision\"</span>\n","\t\t},\n","\t\tsrc: {\n","\t\t\tcomment: <span class=\"code-string\">\"added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#\"</span>\n","\t\t},\n","\t\tspeak: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | none | normal\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"speak-as\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]\"</span>\n","\t\t},\n","\t\tstroke: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<paint>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-dasharray\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"none | [ <svg-length>+ ]#\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-dashoffset\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<svg-length>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-linecap\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"butt | round | square\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-linejoin\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"miter | round | bevel\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-miterlimit\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property (<miterlimit> = <number-one-or-greater>) \"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<number-one-or-greater>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-opacity\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<number-zero-one>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"stroke-width\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<svg-length>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"text-anchor\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added SVG property\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"start | middle | end\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"unicode-bidi\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"normal | embed | isolate | bidi-override | isolate-override | plaintext | -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"unicode-range\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<urange>#\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-balance\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<number> | left | center | right | leftwards | rightwards\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-duration\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"auto | <time>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-family\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-pitch\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-range\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-rate\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-stress\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"normal | strong | moderate | none | reduced\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"voice-volume\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#property-index\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"writing-mode\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"extend with SVG keywords\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr | <svg-writing-mode>\"</span>\n","\t\t}\n","\t};\n","\t<span class=\"code-keyword\">var</span> syntaxes$<span class=\"code-number\">2</span> = {\n","\t\t<span class=\"code-string\">\"-legacy-gradient\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added collection of legacy gradient syntaxes\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-linear-gradient\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-repeating-linear-gradient\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-linear-gradient-arguments\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <angle> | <side-or-corner> ]? , <color-stop-list>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-radial-gradient\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-repeating-radial-gradient\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-radial-gradient-arguments\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-radial-gradient-size\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-legacy-radial-gradient-shape\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"circle | ellipse\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-non-standard-font\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"non standard fonts\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://webkit.org/blog/3709/using-the-system-font-in-web-content/\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-non-standard-color\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"non standard colors\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html\"</span>,\n","\t\t\t\t<span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-non-standard-image-rendering\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-non-standard-overflow\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-non-standard-width\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"min-intrinsic | intrinsic | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-gradient()\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-gradient-color-stop\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-gradient-point\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-gradient-radius\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | <percentage>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-gradient-type\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"linear | radial\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-box-repeat\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"repeat | stretch | round\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-webkit-mask-clip-style\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"border | border-box | padding | padding-box | content | content-box | text\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-filter-function-list\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<-ms-filter-function>+\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-filter-function\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<-ms-filter-function-progid> | <-ms-filter-function-legacy>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-filter-function-progid\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-filter-function-legacy\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<ident-token> | <function-token> <any-value>? )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"-ms-filter\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<string>\"</span>\n","\t\t},\n","\t\tage: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#voice-family\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"child | young | old\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"attr-name\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<wq-name>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"attr-fallback\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<any-value>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"border-radius\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length-percentage>{1,2}\"</span>\n","\t\t},\n","\t\tbottom: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | auto\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"content-list\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <string> | contents | <url> | <quote> | <attr()> | counter( <ident>, <'list-style-type'>? ) ]+\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"generic-voice\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#voice-family\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <age>? <gender> <integer>? ]\"</span>\n","\t\t},\n","\t\tgender: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://www.w3.org/TR/css3-speech/#voice-family\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"male | female | neutral\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"generic-family\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added -apple-system\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://webkit.org/blog/3709/using-the-system-font-in-web-content/\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"serif | sans-serif | cursive | fantasy | monospace | -apple-system\"</span>\n","\t\t},\n","\t\tgradient: {\n","\t\t\tcomment: <span class=\"code-string\">\"added legacy syntaxes support\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <-legacy-gradient>\"</span>\n","\t\t},\n","\t\tleft: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | auto\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"mask-image\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<mask-reference>#\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"name-repeat\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"repeat( [ <positive-integer> | auto-fill ], <line-names>+)\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"named-color\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"added non standard color names\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen | <-non-standard-color>\"</span>\n","\t\t},\n","\t\tpaint: {\n","\t\t\tcomment: <span class=\"code-string\">\"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"path()\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, `motion` property was renamed, but left it as is for now; path() syntax was get from last draft https://drafts.fxtf.org/motion-1/#funcdef-offset-path-path\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"path( <string> )\"</span>\n","\t\t},\n","\t\tratio: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<integer> / <integer>\"</span>\n","\t\t},\n","\t\tright: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | auto\"</span>\n","\t\t},\n","\t\tshape: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed spaces in function body and add backwards compatible syntax\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"svg-length\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"All coordinates and lengths in SVG can be specified with or without a unit identifier\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG11/coords.html#Units\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"<percentage> | <length> | <number>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"svg-writing-mode\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"SVG specific keywords (deprecated for CSS)\"</span>,\n","\t\t\treferences: [\n","\t\t\t\t<span class=\"code-string\">\"https://developer.mozilla.org/en/docs/Web/CSS/writing-mode\"</span>,\n","\t\t\t\t<span class=\"code-string\">\"https://www.w3.org/TR/SVG/text.html#WritingModeProperty\"</span>\n","\t\t\t],\n","\t\t\tsyntax: <span class=\"code-string\">\"lr-tb | rl-tb | tb-rl | lr | rl | tb\"</span>\n","\t\t},\n","\t\ttop: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<length> | auto\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"track-group\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"used by old grid-columns and grid-rows syntax v0\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"'(' [ <string>* <track-minmax> <string>* ]+ ')' [ '[' <positive-integer> ']' ]? | <track-minmax>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"track-list-v0\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"used by old grid-columns and grid-rows syntax v0\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <string>* <track-group> <string>* ]+ | none\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"track-minmax\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"used by old grid-columns and grid-rows syntax v0\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content\"</span>\n","\t\t},\n","\t\tx: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<number>\"</span>\n","\t\t},\n","\t\ty: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<number>\"</span>\n","\t\t},\n","\t\tdeclaration: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, restored by https://drafts.csswg.org/css-syntax\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<ident-token> : <declaration-value>? [ '!' important ]?\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"declaration-list\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"missed, restored by https://drafts.csswg.org/css-syntax\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"[ <declaration>? ';' ]* <declaration>?\"</span>\n","\t\t},\n","\t\turl: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://drafts.csswg.org/css-values-4/#urls\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"url( <string> <url-modifier>* ) | <url-token>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"url-modifier\"</span>: {\n","\t\t\tcomment: <span class=\"code-string\">\"https://drafts.csswg.org/css-values-4/#typedef-url-modifier\"</span>,\n","\t\t\tsyntax: <span class=\"code-string\">\"<ident> | <function-token> <any-value> )\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"number-zero-one\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<number [0,1]>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"number-one-or-greater\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<number [1,\u221E]>\"</span>\n","\t\t},\n","\t\t<span class=\"code-string\">\"positive-integer\"</span>: {\n","\t\t\tsyntax: <span class=\"code-string\">\"<integer [0,\u221E]>\"</span>\n","\t\t}\n","\t};\n","\t<span class=\"code-keyword\">var</span> patch = {\n","\t\tproperties: properties$<span class=\"code-number\">3</span>,\n","\t\tsyntaxes: syntaxes$<span class=\"code-number\">2</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> patch$<span class=\"code-number\">1</span> = <span class=\"code-comment\">/*#__PURE__*/</span><span class=\"code-built_in\">Object</span>.freeze({\n","\t\t__proto__: <span class=\"code-literal\">null</span>,\n","\t\tproperties: properties$<span class=\"code-number\">3</span>,\n","\t\tsyntaxes: syntaxes$<span class=\"code-number\">2</span>,\n","\t\t<span class=\"code-string\">'default'</span>: patch\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> mdnAtrules = getCjsExportFromNamespace(atRules$<span class=\"code-number\">1</span>);\n","\n","\t<span class=\"code-keyword\">var</span> mdnProperties = getCjsExportFromNamespace(properties$<span class=\"code-number\">2</span>);\n","\n","\t<span class=\"code-keyword\">var</span> mdnSyntaxes = getCjsExportFromNamespace(syntaxes$<span class=\"code-number\">1</span>);\n","\n","\t<span class=\"code-keyword\">var</span> patch$<span class=\"code-number\">2</span> = getCjsExportFromNamespace(patch$<span class=\"code-number\">1</span>);\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">preprocessAtrules</span>(<span class=\"code-params\">dict</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> atruleName <span class=\"code-keyword\">in</span> dict) {\n","\t <span class=\"code-keyword\">var</span> atrule = dict[atruleName];\n","\t <span class=\"code-keyword\">var</span> descriptors = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (atrule.descriptors) {\n","\t descriptors = <span class=\"code-built_in\">Object</span>.create(<span class=\"code-literal\">null</span>);\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> descriptor <span class=\"code-keyword\">in</span> atrule.descriptors) {\n","\t descriptors[descriptor] = atrule.descriptors[descriptor].syntax;\n","\t }\n","\t }\n","\n","\t result[atruleName.substr(<span class=\"code-number\">1</span>)] = {\n","\t prelude: atrule.syntax.trim().match(<span class=\"code-regexp\">/^@\\S+\\s+([^;\\{]*)/</span>)[<span class=\"code-number\">1</span>].trim() || <span class=\"code-literal\">null</span>,\n","\t descriptors\n","\t };\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">buildDictionary</span>(<span class=\"code-params\">dict, patchDict</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> result = {};\n","\n","\t <span class=\"code-comment\">// copy all syntaxes for an original dict</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> dict) {\n","\t result[key] = dict[key].syntax;\n","\t }\n","\n","\t <span class=\"code-comment\">// apply a patch</span>\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> patchDict) {\n","\t <span class=\"code-keyword\">if</span> (key <span class=\"code-keyword\">in</span> dict) {\n","\t <span class=\"code-keyword\">if</span> (patchDict[key].syntax) {\n","\t result[key] = patchDict[key].syntax;\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">delete</span> result[key];\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (patchDict[key].syntax) {\n","\t result[key] = patchDict[key].syntax;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> result;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> data = {\n","\t types: buildDictionary(mdnSyntaxes, patch$<span class=\"code-number\">2.</span>syntaxes),\n","\t atrules: preprocessAtrules(mdnAtrules),\n","\t properties: buildDictionary(mdnProperties, patch$<span class=\"code-number\">2.</span>properties)\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> cmpChar$<span class=\"code-number\">3</span> = tokenizer.cmpChar;\n","\t<span class=\"code-keyword\">var</span> isDigit$<span class=\"code-number\">4</span> = tokenizer.isDigit;\n","\t<span class=\"code-keyword\">var</span> TYPE$<span class=\"code-number\">9</span> = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">4</span> = TYPE$<span class=\"code-number\">9.</span>WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">3</span> = TYPE$<span class=\"code-number\">9.</span>Comment;\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">3</span> = TYPE$<span class=\"code-number\">9.</span>Ident;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">3</span> = TYPE$<span class=\"code-number\">9.</span><span class=\"code-built_in\">Number</span>;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">2</span> = TYPE$<span class=\"code-number\">9.</span>Dimension;\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x002D</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-keyword\">var</span> N$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x006E</span>; <span class=\"code-comment\">// U+006E LATIN SMALL LETTER N (n)</span>\n","\t<span class=\"code-keyword\">var</span> DISALLOW_SIGN$<span class=\"code-number\">1</span> = <span class=\"code-literal\">true</span>;\n","\t<span class=\"code-keyword\">var</span> ALLOW_SIGN$<span class=\"code-number\">1</span> = <span class=\"code-literal\">false</span>;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">checkInteger$1</span>(<span class=\"code-params\">offset, disallowSign</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> pos = <span class=\"code-keyword\">this</span>.scanner.tokenStart + offset;\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(pos);\n","\n","\t <span class=\"code-keyword\">if</span> (code === PLUSSIGN$<span class=\"code-number\">3</span> || code === HYPHENMINUS$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">if</span> (disallowSign) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Number sign is not allowed'</span>);\n","\t }\n","\t pos++;\n","\t }\n","\n","\t <span class=\"code-keyword\">for</span> (; pos < <span class=\"code-keyword\">this</span>.scanner.tokenEnd; pos++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(pos))) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Integer is expected'</span>, pos);\n","\t }\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">checkTokenIsInteger</span>(<span class=\"code-params\">disallowSign</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> checkInteger$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">0</span>, disallowSign);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">expectCharCode</span>(<span class=\"code-params\">offset, code</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!cmpChar$<span class=\"code-number\">3</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart + offset, code)) {\n","\t <span class=\"code-keyword\">var</span> msg = <span class=\"code-string\">''</span>;\n","\n","\t <span class=\"code-keyword\">switch</span> (code) {\n","\t <span class=\"code-keyword\">case</span> N$<span class=\"code-number\">4</span>:\n","\t msg = <span class=\"code-string\">'N is expected'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t <span class=\"code-keyword\">case</span> HYPHENMINUS$<span class=\"code-number\">3</span>:\n","\t msg = <span class=\"code-string\">'HyphenMinus is expected'</span>;\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.error(msg, <span class=\"code-keyword\">this</span>.scanner.tokenStart + offset);\n","\t }\n","\t}\n","\n","\t<span class=\"code-comment\">// ... <signed-integer></span>\n","\t<span class=\"code-comment\">// ... ['+' | '-'] <signless-integer></span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeB$1</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> offset = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> sign = <span class=\"code-number\">0</span>;\n","\t <span class=\"code-keyword\">var</span> type = <span class=\"code-keyword\">this</span>.scanner.tokenType;\n","\n","\t <span class=\"code-keyword\">while</span> (type === WHITESPACE$<span class=\"code-number\">4</span> || type === COMMENT$<span class=\"code-number\">3</span>) {\n","\t type = <span class=\"code-keyword\">this</span>.scanner.lookupType(++offset);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (type !== NUMBER$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(PLUSSIGN$<span class=\"code-number\">3</span>, offset) ||\n","\t <span class=\"code-keyword\">this</span>.scanner.isDelim(HYPHENMINUS$<span class=\"code-number\">3</span>, offset)) {\n","\t sign = <span class=\"code-keyword\">this</span>.scanner.isDelim(PLUSSIGN$<span class=\"code-number\">3</span>, offset) ? PLUSSIGN$<span class=\"code-number\">3</span> : HYPHENMINUS$<span class=\"code-number\">3</span>;\n","\n","\t <span class=\"code-keyword\">do</span> {\n","\t type = <span class=\"code-keyword\">this</span>.scanner.lookupType(++offset);\n","\t } <span class=\"code-keyword\">while</span> (type === WHITESPACE$<span class=\"code-number\">4</span> || type === COMMENT$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (type !== NUMBER$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">this</span>.scanner.skip(offset);\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">null</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (offset > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">this</span>.scanner.skip(offset);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (sign === <span class=\"code-number\">0</span>) {\n","\t type = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\t <span class=\"code-keyword\">if</span> (type !== PLUSSIGN$<span class=\"code-number\">3</span> && type !== HYPHENMINUS$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Number sign is expected'</span>);\n","\t }\n","\t }\n","\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, sign !== <span class=\"code-number\">0</span>);\n","\t <span class=\"code-keyword\">return</span> sign === HYPHENMINUS$<span class=\"code-number\">3</span> ? <span class=\"code-string\">'-'</span> + <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>) : <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>);\n","\t}\n","\n","\t<span class=\"code-comment\">// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb</span>\n","\t<span class=\"code-keyword\">var</span> AnPlusB = {\n","\t name: <span class=\"code-string\">'AnPlusB'</span>,\n","\t structure: {\n","\t a: [<span class=\"code-built_in\">String</span>, <span class=\"code-literal\">null</span>],\n","\t b: [<span class=\"code-built_in\">String</span>, <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-comment\">/* eslint-disable brace-style*/</span>\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> a = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> b = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-comment\">// <integer></span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === NUMBER$<span class=\"code-number\">3</span>) {\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, ALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t b = <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>);\n","\t }\n","\n","\t <span class=\"code-comment\">// -n</span>\n","\t <span class=\"code-comment\">// -n <signed-integer></span>\n","\t <span class=\"code-comment\">// -n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-comment\">// -n- <signless-integer></span>\n","\t <span class=\"code-comment\">// <dashndashdigit-ident></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === IDENT$<span class=\"code-number\">3</span> && cmpChar$<span class=\"code-number\">3</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart, HYPHENMINUS$<span class=\"code-number\">3</span>)) {\n","\t a = <span class=\"code-string\">'-1'</span>;\n","\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, N$<span class=\"code-number\">4</span>);\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.getTokenLength()) {\n","\t <span class=\"code-comment\">// -n</span>\n","\t <span class=\"code-comment\">// -n <signed-integer></span>\n","\t <span class=\"code-comment\">// -n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t b = consumeB$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// -n- <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">3</span>:\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">2</span>, HYPHENMINUS$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\n","\t b = <span class=\"code-string\">'-'</span> + <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// <dashndashdigit-ident></span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">2</span>, HYPHENMINUS$<span class=\"code-number\">3</span>);\n","\t checkInteger$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">3</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t b = <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start + <span class=\"code-number\">2</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// '+'? n</span>\n","\t <span class=\"code-comment\">// '+'? n <signed-integer></span>\n","\t <span class=\"code-comment\">// '+'? n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-comment\">// '+'? n- <signless-integer></span>\n","\t <span class=\"code-comment\">// '+'? <ndashdigit-ident></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === IDENT$<span class=\"code-number\">3</span> || (<span class=\"code-keyword\">this</span>.scanner.isDelim(PLUSSIGN$<span class=\"code-number\">3</span>) && <span class=\"code-keyword\">this</span>.scanner.lookupType(<span class=\"code-number\">1</span>) === IDENT$<span class=\"code-number\">3</span>)) {\n","\t <span class=\"code-keyword\">var</span> sign = <span class=\"code-number\">0</span>;\n","\t a = <span class=\"code-string\">'1'</span>;\n","\n","\t <span class=\"code-comment\">// just ignore a plus</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(PLUSSIGN$<span class=\"code-number\">3</span>)) {\n","\t sign = <span class=\"code-number\">1</span>;\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">0</span>, N$<span class=\"code-number\">4</span>);\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.getTokenLength()) {\n","\t <span class=\"code-comment\">// '+'? n</span>\n","\t <span class=\"code-comment\">// '+'? n <signed-integer></span>\n","\t <span class=\"code-comment\">// '+'? n ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t b = consumeB$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// '+'? n- <signless-integer></span>\n","\t <span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, HYPHENMINUS$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\n","\t b = <span class=\"code-string\">'-'</span> + <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// '+'? <ndashdigit-ident></span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, HYPHENMINUS$<span class=\"code-number\">3</span>);\n","\t checkInteger$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">2</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t b = <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start + sign + <span class=\"code-number\">1</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-comment\">// <ndashdigit-dimension></span>\n","\t <span class=\"code-comment\">// <ndash-dimension> <signless-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension></span>\n","\t <span class=\"code-comment\">// <n-dimension> <signed-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension> ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === DIMENSION$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\t <span class=\"code-keyword\">var</span> sign = code === PLUSSIGN$<span class=\"code-number\">3</span> || code === HYPHENMINUS$<span class=\"code-number\">3</span>;\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-keyword\">this</span>.scanner.tokenStart + sign; i < <span class=\"code-keyword\">this</span>.scanner.tokenEnd; i++) {\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(i))) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (i === <span class=\"code-keyword\">this</span>.scanner.tokenStart + sign) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Integer is expected'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenStart + sign);\n","\t }\n","\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, i - <span class=\"code-keyword\">this</span>.scanner.tokenStart, N$<span class=\"code-number\">4</span>);\n","\t a = <span class=\"code-keyword\">this</span>.scanner.source.substring(start, i);\n","\n","\t <span class=\"code-comment\">// <n-dimension></span>\n","\t <span class=\"code-comment\">// <n-dimension> <signed-integer></span>\n","\t <span class=\"code-comment\">// <n-dimension> ['+' | '-'] <signless-integer></span>\n","\t <span class=\"code-keyword\">if</span> (i + <span class=\"code-number\">1</span> === <span class=\"code-keyword\">this</span>.scanner.tokenEnd) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t b = consumeB$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t expectCharCode.call(<span class=\"code-keyword\">this</span>, i - <span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">1</span>, HYPHENMINUS$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-comment\">// <ndash-dimension> <signless-integer></span>\n","\t <span class=\"code-keyword\">if</span> (i + <span class=\"code-number\">2</span> === <span class=\"code-keyword\">this</span>.scanner.tokenEnd) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t checkTokenIsInteger.call(<span class=\"code-keyword\">this</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t b = <span class=\"code-string\">'-'</span> + <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">3</span>);\n","\t }\n","\t <span class=\"code-comment\">// <ndashdigit-dimension></span>\n","\t <span class=\"code-keyword\">else</span> {\n","\t checkInteger$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, i - <span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">2</span>, DISALLOW_SIGN$<span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t b = <span class=\"code-keyword\">this</span>.scanner.substrToCursor(i + <span class=\"code-number\">1</span>);\n","\t }\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (a !== <span class=\"code-literal\">null</span> && a.charCodeAt(<span class=\"code-number\">0</span>) === PLUSSIGN$<span class=\"code-number\">3</span>) {\n","\t a = a.substr(<span class=\"code-number\">1</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (b !== <span class=\"code-literal\">null</span> && b.charCodeAt(<span class=\"code-number\">0</span>) === PLUSSIGN$<span class=\"code-number\">3</span>) {\n","\t b = b.substr(<span class=\"code-number\">1</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'AnPlusB'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t a: a,\n","\t b: b\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> a = node.a !== <span class=\"code-literal\">null</span> && node.a !== <span class=\"code-literal\">undefined</span>;\n","\t <span class=\"code-keyword\">var</span> b = node.b !== <span class=\"code-literal\">null</span> && node.b !== <span class=\"code-literal\">undefined</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (a) {\n","\t <span class=\"code-keyword\">this</span>.chunk(\n","\t node.a === <span class=\"code-string\">'+1'</span> ? <span class=\"code-string\">'+n'</span> : <span class=\"code-comment\">// eslint-disable-line operator-linebreak, indent</span>\n","\t node.a === <span class=\"code-string\">'1'</span> ? <span class=\"code-string\">'n'</span> : <span class=\"code-comment\">// eslint-disable-line operator-linebreak, indent</span>\n","\t node.a === <span class=\"code-string\">'-1'</span> ? <span class=\"code-string\">'-n'</span> : <span class=\"code-comment\">// eslint-disable-line operator-linebreak, indent</span>\n","\t node.a + <span class=\"code-string\">'n'</span> <span class=\"code-comment\">// eslint-disable-line operator-linebreak, indent</span>\n","\t );\n","\n","\t <span class=\"code-keyword\">if</span> (b) {\n","\t b = <span class=\"code-built_in\">String</span>(node.b);\n","\t <span class=\"code-keyword\">if</span> (b.charAt(<span class=\"code-number\">0</span>) === <span class=\"code-string\">'-'</span> || b.charAt(<span class=\"code-number\">0</span>) === <span class=\"code-string\">'+'</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(b.charAt(<span class=\"code-number\">0</span>));\n","\t <span class=\"code-keyword\">this</span>.chunk(b.substr(<span class=\"code-number\">1</span>));\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'+'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(b);\n","\t }\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-built_in\">String</span>(node.b));\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$a = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> WhiteSpace = TYPE$a.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> Semicolon = TYPE$a.Semicolon;\n","\t<span class=\"code-keyword\">var</span> LeftCurlyBracket = TYPE$a.LeftCurlyBracket;\n","\t<span class=\"code-keyword\">var</span> Delim = TYPE$a.Delim;\n","\t<span class=\"code-keyword\">var</span> EXCLAMATIONMARK$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x0021</span>; <span class=\"code-comment\">// U+0021 EXCLAMATION MARK (!)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getOffsetExcludeWS</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenIndex > <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.lookupType(<span class=\"code-number\">-1</span>) === WhiteSpace) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.scanner.tokenIndex > <span class=\"code-number\">1</span>\n","\t ? <span class=\"code-keyword\">this</span>.scanner.getTokenStart(<span class=\"code-keyword\">this</span>.scanner.tokenIndex - <span class=\"code-number\">1</span>)\n","\t : <span class=\"code-keyword\">this</span>.scanner.firstCharOffset;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t}\n","\n","\t<span class=\"code-comment\">// 0, 0, false</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">balanceEnd</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// LEFTCURLYBRACKET, 0, false</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">leftCurlyBracket</span>(<span class=\"code-params\">tokenType</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> tokenType === LeftCurlyBracket ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// LEFTCURLYBRACKET, SEMICOLON, false</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">leftCurlyBracketOrSemicolon</span>(<span class=\"code-params\">tokenType</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> tokenType === LeftCurlyBracket || tokenType === Semicolon ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// EXCLAMATIONMARK, SEMICOLON, false</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">exclamationMarkOrSemicolon</span>(<span class=\"code-params\">tokenType, source, offset</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (tokenType === Delim && source.charCodeAt(offset) === EXCLAMATIONMARK$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> tokenType === Semicolon ? <span class=\"code-number\">1</span> : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-comment\">// 0, SEMICOLON, true</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">semicolonIncluded</span>(<span class=\"code-params\">tokenType</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> tokenType === Semicolon ? <span class=\"code-number\">2</span> : <span class=\"code-number\">0</span>;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Raw = {\n","\t name: <span class=\"code-string\">'Raw'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">startToken, mode, excludeWhiteSpace</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> startOffset = <span class=\"code-keyword\">this</span>.scanner.getTokenStart(startToken);\n","\t <span class=\"code-keyword\">var</span> endOffset;\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skip(\n","\t <span class=\"code-keyword\">this</span>.scanner.getRawLength(startToken, mode || balanceEnd)\n","\t );\n","\n","\t <span class=\"code-keyword\">if</span> (excludeWhiteSpace && <span class=\"code-keyword\">this</span>.scanner.tokenStart > startOffset) {\n","\t endOffset = getOffsetExcludeWS.call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t endOffset = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Raw'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(startOffset, endOffset),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.source.substring(startOffset, endOffset)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t },\n","\n","\t mode: {\n","\t <span class=\"code-keyword\">default</span>: balanceEnd,\n","\t leftCurlyBracket: leftCurlyBracket,\n","\t leftCurlyBracketOrSemicolon: leftCurlyBracketOrSemicolon,\n","\t exclamationMarkOrSemicolon: exclamationMarkOrSemicolon,\n","\t semicolonIncluded: semicolonIncluded\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$b = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> ATKEYWORD = TYPE$b.AtKeyword;\n","\t<span class=\"code-keyword\">var</span> SEMICOLON = TYPE$b.Semicolon;\n","\t<span class=\"code-keyword\">var</span> LEFTCURLYBRACKET$<span class=\"code-number\">1</span> = TYPE$b.LeftCurlyBracket;\n","\t<span class=\"code-keyword\">var</span> RIGHTCURLYBRACKET$<span class=\"code-number\">1</span> = TYPE$b.RightCurlyBracket;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode.leftCurlyBracketOrSemicolon, <span class=\"code-literal\">true</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">isDeclarationBlockAtrule</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> offset = <span class=\"code-number\">1</span>, type; type = <span class=\"code-keyword\">this</span>.scanner.lookupType(offset); offset++) {\n","\t <span class=\"code-keyword\">if</span> (type === RIGHTCURLYBRACKET$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (type === LEFTCURLYBRACKET$<span class=\"code-number\">1</span> ||\n","\t type === ATKEYWORD) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Atrule = {\n","\t name: <span class=\"code-string\">'Atrule'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>,\n","\t prelude: [<span class=\"code-string\">'AtrulePrelude'</span>, <span class=\"code-string\">'Raw'</span>, <span class=\"code-literal\">null</span>],\n","\t block: [<span class=\"code-string\">'Block'</span>, <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> nameLowerCase;\n","\t <span class=\"code-keyword\">var</span> prelude = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> block = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(ATKEYWORD);\n","\n","\t name = <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start + <span class=\"code-number\">1</span>);\n","\t nameLowerCase = name.toLowerCase();\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-comment\">// parse prelude</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.eof === <span class=\"code-literal\">false</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class=\"code-number\">1</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== SEMICOLON) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.parseAtrulePrelude) {\n","\t prelude = <span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.AtrulePrelude.bind(<span class=\"code-keyword\">this</span>, name), consumeRaw);\n","\n","\t <span class=\"code-comment\">// turn empty AtrulePrelude into null</span>\n","\t <span class=\"code-keyword\">if</span> (prelude.type === <span class=\"code-string\">'AtrulePrelude'</span> && prelude.children.head === <span class=\"code-literal\">null</span>) {\n","\t prelude = <span class=\"code-literal\">null</span>;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t prelude = consumeRaw.call(<span class=\"code-keyword\">this</span>, <span class=\"code-keyword\">this</span>.scanner.tokenIndex);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> SEMICOLON:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTCURLYBRACKET$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.atrule.hasOwnProperty(nameLowerCase) &&\n","\t <span class=\"code-keyword\">typeof</span> <span class=\"code-keyword\">this</span>.atrule[nameLowerCase].block === <span class=\"code-string\">'function'</span>) {\n","\t block = <span class=\"code-keyword\">this</span>.atrule[nameLowerCase].block.call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> should consume block content as Raw?</span>\n","\t block = <span class=\"code-keyword\">this</span>.Block(isDeclarationBlockAtrule.call(<span class=\"code-keyword\">this</span>));\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Atrule'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t prelude: prelude,\n","\t block: block\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'@'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\n","\t <span class=\"code-keyword\">if</span> (node.prelude !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">' '</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.prelude);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (node.block) {\n","\t <span class=\"code-keyword\">this</span>.node(node.block);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">';'</span>);\n","\t }\n","\t },\n","\t walkContext: <span class=\"code-string\">'atrule'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$c = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> SEMICOLON$<span class=\"code-number\">1</span> = TYPE$c.Semicolon;\n","\t<span class=\"code-keyword\">var</span> LEFTCURLYBRACKET$<span class=\"code-number\">2</span> = TYPE$c.LeftCurlyBracket;\n","\n","\t<span class=\"code-keyword\">var</span> AtrulePrelude = {\n","\t name: <span class=\"code-string\">'AtrulePrelude'</span>,\n","\t structure: {\n","\t children: [[]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">name</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (name !== <span class=\"code-literal\">null</span>) {\n","\t name = name.toLowerCase();\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.atrule.hasOwnProperty(name) &&\n","\t <span class=\"code-keyword\">typeof</span> <span class=\"code-keyword\">this</span>.atrule[name].prelude === <span class=\"code-string\">'function'</span>) {\n","\t <span class=\"code-comment\">// custom consumer</span>\n","\t children = <span class=\"code-keyword\">this</span>.atrule[name].prelude.call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-comment\">// default consumer</span>\n","\t children = <span class=\"code-keyword\">this</span>.readSequence(<span class=\"code-keyword\">this</span>.scope.AtrulePrelude);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.eof !== <span class=\"code-literal\">true</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class=\"code-number\">2</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== SEMICOLON$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Semicolon or block is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (children === <span class=\"code-literal\">null</span>) {\n","\t children = <span class=\"code-keyword\">this</span>.createList();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'AtrulePrelude'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t },\n","\t walkContext: <span class=\"code-string\">'atrulePrelude'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$d = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">4</span> = TYPE$d.Ident;\n","\t<span class=\"code-keyword\">var</span> STRING = TYPE$d.String;\n","\t<span class=\"code-keyword\">var</span> COLON = TYPE$d.Colon;\n","\t<span class=\"code-keyword\">var</span> LEFTSQUAREBRACKET$<span class=\"code-number\">1</span> = TYPE$d.LeftSquareBracket;\n","\t<span class=\"code-keyword\">var</span> RIGHTSQUAREBRACKET$<span class=\"code-number\">1</span> = TYPE$d.RightSquareBracket;\n","\t<span class=\"code-keyword\">var</span> DOLLARSIGN = <span class=\"code-number\">0x0024</span>; <span class=\"code-comment\">// U+0024 DOLLAR SIGN ($)</span>\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> EQUALSSIGN = <span class=\"code-number\">0x003D</span>; <span class=\"code-comment\">// U+003D EQUALS SIGN (=)</span>\n","\t<span class=\"code-keyword\">var</span> CIRCUMFLEXACCENT = <span class=\"code-number\">0x005E</span>; <span class=\"code-comment\">// U+005E (^)</span>\n","\t<span class=\"code-keyword\">var</span> VERTICALLINE$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x007C</span>; <span class=\"code-comment\">// U+007C VERTICAL LINE (|)</span>\n","\t<span class=\"code-keyword\">var</span> TILDE = <span class=\"code-number\">0x007E</span>; <span class=\"code-comment\">// U+007E TILDE (~)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getAttributeName</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Unexpected end of input'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> expectIdent = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">var</span> checkColon = <span class=\"code-literal\">true</span>;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(ASTERISK$<span class=\"code-number\">1</span>)) {\n","\t expectIdent = <span class=\"code-literal\">true</span>;\n","\t checkColon = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.isDelim(VERTICALLINE$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">this</span>.eat(IDENT$<span class=\"code-number\">4</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(VERTICALLINE$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">1</span>) !== EQUALSSIGN) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">this</span>.eat(IDENT$<span class=\"code-number\">4</span>);\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (expectIdent) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Identifier is expected'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenEnd);\n","\t }\n","\t } <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (expectIdent) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Vertical line is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (checkColon && <span class=\"code-keyword\">this</span>.scanner.tokenType === COLON) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">this</span>.eat(IDENT$<span class=\"code-number\">4</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Identifier'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start)\n","\t };\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getOperator</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(start);\n","\n","\t <span class=\"code-keyword\">if</span> (code !== EQUALSSIGN && <span class=\"code-comment\">// =</span>\n","\t code !== TILDE && <span class=\"code-comment\">// ~=</span>\n","\t code !== CIRCUMFLEXACCENT && <span class=\"code-comment\">// ^=</span>\n","\t code !== DOLLARSIGN && <span class=\"code-comment\">// $=</span>\n","\t code !== ASTERISK$<span class=\"code-number\">1</span> && <span class=\"code-comment\">// *=</span>\n","\t code !== VERTICALLINE$<span class=\"code-number\">1</span> <span class=\"code-comment\">// |=</span>\n","\t ) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Attribute selector (=, ~=, ^=, $=, *=, |=) is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">if</span> (code !== EQUALSSIGN) {\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.isDelim(EQUALSSIGN)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Equal sign is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start);\n","\t}\n","\n","\t<span class=\"code-comment\">// '[' <wq-name> ']'</span>\n","\t<span class=\"code-comment\">// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'</span>\n","\t<span class=\"code-keyword\">var</span> AttributeSelector = {\n","\t name: <span class=\"code-string\">'AttributeSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-string\">'Identifier'</span>,\n","\t matcher: [<span class=\"code-built_in\">String</span>, <span class=\"code-literal\">null</span>],\n","\t value: [<span class=\"code-string\">'String'</span>, <span class=\"code-string\">'Identifier'</span>, <span class=\"code-literal\">null</span>],\n","\t flags: [<span class=\"code-built_in\">String</span>, <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> matcher = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> value = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> flags = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(LEFTSQUAREBRACKET$<span class=\"code-number\">1</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t name = getAttributeName.call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== RIGHTSQUAREBRACKET$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-comment\">// avoid case `[name i]`</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== IDENT$<span class=\"code-number\">4</span>) {\n","\t matcher = getOperator.call(<span class=\"code-keyword\">this</span>);\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t value = <span class=\"code-keyword\">this</span>.scanner.tokenType === STRING\n","\t ? <span class=\"code-keyword\">this</span>.String()\n","\t : <span class=\"code-keyword\">this</span>.Identifier();\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\n","\t <span class=\"code-comment\">// attribute flags</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === IDENT$<span class=\"code-number\">4</span>) {\n","\t flags = <span class=\"code-keyword\">this</span>.scanner.getTokenValue();\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTSQUAREBRACKET$<span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'AttributeSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t matcher: matcher,\n","\t value: value,\n","\t flags: flags\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> flagsPrefix = <span class=\"code-string\">' '</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'['</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.name);\n","\n","\t <span class=\"code-keyword\">if</span> (node.matcher !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(node.matcher);\n","\n","\t <span class=\"code-keyword\">if</span> (node.value !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.node(node.value);\n","\n","\t <span class=\"code-comment\">// space between string and flags is not required</span>\n","\t <span class=\"code-keyword\">if</span> (node.value.type === <span class=\"code-string\">'String'</span>) {\n","\t flagsPrefix = <span class=\"code-string\">''</span>;\n","\t }\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (node.flags !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(flagsPrefix);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.flags);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">']'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$e = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode$<span class=\"code-number\">1</span> = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">5</span> = TYPE$e.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">4</span> = TYPE$e.Comment;\n","\t<span class=\"code-keyword\">var</span> SEMICOLON$<span class=\"code-number\">2</span> = TYPE$e.Semicolon;\n","\t<span class=\"code-keyword\">var</span> ATKEYWORD$<span class=\"code-number\">1</span> = TYPE$e.AtKeyword;\n","\t<span class=\"code-keyword\">var</span> LEFTCURLYBRACKET$<span class=\"code-number\">3</span> = TYPE$e.LeftCurlyBracket;\n","\t<span class=\"code-keyword\">var</span> RIGHTCURLYBRACKET$<span class=\"code-number\">2</span> = TYPE$e.RightCurlyBracket;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw$1</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">true</span>);\n","\t}\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRule</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Rule, consumeRaw$<span class=\"code-number\">1</span>);\n","\t}\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRawDeclaration</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode$<span class=\"code-number\">1.</span>semicolonIncluded, <span class=\"code-literal\">true</span>);\n","\t}\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeDeclaration</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === SEMICOLON$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">return</span> consumeRawDeclaration.call(<span class=\"code-keyword\">this</span>, <span class=\"code-keyword\">this</span>.scanner.tokenIndex);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> node = <span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Declaration, consumeRawDeclaration);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === SEMICOLON$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> node;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Block = {\n","\t name: <span class=\"code-string\">'Block'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'Atrule'</span>,\n","\t <span class=\"code-string\">'Rule'</span>,\n","\t <span class=\"code-string\">'Declaration'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">isDeclaration</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> consumer = isDeclaration ? consumeDeclaration : consumeRule;\n","\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t <span class=\"code-keyword\">this</span>.eat(LEFTCURLYBRACKET$<span class=\"code-number\">3</span>);\n","\n","\t scan:\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> RIGHTCURLYBRACKET$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">break</span> scan;\n","\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> ATKEYWORD$<span class=\"code-number\">1</span>:\n","\t children.push(<span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Atrule, consumeRaw$<span class=\"code-number\">1</span>));\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t children.push(consumer.call(<span class=\"code-keyword\">this</span>));\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTCURLYBRACKET$<span class=\"code-number\">2</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Block'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'{'</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">prev</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (prev.type === <span class=\"code-string\">'Declaration'</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">';'</span>);\n","\t }\n","\t });\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'}'</span>);\n","\t },\n","\t walkContext: <span class=\"code-string\">'block'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$f = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> LEFTSQUAREBRACKET$<span class=\"code-number\">2</span> = TYPE$f.LeftSquareBracket;\n","\t<span class=\"code-keyword\">var</span> RIGHTSQUAREBRACKET$<span class=\"code-number\">2</span> = TYPE$f.RightSquareBracket;\n","\n","\t<span class=\"code-keyword\">var</span> Brackets = {\n","\t name: <span class=\"code-string\">'Brackets'</span>,\n","\t structure: {\n","\t children: [[]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">readSequence, recognizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(LEFTSQUAREBRACKET$<span class=\"code-number\">2</span>);\n","\n","\t children = readSequence.call(<span class=\"code-keyword\">this</span>, recognizer);\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTSQUAREBRACKET$<span class=\"code-number\">2</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Brackets'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'['</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">']'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> CDC = tokenizer.TYPE.CDC;\n","\n","\t<span class=\"code-keyword\">var</span> CDC_1 = {\n","\t name: <span class=\"code-string\">'CDC'</span>,\n","\t structure: [],\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(CDC); <span class=\"code-comment\">// --></span>\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'CDC'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'-->'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> CDO = tokenizer.TYPE.CDO;\n","\n","\t<span class=\"code-keyword\">var</span> CDO_1 = {\n","\t name: <span class=\"code-string\">'CDO'</span>,\n","\t structure: [],\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(CDO); <span class=\"code-comment\">// <!--</span>\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'CDO'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'<!--'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$g = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">5</span> = TYPE$g.Ident;\n","\t<span class=\"code-keyword\">var</span> FULLSTOP = <span class=\"code-number\">0x002E</span>; <span class=\"code-comment\">// U+002E FULL STOP (.)</span>\n","\n","\t<span class=\"code-comment\">// '.' ident</span>\n","\t<span class=\"code-keyword\">var</span> ClassSelector = {\n","\t name: <span class=\"code-string\">'ClassSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.isDelim(FULLSTOP)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Full stop is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'ClassSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(<span class=\"code-keyword\">this</span>.scanner.tokenStart - <span class=\"code-number\">1</span>, <span class=\"code-keyword\">this</span>.scanner.tokenEnd),\n","\t name: <span class=\"code-keyword\">this</span>.consume(IDENT$<span class=\"code-number\">5</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'.'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$h = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">6</span> = TYPE$h.Ident;\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> SOLIDUS = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\t<span class=\"code-keyword\">var</span> GREATERTHANSIGN$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x003E</span>; <span class=\"code-comment\">// U+003E GREATER-THAN SIGN (>)</span>\n","\t<span class=\"code-keyword\">var</span> TILDE$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x007E</span>; <span class=\"code-comment\">// U+007E TILDE (~)</span>\n","\n","\t<span class=\"code-comment\">// + | > | ~ | /deep/</span>\n","\t<span class=\"code-keyword\">var</span> Combinator = {\n","\t name: <span class=\"code-string\">'Combinator'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\n","\t <span class=\"code-keyword\">switch</span> (code) {\n","\t <span class=\"code-keyword\">case</span> GREATERTHANSIGN$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> PLUSSIGN$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">case</span> TILDE$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> SOLIDUS:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== IDENT$<span class=\"code-number\">6</span> || <span class=\"code-keyword\">this</span>.scanner.lookupValue(<span class=\"code-number\">0</span>, <span class=\"code-string\">'deep'</span>) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Identifier `deep` is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.isDelim(SOLIDUS)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Solidus is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Combinator is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Combinator'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$i = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">5</span> = TYPE$i.Comment;\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> SOLIDUS$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\n","\t<span class=\"code-comment\">// '/*' .* '*/'</span>\n","\t<span class=\"code-keyword\">var</span> Comment = {\n","\t name: <span class=\"code-string\">'Comment'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> end = <span class=\"code-keyword\">this</span>.scanner.tokenEnd;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(COMMENT$<span class=\"code-number\">5</span>);\n","\n","\t <span class=\"code-keyword\">if</span> ((end - start + <span class=\"code-number\">2</span>) >= <span class=\"code-number\">2</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(end - <span class=\"code-number\">2</span>) === ASTERISK$<span class=\"code-number\">2</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(end - <span class=\"code-number\">1</span>) === SOLIDUS$<span class=\"code-number\">1</span>) {\n","\t end -= <span class=\"code-number\">2</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Comment'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.source.substring(start + <span class=\"code-number\">2</span>, end)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'/*'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'*/'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isCustomProperty$<span class=\"code-number\">1</span> = names.isCustomProperty;\n","\t<span class=\"code-keyword\">var</span> TYPE$j = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode$<span class=\"code-number\">2</span> = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">7</span> = TYPE$j.Ident;\n","\t<span class=\"code-keyword\">var</span> HASH$<span class=\"code-number\">1</span> = TYPE$j.Hash;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">1</span> = TYPE$j.Colon;\n","\t<span class=\"code-keyword\">var</span> SEMICOLON$<span class=\"code-number\">3</span> = TYPE$j.Semicolon;\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">2</span> = TYPE$j.Delim;\n","\t<span class=\"code-keyword\">var</span> EXCLAMATIONMARK$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x0021</span>; <span class=\"code-comment\">// U+0021 EXCLAMATION MARK (!)</span>\n","\t<span class=\"code-keyword\">var</span> NUMBERSIGN$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x0023</span>; <span class=\"code-comment\">// U+0023 NUMBER SIGN (#)</span>\n","\t<span class=\"code-keyword\">var</span> DOLLARSIGN$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x0024</span>; <span class=\"code-comment\">// U+0024 DOLLAR SIGN ($)</span>\n","\t<span class=\"code-keyword\">var</span> AMPERSAND$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x0026</span>; <span class=\"code-comment\">// U+0026 ANPERSAND (&)</span>\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">5</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> SOLIDUS$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeValueRaw</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode$<span class=\"code-number\">2.</span>exclamationMarkOrSemicolon, <span class=\"code-literal\">true</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeCustomPropertyRaw</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode$<span class=\"code-number\">2.</span>exclamationMarkOrSemicolon, <span class=\"code-literal\">false</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeValue</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> startValueToken = <span class=\"code-keyword\">this</span>.scanner.tokenIndex;\n","\t <span class=\"code-keyword\">var</span> value = <span class=\"code-keyword\">this</span>.Value();\n","\n","\t <span class=\"code-keyword\">if</span> (value.type !== <span class=\"code-string\">'Raw'</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.eof === <span class=\"code-literal\">false</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== SEMICOLON$<span class=\"code-number\">3</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.isDelim(EXCLAMATIONMARK$<span class=\"code-number\">2</span>) === <span class=\"code-literal\">false</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.isBalanceEdge(startValueToken) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> value;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Declaration = {\n","\t name: <span class=\"code-string\">'Declaration'</span>,\n","\t structure: {\n","\t important: [<span class=\"code-built_in\">Boolean</span>, <span class=\"code-built_in\">String</span>],\n","\t property: <span class=\"code-built_in\">String</span>,\n","\t value: [<span class=\"code-string\">'Value'</span>, <span class=\"code-string\">'Raw'</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> startToken = <span class=\"code-keyword\">this</span>.scanner.tokenIndex;\n","\t <span class=\"code-keyword\">var</span> property = readProperty$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">var</span> customProperty = isCustomProperty$<span class=\"code-number\">1</span>(property);\n","\t <span class=\"code-keyword\">var</span> parseValue = customProperty ? <span class=\"code-keyword\">this</span>.parseCustomProperty : <span class=\"code-keyword\">this</span>.parseValue;\n","\t <span class=\"code-keyword\">var</span> consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw;\n","\t <span class=\"code-keyword\">var</span> important = <span class=\"code-literal\">false</span>;\n","\t <span class=\"code-keyword\">var</span> value;\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t <span class=\"code-keyword\">this</span>.eat(COLON$<span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (!customProperty) {\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (parseValue) {\n","\t value = <span class=\"code-keyword\">this</span>.parseWithFallback(consumeValue, consumeRaw);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t value = consumeRaw.call(<span class=\"code-keyword\">this</span>, <span class=\"code-keyword\">this</span>.scanner.tokenIndex);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(EXCLAMATIONMARK$<span class=\"code-number\">2</span>)) {\n","\t important = getImportant.call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\n","\t <span class=\"code-comment\">// Do not include semicolon to range per spec</span>\n","\t <span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#declaration-diagram</span>\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.eof === <span class=\"code-literal\">false</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== SEMICOLON$<span class=\"code-number\">3</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.isBalanceEdge(startToken) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Declaration'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t important: important,\n","\t property: property,\n","\t value: value\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.property);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">':'</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.value);\n","\n","\t <span class=\"code-keyword\">if</span> (node.important) {\n","\t <span class=\"code-keyword\">this</span>.chunk(node.important === <span class=\"code-literal\">true</span> ? <span class=\"code-string\">'!important'</span> : <span class=\"code-string\">'!'</span> + node.important);\n","\t }\n","\t },\n","\t walkContext: <span class=\"code-string\">'declaration'</span>\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readProperty$1</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-comment\">// hacks</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === DELIM$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart)) {\n","\t <span class=\"code-keyword\">case</span> ASTERISK$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">case</span> DOLLARSIGN$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">case</span> PLUSSIGN$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">case</span> NUMBERSIGN$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">case</span> AMPERSAND$<span class=\"code-number\">1</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> not sure we should support this hack</span>\n","\t <span class=\"code-keyword\">case</span> SOLIDUS$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(SOLIDUS$<span class=\"code-number\">2</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === HASH$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">this</span>.eat(HASH$<span class=\"code-number\">1</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">this</span>.eat(IDENT$<span class=\"code-number\">7</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start);\n","\t}\n","\n","\t<span class=\"code-comment\">// ! ws* important</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getImportant</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.eat(DELIM$<span class=\"code-number\">2</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">var</span> important = <span class=\"code-keyword\">this</span>.consume(IDENT$<span class=\"code-number\">7</span>);\n","\n","\t <span class=\"code-comment\">// store original value in case it differ from `important`</span>\n","\t <span class=\"code-comment\">// for better original source restoring and hacks like `!ie` support</span>\n","\t <span class=\"code-keyword\">return</span> important === <span class=\"code-string\">'important'</span> ? <span class=\"code-literal\">true</span> : important;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$k = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode$<span class=\"code-number\">3</span> = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">6</span> = TYPE$k.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">6</span> = TYPE$k.Comment;\n","\t<span class=\"code-keyword\">var</span> SEMICOLON$<span class=\"code-number\">4</span> = TYPE$k.Semicolon;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw$2</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode$<span class=\"code-number\">3.</span>semicolonIncluded, <span class=\"code-literal\">true</span>);\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> DeclarationList = {\n","\t name: <span class=\"code-string\">'DeclarationList'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'Declaration'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t \n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$<span class=\"code-number\">6</span>:\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">6</span>:\n","\t <span class=\"code-keyword\">case</span> SEMICOLON$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t children.push(<span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Declaration, consumeRaw$<span class=\"code-number\">2</span>));\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'DeclarationList'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">prev</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (prev.type === <span class=\"code-string\">'Declaration'</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">';'</span>);\n","\t }\n","\t });\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> consumeNumber$<span class=\"code-number\">3</span> = utils.consumeNumber;\n","\t<span class=\"code-keyword\">var</span> TYPE$l = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">3</span> = TYPE$l.Dimension;\n","\n","\t<span class=\"code-keyword\">var</span> Dimension = {\n","\t name: <span class=\"code-string\">'Dimension'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>,\n","\t unit: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> numberEnd = consumeNumber$<span class=\"code-number\">3</span>(<span class=\"code-keyword\">this</span>.scanner.source, start);\n","\n","\t <span class=\"code-keyword\">this</span>.eat(DIMENSION$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Dimension'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.source.substring(start, numberEnd),\n","\t unit: <span class=\"code-keyword\">this</span>.scanner.source.substring(numberEnd, <span class=\"code-keyword\">this</span>.scanner.tokenStart)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.unit);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$m = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">2</span> = TYPE$m.RightParenthesis;\n","\n","\t<span class=\"code-comment\">// <function-token> <sequence> )</span>\n","\t<span class=\"code-keyword\">var</span> _Function = {\n","\t name: <span class=\"code-string\">'Function'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>,\n","\t children: [[]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">readSequence, recognizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> name = <span class=\"code-keyword\">this</span>.consumeFunctionName();\n","\t <span class=\"code-keyword\">var</span> nameLowerCase = name.toLowerCase();\n","\t <span class=\"code-keyword\">var</span> children;\n","\n","\t children = recognizer.hasOwnProperty(nameLowerCase)\n","\t ? recognizer[nameLowerCase].call(<span class=\"code-keyword\">this</span>, recognizer)\n","\t : readSequence.call(<span class=\"code-keyword\">this</span>, recognizer);\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">2</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Function'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t },\n","\t walkContext: <span class=\"code-string\">'function'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$n = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> HASH$<span class=\"code-number\">2</span> = TYPE$n.Hash;\n","\n","\t<span class=\"code-comment\">// '#' ident</span>\n","\t<span class=\"code-keyword\">var</span> HexColor = {\n","\t name: <span class=\"code-string\">'HexColor'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(HASH$<span class=\"code-number\">2</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'HexColor'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start + <span class=\"code-number\">1</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'#'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$o = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">8</span> = TYPE$o.Ident;\n","\n","\t<span class=\"code-keyword\">var</span> Identifier = {\n","\t name: <span class=\"code-string\">'Identifier'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Identifier'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(<span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd),\n","\t name: <span class=\"code-keyword\">this</span>.consume(IDENT$<span class=\"code-number\">8</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$p = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> HASH$<span class=\"code-number\">3</span> = TYPE$p.Hash;\n","\n","\t<span class=\"code-comment\">// <hash-token></span>\n","\t<span class=\"code-keyword\">var</span> IdSelector = {\n","\t name: <span class=\"code-string\">'IdSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> check value is an ident</span>\n","\t <span class=\"code-keyword\">this</span>.eat(HASH$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'IdSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start + <span class=\"code-number\">1</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'#'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$q = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$<span class=\"code-number\">9</span> = TYPE$q.Ident;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">4</span> = TYPE$q.Number;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">4</span> = TYPE$q.Dimension;\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">2</span> = TYPE$q.LeftParenthesis;\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">3</span> = TYPE$q.RightParenthesis;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">2</span> = TYPE$q.Colon;\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">3</span> = TYPE$q.Delim;\n","\n","\t<span class=\"code-keyword\">var</span> MediaFeature = {\n","\t name: <span class=\"code-string\">'MediaFeature'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>,\n","\t value: [<span class=\"code-string\">'Identifier'</span>, <span class=\"code-string\">'Number'</span>, <span class=\"code-string\">'Dimension'</span>, <span class=\"code-string\">'Ratio'</span>, <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> value = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(LEFTPARENTHESIS$<span class=\"code-number\">2</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t name = <span class=\"code-keyword\">this</span>.consume(IDENT$<span class=\"code-number\">9</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== RIGHTPARENTHESIS$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">this</span>.eat(COLON$<span class=\"code-number\">2</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> NUMBER$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.lookupNonWSType(<span class=\"code-number\">1</span>) === DELIM$<span class=\"code-number\">3</span>) {\n","\t value = <span class=\"code-keyword\">this</span>.Ratio();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t value = <span class=\"code-keyword\">this</span>.Number();\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> DIMENSION$<span class=\"code-number\">4</span>:\n","\t value = <span class=\"code-keyword\">this</span>.Dimension();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> IDENT$<span class=\"code-number\">9</span>:\n","\t value = <span class=\"code-keyword\">this</span>.Identifier();\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Number, dimension, ratio or identifier is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MediaFeature'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t value: value\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t <span class=\"code-keyword\">if</span> (node.value !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">':'</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.value);\n","\t }\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$r = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">7</span> = TYPE$r.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">7</span> = TYPE$r.Comment;\n","\t<span class=\"code-keyword\">var</span> IDENT$a = TYPE$r.Ident;\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">3</span> = TYPE$r.LeftParenthesis;\n","\n","\t<span class=\"code-keyword\">var</span> MediaQuery = {\n","\t name: <span class=\"code-string\">'MediaQuery'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'Identifier'</span>,\n","\t <span class=\"code-string\">'MediaFeature'</span>,\n","\t <span class=\"code-string\">'WhiteSpace'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\t <span class=\"code-keyword\">var</span> child = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> space = <span class=\"code-literal\">null</span>;\n","\n","\t scan:\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">7</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$<span class=\"code-number\">7</span>:\n","\t space = <span class=\"code-keyword\">this</span>.WhiteSpace();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> IDENT$a:\n","\t child = <span class=\"code-keyword\">this</span>.Identifier();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTPARENTHESIS$<span class=\"code-number\">3</span>:\n","\t child = <span class=\"code-keyword\">this</span>.MediaFeature();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (space !== <span class=\"code-literal\">null</span>) {\n","\t children.push(space);\n","\t space = <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t children.push(child);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (child === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Identifier or parenthesis is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MediaQuery'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> COMMA$<span class=\"code-number\">1</span> = tokenizer.TYPE.Comma;\n","\n","\t<span class=\"code-keyword\">var</span> MediaQueryList = {\n","\t name: <span class=\"code-string\">'MediaQueryList'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'MediaQuery'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">relative</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t children.push(<span class=\"code-keyword\">this</span>.MediaQuery(relative));\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== COMMA$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'MediaQueryList'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">','</span>);\n","\t });\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> Nth = {\n","\t name: <span class=\"code-string\">'Nth'</span>,\n","\t structure: {\n","\t nth: [<span class=\"code-string\">'AnPlusB'</span>, <span class=\"code-string\">'Identifier'</span>],\n","\t selector: [<span class=\"code-string\">'SelectorList'</span>, <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">allowOfClause</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> end = start;\n","\t <span class=\"code-keyword\">var</span> selector = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> query;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.lookupValue(<span class=\"code-number\">0</span>, <span class=\"code-string\">'odd'</span>) || <span class=\"code-keyword\">this</span>.scanner.lookupValue(<span class=\"code-number\">0</span>, <span class=\"code-string\">'even'</span>)) {\n","\t query = <span class=\"code-keyword\">this</span>.Identifier();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t query = <span class=\"code-keyword\">this</span>.AnPlusB();\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (allowOfClause && <span class=\"code-keyword\">this</span>.scanner.lookupValue(<span class=\"code-number\">0</span>, <span class=\"code-string\">'of'</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t selector = <span class=\"code-keyword\">this</span>.SelectorList();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.needPositions) {\n","\t end = <span class=\"code-keyword\">this</span>.getLastListNode(selector.children).loc.end.offset;\n","\t }\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.needPositions) {\n","\t end = query.loc.end.offset;\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Nth'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, end),\n","\t nth: query,\n","\t selector: selector\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.node(node.nth);\n","\t <span class=\"code-keyword\">if</span> (node.selector !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">' of '</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.selector);\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">5</span> = tokenizer.TYPE.Number;\n","\n","\t<span class=\"code-keyword\">var</span> _Number = {\n","\t name: <span class=\"code-string\">'Number'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Number'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(<span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd),\n","\t value: <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">5</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-comment\">// '/' | '*' | ',' | ':' | '+' | '-'</span>\n","\t<span class=\"code-keyword\">var</span> Operator = {\n","\t name: <span class=\"code-string\">'Operator'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Operator'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$s = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">4</span> = TYPE$s.LeftParenthesis;\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">4</span> = TYPE$s.RightParenthesis;\n","\n","\t<span class=\"code-keyword\">var</span> Parentheses = {\n","\t name: <span class=\"code-string\">'Parentheses'</span>,\n","\t structure: {\n","\t children: [[]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">readSequence, recognizer</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-literal\">null</span>;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(LEFTPARENTHESIS$<span class=\"code-number\">4</span>);\n","\n","\t children = readSequence.call(<span class=\"code-keyword\">this</span>, recognizer);\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">4</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Parentheses'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> consumeNumber$<span class=\"code-number\">4</span> = utils.consumeNumber;\n","\t<span class=\"code-keyword\">var</span> TYPE$t = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> PERCENTAGE$<span class=\"code-number\">1</span> = TYPE$t.Percentage;\n","\n","\t<span class=\"code-keyword\">var</span> Percentage = {\n","\t name: <span class=\"code-string\">'Percentage'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> numberEnd = consumeNumber$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source, start);\n","\n","\t <span class=\"code-keyword\">this</span>.eat(PERCENTAGE$<span class=\"code-number\">1</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Percentage'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.source.substring(start, numberEnd)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'%'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$u = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$b = TYPE$u.Ident;\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">1</span> = TYPE$u.Function;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">3</span> = TYPE$u.Colon;\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">5</span> = TYPE$u.RightParenthesis;\n","\n","\t<span class=\"code-comment\">// : [ <ident> | <function-token> <any-value>? ) ]</span>\n","\t<span class=\"code-keyword\">var</span> PseudoClassSelector = {\n","\t name: <span class=\"code-string\">'PseudoClassSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>,\n","\t children: [[<span class=\"code-string\">'Raw'</span>], <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> nameLowerCase;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(COLON$<span class=\"code-number\">3</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === FUNCTION$<span class=\"code-number\">1</span>) {\n","\t name = <span class=\"code-keyword\">this</span>.consumeFunctionName();\n","\t nameLowerCase = name.toLowerCase();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.pseudo.hasOwnProperty(nameLowerCase)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t children = <span class=\"code-keyword\">this</span>.pseudo[nameLowerCase].call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t children = <span class=\"code-keyword\">this</span>.createList();\n","\t children.push(\n","\t <span class=\"code-keyword\">this</span>.Raw(<span class=\"code-keyword\">this</span>.scanner.tokenIndex, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">false</span>)\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">5</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t name = <span class=\"code-keyword\">this</span>.consume(IDENT$b);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'PseudoClassSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">':'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\n","\t <span class=\"code-keyword\">if</span> (node.children !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t }\n","\t },\n","\t walkContext: <span class=\"code-string\">'function'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$v = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$c = TYPE$v.Ident;\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">2</span> = TYPE$v.Function;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">4</span> = TYPE$v.Colon;\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">6</span> = TYPE$v.RightParenthesis;\n","\n","\t<span class=\"code-comment\">// :: [ <ident> | <function-token> <any-value>? ) ]</span>\n","\t<span class=\"code-keyword\">var</span> PseudoElementSelector = {\n","\t name: <span class=\"code-string\">'PseudoElementSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>,\n","\t children: [[<span class=\"code-string\">'Raw'</span>], <span class=\"code-literal\">null</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> name;\n","\t <span class=\"code-keyword\">var</span> nameLowerCase;\n","\n","\t <span class=\"code-keyword\">this</span>.eat(COLON$<span class=\"code-number\">4</span>);\n","\t <span class=\"code-keyword\">this</span>.eat(COLON$<span class=\"code-number\">4</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === FUNCTION$<span class=\"code-number\">2</span>) {\n","\t name = <span class=\"code-keyword\">this</span>.consumeFunctionName();\n","\t nameLowerCase = name.toLowerCase();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.pseudo.hasOwnProperty(nameLowerCase)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t children = <span class=\"code-keyword\">this</span>.pseudo[nameLowerCase].call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t children = <span class=\"code-keyword\">this</span>.createList();\n","\t children.push(\n","\t <span class=\"code-keyword\">this</span>.Raw(<span class=\"code-keyword\">this</span>.scanner.tokenIndex, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">false</span>)\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">6</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t name = <span class=\"code-keyword\">this</span>.consume(IDENT$c);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'PseudoElementSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: name,\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'::'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\n","\t <span class=\"code-keyword\">if</span> (node.children !== <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t }\n","\t },\n","\t walkContext: <span class=\"code-string\">'function'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isDigit$<span class=\"code-number\">5</span> = tokenizer.isDigit;\n","\t<span class=\"code-keyword\">var</span> TYPE$w = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">6</span> = TYPE$w.Number;\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">4</span> = TYPE$w.Delim;\n","\t<span class=\"code-keyword\">var</span> SOLIDUS$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\t<span class=\"code-keyword\">var</span> FULLSTOP$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x002E</span>; <span class=\"code-comment\">// U+002E FULL STOP (.)</span>\n","\n","\t<span class=\"code-comment\">// Terms of <ratio> should be a positive numbers (not zero or negative)</span>\n","\t<span class=\"code-comment\">// (see https://drafts.csswg.org/mediaqueries-3/#values)</span>\n","\t<span class=\"code-comment\">// However, -o-min-device-pixel-ratio takes fractional values as a ratio's term</span>\n","\t<span class=\"code-comment\">// and this is using by various sites. Therefore we relax checking on parse</span>\n","\t<span class=\"code-comment\">// to test a term is unsigned number without an exponent part.</span>\n","\t<span class=\"code-comment\">// Additional checking may be applied on lexer validation.</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeNumber$5</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.scanner.skipWS();\n","\n","\t <span class=\"code-keyword\">var</span> value = <span class=\"code-keyword\">this</span>.consume(NUMBER$<span class=\"code-number\">6</span>);\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < value.length; i++) {\n","\t <span class=\"code-keyword\">var</span> code = value.charCodeAt(i);\n","\t <span class=\"code-keyword\">if</span> (!isDigit$<span class=\"code-number\">5</span>(code) && code !== FULLSTOP$<span class=\"code-number\">1</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Unsigned number is expected'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenStart - value.length + i);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Number</span>(value) === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Zero number is not allowed'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenStart - value.length);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> value;\n","\t}\n","\n","\t<span class=\"code-comment\">// <positive-integer> S* '/' S* <positive-integer></span>\n","\t<span class=\"code-keyword\">var</span> Ratio = {\n","\t name: <span class=\"code-string\">'Ratio'</span>,\n","\t structure: {\n","\t left: <span class=\"code-built_in\">String</span>,\n","\t right: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> left = consumeNumber$<span class=\"code-number\">5.</span>call(<span class=\"code-keyword\">this</span>);\n","\t <span class=\"code-keyword\">var</span> right;\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipWS();\n","\n","\t <span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.scanner.isDelim(SOLIDUS$<span class=\"code-number\">3</span>)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Solidus is expected'</span>);\n","\t }\n","\t <span class=\"code-keyword\">this</span>.eat(DELIM$<span class=\"code-number\">4</span>);\n","\t right = consumeNumber$<span class=\"code-number\">5.</span>call(<span class=\"code-keyword\">this</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Ratio'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t left: left,\n","\t right: right\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.left);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'/'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(node.right);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$x = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode$<span class=\"code-number\">4</span> = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> LEFTCURLYBRACKET$<span class=\"code-number\">4</span> = TYPE$x.LeftCurlyBracket;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw$3</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, rawMode$<span class=\"code-number\">4.</span>leftCurlyBracket, <span class=\"code-literal\">true</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumePrelude</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> prelude = <span class=\"code-keyword\">this</span>.SelectorList();\n","\n","\t <span class=\"code-keyword\">if</span> (prelude.type !== <span class=\"code-string\">'Raw'</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.eof === <span class=\"code-literal\">false</span> &&\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class=\"code-number\">4</span>) {\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> prelude;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> Rule = {\n","\t name: <span class=\"code-string\">'Rule'</span>,\n","\t structure: {\n","\t prelude: [<span class=\"code-string\">'SelectorList'</span>, <span class=\"code-string\">'Raw'</span>],\n","\t block: [<span class=\"code-string\">'Block'</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> startToken = <span class=\"code-keyword\">this</span>.scanner.tokenIndex;\n","\t <span class=\"code-keyword\">var</span> startOffset = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> prelude;\n","\t <span class=\"code-keyword\">var</span> block;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.parseRulePrelude) {\n","\t prelude = <span class=\"code-keyword\">this</span>.parseWithFallback(consumePrelude, consumeRaw$<span class=\"code-number\">3</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t prelude = consumeRaw$<span class=\"code-number\">3.</span>call(<span class=\"code-keyword\">this</span>, startToken);\n","\t }\n","\n","\t block = <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">true</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Rule'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(startOffset, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t prelude: prelude,\n","\t block: block\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.node(node.prelude);\n","\t <span class=\"code-keyword\">this</span>.node(node.block);\n","\t },\n","\t walkContext: <span class=\"code-string\">'rule'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> Selector = {\n","\t name: <span class=\"code-string\">'Selector'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'TypeSelector'</span>,\n","\t <span class=\"code-string\">'IdSelector'</span>,\n","\t <span class=\"code-string\">'ClassSelector'</span>,\n","\t <span class=\"code-string\">'AttributeSelector'</span>,\n","\t <span class=\"code-string\">'PseudoClassSelector'</span>,\n","\t <span class=\"code-string\">'PseudoElementSelector'</span>,\n","\t <span class=\"code-string\">'Combinator'</span>,\n","\t <span class=\"code-string\">'WhiteSpace'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.readSequence(<span class=\"code-keyword\">this</span>.scope.Selector);\n","\n","\t <span class=\"code-comment\">// nothing were consumed</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.getFirstListNode(children) === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Selector is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Selector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$y = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> COMMA$<span class=\"code-number\">2</span> = TYPE$y.Comma;\n","\n","\t<span class=\"code-keyword\">var</span> SelectorList = {\n","\t name: <span class=\"code-string\">'SelectorList'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'Selector'</span>,\n","\t <span class=\"code-string\">'Raw'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t children.push(<span class=\"code-keyword\">this</span>.Selector());\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === COMMA$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'SelectorList'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocationFromList(children),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node, <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">','</span>);\n","\t });\n","\t },\n","\t walkContext: <span class=\"code-string\">'selector'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> STRING$<span class=\"code-number\">1</span> = tokenizer.TYPE.String;\n","\n","\t<span class=\"code-keyword\">var</span> _String = {\n","\t name: <span class=\"code-string\">'String'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'String'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(<span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd),\n","\t value: <span class=\"code-keyword\">this</span>.consume(STRING$<span class=\"code-number\">1</span>)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$z = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">8</span> = TYPE$z.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">8</span> = TYPE$z.Comment;\n","\t<span class=\"code-keyword\">var</span> ATKEYWORD$<span class=\"code-number\">2</span> = TYPE$z.AtKeyword;\n","\t<span class=\"code-keyword\">var</span> CDO$<span class=\"code-number\">1</span> = TYPE$z.CDO;\n","\t<span class=\"code-keyword\">var</span> CDC$<span class=\"code-number\">1</span> = TYPE$z.CDC;\n","\t<span class=\"code-keyword\">var</span> EXCLAMATIONMARK$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x0021</span>; <span class=\"code-comment\">// U+0021 EXCLAMATION MARK (!)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw$4</span>(<span class=\"code-params\">startToken</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Raw(startToken, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">false</span>);\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> StyleSheet = {\n","\t name: <span class=\"code-string\">'StyleSheet'</span>,\n","\t structure: {\n","\t children: [[\n","\t <span class=\"code-string\">'Comment'</span>,\n","\t <span class=\"code-string\">'CDO'</span>,\n","\t <span class=\"code-string\">'CDC'</span>,\n","\t <span class=\"code-string\">'Atrule'</span>,\n","\t <span class=\"code-string\">'Rule'</span>,\n","\t <span class=\"code-string\">'Raw'</span>\n","\t ]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\t <span class=\"code-keyword\">var</span> child;\n","\n","\t \n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$<span class=\"code-number\">8</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">8</span>:\n","\t <span class=\"code-comment\">// ignore comments except exclamation comments (i.e. /*! .. */) on top level</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">2</span>) !== EXCLAMATIONMARK$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\t }\n","\n","\t child = <span class=\"code-keyword\">this</span>.Comment();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> CDO$<span class=\"code-number\">1</span>: <span class=\"code-comment\">// <!--</span>\n","\t child = <span class=\"code-keyword\">this</span>.CDO();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> CDC$<span class=\"code-number\">1</span>: <span class=\"code-comment\">// --></span>\n","\t child = <span class=\"code-keyword\">this</span>.CDC();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// CSS Syntax Module Level 3</span>\n","\t <span class=\"code-comment\">// \u00A72.2 Error handling</span>\n","\t <span class=\"code-comment\">// At the \"top level\" of a stylesheet, an <at-keyword-token> starts an at-rule.</span>\n","\t <span class=\"code-keyword\">case</span> ATKEYWORD$<span class=\"code-number\">2</span>:\n","\t child = <span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Atrule, consumeRaw$<span class=\"code-number\">4</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-comment\">// Anything else starts a qualified rule ...</span>\n","\t <span class=\"code-keyword\">default</span>:\n","\t child = <span class=\"code-keyword\">this</span>.parseWithFallback(<span class=\"code-keyword\">this</span>.Rule, consumeRaw$<span class=\"code-number\">4</span>);\n","\t }\n","\n","\t children.push(child);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'StyleSheet'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t },\n","\t walkContext: <span class=\"code-string\">'stylesheet'</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$A = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$d = TYPE$A.Ident;\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> VERTICALLINE$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x007C</span>; <span class=\"code-comment\">// U+007C VERTICAL LINE (|)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">eatIdentifierOrAsterisk</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType !== IDENT$d &&\n","\t <span class=\"code-keyword\">this</span>.scanner.isDelim(ASTERISK$<span class=\"code-number\">4</span>) === <span class=\"code-literal\">false</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Identifier or asterisk is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t}\n","\n","\t<span class=\"code-comment\">// ident</span>\n","\t<span class=\"code-comment\">// ident|ident</span>\n","\t<span class=\"code-comment\">// ident|*</span>\n","\t<span class=\"code-comment\">// *</span>\n","\t<span class=\"code-comment\">// *|ident</span>\n","\t<span class=\"code-comment\">// *|*</span>\n","\t<span class=\"code-comment\">// |ident</span>\n","\t<span class=\"code-comment\">// |*</span>\n","\t<span class=\"code-keyword\">var</span> TypeSelector = {\n","\t name: <span class=\"code-string\">'TypeSelector'</span>,\n","\t structure: {\n","\t name: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(VERTICALLINE$<span class=\"code-number\">2</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t eatIdentifierOrAsterisk.call(<span class=\"code-keyword\">this</span>);\n","\t } <span class=\"code-keyword\">else</span> {\n","\t eatIdentifierOrAsterisk.call(<span class=\"code-keyword\">this</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(VERTICALLINE$<span class=\"code-number\">2</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t eatIdentifierOrAsterisk.call(<span class=\"code-keyword\">this</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'TypeSelector'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t name: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.name);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isHexDigit$<span class=\"code-number\">4</span> = tokenizer.isHexDigit;\n","\t<span class=\"code-keyword\">var</span> cmpChar$<span class=\"code-number\">4</span> = tokenizer.cmpChar;\n","\t<span class=\"code-keyword\">var</span> TYPE$B = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> NAME$<span class=\"code-number\">3</span> = tokenizer.NAME;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$e = TYPE$B.Ident;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">7</span> = TYPE$B.Number;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">5</span> = TYPE$B.Dimension;\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">6</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x002D</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-keyword\">var</span> QUESTIONMARK$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x003F</span>; <span class=\"code-comment\">// U+003F QUESTION MARK (?)</span>\n","\t<span class=\"code-keyword\">var</span> U$<span class=\"code-number\">1</span> = <span class=\"code-number\">0x0075</span>; <span class=\"code-comment\">// U+0075 LATIN SMALL LETTER U (u)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">eatHexSequence</span>(<span class=\"code-params\">offset, allowDash</span>) </span>{\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> pos = <span class=\"code-keyword\">this</span>.scanner.tokenStart + offset, len = <span class=\"code-number\">0</span>; pos < <span class=\"code-keyword\">this</span>.scanner.tokenEnd; pos++) {\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(pos);\n","\n","\t <span class=\"code-keyword\">if</span> (code === HYPHENMINUS$<span class=\"code-number\">4</span> && allowDash && len !== <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">if</span> (eatHexSequence.call(<span class=\"code-keyword\">this</span>, offset + len + <span class=\"code-number\">1</span>, <span class=\"code-literal\">false</span>) === <span class=\"code-number\">0</span>) {\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!isHexDigit$<span class=\"code-number\">4</span>(code)) {\n","\t <span class=\"code-keyword\">this</span>.error(\n","\t allowDash && len !== <span class=\"code-number\">0</span>\n","\t ? <span class=\"code-string\">'HyphenMinus'</span> + (len < <span class=\"code-number\">6</span> ? <span class=\"code-string\">' or hex digit'</span> : <span class=\"code-string\">''</span>) + <span class=\"code-string\">' is expected'</span>\n","\t : (len < <span class=\"code-number\">6</span> ? <span class=\"code-string\">'Hex digit is expected'</span> : <span class=\"code-string\">'Unexpected input'</span>),\n","\t pos\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (++len > <span class=\"code-number\">6</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Too many hex digits'</span>, pos);\n","\t } }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">return</span> len;\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">eatQuestionMarkSequence</span>(<span class=\"code-params\">max</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> count = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-keyword\">while</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(QUESTIONMARK$<span class=\"code-number\">2</span>)) {\n","\t <span class=\"code-keyword\">if</span> (++count > max) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Too many question marks'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t }\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">startsWith$1</span>(<span class=\"code-params\">code</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart) !== code) {\n","\t <span class=\"code-keyword\">this</span>.error(NAME$<span class=\"code-number\">3</span>[code] + <span class=\"code-string\">' is expected'</span>);\n","\t }\n","\t}\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-syntax/#urange</span>\n","\t<span class=\"code-comment\">// Informally, the <urange> production has three forms:</span>\n","\t<span class=\"code-comment\">// U+0001</span>\n","\t<span class=\"code-comment\">// Defines a range consisting of a single code point, in this case the code point \"1\".</span>\n","\t<span class=\"code-comment\">// U+0001-00ff</span>\n","\t<span class=\"code-comment\">// Defines a range of codepoints between the first and the second value, in this case</span>\n","\t<span class=\"code-comment\">// the range between \"1\" and \"ff\" (255 in decimal) inclusive.</span>\n","\t<span class=\"code-comment\">// U+00??</span>\n","\t<span class=\"code-comment\">// Defines a range of codepoints where the \"?\" characters range over all hex digits,</span>\n","\t<span class=\"code-comment\">// in this case defining the same as the value U+0000-00ff.</span>\n","\t<span class=\"code-comment\">// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat \"?\" as a hexadecimal digit).</span>\n","\t<span class=\"code-comment\">//</span>\n","\t<span class=\"code-comment\">// <urange> =</span>\n","\t<span class=\"code-comment\">// u '+' <ident-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <dimension-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <number-token> '?'* |</span>\n","\t<span class=\"code-comment\">// u <number-token> <dimension-token> |</span>\n","\t<span class=\"code-comment\">// u <number-token> <number-token> |</span>\n","\t<span class=\"code-comment\">// u '+' '?'+</span>\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">scanUnicodeRange</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> hexLength = <span class=\"code-number\">0</span>;\n","\n","\t <span class=\"code-comment\">// u '+' <ident-token> '?'*</span>\n","\t <span class=\"code-comment\">// u '+' '?'+</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(PLUSSIGN$<span class=\"code-number\">6</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === IDENT$e) {\n","\t hexLength = eatHexSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">0</span>, <span class=\"code-literal\">true</span>);\n","\t <span class=\"code-keyword\">if</span> (hexLength > <span class=\"code-number\">0</span>) {\n","\t eatQuestionMarkSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">6</span> - hexLength);\n","\t }\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(QUESTIONMARK$<span class=\"code-number\">2</span>)) {\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t eatQuestionMarkSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">5</span>);\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Hex digit or question mark is expected'</span>);\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// u <number-token> '?'*</span>\n","\t <span class=\"code-comment\">// u <number-token> <dimension-token></span>\n","\t <span class=\"code-comment\">// u <number-token> <number-token></span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === NUMBER$<span class=\"code-number\">7</span>) {\n","\t startsWith$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, PLUSSIGN$<span class=\"code-number\">6</span>);\n","\t hexLength = eatHexSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, <span class=\"code-literal\">true</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.isDelim(QUESTIONMARK$<span class=\"code-number\">2</span>)) {\n","\t eatQuestionMarkSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">6</span> - hexLength);\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === DIMENSION$<span class=\"code-number\">5</span> ||\n","\t <span class=\"code-keyword\">this</span>.scanner.tokenType === NUMBER$<span class=\"code-number\">7</span>) {\n","\t startsWith$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, HYPHENMINUS$<span class=\"code-number\">4</span>);\n","\t eatHexSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, <span class=\"code-literal\">false</span>);\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-comment\">// u <dimension-token> '?'*</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === DIMENSION$<span class=\"code-number\">5</span>) {\n","\t startsWith$<span class=\"code-number\">1.</span>call(<span class=\"code-keyword\">this</span>, PLUSSIGN$<span class=\"code-number\">6</span>);\n","\t hexLength = eatHexSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">1</span>, <span class=\"code-literal\">true</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (hexLength > <span class=\"code-number\">0</span>) {\n","\t eatQuestionMarkSequence.call(<span class=\"code-keyword\">this</span>, <span class=\"code-number\">6</span> - hexLength);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span>;\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.error();\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> UnicodeRange = {\n","\t name: <span class=\"code-string\">'UnicodeRange'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\n","\t <span class=\"code-comment\">// U or u</span>\n","\t <span class=\"code-keyword\">if</span> (!cmpChar$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source, start, U$<span class=\"code-number\">1</span>)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'U is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (!cmpChar$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source, start + <span class=\"code-number\">1</span>, PLUSSIGN$<span class=\"code-number\">6</span>)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Plus sign is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t scanUnicodeRange.call(<span class=\"code-keyword\">this</span>);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'UnicodeRange'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.substrToCursor(start)\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isWhiteSpace$<span class=\"code-number\">2</span> = tokenizer.isWhiteSpace;\n","\t<span class=\"code-keyword\">var</span> cmpStr$<span class=\"code-number\">4</span> = tokenizer.cmpStr;\n","\t<span class=\"code-keyword\">var</span> TYPE$C = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">3</span> = TYPE$C.Function;\n","\t<span class=\"code-keyword\">var</span> URL$<span class=\"code-number\">2</span> = TYPE$C.Url;\n","\t<span class=\"code-keyword\">var</span> RIGHTPARENTHESIS$<span class=\"code-number\">7</span> = TYPE$C.RightParenthesis;\n","\n","\t<span class=\"code-comment\">// <url-token> | <function-token> <string> )</span>\n","\t<span class=\"code-keyword\">var</span> Url = {\n","\t name: <span class=\"code-string\">'Url'</span>,\n","\t structure: {\n","\t value: [<span class=\"code-string\">'String'</span>, <span class=\"code-string\">'Raw'</span>]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> value;\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> URL$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">var</span> rawStart = start + <span class=\"code-number\">4</span>;\n","\t <span class=\"code-keyword\">var</span> rawEnd = <span class=\"code-keyword\">this</span>.scanner.tokenEnd - <span class=\"code-number\">1</span>;\n","\n","\t <span class=\"code-keyword\">while</span> (rawStart < rawEnd && isWhiteSpace$<span class=\"code-number\">2</span>(<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(rawStart))) {\n","\t rawStart++;\n","\t }\n","\n","\t <span class=\"code-keyword\">while</span> (rawStart < rawEnd && isWhiteSpace$<span class=\"code-number\">2</span>(<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(rawEnd - <span class=\"code-number\">1</span>))) {\n","\t rawEnd--;\n","\t }\n","\n","\t value = {\n","\t type: <span class=\"code-string\">'Raw'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(rawStart, rawEnd),\n","\t value: <span class=\"code-keyword\">this</span>.scanner.source.substring(rawStart, rawEnd)\n","\t };\n","\n","\t <span class=\"code-keyword\">this</span>.eat(URL$<span class=\"code-number\">2</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> FUNCTION$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">if</span> (!cmpStr$<span class=\"code-number\">4</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd, <span class=\"code-string\">'url('</span>)) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Function name must be `url`'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">this</span>.eat(FUNCTION$<span class=\"code-number\">3</span>);\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t value = <span class=\"code-keyword\">this</span>.String();\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\t <span class=\"code-keyword\">this</span>.eat(RIGHTPARENTHESIS$<span class=\"code-number\">7</span>);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Url or Function is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Url'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t value: value\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'url'</span>);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">'('</span>);\n","\t <span class=\"code-keyword\">this</span>.node(node.value);\n","\t <span class=\"code-keyword\">this</span>.chunk(<span class=\"code-string\">')'</span>);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> Value = {\n","\t name: <span class=\"code-string\">'Value'</span>,\n","\t structure: {\n","\t children: [[]]\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> start = <span class=\"code-keyword\">this</span>.scanner.tokenStart;\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.readSequence(<span class=\"code-keyword\">this</span>.scope.Value);\n","\n","\t <span class=\"code-keyword\">return</span> {\n","\t type: <span class=\"code-string\">'Value'</span>,\n","\t loc: <span class=\"code-keyword\">this</span>.getLocation(start, <span class=\"code-keyword\">this</span>.scanner.tokenStart),\n","\t children: children\n","\t };\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.children(node);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$<span class=\"code-number\">9</span> = tokenizer.TYPE.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> SPACE$<span class=\"code-number\">2</span> = <span class=\"code-built_in\">Object</span>.freeze({\n","\t type: <span class=\"code-string\">'WhiteSpace'</span>,\n","\t loc: <span class=\"code-literal\">null</span>,\n","\t value: <span class=\"code-string\">' '</span>\n","\t});\n","\n","\t<span class=\"code-keyword\">var</span> WhiteSpace$<span class=\"code-number\">1</span> = {\n","\t name: <span class=\"code-string\">'WhiteSpace'</span>,\n","\t structure: {\n","\t value: <span class=\"code-built_in\">String</span>\n","\t },\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.eat(WHITESPACE$<span class=\"code-number\">9</span>);\n","\t <span class=\"code-keyword\">return</span> SPACE$<span class=\"code-number\">2</span>;\n","\n","\t <span class=\"code-comment\">// return {</span>\n","\t <span class=\"code-comment\">// type: 'WhiteSpace',</span>\n","\t <span class=\"code-comment\">// loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),</span>\n","\t <span class=\"code-comment\">// value: this.consume(WHITESPACE)</span>\n","\t <span class=\"code-comment\">// };</span>\n","\t },\n","\t generate: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">node</span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.chunk(node.value);\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> node = {\n","\t AnPlusB: AnPlusB,\n","\t Atrule: Atrule,\n","\t AtrulePrelude: AtrulePrelude,\n","\t AttributeSelector: AttributeSelector,\n","\t Block: Block,\n","\t Brackets: Brackets,\n","\t CDC: CDC_1,\n","\t CDO: CDO_1,\n","\t ClassSelector: ClassSelector,\n","\t Combinator: Combinator,\n","\t Comment: Comment,\n","\t Declaration: Declaration,\n","\t DeclarationList: DeclarationList,\n","\t Dimension: Dimension,\n","\t <span class=\"code-built_in\">Function</span>: _Function,\n","\t HexColor: HexColor,\n","\t Identifier: Identifier,\n","\t IdSelector: IdSelector,\n","\t MediaFeature: MediaFeature,\n","\t MediaQuery: MediaQuery,\n","\t MediaQueryList: MediaQueryList,\n","\t Nth: Nth,\n","\t <span class=\"code-built_in\">Number</span>: _Number,\n","\t Operator: Operator,\n","\t Parentheses: Parentheses,\n","\t Percentage: Percentage,\n","\t PseudoClassSelector: PseudoClassSelector,\n","\t PseudoElementSelector: PseudoElementSelector,\n","\t Ratio: Ratio,\n","\t Raw: Raw,\n","\t Rule: Rule,\n","\t Selector: Selector,\n","\t SelectorList: SelectorList,\n","\t <span class=\"code-built_in\">String</span>: _String,\n","\t StyleSheet: StyleSheet,\n","\t TypeSelector: TypeSelector,\n","\t UnicodeRange: UnicodeRange,\n","\t Url: Url,\n","\t Value: Value,\n","\t WhiteSpace: WhiteSpace$<span class=\"code-number\">1</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> lexer = {\n","\t generic: <span class=\"code-literal\">true</span>,\n","\t types: data.types,\n","\t atrules: data.atrules,\n","\t properties: data.properties,\n","\t node: node\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> cmpChar$<span class=\"code-number\">5</span> = tokenizer.cmpChar;\n","\t<span class=\"code-keyword\">var</span> cmpStr$<span class=\"code-number\">5</span> = tokenizer.cmpStr;\n","\t<span class=\"code-keyword\">var</span> TYPE$D = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> IDENT$f = TYPE$D.Ident;\n","\t<span class=\"code-keyword\">var</span> STRING$<span class=\"code-number\">2</span> = TYPE$D.String;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">8</span> = TYPE$D.Number;\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">4</span> = TYPE$D.Function;\n","\t<span class=\"code-keyword\">var</span> URL$<span class=\"code-number\">3</span> = TYPE$D.Url;\n","\t<span class=\"code-keyword\">var</span> HASH$<span class=\"code-number\">4</span> = TYPE$D.Hash;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">6</span> = TYPE$D.Dimension;\n","\t<span class=\"code-keyword\">var</span> PERCENTAGE$<span class=\"code-number\">2</span> = TYPE$D.Percentage;\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">5</span> = TYPE$D.LeftParenthesis;\n","\t<span class=\"code-keyword\">var</span> LEFTSQUAREBRACKET$<span class=\"code-number\">3</span> = TYPE$D.LeftSquareBracket;\n","\t<span class=\"code-keyword\">var</span> COMMA$<span class=\"code-number\">3</span> = TYPE$D.Comma;\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">5</span> = TYPE$D.Delim;\n","\t<span class=\"code-keyword\">var</span> NUMBERSIGN$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x0023</span>; <span class=\"code-comment\">// U+0023 NUMBER SIGN (#)</span>\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">5</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">7</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> HYPHENMINUS$<span class=\"code-number\">5</span> = <span class=\"code-number\">0x002D</span>; <span class=\"code-comment\">// U+002D HYPHEN-MINUS (-)</span>\n","\t<span class=\"code-keyword\">var</span> SOLIDUS$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\t<span class=\"code-keyword\">var</span> U$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x0075</span>; <span class=\"code-comment\">// U+0075 LATIN SMALL LETTER U (u)</span>\n","\n","\t<span class=\"code-keyword\">var</span> _default = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">defaultRecognizer</span>(<span class=\"code-params\">context</span>) </span>{\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> HASH$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.HexColor();\n","\n","\t <span class=\"code-keyword\">case</span> COMMA$<span class=\"code-number\">3</span>:\n","\t context.space = <span class=\"code-literal\">null</span>;\n","\t context.ignoreWSAfter = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Operator();\n","\n","\t <span class=\"code-keyword\">case</span> LEFTPARENTHESIS$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Parentheses(<span class=\"code-keyword\">this</span>.readSequence, context.recognizer);\n","\n","\t <span class=\"code-keyword\">case</span> LEFTSQUAREBRACKET$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Brackets(<span class=\"code-keyword\">this</span>.readSequence, context.recognizer);\n","\n","\t <span class=\"code-keyword\">case</span> STRING$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.String();\n","\n","\t <span class=\"code-keyword\">case</span> DIMENSION$<span class=\"code-number\">6</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Dimension();\n","\n","\t <span class=\"code-keyword\">case</span> PERCENTAGE$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Percentage();\n","\n","\t <span class=\"code-keyword\">case</span> NUMBER$<span class=\"code-number\">8</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Number();\n","\n","\t <span class=\"code-keyword\">case</span> FUNCTION$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">return</span> cmpStr$<span class=\"code-number\">5</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart, <span class=\"code-keyword\">this</span>.scanner.tokenEnd, <span class=\"code-string\">'url('</span>)\n","\t ? <span class=\"code-keyword\">this</span>.Url()\n","\t : <span class=\"code-keyword\">this</span>.Function(<span class=\"code-keyword\">this</span>.readSequence, context.recognizer);\n","\n","\t <span class=\"code-keyword\">case</span> URL$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Url();\n","\n","\t <span class=\"code-keyword\">case</span> IDENT$f:\n","\t <span class=\"code-comment\">// check for unicode range, it should start with u+ or U+</span>\n","\t <span class=\"code-keyword\">if</span> (cmpChar$<span class=\"code-number\">5</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart, U$<span class=\"code-number\">2</span>) &&\n","\t cmpChar$<span class=\"code-number\">5</span>(<span class=\"code-keyword\">this</span>.scanner.source, <span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">1</span>, PLUSSIGN$<span class=\"code-number\">7</span>)) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.UnicodeRange();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Identifier();\n","\t }\n","\n","\t <span class=\"code-keyword\">case</span> DELIM$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\n","\t <span class=\"code-keyword\">if</span> (code === SOLIDUS$<span class=\"code-number\">4</span> ||\n","\t code === ASTERISK$<span class=\"code-number\">5</span> ||\n","\t code === PLUSSIGN$<span class=\"code-number\">7</span> ||\n","\t code === HYPHENMINUS$<span class=\"code-number\">5</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Operator(); <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> replace with Delim</span>\n","\t }\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> produce a node with Delim node type</span>\n","\n","\t <span class=\"code-keyword\">if</span> (code === NUMBERSIGN$<span class=\"code-number\">3</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Hex or identifier is expected'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">1</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> atrulePrelude = {\n","\t getNode: _default\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$E = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> DELIM$<span class=\"code-number\">6</span> = TYPE$E.Delim;\n","\t<span class=\"code-keyword\">var</span> IDENT$g = TYPE$E.Ident;\n","\t<span class=\"code-keyword\">var</span> DIMENSION$<span class=\"code-number\">7</span> = TYPE$E.Dimension;\n","\t<span class=\"code-keyword\">var</span> PERCENTAGE$<span class=\"code-number\">3</span> = TYPE$E.Percentage;\n","\t<span class=\"code-keyword\">var</span> NUMBER$<span class=\"code-number\">9</span> = TYPE$E.Number;\n","\t<span class=\"code-keyword\">var</span> HASH$<span class=\"code-number\">5</span> = TYPE$E.Hash;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">5</span> = TYPE$E.Colon;\n","\t<span class=\"code-keyword\">var</span> LEFTSQUAREBRACKET$<span class=\"code-number\">4</span> = TYPE$E.LeftSquareBracket;\n","\t<span class=\"code-keyword\">var</span> NUMBERSIGN$<span class=\"code-number\">4</span> = <span class=\"code-number\">0x0023</span>; <span class=\"code-comment\">// U+0023 NUMBER SIGN (#)</span>\n","\t<span class=\"code-keyword\">var</span> ASTERISK$<span class=\"code-number\">6</span> = <span class=\"code-number\">0x002A</span>; <span class=\"code-comment\">// U+002A ASTERISK (*)</span>\n","\t<span class=\"code-keyword\">var</span> PLUSSIGN$<span class=\"code-number\">8</span> = <span class=\"code-number\">0x002B</span>; <span class=\"code-comment\">// U+002B PLUS SIGN (+)</span>\n","\t<span class=\"code-keyword\">var</span> SOLIDUS$<span class=\"code-number\">5</span> = <span class=\"code-number\">0x002F</span>; <span class=\"code-comment\">// U+002F SOLIDUS (/)</span>\n","\t<span class=\"code-keyword\">var</span> FULLSTOP$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x002E</span>; <span class=\"code-comment\">// U+002E FULL STOP (.)</span>\n","\t<span class=\"code-keyword\">var</span> GREATERTHANSIGN$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x003E</span>; <span class=\"code-comment\">// U+003E GREATER-THAN SIGN (>)</span>\n","\t<span class=\"code-keyword\">var</span> VERTICALLINE$<span class=\"code-number\">3</span> = <span class=\"code-number\">0x007C</span>; <span class=\"code-comment\">// U+007C VERTICAL LINE (|)</span>\n","\t<span class=\"code-keyword\">var</span> TILDE$<span class=\"code-number\">2</span> = <span class=\"code-number\">0x007E</span>; <span class=\"code-comment\">// U+007E TILDE (~)</span>\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">getNode</span>(<span class=\"code-params\">context</span>) </span>{\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> LEFTSQUAREBRACKET$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.AttributeSelector();\n","\n","\t <span class=\"code-keyword\">case</span> HASH$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.IdSelector();\n","\n","\t <span class=\"code-keyword\">case</span> COLON$<span class=\"code-number\">5</span>:\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.lookupType(<span class=\"code-number\">1</span>) === COLON$<span class=\"code-number\">5</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.PseudoElementSelector();\n","\t } <span class=\"code-keyword\">else</span> {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.PseudoClassSelector();\n","\t }\n","\n","\t <span class=\"code-keyword\">case</span> IDENT$g:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.TypeSelector();\n","\n","\t <span class=\"code-keyword\">case</span> NUMBER$<span class=\"code-number\">9</span>:\n","\t <span class=\"code-keyword\">case</span> PERCENTAGE$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Percentage();\n","\n","\t <span class=\"code-keyword\">case</span> DIMENSION$<span class=\"code-number\">7</span>:\n","\t <span class=\"code-comment\">// throws when .123ident</span>\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart) === FULLSTOP$<span class=\"code-number\">2</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Identifier is expected'</span>, <span class=\"code-keyword\">this</span>.scanner.tokenStart + <span class=\"code-number\">1</span>);\n","\t }\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> DELIM$<span class=\"code-number\">6</span>:\n","\t <span class=\"code-keyword\">var</span> code = <span class=\"code-keyword\">this</span>.scanner.source.charCodeAt(<span class=\"code-keyword\">this</span>.scanner.tokenStart);\n","\n","\t <span class=\"code-keyword\">switch</span> (code) {\n","\t <span class=\"code-keyword\">case</span> PLUSSIGN$<span class=\"code-number\">8</span>:\n","\t <span class=\"code-keyword\">case</span> GREATERTHANSIGN$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">case</span> TILDE$<span class=\"code-number\">2</span>:\n","\t context.space = <span class=\"code-literal\">null</span>;\n","\t context.ignoreWSAfter = <span class=\"code-literal\">true</span>;\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Combinator();\n","\n","\t <span class=\"code-keyword\">case</span> SOLIDUS$<span class=\"code-number\">5</span>: <span class=\"code-comment\">// /deep/</span>\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Combinator();\n","\n","\t <span class=\"code-keyword\">case</span> FULLSTOP$<span class=\"code-number\">2</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.ClassSelector();\n","\n","\t <span class=\"code-keyword\">case</span> ASTERISK$<span class=\"code-number\">6</span>:\n","\t <span class=\"code-keyword\">case</span> VERTICALLINE$<span class=\"code-number\">3</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.TypeSelector();\n","\n","\t <span class=\"code-keyword\">case</span> NUMBERSIGN$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.IdSelector();\n","\t }\n","\n","\t <span class=\"code-keyword\">break</span>;\n","\t }\n","\t}\n","\t<span class=\"code-keyword\">var</span> selector = {\n","\t getNode: getNode\n","\t};\n","\n","\t<span class=\"code-comment\">// https://drafts.csswg.org/css-images-4/#element-notation</span>\n","\t<span class=\"code-comment\">// https://developer.mozilla.org/en-US/docs/Web/CSS/element</span>\n","\t<span class=\"code-keyword\">var</span> element = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.IdSelector()\n","\t );\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t};\n","\n","\t<span class=\"code-comment\">// legacy IE function</span>\n","\t<span class=\"code-comment\">// expression( <any-value> )</span>\n","\t<span class=\"code-keyword\">var</span> expression = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Raw(<span class=\"code-keyword\">this</span>.scanner.tokenIndex, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">false</span>)\n","\t );\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$F = tokenizer.TYPE;\n","\t<span class=\"code-keyword\">var</span> rawMode$<span class=\"code-number\">5</span> = Raw.mode;\n","\n","\t<span class=\"code-keyword\">var</span> COMMA$<span class=\"code-number\">4</span> = TYPE$F.Comma;\n","\n","\t<span class=\"code-comment\">// var( <ident> , <value>? )</span>\n","\t<span class=\"code-keyword\">var</span> _var = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-comment\">// <span class=\"code-doctag\">NOTE:</span> Don't check more than a first argument is an ident, rest checks are for lexer</span>\n","\t children.push(<span class=\"code-keyword\">this</span>.Identifier());\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === COMMA$<span class=\"code-number\">4</span>) {\n","\t children.push(<span class=\"code-keyword\">this</span>.Operator());\n","\t children.push(<span class=\"code-keyword\">this</span>.parseCustomProperty\n","\t ? <span class=\"code-keyword\">this</span>.Value(<span class=\"code-literal\">null</span>)\n","\t : <span class=\"code-keyword\">this</span>.Raw(<span class=\"code-keyword\">this</span>.scanner.tokenIndex, rawMode$<span class=\"code-number\">5.</span>exclamationMarkOrSemicolon, <span class=\"code-literal\">false</span>)\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> value = {\n","\t getNode: _default,\n","\t <span class=\"code-string\">'-moz-element'</span>: element,\n","\t <span class=\"code-string\">'element'</span>: element,\n","\t <span class=\"code-string\">'expression'</span>: expression,\n","\t <span class=\"code-string\">'var'</span>: _var\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> scope = {\n","\t AtrulePrelude: atrulePrelude,\n","\t Selector: selector,\n","\t Value: value\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> fontFace = {\n","\t parse: {\n","\t prelude: <span class=\"code-literal\">null</span>,\n","\t block: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">true</span>);\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$G = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> STRING$<span class=\"code-number\">3</span> = TYPE$G.String;\n","\t<span class=\"code-keyword\">var</span> IDENT$h = TYPE$G.Ident;\n","\t<span class=\"code-keyword\">var</span> URL$<span class=\"code-number\">4</span> = TYPE$G.Url;\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">5</span> = TYPE$G.Function;\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">6</span> = TYPE$G.LeftParenthesis;\n","\n","\t<span class=\"code-keyword\">var</span> _import = {\n","\t parse: {\n","\t prelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> STRING$<span class=\"code-number\">3</span>:\n","\t children.push(<span class=\"code-keyword\">this</span>.String());\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> URL$<span class=\"code-number\">4</span>:\n","\t <span class=\"code-keyword\">case</span> FUNCTION$<span class=\"code-number\">5</span>:\n","\t children.push(<span class=\"code-keyword\">this</span>.Url());\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'String or url() is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.lookupNonWSType(<span class=\"code-number\">0</span>) === IDENT$h ||\n","\t <span class=\"code-keyword\">this</span>.lookupNonWSType(<span class=\"code-number\">0</span>) === LEFTPARENTHESIS$<span class=\"code-number\">6</span>) {\n","\t children.push(<span class=\"code-keyword\">this</span>.WhiteSpace());\n","\t children.push(<span class=\"code-keyword\">this</span>.MediaQueryList());\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t },\n","\t block: <span class=\"code-literal\">null</span>\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> media = {\n","\t parse: {\n","\t prelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.MediaQueryList()\n","\t );\n","\t },\n","\t block: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">false</span>);\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> page = {\n","\t parse: {\n","\t prelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.SelectorList()\n","\t );\n","\t },\n","\t block: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">true</span>);\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> TYPE$H = tokenizer.TYPE;\n","\n","\t<span class=\"code-keyword\">var</span> WHITESPACE$a = TYPE$H.WhiteSpace;\n","\t<span class=\"code-keyword\">var</span> COMMENT$<span class=\"code-number\">9</span> = TYPE$H.Comment;\n","\t<span class=\"code-keyword\">var</span> IDENT$i = TYPE$H.Ident;\n","\t<span class=\"code-keyword\">var</span> FUNCTION$<span class=\"code-number\">6</span> = TYPE$H.Function;\n","\t<span class=\"code-keyword\">var</span> COLON$<span class=\"code-number\">6</span> = TYPE$H.Colon;\n","\t<span class=\"code-keyword\">var</span> LEFTPARENTHESIS$<span class=\"code-number\">7</span> = TYPE$H.LeftParenthesis;\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">consumeRaw$5</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Raw(<span class=\"code-keyword\">this</span>.scanner.tokenIndex, <span class=\"code-literal\">null</span>, <span class=\"code-literal\">false</span>)\n","\t );\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">parentheses</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType === IDENT$i &&\n","\t <span class=\"code-keyword\">this</span>.lookupNonWSType(<span class=\"code-number\">1</span>) === COLON$<span class=\"code-number\">6</span>) {\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Declaration()\n","\t );\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> readSequence.call(<span class=\"code-keyword\">this</span>);\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">readSequence</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = <span class=\"code-keyword\">this</span>.createList();\n","\t <span class=\"code-keyword\">var</span> space = <span class=\"code-literal\">null</span>;\n","\t <span class=\"code-keyword\">var</span> child;\n","\n","\t <span class=\"code-keyword\">this</span>.scanner.skipSC();\n","\n","\t scan:\n","\t <span class=\"code-keyword\">while</span> (!<span class=\"code-keyword\">this</span>.scanner.eof) {\n","\t <span class=\"code-keyword\">switch</span> (<span class=\"code-keyword\">this</span>.scanner.tokenType) {\n","\t <span class=\"code-keyword\">case</span> WHITESPACE$a:\n","\t space = <span class=\"code-keyword\">this</span>.WhiteSpace();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> COMMENT$<span class=\"code-number\">9</span>:\n","\t <span class=\"code-keyword\">this</span>.scanner.next();\n","\t <span class=\"code-keyword\">continue</span>;\n","\n","\t <span class=\"code-keyword\">case</span> FUNCTION$<span class=\"code-number\">6</span>:\n","\t child = <span class=\"code-keyword\">this</span>.Function(consumeRaw$<span class=\"code-number\">5</span>, <span class=\"code-keyword\">this</span>.scope.AtrulePrelude);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> IDENT$i:\n","\t child = <span class=\"code-keyword\">this</span>.Identifier();\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">case</span> LEFTPARENTHESIS$<span class=\"code-number\">7</span>:\n","\t child = <span class=\"code-keyword\">this</span>.Parentheses(parentheses, <span class=\"code-keyword\">this</span>.scope.AtrulePrelude);\n","\t <span class=\"code-keyword\">break</span>;\n","\n","\t <span class=\"code-keyword\">default</span>:\n","\t <span class=\"code-keyword\">break</span> scan;\n","\t }\n","\n","\t <span class=\"code-keyword\">if</span> (space !== <span class=\"code-literal\">null</span>) {\n","\t children.push(space);\n","\t space = <span class=\"code-literal\">null</span>;\n","\t }\n","\n","\t children.push(child);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> supports = {\n","\t parse: {\n","\t prelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> children = readSequence.call(<span class=\"code-keyword\">this</span>);\n","\n","\t <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.getFirstListNode(children) === <span class=\"code-literal\">null</span>) {\n","\t <span class=\"code-keyword\">this</span>.error(<span class=\"code-string\">'Condition is expected'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> children;\n","\t },\n","\t block: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">false</span>);\n","\t }\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> atrule = {\n","\t <span class=\"code-string\">'font-face'</span>: fontFace,\n","\t <span class=\"code-string\">'import'</span>: _import,\n","\t <span class=\"code-string\">'media'</span>: media,\n","\t <span class=\"code-string\">'page'</span>: page,\n","\t <span class=\"code-string\">'supports'</span>: supports\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> dir = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Identifier()\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> has$<span class=\"code-number\">1</span> = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.SelectorList()\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> lang = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Identifier()\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> selectorList = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">selectorList</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.SelectorList()\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> matches = selectorList;\n","\n","\t<span class=\"code-keyword\">var</span> not = selectorList;\n","\n","\t<span class=\"code-keyword\">var</span> ALLOW_OF_CLAUSE = <span class=\"code-literal\">true</span>;\n","\n","\t<span class=\"code-keyword\">var</span> nthWithOfClause = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">nthWithOfClause</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Nth(ALLOW_OF_CLAUSE)\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> nthChild = nthWithOfClause;\n","\n","\t<span class=\"code-keyword\">var</span> nthLastChild = nthWithOfClause;\n","\n","\t<span class=\"code-keyword\">var</span> DISALLOW_OF_CLAUSE = <span class=\"code-literal\">false</span>;\n","\n","\t<span class=\"code-keyword\">var</span> nth$<span class=\"code-number\">1</span> = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">nth</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Nth(DISALLOW_OF_CLAUSE)\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> nthLastOfType = nth$<span class=\"code-number\">1</span>;\n","\n","\t<span class=\"code-keyword\">var</span> nthOfType = nth$<span class=\"code-number\">1</span>;\n","\n","\t<span class=\"code-keyword\">var</span> slotted = {\n","\t parse: <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">compoundSelector</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.createSingleNodeList(\n","\t <span class=\"code-keyword\">this</span>.Selector()\n","\t );\n","\t }\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> pseudo = {\n","\t <span class=\"code-string\">'dir'</span>: dir,\n","\t <span class=\"code-string\">'has'</span>: has$<span class=\"code-number\">1</span>,\n","\t <span class=\"code-string\">'lang'</span>: lang,\n","\t <span class=\"code-string\">'matches'</span>: matches,\n","\t <span class=\"code-string\">'not'</span>: not,\n","\t <span class=\"code-string\">'nth-child'</span>: nthChild,\n","\t <span class=\"code-string\">'nth-last-child'</span>: nthLastChild,\n","\t <span class=\"code-string\">'nth-last-of-type'</span>: nthLastOfType,\n","\t <span class=\"code-string\">'nth-of-type'</span>: nthOfType,\n","\t <span class=\"code-string\">'slotted'</span>: slotted\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> parser = {\n","\t parseContext: {\n","\t <span class=\"code-keyword\">default</span>: <span class=\"code-string\">'StyleSheet'</span>,\n","\t stylesheet: <span class=\"code-string\">'StyleSheet'</span>,\n","\t atrule: <span class=\"code-string\">'Atrule'</span>,\n","\t atrulePrelude: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">options</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.AtrulePrelude(options.atrule ? <span class=\"code-built_in\">String</span>(options.atrule) : <span class=\"code-literal\">null</span>);\n","\t },\n","\t mediaQueryList: <span class=\"code-string\">'MediaQueryList'</span>,\n","\t mediaQuery: <span class=\"code-string\">'MediaQuery'</span>,\n","\t rule: <span class=\"code-string\">'Rule'</span>,\n","\t selectorList: <span class=\"code-string\">'SelectorList'</span>,\n","\t selector: <span class=\"code-string\">'Selector'</span>,\n","\t block: <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.Block(<span class=\"code-literal\">true</span>);\n","\t },\n","\t declarationList: <span class=\"code-string\">'DeclarationList'</span>,\n","\t declaration: <span class=\"code-string\">'Declaration'</span>,\n","\t value: <span class=\"code-string\">'Value'</span>\n","\t },\n","\t scope: scope,\n","\t atrule: atrule,\n","\t pseudo: pseudo,\n","\t node: node\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> walker = {\n","\t node: node\n","\t};\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">merge</span>(<span class=\"code-params\"></span>) </span>{\n","\t <span class=\"code-keyword\">var</span> dest = {};\n","\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < <span class=\"code-built_in\">arguments</span>.length; i++) {\n","\t <span class=\"code-keyword\">var</span> src = <span class=\"code-built_in\">arguments</span>[i];\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> key <span class=\"code-keyword\">in</span> src) {\n","\t dest[key] = src[key];\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> dest;\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> syntax = create$<span class=\"code-number\">5.</span>create(\n","\t merge(\n","\t lexer,\n","\t parser,\n","\t walker\n","\t )\n","\t);\n","\n","\t<span class=\"code-keyword\">var</span> lib = syntax;\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Sheet</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(url, hooks) {\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (hooks) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks = hooks;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks = {};\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onUrl = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtPage = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtMedia = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onRule = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onDeclaration = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onSelector = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onPseudoSelector = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onContent = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onImport = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeTreeParse = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeTreeWalk = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterTreeWalk = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.url = <span class=\"code-keyword\">new</span> URL(url, <span class=\"code-built_in\">window</span>.location.href);\n","\t\t\t} <span class=\"code-keyword\">catch</span> (e) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.url = <span class=\"code-keyword\">new</span> URL(<span class=\"code-built_in\">window</span>.location.href);\n","\t\t\t}\n","\t\t}\n","\n","\n","\n","\t\t<span class=\"code-comment\">// parse</span>\n","\t\t<span class=\"code-keyword\">async</span> parse(text) {\n","\t\t\t<span class=\"code-keyword\">this</span>.text = text;\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforeTreeParse.trigger(<span class=\"code-keyword\">this</span>.text, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-comment\">// send to csstree</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.ast = lib.parse(<span class=\"code-keyword\">this</span>._text);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforeTreeWalk.trigger(<span class=\"code-keyword\">this</span>.ast);\n","\n","\t\t\t<span class=\"code-comment\">// Replace urls</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.replaceUrls(<span class=\"code-keyword\">this</span>.ast);\n","\n","\t\t\t<span class=\"code-comment\">// Scope</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.id = UUID();\n","\t\t\t<span class=\"code-comment\">// this.addScope(this.ast, this.uuid);</span>\n","\n","\t\t\t<span class=\"code-comment\">// Replace IDs with data-id</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.replaceIds(<span class=\"code-keyword\">this</span>.ast);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.imported = [];\n","\n","\t\t\t<span class=\"code-comment\">// Trigger Hooks</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.urls(<span class=\"code-keyword\">this</span>.ast);\n","\t\t\t<span class=\"code-keyword\">this</span>.rules(<span class=\"code-keyword\">this</span>.ast);\n","\t\t\t<span class=\"code-keyword\">this</span>.atrules(<span class=\"code-keyword\">this</span>.ast);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterTreeWalk.trigger(<span class=\"code-keyword\">this</span>.ast, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-comment\">// return ast</span>\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.ast;\n","\t\t}\n","\n","\n","\n","\t\tinsertRule(rule) {\n","\t\t\t<span class=\"code-keyword\">let</span> inserted = <span class=\"code-keyword\">this</span>.ast.children.appendData(rule);\n","\t\t\tinserted.forEach(<span class=\"code-function\">(<span class=\"code-params\">item</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.declarations(item);\n","\t\t\t});\n","\t\t}\n","\n","\t\turls(ast) {\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Url\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onUrl.trigger(node, item, list);\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\tatrules(ast) {\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Atrule\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">const</span> basename = lib.keyword(node.name).basename;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (basename === <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtPage.trigger(node, item, list);\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.declarations(node, item, list);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (basename === <span class=\"code-string\">\"media\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtMedia.trigger(node, item, list);\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.declarations(node, item, list);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (basename === <span class=\"code-string\">\"import\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onImport.trigger(node, item, list);\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.imports(node, item, list);\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\n","\t\trules(ast) {\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Rule\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">ruleNode, ruleItem, rulelist</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-comment\">// console.log(\"rule\", ruleNode);</span>\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onRule.trigger(ruleNode, ruleItem, rulelist);\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.declarations(ruleNode, ruleItem, rulelist);\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.onSelector(ruleNode, ruleItem, rulelist);\n","\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\tdeclarations(ruleNode, ruleItem, rulelist) {\n","\t\t\tlib.walk(ruleNode, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">declarationNode, dItem, dList</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-comment\">// console.log(declarationNode);</span>\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onDeclaration.trigger(declarationNode, dItem, dList, {ruleNode, ruleItem, rulelist});\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (declarationNode.property === <span class=\"code-string\">\"content\"</span>) {\n","\t\t\t\t\t\tlib.walk(declarationNode, {\n","\t\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">funcNode, fItem, fList</span>) =></span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onContent.trigger(funcNode, fItem, fList, {declarationNode, dItem, dList}, {ruleNode, ruleItem, rulelist});\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t});\n","\t\t\t\t\t}\n","\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// add pseudo elements to parser</span>\n","\t\tonSelector(ruleNode, ruleItem, rulelist) {\n","\t\t\tlib.walk(ruleNode, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Selector\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">selectNode, selectItem, selectList</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-comment\">// console.log(selectNode);</span>\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onSelector.trigger(selectNode, selectItem, selectList, {ruleNode, ruleItem, rulelist});\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (selectNode.children.forEach(<span class=\"code-function\"><span class=\"code-params\">node</span> =></span> {<span class=\"code-keyword\">if</span> (node.type === <span class=\"code-string\">\"PseudoElementSelector\"</span>) {\n","\t\t\t\t\t\tlib.walk(node, {\n","\t\t\t\t\t\t\tvisit: <span class=\"code-string\">\"PseudoElementSelector\"</span>,\n","\t\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">pseudoNode, pItem, pList</span>) =></span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.hooks.onPseudoSelector.trigger(pseudoNode, pItem, pList, {selectNode, selectItem, selectList}, {ruleNode, ruleItem, rulelist});\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t});\n","\t\t\t\t\t}}));\n","\t\t\t\t\t<span class=\"code-comment\">// else {</span>\n","\t\t\t\t\t<span class=\"code-comment\">// \tconsole.log(\"dommage\");</span>\n","\t\t\t\t\t<span class=\"code-comment\">// }</span>\n","\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\treplaceUrls(ast) {\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Url\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> content = node.value.value;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> ((node.value.type === <span class=\"code-string\">\"Raw\"</span> && content.startsWith(<span class=\"code-string\">\"data:\"</span>)) || (node.value.type === <span class=\"code-string\">\"String\"</span> && (content.startsWith(<span class=\"code-string\">\"\\\"data:\"</span>) || content.startsWith(<span class=\"code-string\">\"'data:\"</span>)))) ; <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> href = content.replace(<span class=\"code-regexp\">/[\"']/g</span>, <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> url = <span class=\"code-keyword\">new</span> URL(href, <span class=\"code-keyword\">this</span>.url);\n","\t\t\t\t\t\tnode.value.value = url.toString();\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\taddScope(ast, id) {\n","\t\t\t<span class=\"code-comment\">// Get all selector lists</span>\n","\t\t\t<span class=\"code-comment\">// add an id</span>\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Selector\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> children = node.children;\n","\t\t\t\t\tchildren.prepend(children.createItem({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t\t}));\n","\t\t\t\t\tchildren.prepend(children.createItem({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"IdSelector\"</span>,\n","\t\t\t\t\t\tname: id,\n","\t\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\t\tchildren: <span class=\"code-literal\">null</span>\n","\t\t\t\t\t}));\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\tgetNamedPageSelectors(ast) {\n","\t\t\t<span class=\"code-keyword\">let</span> namedPageSelectors = {};\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Rule\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\tlib.walk(node, {\n","\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">declaration, dItem, dList</span>) =></span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> value = declaration.value.children.first();\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> name = value.name;\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(node.prelude);\n","\t\t\t\t\t\t\t\tnamedPageSelectors[name] = {\n","\t\t\t\t\t\t\t\t\tname: name,\n","\t\t\t\t\t\t\t\t\tselector: selector\n","\t\t\t\t\t\t\t\t};\n","\n","\t\t\t\t\t\t\t\t<span class=\"code-comment\">// dList.remove(dItem);</span>\n","\n","\t\t\t\t\t\t\t\t<span class=\"code-comment\">// Add in page break</span>\n","\t\t\t\t\t\t\t\tdeclaration.property = <span class=\"code-string\">\"break-before\"</span>;\n","\t\t\t\t\t\t\t\tvalue.type = <span class=\"code-string\">\"Identifier\"</span>;\n","\t\t\t\t\t\t\t\tvalue.name = <span class=\"code-string\">\"always\"</span>;\n","\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">return</span> namedPageSelectors;\n","\t\t}\n","\n","\t\treplaceIds(ast) {\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Rule\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\n","\t\t\t\t\tlib.walk(node, {\n","\t\t\t\t\t\tvisit: <span class=\"code-string\">\"IdSelector\"</span>,\n","\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">idNode, idItem, idList</span>) =></span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> name = idNode.name;\n","\t\t\t\t\t\t\tidNode.flags = <span class=\"code-literal\">null</span>;\n","\t\t\t\t\t\t\tidNode.matcher = <span class=\"code-string\">\"=\"</span>;\n","\t\t\t\t\t\t\tidNode.name = {<span class=\"code-attr\">type</span>: <span class=\"code-string\">\"Identifier\"</span>, <span class=\"code-attr\">loc</span>: <span class=\"code-literal\">null</span>, <span class=\"code-attr\">name</span>: <span class=\"code-string\">\"data-id\"</span>};\n","\t\t\t\t\t\t\tidNode.type = <span class=\"code-string\">\"AttributeSelector\"</span>;\n","\t\t\t\t\t\t\tidNode.value = {<span class=\"code-attr\">type</span>: <span class=\"code-string\">\"String\"</span>, <span class=\"code-attr\">loc</span>: <span class=\"code-literal\">null</span>, <span class=\"code-attr\">value</span>: <span class=\"code-string\">`\"<span class=\"code-subst\">${name}</span>\"`</span>};\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\timports(node, item, list) {\n","\t\t\t<span class=\"code-comment\">// console.log(\"import\", node, item, list);</span>\n","\t\t\t<span class=\"code-keyword\">let</span> queries = [];\n","\t\t\tlib.walk(node, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"MediaQuery\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">mqNode, mqItem, mqList</span>) =></span> {\n","\t\t\t\t\tlib.walk(mqNode, {\n","\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">identNode, identItem, identList</span>) =></span> {\n","\t\t\t\t\t\t\tqueries.push(identNode.name);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Just basic media query support for now</span>\n","\t\t\t<span class=\"code-keyword\">let</span> shouldNotApply = queries.some(<span class=\"code-function\">(<span class=\"code-params\">query, index</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> q = query;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (q === <span class=\"code-string\">\"not\"</span>) {\n","\t\t\t\t\tq = queries[index + <span class=\"code-number\">1</span>];\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> !(q === <span class=\"code-string\">\"screen\"</span> || q === <span class=\"code-string\">\"speech\"</span>);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> (q === <span class=\"code-string\">\"screen\"</span> || q === <span class=\"code-string\">\"speech\"</span>);\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (shouldNotApply) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\tlib.walk(node, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"String\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">urlNode, urlItem, urlList</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> href = urlNode.value.replace(<span class=\"code-regexp\">/[\"']/g</span>, <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> url = <span class=\"code-keyword\">new</span> URL(href, <span class=\"code-keyword\">this</span>.url);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value = url.toString();\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.imported.push(value);\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Remove the original</span>\n","\t\t\t\t\tlist.remove(item);\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">set</span> text(t) {\n","\t\t\t<span class=\"code-keyword\">this</span>._text = t;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">get</span> text() {\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>._text;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// generate string</span>\n","\t\ttoString(ast) {\n","\t\t\t<span class=\"code-keyword\">return</span> lib.generate(ast || <span class=\"code-keyword\">this</span>.ast);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> baseStyles = <span class=\"code-string\">`\n</span>","<span class=\"code-string\">:root {\n</span>","<span class=\"code-string\">\t--pagedjs-width: 8.5in;\n</span>","<span class=\"code-string\">\t--pagedjs-height: 11in;\n</span>","<span class=\"code-string\">\t--pagedjs-width-right: 8.5in;\n</span>","<span class=\"code-string\">\t--pagedjs-height-right: 11in;\n</span>","<span class=\"code-string\">\t--pagedjs-width-left: 8.5in;\n</span>","<span class=\"code-string\">\t--pagedjs-height-left: 11in;\n</span>","<span class=\"code-string\">\t--pagedjs-pagebox-width: 8.5in;\n</span>","<span class=\"code-string\">\t--pagedjs-pagebox-height: 11in;\n</span>","<span class=\"code-string\">\t--pagedjs-margin-top: 1in;\n</span>","<span class=\"code-string\">\t--pagedjs-margin-right: 1in;\n</span>","<span class=\"code-string\">\t--pagedjs-margin-bottom: 1in;\n</span>","<span class=\"code-string\">\t--pagedjs-margin-left: 1in;\n</span>","<span class=\"code-string\">\t--pagedjs-padding-top: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-padding-right: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-padding-bottom: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-padding-left: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-border-top: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-border-right: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-border-bottom: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-border-left: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-top: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-right: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-bottom: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-left: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-right-top: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-right-right: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-right-bottom: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-right-left: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-left-top: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-left-right: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-left-bottom: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-bleed-left-left: 0mm;\n</span>","<span class=\"code-string\">\t--pagedjs-crop-color: black;\n</span>","<span class=\"code-string\">\t--pagedjs-crop-offset: 2mm;\n</span>","<span class=\"code-string\">\t--pagedjs-crop-stroke: 1px;\n</span>","<span class=\"code-string\">\t--pagedjs-cross-size: 5mm;\n</span>","<span class=\"code-string\">\t--pagedjs-mark-cross-display: none;\n</span>","<span class=\"code-string\">\t--pagedjs-mark-crop-display: none;\n</span>","<span class=\"code-string\">\t--pagedjs-page-count: 0;\n</span>","<span class=\"code-string\">\t--pagedjs-page-counter-increment: 1;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">@page {\n</span>","<span class=\"code-string\">\tsize: letter;\n</span>","<span class=\"code-string\">\tmargin: 0;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_sheet {\n</span>","<span class=\"code-string\">\tbox-sizing: border-box;\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height);\n</span>","<span class=\"code-string\">\toverflow: hidden;\n</span>","<span class=\"code-string\">\tposition: relative;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left) - var(--pagedjs-bleed-right)) [bleed-right] var(--pagedjs-bleed-right);\n</span>","<span class=\"code-string\">\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-top) - var(--pagedjs-bleed-bottom)) [bleed-bottom] var(--pagedjs-bleed-bottom);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_sheet {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width-right);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height-right);\n</span>","<span class=\"code-string\">\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-right-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-right-left) - var(--pagedjs-bleed-right-right)) [bleed-right] var(--pagedjs-bleed-right-right);\n</span>","<span class=\"code-string\">\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-right-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-right-top) - var(--pagedjs-bleed-right-bottom)) [bleed-bottom] var(--pagedjs-bleed-right-bottom);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_sheet {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width-left);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height-left);\n</span>","<span class=\"code-string\">\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-left-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left-left) - var(--pagedjs-bleed-left-right)) [bleed-right] var(--pagedjs-bleed-left-right);\n</span>","<span class=\"code-string\">\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-left-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-left-top) - var(--pagedjs-bleed-left-bottom)) [bleed-bottom] var(--pagedjs-bleed-left-bottom);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed {\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">\tjustify-content: center;\n</span>","<span class=\"code-string\">\tflex-wrap: nowrap;\n</span>","<span class=\"code-string\">\toverflow: hidden;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-top {\n</span>","<span class=\"code-string\">\tgrid-column: bleed-left / -1;\n</span>","<span class=\"code-string\">\tgrid-row: bleed-top;\n</span>","<span class=\"code-string\">\tflex-direction: row;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-bottom {\n</span>","<span class=\"code-string\">\tgrid-column: bleed-left / -1;\n</span>","<span class=\"code-string\">\tgrid-row: bleed-bottom;\n</span>","<span class=\"code-string\">\tflex-direction: row;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-left {\n</span>","<span class=\"code-string\">\tgrid-column: bleed-left;\n</span>","<span class=\"code-string\">\tgrid-row: bleed-top / -1;\n</span>","<span class=\"code-string\">\tflex-direction: column;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-right {\n</span>","<span class=\"code-string\">\tgrid-column: bleed-right;\n</span>","<span class=\"code-string\">\tgrid-row: bleed-top / -1;\n</span>","<span class=\"code-string\">\tflex-direction: column;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\tdisplay: var(--pagedjs-mark-crop-display);\n</span>","<span class=\"code-string\">\tflex-grow: 0;\n</span>","<span class=\"code-string\">\tflex-shrink: 0;\n</span>","<span class=\"code-string\">\tz-index: 9999999999;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">\tborder-right: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">\tborder-left: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-top .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\talign-self: flex-start;\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-bottom .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\talign-self: flex-end;\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">\tborder-bottom: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">\tborder-top: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-stroke));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-left .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">\talign-self: flex-start;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_bleed-right .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">\talign-self: flex-end;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-offset));\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_marks-middle {\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\tflex-grow: 1;\n</span>","<span class=\"code-string\">\tflex-shrink: 0;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">\tjustify-content: center;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_marks-cross {\n</span>","<span class=\"code-string\">\tdisplay: var(--pagedjs-mark-cross-display);\n</span>","<span class=\"code-string\">\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIzMi41MzdweCIgaGVpZ2h0PSIzMi41MzdweCIgdmlld0JveD0iMC4xMDQgMC4xMDQgMzIuNTM3IDMyLjUzNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwLjEwNCAwLjEwNCAzMi41MzcgMzIuNTM3IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0yOS45MzEsMTYuMzczYzAsNy40ODktNi4wNjgsMTMuNTYtMTMuNTU4LDEzLjU2Yy03LjQ4MywwLTEzLjU1Ny02LjA3Mi0xMy41NTctMTMuNTZjMC03LjQ4Niw2LjA3NC0xMy41NTQsMTMuNTU3LTEzLjU1NEMyMy44NjIsMi44MTksMjkuOTMxLDguODg3LDI5LjkzMSwxNi4zNzN6Ii8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjMuMzg5MyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMC4xMDQiIHkxPSIxNi4zNzMiIHgyPSIzMi42NDIiIHkyPSIxNi4zNzMiLz48bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSIxNi4zNzMiIHkxPSIwLjEwNCIgeDI9IjE2LjM3MyIgeTI9IjMyLjY0MiIvPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzLjM4OTMiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTI0LjUwOCwxNi4zNzNjMCw0LjQ5Ni0zLjYzOCw4LjEzNS04LjEzNSw4LjEzNWMtNC40OTEsMC04LjEzNS0zLjYzOC04LjEzNS04LjEzNWMwLTQuNDg5LDMuNjQ0LTguMTM1LDguMTM1LTguMTM1QzIwLjg2OSw4LjIzOSwyNC41MDgsMTEuODg0LDI0LjUwOCwxNi4zNzN6Ii8+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjkuOTMxLDE2LjM3M2MwLDcuNDg5LTYuMDY4LDEzLjU2LTEzLjU1OCwxMy41NmMtNy40ODMsMC0xMy41NTctNi4wNzItMTMuNTU3LTEzLjU2YzAtNy40ODYsNi4wNzQtMTMuNTU0LDEzLjU1Ny0xMy41NTRDMjMuODYyLDIuODE5LDI5LjkzMSw4Ljg4NywyOS45MzEsMTYuMzczeiIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjAuMTA0IiB5MT0iMTYuMzczIiB4Mj0iMzIuNjQyIiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iMC4xMDQiIHgyPSIxNi4zNzMiIHkyPSIzMi42NDIiLz48cGF0aCBkPSJNMjQuNTA4LDE2LjM3M2MwLDQuNDk2LTMuNjM4LDguMTM1LTguMTM1LDguMTM1Yy00LjQ5MSwwLTguMTM1LTMuNjM4LTguMTM1LTguMTM1YzAtNC40ODksMy42NDQtOC4xMzUsOC4xMzUtOC4xMzVDMjAuODY5LDguMjM5LDI0LjUwOCwxMS44ODQsMjQuNTA4LDE2LjM3MyIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjguMjM5IiB5MT0iMTYuMzczIiB4Mj0iMjQuNTA4IiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iOC4yMzkiIHgyPSIxNi4zNzMiIHkyPSIyNC41MDgiLz48L3N2Zz4=);\n</span>","<span class=\"code-string\"> background-repeat: no-repeat;\n</span>","<span class=\"code-string\"> background-position: 50% 50%;\n</span>","<span class=\"code-string\"> background-size: var(--pagedjs-cross-size);\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\"> z-index: 2147483647;\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-cross-size);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-cross-size);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox {\n</span>","<span class=\"code-string\">\tbox-sizing: border-box;\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-pagebox-width);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-pagebox-height);\n</span>","<span class=\"code-string\">\tposition: relative;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-columns: [left] var(--pagedjs-margin-left) [center] calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right)) [right] var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">\tgrid-template-rows: [header] var(--pagedjs-margin-top) [page] calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom)) [footer] var(--pagedjs-margin-bottom);\n</span>","<span class=\"code-string\">\tgrid-column: sheet-center;\n</span>","<span class=\"code-string\">\tgrid-row: sheet-middle;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox * {\n</span>","<span class=\"code-string\">\tbox-sizing: border-box;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-top {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right));\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-top);\n</span>","<span class=\"code-string\">\tgrid-column: center;\n</span>","<span class=\"code-string\">\tgrid-row: header;\n</span>","<span class=\"code-string\">\tflex-wrap: nowrap;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-columns: repeat(3, 1fr);\n</span>","<span class=\"code-string\">\tgrid-template-rows: 100%;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-top-left-corner-holder {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-left);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-top);\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\tgrid-column: left;\n</span>","<span class=\"code-string\">\tgrid-row: header;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-top-right-corner-holder {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-top);\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\tgrid-column: right;\n</span>","<span class=\"code-string\">\tgrid-row: header;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-top-left-corner {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-left);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-top-right-corner {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-right {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom));\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">\tright: 0;\n</span>","<span class=\"code-string\">\tgrid-column: right;\n</span>","<span class=\"code-string\">\tgrid-row: page;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-rows: repeat(3, 33.3333%);\n</span>","<span class=\"code-string\">\tgrid-template-columns: 100%;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-bottom {\n</span>","<span class=\"code-string\">\twidth: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right));\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-bottom);\n</span>","<span class=\"code-string\">\tgrid-column: center;\n</span>","<span class=\"code-string\">\tgrid-row: footer;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-columns: repeat(3, 1fr);\n</span>","<span class=\"code-string\">\tgrid-template-rows: 100%;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-bottom-left-corner-holder {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-left);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-bottom);\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\tgrid-column: left;\n</span>","<span class=\"code-string\">\tgrid-row: footer;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-bottom-right-corner-holder {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-margin-bottom);\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\tgrid-column: right;\n</span>","<span class=\"code-string\">\tgrid-row: footer;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-bottom-left-corner {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-left);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-bottom-right-corner {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-right);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-left {\n</span>","<span class=\"code-string\">\theight: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom));\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-margin-left);\n</span>","<span class=\"code-string\">\tgrid-column: left;\n</span>","<span class=\"code-string\">\tgrid-row: page;\n</span>","<span class=\"code-string\">\tdisplay: grid;\n</span>","<span class=\"code-string\">\tgrid-template-rows: repeat(3, 33.33333%);\n</span>","<span class=\"code-string\">\tgrid-template-columns: 100%;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_pagebox .pagedjs_margin:not(.hasContent) {\n</span>","<span class=\"code-string\">\tvisibility: hidden;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox > .pagedjs_area {\n</span>","<span class=\"code-string\">\tgrid-column: center;\n</span>","<span class=\"code-string\">\tgrid-row: page;\n</span>","<span class=\"code-string\">\twidth: 100%;\n</span>","<span class=\"code-string\">\theight: 100%;\n</span>","<span class=\"code-string\">\tpadding: var(--pagedjs-padding-top) var(--pagedjs-padding-right) var(--pagedjs-padding-bottom) var(--pagedjs-padding-left);\n</span>","<span class=\"code-string\">\tborder-top: var(--pagedjs-border-top);\n</span>","<span class=\"code-string\">\tborder-right: var(--pagedjs-border-right);\n</span>","<span class=\"code-string\">\tborder-bottom: var(--pagedjs-border-bottom);\n</span>","<span class=\"code-string\">\tborder-left: var(--pagedjs-border-left);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox > .pagedjs_area > .pagedjs_page_content {\n</span>","<span class=\"code-string\">\twidth: 100%;\n</span>","<span class=\"code-string\">\theight: 100%;\n</span>","<span class=\"code-string\">\tposition: relative;\n</span>","<span class=\"code-string\">\tcolumn-fill: auto;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_page {\n</span>","<span class=\"code-string\">\tcounter-increment: page var(--pagedjs-page-counter-increment);\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_page.pagedjs_right_page {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width-right);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height-right);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_page.pagedjs_left_page {\n</span>","<span class=\"code-string\">\twidth: var(--pagedjs-width-left);\n</span>","<span class=\"code-string\">\theight: var(--pagedjs-height-left);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages {\n</span>","<span class=\"code-string\">\tcounter-reset: pages var(--pagedjs-page-count);\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-left-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-right-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-left,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-right,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-left,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-right,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-center,\n</span>","<span class=\"code-string\">.pagedjs_margin-right-middle,\n</span>","<span class=\"code-string\">.pagedjs_margin-left-middle {\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-right-top,\n</span>","<span class=\"code-string\">.pagedjs_margin-left-top {\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\talign-items: flex-top;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_margin-right-bottom,\n</span>","<span class=\"code-string\">.pagedjs_margin-left-bottom {\n</span>","<span class=\"code-string\">\tdisplay: flex;\n</span>","<span class=\"code-string\">\talign-items: flex-end;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">/*\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-center {\n</span>","<span class=\"code-string\">\theight: 100%;\n</span>","<span class=\"code-string\">\tdisplay: none;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">\tflex: 1 0 33%;\n</span>","<span class=\"code-string\">\tmargin: 0 auto;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-left-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-right-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner {\n</span>","<span class=\"code-string\">\tdisplay: none;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-top,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-top {\n</span>","<span class=\"code-string\">\tdisplay: none;\n</span>","<span class=\"code-string\">\talign-items: flex-start;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-middle,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-middle {\n</span>","<span class=\"code-string\">\tdisplay: none;\n</span>","<span class=\"code-string\">\talign-items: center;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-bottom,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-bottom {\n</span>","<span class=\"code-string\">\tdisplay: none;\n</span>","<span class=\"code-string\">\talign-items: flex-end;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">*/\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-left,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-right-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-left,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner { text-align: left; }\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-left-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-right,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-right { text-align: right; }\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-top-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-bottom-center,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-top,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-middle,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-left-bottom,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-top,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-middle,\n</span>","<span class=\"code-string\">.pagedjs_pagebox .pagedjs_margin-right-bottom { text-align: center; }\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_margin .pagedjs_margin-content {\n</span>","<span class=\"code-string\">\twidth: 100%;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_margin-left .pagedjs_margin-content::after,\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_margin-top .pagedjs_margin-content::after,\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_margin-right .pagedjs_margin-content::after,\n</span>","<span class=\"code-string\">.pagedjs_pages .pagedjs_margin-bottom .pagedjs_margin-content::after {\n</span>","<span class=\"code-string\">\tdisplay: block;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to] {\n</span>","<span class=\"code-string\">\tmargin-bottom: unset;\n</span>","<span class=\"code-string\">\tpadding-bottom: unset;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] {\n</span>","<span class=\"code-string\">\ttext-indent: unset;\n</span>","<span class=\"code-string\">\tmargin-top: unset;\n</span>","<span class=\"code-string\">\tpadding-top: unset;\n</span>","<span class=\"code-string\">\tinitial-letter: unset;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] > *::first-letter,\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]::first-letter {\n</span>","<span class=\"code-string\">\tcolor: unset;\n</span>","<span class=\"code-string\">\tfont-size: unset;\n</span>","<span class=\"code-string\">\tfont-weight: unset;\n</span>","<span class=\"code-string\">\tfont-family: unset;\n</span>","<span class=\"code-string\">\tcolor: unset;\n</span>","<span class=\"code-string\">\tline-height: unset;\n</span>","<span class=\"code-string\">\tfloat: unset;\n</span>","<span class=\"code-string\">\tpadding: unset;\n</span>","<span class=\"code-string\">\tmargin: unset;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]:after,\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]::after {\n</span>","<span class=\"code-string\">\tcontent: unset;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]:before,\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]::before {\n</span>","<span class=\"code-string\">\tcontent: unset;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div li[data-split-from]:first-of-type {\n</span>","<span class=\"code-string\">\tlist-style: none;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">/*\n</span>","<span class=\"code-string\">[data-page]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"page\"]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"always\"]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"left\"]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"right\"]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"recto\"]:not([data-split-from]),\n</span>","<span class=\"code-string\">[data-break-before=\"verso\"]:not([data-split-from])\n</span>","<span class=\"code-string\">{\n</span>","<span class=\"code-string\">\tbreak-before: column;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">[data-page]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"page\"]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"always\"]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"left\"]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"right\"]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"recto\"]:not([data-split-to]),\n</span>","<span class=\"code-string\">[data-break-after=\"verso\"]:not([data-split-to])\n</span>","<span class=\"code-string\">{\n</span>","<span class=\"code-string\">\tbreak-after: column;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">*/\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">.pagedjs_clear-after::after {\n</span>","<span class=\"code-string\">\tcontent: none !important;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">[data-align-last-split-element='justify'] {\n</span>","<span class=\"code-string\">\ttext-align-last: justify;\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">\n</span>","<span class=\"code-string\">@media print {\n</span>","<span class=\"code-string\">\thtml {\n</span>","<span class=\"code-string\">\t\twidth: 100%;\n</span>","<span class=\"code-string\">\t\theight: 100%;\n</span>","<span class=\"code-string\">\t}\n</span>","<span class=\"code-string\">\tbody {\n</span>","<span class=\"code-string\">\t\tmargin: 0;\n</span>","<span class=\"code-string\">\t\tpadding: 0;\n</span>","<span class=\"code-string\">\t\twidth: 100% !important;\n</span>","<span class=\"code-string\">\t\theight: 100% !important;\n</span>","<span class=\"code-string\">\t\tmin-width: 100%;\n</span>","<span class=\"code-string\">\t\tmax-width: 100%;\n</span>","<span class=\"code-string\">\t\tmin-height: 100%;\n</span>","<span class=\"code-string\">\t\tmax-height: 100%;\n</span>","<span class=\"code-string\">\t}\n</span>","<span class=\"code-string\">\t.pagedjs_pages {\n</span>","<span class=\"code-string\">\t\twidth: auto;\n</span>","<span class=\"code-string\">\t\tdisplay: block !important;\n</span>","<span class=\"code-string\">\t\ttransform: none !important;\n</span>","<span class=\"code-string\">\t\theight: 100% !important;\n</span>","<span class=\"code-string\">\t\tmin-height: 100%;\n</span>","<span class=\"code-string\">\t\tmax-height: 100%;\n</span>","<span class=\"code-string\">\t\toverflow: visible;\n</span>","<span class=\"code-string\">\t}\n</span>","<span class=\"code-string\">\t.pagedjs_page {\n</span>","<span class=\"code-string\">\t\tmargin: 0;\n</span>","<span class=\"code-string\">\t\tpadding: 0;\n</span>","<span class=\"code-string\">\t\tmax-height: 100%;\n</span>","<span class=\"code-string\">\t\tmin-height: 100%;\n</span>","<span class=\"code-string\">\t\theight: 100% !important;\n</span>","<span class=\"code-string\">\t\tpage-break-after: always;\n</span>","<span class=\"code-string\">\t\tbreak-after: page;\n</span>","<span class=\"code-string\">\t}\n</span>","<span class=\"code-string\">\t.pagedjs_sheet {\n</span>","<span class=\"code-string\">\t\tmargin: 0;\n</span>","<span class=\"code-string\">\t\tpadding: 0;\n</span>","<span class=\"code-string\">\t\tmax-height: 100%;\n</span>","<span class=\"code-string\">\t\tmin-height: 100%;\n</span>","<span class=\"code-string\">\t\theight: 100% !important;\n</span>","<span class=\"code-string\">\t}\n</span>","<span class=\"code-string\">}\n</span>","<span class=\"code-string\">`</span>;\n","\n","\t<span class=\"code-keyword\">async</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">request</span>(<span class=\"code-params\">url, options={}</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">resolve, reject</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">let</span> request = <span class=\"code-keyword\">new</span> XMLHttpRequest();\n","\n","\t\t\trequest.open(options.method || <span class=\"code-string\">\"get\"</span>, url, <span class=\"code-literal\">true</span>);\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i <span class=\"code-keyword\">in</span> options.headers) {\n","\t\t\t\trequest.setRequestHeader(i, options.headers[i]);\n","\t\t\t}\n","\n","\t\t\trequest.withCredentials = options.credentials === <span class=\"code-string\">\"include\"</span>;\n","\n","\t\t\trequest.onload = <span class=\"code-function\"><span class=\"code-params\">()</span> =></span> {\n","\t\t\t\t<span class=\"code-comment\">// Chrome returns a status code of 0 for local files</span>\n","\t\t\t\t<span class=\"code-keyword\">const</span> status = request.status === <span class=\"code-number\">0</span> && url.startsWith(<span class=\"code-string\">\"file://\"</span>) ? <span class=\"code-number\">200</span> : request.status;\n","\t\t\t\tresolve(<span class=\"code-keyword\">new</span> Response(request.responseText, {status}));\n","\t\t\t};\n","\n","\t\t\trequest.onerror = reject;\n","\n","\t\t\trequest.send(options.body || <span class=\"code-literal\">null</span>);\n","\t\t});\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Polisher</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(setup) {\n","\t\t\t<span class=\"code-keyword\">this</span>.sheets = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.inserted = [];\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onUrl = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtPage = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onAtMedia = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onRule = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onDeclaration = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onContent = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onSelector = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onPseudoSelector = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.onImport = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeTreeParse = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforeTreeWalk = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterTreeWalk = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (setup !== <span class=\"code-literal\">false</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.setup();\n","\t\t\t}\n","\t\t}\n","\n","\t\tsetup() {\n","\t\t\t<span class=\"code-keyword\">this</span>.base = <span class=\"code-keyword\">this</span>.insert(baseStyles);\n","\t\t\t<span class=\"code-keyword\">this</span>.styleEl = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"style\"</span>);\n","\t\t\t<span class=\"code-built_in\">document</span>.head.appendChild(<span class=\"code-keyword\">this</span>.styleEl);\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = <span class=\"code-keyword\">this</span>.styleEl.sheet;\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.styleSheet;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> add() {\n","\t\t\t<span class=\"code-keyword\">let</span> fetched = [];\n","\t\t\t<span class=\"code-keyword\">let</span> urls = [];\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < <span class=\"code-built_in\">arguments</span>.length; i++) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> f;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">arguments</span>[i] === <span class=\"code-string\">\"object\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> url <span class=\"code-keyword\">in</span> <span class=\"code-built_in\">arguments</span>[i]) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> obj = <span class=\"code-built_in\">arguments</span>[i];\n","\t\t\t\t\t\tf = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">resolve, reject</span>) </span>{\n","\t\t\t\t\t\t\turls.push(url);\n","\t\t\t\t\t\t\tresolve(obj[url]);\n","\t\t\t\t\t\t});\n","\t\t\t\t\t}\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\turls.push(<span class=\"code-built_in\">arguments</span>[i]);\n","\t\t\t\t\tf = request(<span class=\"code-built_in\">arguments</span>[i]).then(<span class=\"code-function\">(<span class=\"code-params\">response</span>) =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span> response.text();\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\n","\n","\t\t\t\tfetched.push(f);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">await</span> <span class=\"code-built_in\">Promise</span>.all(fetched)\n","\t\t\t\t.then(<span class=\"code-keyword\">async</span> (originals) => {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> text = <span class=\"code-string\">\"\"</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> index = <span class=\"code-number\">0</span>; index < originals.length; index++) {\n","\t\t\t\t\t\ttext = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.convertViaSheet(originals[index], urls[index]);\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.insert(text);\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> text;\n","\t\t\t\t});\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> convertViaSheet(cssStr, href) {\n","\t\t\t<span class=\"code-keyword\">let</span> sheet = <span class=\"code-keyword\">new</span> Sheet(href, <span class=\"code-keyword\">this</span>.hooks);\n","\t\t\t<span class=\"code-keyword\">await</span> sheet.parse(cssStr);\n","\n","\t\t\t<span class=\"code-comment\">// Insert the imported sheets first</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> url <span class=\"code-keyword\">of</span> sheet.imported) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> str = <span class=\"code-keyword\">await</span> request(url).then(<span class=\"code-function\">(<span class=\"code-params\">response</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> response.text();\n","\t\t\t\t});\n","\t\t\t\t<span class=\"code-keyword\">let</span> text = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.convertViaSheet(str, url);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.insert(text);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.sheets.push(sheet);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> sheet.width !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.width = sheet.width;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> sheet.height !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.height = sheet.height;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> sheet.orientation !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.orientation = sheet.orientation;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> sheet.toString();\n","\t\t}\n","\n","\t\tinsert(text){\n","\t\t\t<span class=\"code-keyword\">let</span> head = <span class=\"code-built_in\">document</span>.querySelector(<span class=\"code-string\">\"head\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> style = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"style\"</span>);\n","\t\t\tstyle.type = <span class=\"code-string\">\"text/css\"</span>;\n","\t\t\tstyle.setAttribute(<span class=\"code-string\">\"data-pagedjs-inserted-styles\"</span>, <span class=\"code-string\">\"true\"</span>);\n","\n","\t\t\tstyle.appendChild(<span class=\"code-built_in\">document</span>.createTextNode(text));\n","\n","\t\t\thead.appendChild(style);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.inserted.push(style);\n","\t\t\t<span class=\"code-keyword\">return</span> style;\n","\t\t}\n","\n","\t\tdestroy() {\n","\t\t\t<span class=\"code-keyword\">this</span>.styleEl.remove();\n","\t\t\t<span class=\"code-keyword\">this</span>.inserted.forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\ts.remove();\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">this</span>.sheets = [];\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">let</span> hooks = <span class=\"code-built_in\">Object</span>.assign({}, chunker && chunker.hooks, polisher && polisher.hooks, caller && caller.hooks);\n","\t\t\t<span class=\"code-keyword\">this</span>.chunker = chunker;\n","\t\t\t<span class=\"code-keyword\">this</span>.polisher = polisher;\n","\t\t\t<span class=\"code-keyword\">this</span>.caller = caller;\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> name <span class=\"code-keyword\">in</span> hooks) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (name <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> hook = hooks[name];\n","\t\t\t\t\thook.register(<span class=\"code-keyword\">this</span>[name].bind(<span class=\"code-keyword\">this</span>));\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\teventEmitter(Handler.prototype);\n","\n","\t<span class=\"code-comment\">// https://www.w3.org/TR/css3-page/#page-size-prop</span>\n","\n","\t<span class=\"code-keyword\">var</span> pageSizes = {\n","\t\t<span class=\"code-string\">\"A0\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">841</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">1189</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A1\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">594</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">841</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A2\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">420</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">594</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A3\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">297</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">420</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A4\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">210</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">297</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A5\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">148</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">210</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A6\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">105</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">148</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A7\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">74</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">105</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A8\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">52</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">74</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A9\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">37</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">52</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"A10\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">26</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">37</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"B4\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">250</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">353</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"B5\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">176</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">250</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"mm\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"letter\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">8.5</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">11</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"legal\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">8.5</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">14</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t}\n","\t\t},\n","\t\t<span class=\"code-string\">\"ledger\"</span>: {\n","\t\t\twidth: {\n","\t\t\t\tvalue: <span class=\"code-number\">11</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t},\n","\t\t\theight: {\n","\t\t\t\tvalue: <span class=\"code-number\">17</span>,\n","\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t}\n","\t\t}\n","\t};\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">AtPage</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.pages = {};\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.width = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.height = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.orientation = <span class=\"code-literal\">undefined</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.marginalia = {};\n","\t\t}\n","\n","\t\tpageModel(selector) {\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\tselector: selector,\n","\t\t\t\tname: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\tpsuedo: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\tnth: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\tmarginalia: {},\n","\t\t\t\twidth: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\theight: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\torientation: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\tmargin: {\n","\t\t\t\t\ttop: {},\n","\t\t\t\t\tright: {},\n","\t\t\t\t\tleft: {},\n","\t\t\t\t\tbottom: {}\n","\t\t\t\t},\n","\t\t\t\tpadding: {\n","\t\t\t\t\ttop: {},\n","\t\t\t\t\tright: {},\n","\t\t\t\t\tleft: {},\n","\t\t\t\t\tbottom: {}\n","\t\t\t\t},\n","\t\t\t\tborder: {\n","\t\t\t\t\ttop: {},\n","\t\t\t\t\tright: {},\n","\t\t\t\t\tleft: {},\n","\t\t\t\t\tbottom: {}\n","\t\t\t\t},\n","\t\t\t\tbackgroundOrigin: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\tblock: {},\n","\t\t\t\tmarks: <span class=\"code-literal\">undefined</span>\n","\t\t\t};\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// Find and Remove @page rules</span>\n","\t\tonAtPage(node, item, list) {\n","\t\t\t<span class=\"code-keyword\">let</span> page, marginalia;\n","\t\t\t<span class=\"code-keyword\">let</span> selector = <span class=\"code-string\">\"\"</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> named, psuedo, nth;\n","\t\t\t<span class=\"code-keyword\">let</span> needsMerge = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (node.prelude) {\n","\t\t\t\tnamed = <span class=\"code-keyword\">this</span>.getTypeSelector(node);\n","\t\t\t\tpsuedo = <span class=\"code-keyword\">this</span>.getPsuedoSelector(node);\n","\t\t\t\tnth = <span class=\"code-keyword\">this</span>.getNthSelector(node);\n","\t\t\t\tselector = lib.generate(node.prelude);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tselector = <span class=\"code-string\">\"*\"</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (selector <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.pages) {\n","\t\t\t\t<span class=\"code-comment\">// this.pages[selector] = Object.assign(this.pages[selector], page);</span>\n","\t\t\t\t<span class=\"code-comment\">// console.log(\"after\", selector, this.pages[selector]);</span>\n","\n","\t\t\t\t<span class=\"code-comment\">// this.pages[selector].added = false;</span>\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.pages[selector];\n","\t\t\t\tmarginalia = <span class=\"code-keyword\">this</span>.replaceMarginalia(node);\n","\t\t\t\tneedsMerge = <span class=\"code-literal\">true</span>;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tpage = <span class=\"code-keyword\">this</span>.pageModel(selector);\n","\t\t\t\tmarginalia = <span class=\"code-keyword\">this</span>.replaceMarginalia(node);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pages[selector] = page;\n","\t\t\t}\n","\n","\t\t\tpage.name = named;\n","\t\t\tpage.psuedo = psuedo;\n","\t\t\tpage.nth = nth;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (needsMerge) {\n","\t\t\t\tpage.marginalia = <span class=\"code-built_in\">Object</span>.assign(page.marginalia, marginalia);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tpage.marginalia = marginalia;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> declarations = <span class=\"code-keyword\">this</span>.replaceDeclarations(node);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.size) {\n","\t\t\t\tpage.size = declarations.size;\n","\t\t\t\tpage.width = declarations.size.width;\n","\t\t\t\tpage.height = declarations.size.height;\n","\t\t\t\tpage.orientation = declarations.size.orientation;\n","\t\t\t\tpage.format = declarations.size.format;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.bleed && declarations.bleed[<span class=\"code-number\">0</span>] != <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">switch</span> (declarations.bleed.length) {\n","\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">4</span>: <span class=\"code-comment\">// top right bottom left</span>\n","\t\t\t\t\t\tpage.bleed = {\n","\t\t\t\t\t\t\ttop: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tright: declarations.bleed[<span class=\"code-number\">1</span>],\n","\t\t\t\t\t\t\tbottom: declarations.bleed[<span class=\"code-number\">2</span>],\n","\t\t\t\t\t\t\tleft: declarations.bleed[<span class=\"code-number\">3</span>]\n","\t\t\t\t\t\t};\n","\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">3</span>: <span class=\"code-comment\">// top right bottom right</span>\n","\t\t\t\t\t\tpage.bleed = {\n","\t\t\t\t\t\t\ttop: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tright: declarations.bleed[<span class=\"code-number\">1</span>],\n","\t\t\t\t\t\t\tbottom: declarations.bleed[<span class=\"code-number\">2</span>],\n","\t\t\t\t\t\t\tleft: declarations.bleed[<span class=\"code-number\">1</span>]\n","\t\t\t\t\t\t};\n","\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>: <span class=\"code-comment\">// top right top right</span>\n","\t\t\t\t\t\tpage.bleed = {\n","\t\t\t\t\t\t\ttop: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tright: declarations.bleed[<span class=\"code-number\">1</span>],\n","\t\t\t\t\t\t\tbottom: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tleft: declarations.bleed[<span class=\"code-number\">1</span>]\n","\t\t\t\t\t\t};\n","\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">default</span>:\n","\t\t\t\t\t\tpage.bleed = {\n","\t\t\t\t\t\t\ttop: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tright: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tbottom: declarations.bleed[<span class=\"code-number\">0</span>],\n","\t\t\t\t\t\t\tleft: declarations.bleed[<span class=\"code-number\">0</span>]\n","\t\t\t\t\t\t};\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.marks) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!declarations.bleed || declarations.bleed && declarations.bleed[<span class=\"code-number\">0</span>] === <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// Spec say 6pt, but needs more space for marks</span>\n","\t\t\t\t\tpage.bleed = {\n","\t\t\t\t\t\ttop: { <span class=\"code-attr\">value</span>: <span class=\"code-number\">6</span>, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"mm\"</span> },\n","\t\t\t\t\t\tright: { <span class=\"code-attr\">value</span>: <span class=\"code-number\">6</span>, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"mm\"</span> },\n","\t\t\t\t\t\tbottom: { <span class=\"code-attr\">value</span>: <span class=\"code-number\">6</span>, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"mm\"</span> },\n","\t\t\t\t\t\tleft: { <span class=\"code-attr\">value</span>: <span class=\"code-number\">6</span>, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"mm\"</span> }\n","\t\t\t\t\t};\n","\t\t\t\t}\n","\n","\t\t\t\tpage.marks = declarations.marks;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.margin) {\n","\t\t\t\tpage.margin = declarations.margin;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.padding) {\n","\t\t\t\tpage.padding = declarations.padding;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.border) {\n","\t\t\t\tpage.border = declarations.border;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declarations.marks) {\n","\t\t\t\tpage.marks = declarations.marks;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (needsMerge) {\n","\t\t\t\tpage.block.children.appendList(node.block.children);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tpage.block = node.block;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Remove the rule</span>\n","\t\t\tlist.remove(item);\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/* Handled in breaks */</span>\n","\t\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t\tafterParsed(parsed) {\n</span>","<span class=\"code-comment\">\t\t\tfor (let b in this.named) {\n</span>","<span class=\"code-comment\">\t\t\t\t// Find elements\n</span>","<span class=\"code-comment\">\t\t\t\tlet elements = parsed.querySelectorAll(b);\n</span>","<span class=\"code-comment\">\t\t\t\t// Add break data\n</span>","<span class=\"code-comment\">\t\t\t\tfor (var i = 0; i < elements.length; i++) {\n</span>","<span class=\"code-comment\">\t\t\t\t\telements[i].setAttribute(\"data-page\", this.named[b]);\n</span>","<span class=\"code-comment\">\t\t\t\t}\n</span>","<span class=\"code-comment\">\t\t\t}\n</span>","<span class=\"code-comment\">\t\t}\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\n","\t\tafterTreeWalk(ast, sheet) {\n","\t\t\t<span class=\"code-keyword\">this</span>.addPageClasses(<span class=\"code-keyword\">this</span>.pages, ast, sheet);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\"*\"</span> <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> width = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].width;\n","\t\t\t\t<span class=\"code-keyword\">let</span> height = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].height;\n","\t\t\t\t<span class=\"code-keyword\">let</span> format = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].format;\n","\t\t\t\t<span class=\"code-keyword\">let</span> orientation = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].orientation;\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleed = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].bleed;\n","\t\t\t\t<span class=\"code-keyword\">let</span> marks = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].marks;\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedverso = <span class=\"code-literal\">undefined</span>;\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedrecto = <span class=\"code-literal\">undefined</span>;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":left\"</span> <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.pages) {\n","\t\t\t\t\tbleedverso = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\":left\"</span>].bleed;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":right\"</span> <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.pages) {\n","\t\t\t\t\tbleedrecto = <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\":right\"</span>].bleed;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> ((width && height) &&\n","\t\t\t\t\t(<span class=\"code-keyword\">this</span>.width !== width || <span class=\"code-keyword\">this</span>.height !== height)) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.width = width;\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.height = height;\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.format = format;\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.orientation = orientation;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.addRootVars(ast, width, height, orientation, bleed, bleedrecto, bleedverso, marks);\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.addRootPage(ast, <span class=\"code-keyword\">this</span>.pages[<span class=\"code-string\">\"*\"</span>].size, bleed, bleedrecto, bleedverso);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"size\"</span>, { width, height, orientation, format, bleed });\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"atpages\"</span>, <span class=\"code-keyword\">this</span>.pages);\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\tgetTypeSelector(ast) {\n","\t\t\t<span class=\"code-comment\">// Find page name</span>\n","\t\t\t<span class=\"code-keyword\">let</span> name;\n","\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"TypeSelector\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\tname = node.name;\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> name;\n","\t\t}\n","\n","\t\tgetPsuedoSelector(ast) {\n","\t\t\t<span class=\"code-comment\">// Find if it has :left & :right & :black & :first</span>\n","\t\t\t<span class=\"code-keyword\">let</span> name;\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"PseudoClassSelector\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.name !== <span class=\"code-string\">\"nth\"</span>) {\n","\t\t\t\t\t\tname = node.name;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> name;\n","\t\t}\n","\n","\t\tgetNthSelector(ast) {\n","\t\t\t<span class=\"code-comment\">// Find if it has :nth</span>\n","\t\t\t<span class=\"code-keyword\">let</span> nth;\n","\t\t\tlib.walk(ast, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"PseudoClassSelector\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.name === <span class=\"code-string\">\"nth\"</span> && node.children) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> raw = node.children.first();\n","\t\t\t\t\t\tnth = raw.value;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> nth;\n","\t\t}\n","\n","\t\treplaceMarginalia(ast) {\n","\t\t\t<span class=\"code-keyword\">let</span> parsed = {};\n","\n","\t\t\tlib.walk(ast.block, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Atrule\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> name = node.name;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"top\"</span>) {\n","\t\t\t\t\t\tname = <span class=\"code-string\">\"top-center\"</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"right\"</span>) {\n","\t\t\t\t\t\tname = <span class=\"code-string\">\"right-middle\"</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"left\"</span>) {\n","\t\t\t\t\t\tname = <span class=\"code-string\">\"left-middle\"</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"bottom\"</span>) {\n","\t\t\t\t\t\tname = <span class=\"code-string\">\"bottom-center\"</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\tparsed[name] = node.block;\n","\t\t\t\t\tlist.remove(item);\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> parsed;\n","\t\t}\n","\n","\t\treplaceDeclarations(ast) {\n","\t\t\t<span class=\"code-keyword\">let</span> parsed = {};\n","\n","\t\t\tlib.walk(ast.block, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">declaration, dItem, dList</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> prop = lib.property(declaration.property).name;\n","\t\t\t\t\t<span class=\"code-comment\">// let value = declaration.value;</span>\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"marks\"</span>) {\n","\t\t\t\t\t\tparsed.marks = [];\n","\t\t\t\t\t\tlib.walk(declaration, {\n","\t\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">ident</span>) =></span> {\n","\t\t\t\t\t\t\t\tparsed.marks.push(ident.name);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t});\n","\t\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"margin\"</span>) {\n","\t\t\t\t\t\tparsed.margin = <span class=\"code-keyword\">this</span>.getMargins(declaration);\n","\t\t\t\t\t\tdList.remove(dItem);\n","\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop.indexOf(<span class=\"code-string\">\"margin-\"</span>) === <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> m = prop.substring(<span class=\"code-string\">\"margin-\"</span>.length);\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!parsed.margin) {\n","\t\t\t\t\t\t\tparsed.margin = {\n","\t\t\t\t\t\t\t\ttop: {},\n","\t\t\t\t\t\t\t\tright: {},\n","\t\t\t\t\t\t\t\tleft: {},\n","\t\t\t\t\t\t\t\tbottom: {}\n","\t\t\t\t\t\t\t};\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\tparsed.margin[m] = declaration.value.children.first();\n","\t\t\t\t\t\tdList.remove(dItem);\n","\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"padding\"</span>) {\n","\t\t\t\t\t\tparsed.padding = <span class=\"code-keyword\">this</span>.getPaddings(declaration.value);\n","\t\t\t\t\t\tdList.remove(dItem);\n","\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop.indexOf(<span class=\"code-string\">\"padding-\"</span>) === <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> p = prop.substring(<span class=\"code-string\">\"padding-\"</span>.length);\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!parsed.padding) {\n","\t\t\t\t\t\t\tparsed.padding = {\n","\t\t\t\t\t\t\t\ttop: {},\n","\t\t\t\t\t\t\t\tright: {},\n","\t\t\t\t\t\t\t\tleft: {},\n","\t\t\t\t\t\t\t\tbottom: {}\n","\t\t\t\t\t\t\t};\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\tparsed.padding[p] = declaration.value.children.first();\n","\t\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"border\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!parsed.border) {\n","\t\t\t\t\t\t\tparsed.border = {\n","\t\t\t\t\t\t\t\ttop: {},\n","\t\t\t\t\t\t\t\tright: {},\n","\t\t\t\t\t\t\t\tleft: {},\n","\t\t\t\t\t\t\t\tbottom: {}\n","\t\t\t\t\t\t\t};\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\tparsed.border.top = lib.generate(declaration.value);\n","\t\t\t\t\t\tparsed.border.right = lib.generate(declaration.value);\n","\t\t\t\t\t\tparsed.border.left = lib.generate(declaration.value);\n","\t\t\t\t\t\tparsed.border.bottom = lib.generate(declaration.value);\n","\n","\t\t\t\t\t\tdList.remove(dItem);\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop.indexOf(<span class=\"code-string\">\"border-\"</span>) === <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!parsed.border) {\n","\t\t\t\t\t\t\tparsed.border = {\n","\t\t\t\t\t\t\t\ttop: {},\n","\t\t\t\t\t\t\t\tright: {},\n","\t\t\t\t\t\t\t\tleft: {},\n","\t\t\t\t\t\t\t\tbottom: {}\n","\t\t\t\t\t\t\t};\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> p = prop.substring(<span class=\"code-string\">\"border-\"</span>.length);\n","\n","\t\t\t\t\t\tparsed.border[p] = lib.generate(declaration.value);\n","\t\t\t\t\t\tdList.remove(dItem);\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"size\"</span>) {\n","\t\t\t\t\t\tparsed.size = <span class=\"code-keyword\">this</span>.getSize(declaration);\n","\t\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop === <span class=\"code-string\">\"bleed\"</span>) {\n","\t\t\t\t\t\tparsed.bleed = [];\n","\n","\t\t\t\t\t\tlib.walk(declaration, {\n","\t\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">subNode</span>) =></span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">switch</span> (subNode.type) {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"String\"</span>: <span class=\"code-comment\">// bleed: \"auto\"</span>\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (subNode.value.indexOf(<span class=\"code-string\">\"auto\"</span>) > <span class=\"code-number\">-1</span>) {\n","\t\t\t\t\t\t\t\t\t\t\tparsed.bleed.push(<span class=\"code-string\">\"auto\"</span>);\n","\t\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Dimension\"</span>: <span class=\"code-comment\">// bleed: 1in 2in, bleed: 20px ect.</span>\n","\t\t\t\t\t\t\t\t\t\tparsed.bleed.push({\n","\t\t\t\t\t\t\t\t\t\t\tvalue: subNode.value,\n","\t\t\t\t\t\t\t\t\t\t\tunit: subNode.unit\n","\t\t\t\t\t\t\t\t\t\t});\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Number\"</span>:\n","\t\t\t\t\t\t\t\t\t\tparsed.bleed.push({\n","\t\t\t\t\t\t\t\t\t\t\tvalue: subNode.value,\n","\t\t\t\t\t\t\t\t\t\t\tunit: <span class=\"code-string\">\"px\"</span>\n","\t\t\t\t\t\t\t\t\t\t});\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-comment\">// ignore</span>\n","\t\t\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t});\n","\n","\t\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t\t}\n","\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> parsed;\n","\n","\t\t}\n","\t\tgetSize(declaration) {\n","\t\t\t<span class=\"code-keyword\">let</span> width, height, orientation, format;\n","\n","\t\t\t<span class=\"code-comment\">// Get size: Xmm Ymm</span>\n","\t\t\tlib.walk(declaration, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> { value, unit } = node;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> width === <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t\twidth = { value, unit };\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> height === <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t\theight = { value, unit };\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Get size: \"A4\"</span>\n","\t\t\tlib.walk(declaration, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"String\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> name = node.value.replace(<span class=\"code-regexp\">/[\"|']/g</span>, <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> s = pageSizes[name];\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (s) {\n","\t\t\t\t\t\twidth = s.width;\n","\t\t\t\t\t\theight = s.height;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Get Format or Landscape or Portrait</span>\n","\t\t\tlib.walk(declaration, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> name = node.name;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"landscape\"</span> || name === <span class=\"code-string\">\"portrait\"</span>) {\n","\t\t\t\t\t\torientation = node.name;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (name !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> s = pageSizes[name];\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (s) {\n","\t\t\t\t\t\t\twidth = s.width;\n","\t\t\t\t\t\t\theight = s.height;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\tformat = name;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\twidth,\n","\t\t\t\theight,\n","\t\t\t\torientation,\n","\t\t\t\tformat\n","\t\t\t};\n","\t\t}\n","\n","\t\tgetMargins(declaration) {\n","\t\t\t<span class=\"code-keyword\">let</span> margins = [];\n","\t\t\t<span class=\"code-keyword\">let</span> margin = {\n","\t\t\t\ttop: {},\n","\t\t\t\tright: {},\n","\t\t\t\tleft: {},\n","\t\t\t\tbottom: {}\n","\t\t\t};\n","\n","\t\t\tlib.walk(declaration, {\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">switch</span> (node.type) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Dimension\"</span>: <span class=\"code-comment\">// margin: 1in 2in, margin: 20px, etc...</span>\n","\t\t\t\t\t\t\tmargins.push(node);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Number\"</span>: <span class=\"code-comment\">// margin: 0</span>\n","\t\t\t\t\t\t\tmargins.push({<span class=\"code-attr\">value</span>: node.value, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"px\"</span>});\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t<span class=\"code-comment\">// ignore</span>\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (margins.length === <span class=\"code-number\">1</span>) {\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> m <span class=\"code-keyword\">in</span> margin) {\n","\t\t\t\t\tmargin[m] = margins[<span class=\"code-number\">0</span>];\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (margins.length === <span class=\"code-number\">2</span>) {\n","\t\t\t\tmargin.top = margins[<span class=\"code-number\">0</span>];\n","\t\t\t\tmargin.right = margins[<span class=\"code-number\">1</span>];\n","\t\t\t\tmargin.bottom = margins[<span class=\"code-number\">0</span>];\n","\t\t\t\tmargin.left = margins[<span class=\"code-number\">1</span>];\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (margins.length === <span class=\"code-number\">3</span>) {\n","\t\t\t\tmargin.top = margins[<span class=\"code-number\">0</span>];\n","\t\t\t\tmargin.right = margins[<span class=\"code-number\">1</span>];\n","\t\t\t\tmargin.bottom = margins[<span class=\"code-number\">2</span>];\n","\t\t\t\tmargin.left = margins[<span class=\"code-number\">1</span>];\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (margins.length === <span class=\"code-number\">4</span>) {\n","\t\t\t\tmargin.top = margins[<span class=\"code-number\">0</span>];\n","\t\t\t\tmargin.right = margins[<span class=\"code-number\">1</span>];\n","\t\t\t\tmargin.bottom = margins[<span class=\"code-number\">2</span>];\n","\t\t\t\tmargin.left = margins[<span class=\"code-number\">3</span>];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> margin;\n","\t\t}\n","\n","\t\tgetPaddings(declaration) {\n","\t\t\t<span class=\"code-keyword\">let</span> paddings = [];\n","\t\t\t<span class=\"code-keyword\">let</span> padding = {\n","\t\t\t\ttop: {},\n","\t\t\t\tright: {},\n","\t\t\t\tleft: {},\n","\t\t\t\tbottom: {}\n","\t\t\t};\n","\n","\t\t\tlib.walk(declaration, {\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">switch</span> (node.type) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Dimension\"</span>: <span class=\"code-comment\">// padding: 1in 2in, padding: 20px, etc...</span>\n","\t\t\t\t\t\t\tpaddings.push(node);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-string\">\"Number\"</span>: <span class=\"code-comment\">// padding: 0</span>\n","\t\t\t\t\t\t\tpaddings.push({<span class=\"code-attr\">value</span>: node.value, <span class=\"code-attr\">unit</span>: <span class=\"code-string\">\"px\"</span>});\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t<span class=\"code-comment\">// ignore</span>\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">if</span> (paddings.length === <span class=\"code-number\">1</span>) {\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> p <span class=\"code-keyword\">in</span> padding) {\n","\t\t\t\t\tpadding[p] = paddings[<span class=\"code-number\">0</span>];\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (paddings.length === <span class=\"code-number\">2</span>) {\n","\n","\t\t\t\tpadding.top = paddings[<span class=\"code-number\">0</span>];\n","\t\t\t\tpadding.right = paddings[<span class=\"code-number\">1</span>];\n","\t\t\t\tpadding.bottom = paddings[<span class=\"code-number\">0</span>];\n","\t\t\t\tpadding.left = paddings[<span class=\"code-number\">1</span>];\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (paddings.length === <span class=\"code-number\">3</span>) {\n","\n","\t\t\t\tpadding.top = paddings[<span class=\"code-number\">0</span>];\n","\t\t\t\tpadding.right = paddings[<span class=\"code-number\">1</span>];\n","\t\t\t\tpadding.bottom = paddings[<span class=\"code-number\">2</span>];\n","\t\t\t\tpadding.left = paddings[<span class=\"code-number\">1</span>];\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (paddings.length === <span class=\"code-number\">4</span>) {\n","\n","\t\t\t\tpadding.top = paddings[<span class=\"code-number\">0</span>];\n","\t\t\t\tpadding.right = paddings[<span class=\"code-number\">1</span>];\n","\t\t\t\tpadding.bottom = paddings[<span class=\"code-number\">2</span>];\n","\t\t\t\tpadding.left = paddings[<span class=\"code-number\">3</span>];\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> padding;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// get values for the border on the @page to pass them to the element with the .pagedjs_area class</span>\n","\t\tgetBorders(declaration) {\n","\t\t\t<span class=\"code-keyword\">let</span> border = {\n","\t\t\t\ttop: {},\n","\t\t\t\tright: {},\n","\t\t\t\tleft: {},\n","\t\t\t\tbottom: {}\n","\t\t\t};\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.prop == <span class=\"code-string\">\"border\"</span>) {\n","\t\t\t\tborder.top = lib.generate(declaration.value);\n","\t\t\t\tborder.right = lib.generate(declaration.value);\n","\t\t\t\tborder.bottom = lib.generate(declaration.value);\n","\t\t\t\tborder.left = lib.generate(declaration.value);\n","\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (declaration.prop == <span class=\"code-string\">\"border-top\"</span>) {\n","\t\t\t\tborder.top = lib.generate(declaration.value);\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (declaration.prop == <span class=\"code-string\">\"border-right\"</span>) {\n","\t\t\t\tborder.right = lib.generate(declaration.value);\n","\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (declaration.prop == <span class=\"code-string\">\"border-bottom\"</span>) {\n","\t\t\t\tborder.bottom = lib.generate(declaration.value);\n","\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (declaration.prop == <span class=\"code-string\">\"border-left\"</span>) {\n","\t\t\t\tborder.left = lib.generate(declaration.value);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> border;\n","\t\t}\n","\n","\n","\t\taddPageClasses(pages, ast, sheet) {\n","\t\t\t<span class=\"code-comment\">// First add * page</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\"*\"</span> <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> p = <span class=\"code-keyword\">this</span>.createPage(pages[<span class=\"code-string\">\"*\"</span>], ast.children, sheet);\n","\t\t\t\tsheet.insertRule(p);\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// Add :left & :right</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":left\"</span> <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> left = <span class=\"code-keyword\">this</span>.createPage(pages[<span class=\"code-string\">\":left\"</span>], ast.children, sheet);\n","\t\t\t\tsheet.insertRule(left);\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":right\"</span> <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> right = <span class=\"code-keyword\">this</span>.createPage(pages[<span class=\"code-string\">\":right\"</span>], ast.children, sheet);\n","\t\t\t\tsheet.insertRule(right);\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// Add :first & :blank</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":first\"</span> <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> first = <span class=\"code-keyword\">this</span>.createPage(pages[<span class=\"code-string\">\":first\"</span>], ast.children, sheet);\n","\t\t\t\tsheet.insertRule(first);\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-string\">\":blank\"</span> <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> blank = <span class=\"code-keyword\">this</span>.createPage(pages[<span class=\"code-string\">\":blank\"</span>], ast.children, sheet);\n","\t\t\t\tsheet.insertRule(blank);\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// Add nth pages</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> pg <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (pages[pg].nth) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> nth = <span class=\"code-keyword\">this</span>.createPage(pages[pg], ast.children, sheet);\n","\t\t\t\t\tsheet.insertRule(nth);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Add named pages</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> pg <span class=\"code-keyword\">in</span> pages) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (pages[pg].name) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> named = <span class=\"code-keyword\">this</span>.createPage(pages[pg], ast.children, sheet);\n","\t\t\t\t\tsheet.insertRule(named);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t}\n","\n","\t\tcreatePage(page, ruleList, sheet) {\n","\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = <span class=\"code-keyword\">this</span>.selectorsForPage(page);\n","\t\t\t<span class=\"code-keyword\">let</span> children = page.block.children.copy();\n","\t\t\t<span class=\"code-keyword\">let</span> block = {\n","\t\t\t\ttype: <span class=\"code-string\">\"Block\"</span>,\n","\t\t\t\tloc: <span class=\"code-number\">0</span>,\n","\t\t\t\tchildren: children\n","\t\t\t};\n","\n","\n","\t\t\t<span class=\"code-keyword\">let</span> rule = <span class=\"code-keyword\">this</span>.createRule(selectors, block);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.addMarginVars(page.margin, children, children.first());\n","\t\t\t<span class=\"code-keyword\">this</span>.addPaddingVars(page.padding, children, children.first());\n","\t\t\t<span class=\"code-keyword\">this</span>.addBorderVars(page.border, children, children.first());\n","\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (page.width) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addDimensions(page.width, page.height, page.orientation, children, children.first());\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (page.marginalia) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addMarginaliaStyles(page, ruleList, rule, sheet);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addMarginaliaContent(page, ruleList, rule, sheet);\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> rule;\n","\t\t}\n","\n","\t\taddMarginVars(margin, list, item) {\n","\t\t\t<span class=\"code-comment\">// variables for margins</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> m <span class=\"code-keyword\">in</span> margin) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> margin[m].value !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value = margin[m].value + (margin[m].unit || <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> mVar = list.createItem({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\t\tproperty: <span class=\"code-string\">\"--pagedjs-margin-\"</span> + m,\n","\t\t\t\t\t\tvalue: {\n","\t\t\t\t\t\t\ttype: <span class=\"code-string\">\"Raw\"</span>,\n","\t\t\t\t\t\t\tvalue: value\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t\tlist.append(mVar, item);\n","\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\taddPaddingVars(padding, list, item) {\n","\t\t\t<span class=\"code-comment\">// variables for padding</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> p <span class=\"code-keyword\">in</span> padding) {\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> padding[p].value !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value = padding[p].value + (padding[p].unit || <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> pVar = list.createItem({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\t\tproperty: <span class=\"code-string\">\"--pagedjs-padding-\"</span> + p,\n","\t\t\t\t\t\tvalue: {\n","\t\t\t\t\t\t\ttype: <span class=\"code-string\">\"Raw\"</span>,\n","\t\t\t\t\t\t\tvalue: value\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\n","\t\t\t\t\tlist.append(pVar, item);\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\taddBorderVars(border, list, item) {\n","\t\t\t<span class=\"code-comment\">// variables for borders</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> b <span class=\"code-keyword\">in</span> border) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> border[b] !== <span class=\"code-string\">\"undefined\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value = border[b];\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> bVar = list.createItem({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\t\tproperty: <span class=\"code-string\">\"--pagedjs-border-\"</span> + b,\n","\t\t\t\t\t\tvalue: {\n","\t\t\t\t\t\t\ttype: <span class=\"code-string\">\"Raw\"</span>,\n","\t\t\t\t\t\t\tvalue: value\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t\tlist.append(bVar, item);\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\taddDimensions(width, height, orientation, list, item) {\n","\t\t\t<span class=\"code-keyword\">let</span> widthString, heightString;\n","\n","\t\t\twidthString = CSSValueToString(width);\n","\t\t\theightString = CSSValueToString(height);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (orientation && orientation !== <span class=\"code-string\">\"portrait\"</span>) {\n","\t\t\t\t<span class=\"code-comment\">// reverse for orientation</span>\n","\t\t\t\t[widthString, heightString] = [heightString, widthString];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// width variable</span>\n","\t\t\t<span class=\"code-keyword\">let</span> wVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-pagebox-width\"</span>, widthString);\n","\t\t\tlist.appendData(wVar);\n","\n","\t\t\t<span class=\"code-comment\">// height variable</span>\n","\t\t\t<span class=\"code-keyword\">let</span> hVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-pagebox-height\"</span>, heightString);\n","\t\t\tlist.appendData(hVar);\n","\n","\t\t\t<span class=\"code-comment\">// let w = this.createDimension(\"width\", width);</span>\n","\t\t\t<span class=\"code-comment\">// let h = this.createDimension(\"height\", height);</span>\n","\t\t\t<span class=\"code-comment\">// list.appendData(w);</span>\n","\t\t\t<span class=\"code-comment\">// list.appendData(h);</span>\n","\t\t}\n","\n","\t\taddMarginaliaStyles(page, list, item, sheet) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> loc <span class=\"code-keyword\">in</span> page.marginalia) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> block = lib.clone(page.marginalia[loc]);\n","\t\t\t\t<span class=\"code-keyword\">let</span> hasContent = <span class=\"code-literal\">false</span>;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (block.children.isEmpty()) {\n","\t\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t\t}\n","\n","\t\t\t\tlib.walk(block, {\n","\t\t\t\t\tvisit: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.property === <span class=\"code-string\">\"content\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.value.children && node.value.children.first().name === <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t\t\t\t\thasContent = <span class=\"code-literal\">false</span>;\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\thasContent = <span class=\"code-literal\">true</span>;\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\tlist.remove(item);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.property === <span class=\"code-string\">\"vertical-align\"</span>) {\n","\t\t\t\t\t\t\tlib.walk(node, {\n","\t\t\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">identNode, identItem, identlist</span>) =></span> {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> name = identNode.name;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"top\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tidentNode.name = <span class=\"code-string\">\"flex-start\"</span>;\n","\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"middle\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tidentNode.name = <span class=\"code-string\">\"center\"</span>;\n","\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"bottom\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tidentNode.name = <span class=\"code-string\">\"flex-end\"</span>;\n","\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t});\n","\t\t\t\t\t\t\tnode.property = <span class=\"code-string\">\"align-items\"</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.property === <span class=\"code-string\">\"width\"</span> &&\n","\t\t\t\t\t\t\t(loc === <span class=\"code-string\">\"top-left\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"top-center\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"top-right\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"bottom-left\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"bottom-center\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"bottom-right\"</span>)) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> c = lib.clone(node);\n","\t\t\t\t\t\t\tc.property = <span class=\"code-string\">\"max-width\"</span>;\n","\t\t\t\t\t\t\tlist.appendData(c);\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.property === <span class=\"code-string\">\"height\"</span> &&\n","\t\t\t\t\t\t\t(loc === <span class=\"code-string\">\"left-top\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"left-middle\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"left-bottom\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"right-top\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"right-middle\"</span> ||\n","\t\t\t\t\t\t\t\tloc === <span class=\"code-string\">\"right-bottom\"</span>)) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> c = lib.clone(node);\n","\t\t\t\t\t\t\tc.property = <span class=\"code-string\">\"max-height\"</span>;\n","\t\t\t\t\t\t\tlist.appendData(c);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> marginSelectors = <span class=\"code-keyword\">this</span>.selectorsForPageMargin(page, loc);\n","\t\t\t\t<span class=\"code-keyword\">let</span> marginRule = <span class=\"code-keyword\">this</span>.createRule(marginSelectors, block);\n","\n","\t\t\t\tlist.appendData(marginRule);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> sel = lib.generate({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Selector\"</span>,\n","\t\t\t\t\tchildren: marginSelectors\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.marginalia[sel] = {\n","\t\t\t\t\tpage: page,\n","\t\t\t\t\tselector: sel,\n","\t\t\t\t\tblock: page.marginalia[loc],\n","\t\t\t\t\thasContent: hasContent\n","\t\t\t\t};\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\taddMarginaliaContent(page, list, item, sheet) {\n","\t\t\t<span class=\"code-keyword\">let</span> displayNone;\n","\t\t\t<span class=\"code-comment\">// Just content</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> loc <span class=\"code-keyword\">in</span> page.marginalia) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> content = lib.clone(page.marginalia[loc]);\n","\t\t\t\tlib.walk(content, {\n","\t\t\t\t\tvisit: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.property !== <span class=\"code-string\">\"content\"</span>) {\n","\t\t\t\t\t\t\tlist.remove(item);\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (node.value.children && node.value.children.first().name === <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t\t\t\tdisplayNone = <span class=\"code-literal\">true</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (content.children.isEmpty()) {\n","\t\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> displaySelectors = <span class=\"code-keyword\">this</span>.selectorsForPageMargin(page, loc);\n","\t\t\t\t<span class=\"code-keyword\">let</span> displayDeclaration;\n","\n","\t\t\t\tdisplaySelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Combinator\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\">\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdisplaySelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_margin-content\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdisplaySelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Combinator\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\">\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdisplaySelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"TypeSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"*\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (displayNone) {\n","\t\t\t\t\tdisplayDeclaration = <span class=\"code-keyword\">this</span>.createDeclaration(<span class=\"code-string\">\"display\"</span>, <span class=\"code-string\">\"none\"</span>);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tdisplayDeclaration = <span class=\"code-keyword\">this</span>.createDeclaration(<span class=\"code-string\">\"display\"</span>, <span class=\"code-string\">\"block\"</span>);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> displayRule = <span class=\"code-keyword\">this</span>.createRule(displaySelectors, [displayDeclaration]);\n","\t\t\t\tsheet.insertRule(displayRule);\n","\n","\t\t\t\t<span class=\"code-comment\">// insert content rule</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> contentSelectors = <span class=\"code-keyword\">this</span>.selectorsForPageMargin(page, loc);\n","\n","\t\t\t\tcontentSelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Combinator\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\">\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tcontentSelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_margin-content\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tcontentSelectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"PseudoElementSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"after\"</span>,\n","\t\t\t\t\tchildren: <span class=\"code-literal\">null</span>\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> contentRule = <span class=\"code-keyword\">this</span>.createRule(contentSelectors, content);\n","\t\t\t\tsheet.insertRule(contentRule);\n","\t\t\t}\n","\t\t}\n","\n","\t\taddRootVars(ast, width, height, orientation, bleed, bleedrecto, bleedverso, marks) {\n","\t\t\t<span class=\"code-keyword\">let</span> rules = [];\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\tselectors.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"PseudoClassSelector\"</span>,\n","\t\t\t\tname: <span class=\"code-string\">\"root\"</span>,\n","\t\t\t\tchildren: <span class=\"code-literal\">null</span>\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">let</span> widthString, heightString;\n","\t\t\t<span class=\"code-keyword\">let</span> widthStringRight, heightStringRight;\n","\t\t\t<span class=\"code-keyword\">let</span> widthStringLeft, heightStringLeft;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!bleed) {\n","\t\t\t\twidthString = CSSValueToString(width);\n","\t\t\t\theightString = CSSValueToString(height);\n","\t\t\t\twidthStringRight = CSSValueToString(width);\n","\t\t\t\theightStringRight = CSSValueToString(height);\n","\t\t\t\twidthStringLeft = CSSValueToString(width);\n","\t\t\t\theightStringLeft = CSSValueToString(height);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\twidthString = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(width)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.left)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.right)}</span> )`</span>;\n","\t\t\t\theightString = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(height)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.top)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.bottom)}</span> )`</span>;\n","\n","\t\t\t\twidthStringRight = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(width)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.left)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.right)}</span> )`</span>;\n","\t\t\t\theightStringRight = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(height)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.top)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.bottom)}</span> )`</span>;\n","\n","\t\t\t\twidthStringLeft = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(width)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.left)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.right)}</span> )`</span>;\n","\t\t\t\theightStringLeft = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(height)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.top)}</span> + <span class=\"code-subst\">${CSSValueToString(bleed.bottom)}</span> )`</span>;\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedTop = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-top\"</span>, CSSValueToString(bleed.top));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedRight = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right\"</span>, CSSValueToString(bleed.right));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedBottom = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-bottom\"</span>, CSSValueToString(bleed.bottom));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedLeft = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left\"</span>, CSSValueToString(bleed.left));\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedTopRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-top\"</span>, CSSValueToString(bleed.top));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedRightRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-right\"</span>, CSSValueToString(bleed.right));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedBottomRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-bottom\"</span>, CSSValueToString(bleed.bottom));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedLeftRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-left\"</span>, CSSValueToString(bleed.left));\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedTopVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-top\"</span>, CSSValueToString(bleed.top));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedRightVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-right\"</span>, CSSValueToString(bleed.right));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedBottomVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-bottom\"</span>, CSSValueToString(bleed.bottom));\n","\t\t\t\t<span class=\"code-keyword\">let</span> bleedLeftVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-left\"</span>, CSSValueToString(bleed.left));\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (bleedrecto) {\n","\t\t\t\t\tbleedTopRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-top\"</span>, CSSValueToString(bleedrecto.top));\n","\t\t\t\t\tbleedRightRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-right\"</span>, CSSValueToString(bleedrecto.right));\n","\t\t\t\t\tbleedBottomRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-bottom\"</span>, CSSValueToString(bleedrecto.bottom));\n","\t\t\t\t\tbleedLeftRecto = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-right-left\"</span>, CSSValueToString(bleedrecto.left));\n","\n","\t\t\t\t\twidthStringRight = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(width)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedrecto.left)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedrecto.right)}</span> )`</span>;\n","\t\t\t\t\theightStringRight = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(height)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedrecto.top)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedrecto.bottom)}</span> )`</span>;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">if</span> (bleedverso) {\n","\t\t\t\t\tbleedTopVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-top\"</span>, CSSValueToString(bleedverso.top));\n","\t\t\t\t\tbleedRightVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-right\"</span>, CSSValueToString(bleedverso.right));\n","\t\t\t\t\tbleedBottomVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-bottom\"</span>, CSSValueToString(bleedverso.bottom));\n","\t\t\t\t\tbleedLeftVerso = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-bleed-left-left\"</span>, CSSValueToString(bleedverso.left));\n","\n","\t\t\t\t\twidthStringLeft = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(width)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedverso.left)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedverso.right)}</span> )`</span>;\n","\t\t\t\t\theightStringLeft = <span class=\"code-string\">`calc( <span class=\"code-subst\">${CSSValueToString(height)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedverso.top)}</span> + <span class=\"code-subst\">${CSSValueToString(bleedverso.bottom)}</span> )`</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> pageWidthVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-width\"</span>, CSSValueToString(width));\n","\t\t\t\t<span class=\"code-keyword\">let</span> pageHeightVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-height\"</span>, CSSValueToString(height));\n","\n","\t\t\t\trules.push(\n","\t\t\t\t\tbleedTop,\n","\t\t\t\t\tbleedRight,\n","\t\t\t\t\tbleedBottom,\n","\t\t\t\t\tbleedLeft,\n","\t\t\t\t\tbleedTopRecto,\n","\t\t\t\t\tbleedRightRecto,\n","\t\t\t\t\tbleedBottomRecto,\n","\t\t\t\t\tbleedLeftRecto,\n","\t\t\t\t\tbleedTopVerso,\n","\t\t\t\t\tbleedRightVerso,\n","\t\t\t\t\tbleedBottomVerso,\n","\t\t\t\t\tbleedLeftVerso,\n","\t\t\t\t\tpageWidthVar,\n","\t\t\t\t\tpageHeightVar\n","\t\t\t\t);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (marks) {\n","\t\t\t\tmarks.forEach(<span class=\"code-function\">(<span class=\"code-params\">mark</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> markDisplay = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-mark-\"</span> + mark + <span class=\"code-string\">\"-display\"</span>, <span class=\"code-string\">\"block\"</span>);\n","\t\t\t\t\trules.push(markDisplay);\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// orientation variable</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (orientation) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> oVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-orientation\"</span>, orientation);\n","\t\t\t\trules.push(oVar);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (orientation !== <span class=\"code-string\">\"portrait\"</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// reverse for orientation</span>\n","\t\t\t\t\t[widthString, heightString] = [heightString, widthString];\n","\t\t\t\t\t[widthStringRight, heightStringRight] = [heightStringRight, widthStringRight];\n","\t\t\t\t\t[widthStringLeft, heightStringLeft] = [heightStringLeft, widthStringLeft];\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> wVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-width\"</span>, widthString);\n","\t\t\t<span class=\"code-keyword\">let</span> hVar = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-height\"</span>, heightString);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> wVarR = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-width-right\"</span>, widthStringRight);\n","\t\t\t<span class=\"code-keyword\">let</span> hVarR = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-height-right\"</span>, heightStringRight);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> wVarL = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-width-left\"</span>, widthStringLeft);\n","\t\t\t<span class=\"code-keyword\">let</span> hVarL = <span class=\"code-keyword\">this</span>.createVariable(<span class=\"code-string\">\"--pagedjs-height-left\"</span>, heightStringLeft);\n","\n","\t\t\trules.push(wVar, hVar, wVarR, hVarR, wVarL, hVarL);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> rule = <span class=\"code-keyword\">this</span>.createRule(selectors, rules);\n","\n","\t\t\tast.children.appendData(rule);\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/*\n</span>","<span class=\"code-comment\">\t\t@page {\n</span>","<span class=\"code-comment\">\t\t\tsize: var(--pagedjs-width) var(--pagedjs-height);\n</span>","<span class=\"code-comment\">\t\t\tmargin: 0;\n</span>","<span class=\"code-comment\">\t\t\tpadding: 0;\n</span>","<span class=\"code-comment\">\t\t}\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\t\taddRootPage(ast, size, bleed, bleedrecto, bleedverso) {\n","\t\t\t<span class=\"code-keyword\">let</span> { width, height, orientation, format } = size;\n","\t\t\t<span class=\"code-keyword\">let</span> children = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> childrenLeft = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> childrenRight = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> dimensions = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> dimensionsLeft = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> dimensionsRight = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (bleed) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> widthCalculations = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\t<span class=\"code-keyword\">let</span> heightCalculations = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\t\t<span class=\"code-comment\">// width</span>\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: width.unit,\n","\t\t\t\t\tvalue: width.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleed.left.unit,\n","\t\t\t\t\tvalue: bleed.left.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleed.right.unit,\n","\t\t\t\t\tvalue: bleed.right.value\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// height</span>\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: height.unit,\n","\t\t\t\t\tvalue: height.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleed.top.unit,\n","\t\t\t\t\tvalue: bleed.top.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleed.bottom.unit,\n","\t\t\t\t\tvalue: bleed.bottom.value\n","\t\t\t\t});\n","\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: widthCalculations\n","\t\t\t\t});\n","\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: heightCalculations\n","\t\t\t\t});\n","\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (format) {\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\tname: format\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (orientation) {\n","\t\t\t\t\tdimensions.appendData({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t\t});\n","\n","\t\t\t\t\tdimensions.appendData({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\tname: orientation\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: width.unit,\n","\t\t\t\t\tvalue: width.value\n","\t\t\t\t});\n","\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdimensions.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: height.unit,\n","\t\t\t\t\tvalue: height.value\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\tchildren.appendData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tproperty: <span class=\"code-string\">\"size\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tchildren: dimensions\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\tchildren.appendData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tproperty: <span class=\"code-string\">\"margin\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tchildren: [{\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\t\tunit: <span class=\"code-string\">\"px\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-number\">0</span>\n","\t\t\t\t\t}]\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\tchildren.appendData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tproperty: <span class=\"code-string\">\"padding\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tchildren: [{\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\t\tunit: <span class=\"code-string\">\"px\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-number\">0</span>\n","\t\t\t\t\t}]\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\tchildren.appendData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tproperty: <span class=\"code-string\">\"padding\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tchildren: [{\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\t\tunit: <span class=\"code-string\">\"px\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-number\">0</span>\n","\t\t\t\t\t}]\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">let</span> rule = ast.children.createItem({\n","\t\t\t\ttype: <span class=\"code-string\">\"Atrule\"</span>,\n","\t\t\t\tprelude: <span class=\"code-literal\">null</span>,\n","\t\t\t\tname: <span class=\"code-string\">\"page\"</span>,\n","\t\t\t\tblock: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Block\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tchildren: children\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\tast.children.append(rule);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (bleedverso) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> widthCalculationsLeft = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\t<span class=\"code-keyword\">let</span> heightCalculationsLeft = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\t\t<span class=\"code-comment\">// width</span>\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: width.unit,\n","\t\t\t\t\tvalue: width.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedverso.left.unit,\n","\t\t\t\t\tvalue: bleedverso.left.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedverso.right.unit,\n","\t\t\t\t\tvalue: bleedverso.right.value\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// height</span>\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: height.unit,\n","\t\t\t\t\tvalue: height.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedverso.top.unit,\n","\t\t\t\t\tvalue: bleedverso.top.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedverso.bottom.unit,\n","\t\t\t\t\tvalue: bleedverso.bottom.value\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: widthCalculationsLeft\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: heightCalculationsLeft\n","\t\t\t\t});\n","\n","\t\t\t\tchildrenLeft.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\tproperty: <span class=\"code-string\">\"size\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tvalue: {\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\t\tchildren: dimensionsLeft\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> ruleLeft = ast.children.createItem({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Atrule\"</span>,\n","\t\t\t\t\tprelude: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"page :left\"</span>,\n","\t\t\t\t\tblock: {\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Block\"</span>,\n","\t\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\t\tchildren: childrenLeft\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\tast.children.append(ruleLeft);\n","\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (bleedrecto) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> widthCalculationsRight = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\t<span class=\"code-keyword\">let</span> heightCalculationsRight = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\t\t<span class=\"code-comment\">// width</span>\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: width.unit,\n","\t\t\t\t\tvalue: width.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedrecto.left.unit,\n","\t\t\t\t\tvalue: bleedrecto.left.value\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\twidthCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedrecto.right.unit,\n","\t\t\t\t\tvalue: bleedrecto.right.value\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// height</span>\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: height.unit,\n","\t\t\t\t\tvalue: height.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedrecto.top.unit,\n","\t\t\t\t\tvalue: bleedrecto.top.value\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\"+\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\theightCalculationsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: bleedrecto.bottom.unit,\n","\t\t\t\t\tvalue: bleedrecto.bottom.value\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: widthCalculationsRight\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tdimensionsRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\t\tchildren: heightCalculationsRight\n","\t\t\t\t});\n","\n","\t\t\t\tchildrenRight.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\t\tproperty: <span class=\"code-string\">\"size\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tvalue: {\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\t\tchildren: dimensionsRight\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> ruleRight = ast.children.createItem({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Atrule\"</span>,\n","\t\t\t\t\tprelude: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"page :right\"</span>,\n","\t\t\t\t\tblock: {\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Block\"</span>,\n","\t\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\t\tchildren: childrenRight\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\tast.children.append(ruleRight);\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\tgetNth(nth) {\n","\t\t\t<span class=\"code-keyword\">let</span> n = nth.indexOf(<span class=\"code-string\">\"n\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> plus = nth.indexOf(<span class=\"code-string\">\"+\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> splitN = nth.split(<span class=\"code-string\">\"n\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> splitP = nth.split(<span class=\"code-string\">\"+\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> a = <span class=\"code-literal\">null</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> b = <span class=\"code-literal\">null</span>;\n","\t\t\t<span class=\"code-keyword\">if</span> (n > <span class=\"code-number\">-1</span>) {\n","\t\t\t\ta = splitN[<span class=\"code-number\">0</span>];\n","\t\t\t\t<span class=\"code-keyword\">if</span> (plus > <span class=\"code-number\">-1</span>) {\n","\t\t\t\t\tb = splitP[<span class=\"code-number\">1</span>];\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tb = nth;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Nth\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tselector: <span class=\"code-literal\">null</span>,\n","\t\t\t\tnth: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"AnPlusB\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\ta: a,\n","\t\t\t\t\tb: b\n","\t\t\t\t}\n","\t\t\t};\n","\t\t}\n","\n","\t\taddPageAttributes(page, start, pages) {\n","\t\t\t<span class=\"code-keyword\">let</span> named = start.dataset.page;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (named) {\n","\t\t\t\tpage.name = named;\n","\t\t\t\tpage.element.classList.add(<span class=\"code-string\">\"pagedjs_named_page\"</span>);\n","\t\t\t\tpage.element.classList.add(<span class=\"code-string\">\"pagedjs_\"</span> + named + <span class=\"code-string\">\"_page\"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (!start.dataset.splitFrom) {\n","\t\t\t\t\tpage.element.classList.add(<span class=\"code-string\">\"pagedjs_\"</span> + named + <span class=\"code-string\">\"_first_page\"</span>);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tgetStartElement(content, breakToken) {\n","\t\t\t<span class=\"code-keyword\">let</span> node = breakToken && breakToken.node;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!content && !breakToken) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// No break</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (!node) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> content.children[<span class=\"code-number\">0</span>];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Top level element</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (node.nodeType === <span class=\"code-number\">1</span> && node.parentNode.nodeType === <span class=\"code-number\">11</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> node;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Named page</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (node.nodeType === <span class=\"code-number\">1</span> && node.dataset.page) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> node;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Get top level Named parent</span>\n","\t\t\t<span class=\"code-keyword\">let</span> fragment = rebuildAncestors(node);\n","\t\t\t<span class=\"code-keyword\">let</span> pages = fragment.querySelectorAll(<span class=\"code-string\">\"[data-page]\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (pages.length) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> pages[pages.length - <span class=\"code-number\">1</span>];\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">return</span> fragment.children[<span class=\"code-number\">0</span>];\n","\t\t\t}\n","\t\t}\n","\n","\t\tbeforePageLayout(page, contents, breakToken, chunker) {\n","\t\t\t<span class=\"code-keyword\">let</span> start = <span class=\"code-keyword\">this</span>.getStartElement(contents, breakToken);\n","\t\t\t<span class=\"code-keyword\">if</span> (start) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addPageAttributes(page, start, chunker.pages);\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// page.element.querySelector('.paged_area').style.color = red;</span>\n","\t\t}\n","\n","\t\tafterPageLayout(fragment, page, breakToken, chunker) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> m <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.marginalia) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> margin = <span class=\"code-keyword\">this</span>.marginalia[m];\n","\t\t\t\t<span class=\"code-keyword\">let</span> sels = m.split(<span class=\"code-string\">\" \"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> content;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (page.element.matches(sels[<span class=\"code-number\">0</span>]) && margin.hasContent) {\n","\t\t\t\t\tcontent = page.element.querySelector(sels[<span class=\"code-number\">1</span>]);\n","\t\t\t\t\tcontent.classList.add(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// check center</span>\n","\t\t\t[<span class=\"code-string\">\"top\"</span>, <span class=\"code-string\">\"bottom\"</span>].forEach(<span class=\"code-function\">(<span class=\"code-params\">loc</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> marginGroup = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc);\n","\t\t\t\t<span class=\"code-keyword\">let</span> center = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-center\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> left = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-left\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> right = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-right\"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> centerContent = center.classList.contains(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> leftContent = left.classList.contains(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> rightContent = right.classList.contains(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> centerWidth, leftWidth, rightWidth;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (leftContent) {\n","\t\t\t\t\tleftWidth = <span class=\"code-built_in\">window</span>.getComputedStyle(left)[<span class=\"code-string\">\"max-width\"</span>];\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (rightContent) {\n","\t\t\t\t\trightWidth = <span class=\"code-built_in\">window</span>.getComputedStyle(right)[<span class=\"code-string\">\"max-width\"</span>];\n","\t\t\t\t}\n","\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (centerContent) {\n","\t\t\t\t\tcenterWidth = <span class=\"code-built_in\">window</span>.getComputedStyle(center)[<span class=\"code-string\">\"max-width\"</span>];\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (centerWidth === <span class=\"code-string\">\"none\"</span> || centerWidth === <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!leftContent && !rightContent) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"0 1fr 0\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (leftContent) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!rightContent) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (leftWidth !== <span class=\"code-string\">\"none\"</span> && leftWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" 1fr \"</span> + leftWidth;\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"auto auto 1fr\"</span>;\n","\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> leftOuterWidth = left.offsetWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> centerOuterWidth = center.offsetWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> outerwidths = leftOuterWidth + centerOuterWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> newcenterWidth = centerOuterWidth * <span class=\"code-number\">100</span> / outerwidths;\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"minmax(16.66%, 1fr) minmax(33%, \"</span> + newcenterWidth + <span class=\"code-string\">\"%) minmax(16.66%, 1fr)\"</span>;\n","\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (leftWidth !== <span class=\"code-string\">\"none\"</span> && leftWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" 1fr \"</span> + rightWidth;\n","\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" 1fr \"</span> + leftWidth;\n","\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = rightWidth + <span class=\"code-string\">\" 1fr \"</span> + rightWidth;\n","\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"auto auto 1fr\"</span>;\n","\t\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> leftOuterWidth = left.offsetWidth;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> centerOuterWidth = center.offsetWidth;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> rightOuterWidth = right.offsetWidth;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> outerwidths = leftOuterWidth + centerOuterWidth + rightOuterWidth;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> newcenterWidth = centerOuterWidth * <span class=\"code-number\">100</span> / outerwidths;\n","\t\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (newcenterWidth > <span class=\"code-number\">40</span>) {\n","\t\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"minmax(16.66%, 1fr) minmax(33%, \"</span> + newcenterWidth + <span class=\"code-string\">\"%) minmax(16.66%, 1fr)\"</span>;\n","\t\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"repeat(3, 1fr)\"</span>;\n","\t\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = rightWidth + <span class=\"code-string\">\" 1fr \"</span> + rightWidth;\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"auto auto 1fr\"</span>;\n","\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> rightOuterWidth = right.offsetWidth;\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> centerOuterWidth = center.offsetWidth;\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> outerwidths = rightOuterWidth + centerOuterWidth;\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> newcenterWidth = centerOuterWidth * <span class=\"code-number\">100</span> / outerwidths;\n","\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"minmax(16.66%, 1fr) minmax(33%, \"</span> + newcenterWidth + <span class=\"code-string\">\"%) minmax(16.66%, 1fr)\"</span>;\n","\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\tcenter.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (centerWidth !== <span class=\"code-string\">\"none\"</span> && centerWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (leftContent && leftWidth !== <span class=\"code-string\">\"none\"</span> && leftWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" \"</span> + centerWidth + <span class=\"code-string\">\" 1fr\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (rightContent && rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"1fr \"</span> + centerWidth + <span class=\"code-string\">\" \"</span> + rightWidth;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"1fr \"</span> + centerWidth + <span class=\"code-string\">\" 1fr\"</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (leftContent) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!rightContent) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"1fr 0 0\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (leftWidth !== <span class=\"code-string\">\"none\"</span> && leftWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" 1fr \"</span> + rightWidth;\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = leftWidth + <span class=\"code-string\">\" 0 1fr\"</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"1fr 0 \"</span> + rightWidth;\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"auto 1fr auto\"</span>;\n","\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"nowrap\"</span>;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> leftOuterWidth = left.offsetWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> rightOuterWidth = right.offsetWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> outerwidths = leftOuterWidth + rightOuterWidth;\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> newLeftWidth = leftOuterWidth * <span class=\"code-number\">100</span> / outerwidths;\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"minmax(16.66%, \"</span> + newLeftWidth + <span class=\"code-string\">\"%) 0 1fr\"</span>;\n","\t\t\t\t\t\t\t\t\tleft.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t\tright.style[<span class=\"code-string\">\"white-space\"</span>] = <span class=\"code-string\">\"normal\"</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (rightWidth !== <span class=\"code-string\">\"none\"</span> && rightWidth !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"1fr 0 \"</span> + rightWidth;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-columns\"</span>] = <span class=\"code-string\">\"0 0 1fr\"</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// check middle</span>\n","\t\t\t[<span class=\"code-string\">\"left\"</span>, <span class=\"code-string\">\"right\"</span>].forEach(<span class=\"code-function\">(<span class=\"code-params\">loc</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> middle = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-middle.hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> marginGroup = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc);\n","\t\t\t\t<span class=\"code-keyword\">let</span> top = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-top\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> bottom = page.element.querySelector(<span class=\"code-string\">\".pagedjs_margin-\"</span> + loc + <span class=\"code-string\">\"-bottom\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> topContent = top.classList.contains(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> bottomContent = bottom.classList.contains(<span class=\"code-string\">\"hasContent\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> middleHeight, topHeight, bottomHeight;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (topContent) {\n","\t\t\t\t\ttopHeight = <span class=\"code-built_in\">window</span>.getComputedStyle(top)[<span class=\"code-string\">\"max-height\"</span>];\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (bottomContent) {\n","\t\t\t\t\tbottomHeight = <span class=\"code-built_in\">window</span>.getComputedStyle(bottom)[<span class=\"code-string\">\"max-height\"</span>];\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (middle) {\n","\t\t\t\t\tmiddleHeight = <span class=\"code-built_in\">window</span>.getComputedStyle(middle)[<span class=\"code-string\">\"max-height\"</span>];\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (middleHeight === <span class=\"code-string\">\"none\"</span> || middleHeight === <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!topContent && !bottomContent) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"0 1fr 0\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (topContent) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!bottomContent) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (topHeight !== <span class=\"code-string\">\"none\"</span> && topHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" calc(100% - \"</span> + topHeight + <span class=\"code-string\">\"*2) \"</span> + topHeight;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (topHeight !== <span class=\"code-string\">\"none\"</span> && topHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" calc(100% - \"</span> + topHeight + <span class=\"code-string\">\" - \"</span> + bottomHeight + <span class=\"code-string\">\") \"</span> + bottomHeight;\n","\t\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" calc(100% - \"</span> + topHeight + <span class=\"code-string\">\"*2) \"</span> + topHeight;\n","\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = bottomHeight + <span class=\"code-string\">\" calc(100% - \"</span> + bottomHeight + <span class=\"code-string\">\"*2) \"</span> + bottomHeight;\n","\t\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = bottomHeight + <span class=\"code-string\">\" calc(100% - \"</span> + bottomHeight + <span class=\"code-string\">\"*2) \"</span> + bottomHeight;\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (topContent && topHeight !== <span class=\"code-string\">\"none\"</span> && topHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" \"</span> + middleHeight + <span class=\"code-string\">\" calc(100% - (\"</span> + topHeight + <span class=\"code-string\">\" + \"</span> + middleHeight + <span class=\"code-string\">\"))\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (bottomContent && bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"1fr \"</span> + middleHeight + <span class=\"code-string\">\" \"</span> + bottomHeight;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"calc((100% - \"</span> + middleHeight + <span class=\"code-string\">\")/2) \"</span> + middleHeight + <span class=\"code-string\">\" calc((100% - \"</span> + middleHeight + <span class=\"code-string\">\")/2)\"</span>;\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t}\n","\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (topContent) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!bottomContent) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"1fr 0 0\"</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (topHeight !== <span class=\"code-string\">\"none\"</span> && topHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" 1fr \"</span> + bottomHeight;\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = topHeight + <span class=\"code-string\">\" 0 1fr\"</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"1fr 0 \"</span> + bottomHeight;\n","\t\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"1fr 0 1fr\"</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (bottomHeight !== <span class=\"code-string\">\"none\"</span> && bottomHeight !== <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"1fr 0 \"</span> + bottomHeight;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\tmarginGroup.style[<span class=\"code-string\">\"grid-template-rows\"</span>] = <span class=\"code-string\">\"0 0 1fr\"</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\n","\n","\t\t\t});\n","\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// CSS Tree Helpers</span>\n","\n","\t\tselectorsForPage(page) {\n","\t\t\t<span class=\"code-keyword\">let</span> nthlist;\n","\t\t\t<span class=\"code-keyword\">let</span> nth;\n","\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\tselectors.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\tname: <span class=\"code-string\">\"pagedjs_page\"</span>\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Named page</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (page.name) {\n","\t\t\t\tselectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_named_page\"</span>\n","\t\t\t\t});\n","\n","\t\t\t\tselectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_\"</span> + page.name + <span class=\"code-string\">\"_page\"</span>\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// PsuedoSelector</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (page.psuedo && !(page.name && page.psuedo === <span class=\"code-string\">\"first\"</span>)) {\n","\t\t\t\tselectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_\"</span> + page.psuedo + <span class=\"code-string\">\"_page\"</span>\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (page.name && page.psuedo === <span class=\"code-string\">\"first\"</span>) {\n","\t\t\t\tselectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"pagedjs_\"</span> + page.name + <span class=\"code-string\">\"_\"</span> + page.psuedo + <span class=\"code-string\">\"_page\"</span>\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Nth</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (page.nth) {\n","\t\t\t\tnthlist = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\tnth = <span class=\"code-keyword\">this</span>.getNth(page.nth);\n","\n","\t\t\t\tnthlist.insertData(nth);\n","\n","\t\t\t\tselectors.insertData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"PseudoClassSelector\"</span>,\n","\t\t\t\t\tname: <span class=\"code-string\">\"nth-of-type\"</span>,\n","\t\t\t\t\tchildren: nthlist\n","\t\t\t\t});\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> selectors;\n","\t\t}\n","\n","\t\tselectorsForPageMargin(page, margin) {\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = <span class=\"code-keyword\">this</span>.selectorsForPage(page);\n","\n","\t\t\tselectors.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Combinator\"</span>,\n","\t\t\t\tname: <span class=\"code-string\">\" \"</span>\n","\t\t\t});\n","\n","\t\t\tselectors.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"ClassSelector\"</span>,\n","\t\t\t\tname: <span class=\"code-string\">\"pagedjs_margin-\"</span> + margin\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> selectors;\n","\t\t}\n","\n","\t\tcreateDeclaration(property, value, important) {\n","\t\t\t<span class=\"code-keyword\">let</span> children = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\tchildren.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tname: value\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\timportant: important,\n","\t\t\t\tproperty: property,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tchildren: children\n","\t\t\t\t}\n","\t\t\t};\n","\t\t}\n","\n","\t\tcreateVariable(property, value) {\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tproperty: property,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Raw\"</span>,\n","\t\t\t\t\tvalue: value\n","\t\t\t\t}\n","\t\t\t};\n","\t\t}\n","\n","\t\tcreateCalculatedDimension(property, items, important, operator = <span class=\"code-string\">\"+\"</span>) {\n","\t\t\t<span class=\"code-keyword\">let</span> children = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t<span class=\"code-keyword\">let</span> calculations = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\titems.forEach(<span class=\"code-function\">(<span class=\"code-params\">item, index</span>) =></span> {\n","\t\t\t\tcalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\t\tunit: item.unit,\n","\t\t\t\t\tvalue: item.value\n","\t\t\t\t});\n","\n","\t\t\t\tcalculations.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (index + <span class=\"code-number\">1</span> < items.length) {\n","\t\t\t\t\tcalculations.appendData({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"Operator\"</span>,\n","\t\t\t\t\t\tvalue: operator\n","\t\t\t\t\t});\n","\n","\t\t\t\t\tcalculations.appendData({\n","\t\t\t\t\t\ttype: <span class=\"code-string\">\"WhiteSpace\"</span>,\n","\t\t\t\t\t\tvalue: <span class=\"code-string\">\" \"</span>\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\tchildren.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tname: <span class=\"code-string\">\"calc\"</span>,\n","\t\t\t\tchildren: calculations\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\timportant: important,\n","\t\t\t\tproperty: property,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tchildren: children\n","\t\t\t\t}\n","\t\t\t};\n","\t\t}\n","\n","\t\tcreateDimension(property, cssValue, important) {\n","\t\t\t<span class=\"code-keyword\">let</span> children = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\tchildren.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Dimension\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tvalue: cssValue.value,\n","\t\t\t\tunit: cssValue.unit\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Declaration\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\timportant: important,\n","\t\t\t\tproperty: property,\n","\t\t\t\tvalue: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Value\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\tchildren: children\n","\t\t\t\t}\n","\t\t\t};\n","\t\t}\n","\n","\t\tcreateBlock(declarations) {\n","\t\t\t<span class=\"code-keyword\">let</span> block = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\tdeclarations.forEach(<span class=\"code-function\">(<span class=\"code-params\">declaration</span>) =></span> {\n","\t\t\t\tblock.insertData(declaration);\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Block\"</span>,\n","\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\tchildren: block\n","\t\t\t};\n","\t\t}\n","\n","\t\tcreateRule(selectors, block) {\n","\t\t\t<span class=\"code-keyword\">let</span> selectorList = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\tselectorList.insertData({\n","\t\t\t\ttype: <span class=\"code-string\">\"Selector\"</span>,\n","\t\t\t\tchildren: selectors\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">Array</span>.isArray(block)) {\n","\t\t\t\tblock = <span class=\"code-keyword\">this</span>.createBlock(block);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> {\n","\t\t\t\ttype: <span class=\"code-string\">\"Rule\"</span>,\n","\t\t\t\tprelude: {\n","\t\t\t\t\ttype: <span class=\"code-string\">\"SelectorList\"</span>,\n","\t\t\t\t\tchildren: selectorList\n","\t\t\t\t},\n","\t\t\t\tblock: block\n","\t\t\t};\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Breaks</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.breaks = {};\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">let</span> property = declaration.property;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> children = declaration.value.children.first();\n","\t\t\t\t<span class=\"code-keyword\">let</span> value = children.name;\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t\t<span class=\"code-keyword\">let</span> name = value;\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> breaker = {\n","\t\t\t\t\tproperty: property,\n","\t\t\t\t\tvalue: value,\n","\t\t\t\t\tselector: selector,\n","\t\t\t\t\tname: name\n","\t\t\t\t};\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.breaks[s]) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.breaks[s] = [breaker];\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.breaks[s].push(breaker);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\tdList.remove(dItem);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"break-before\"</span> ||\n","\t\t\t\t\tproperty === <span class=\"code-string\">\"break-after\"</span> ||\n","\t\t\t\t\tproperty === <span class=\"code-string\">\"page-break-before\"</span> ||\n","\t\t\t\t\tproperty === <span class=\"code-string\">\"page-break-after\"</span>\n","\t\t\t) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> child = declaration.value.children.first();\n","\t\t\t\t<span class=\"code-keyword\">let</span> value = child.name;\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"page-break-before\"</span>) {\n","\t\t\t\t\tproperty = <span class=\"code-string\">\"break-before\"</span>;\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"page-break-after\"</span>) {\n","\t\t\t\t\tproperty = <span class=\"code-string\">\"break-after\"</span>;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> breaker = {\n","\t\t\t\t\tproperty: property,\n","\t\t\t\t\tvalue: value,\n","\t\t\t\t\tselector: selector\n","\t\t\t\t};\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.breaks[s]) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.breaks[s] = [breaker];\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.breaks[s].push(breaker);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// Remove from CSS -- handle right / left in module</span>\n","\t\t\t\tdList.remove(dItem);\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(parsed) {\n","\t\t\t<span class=\"code-keyword\">this</span>.processBreaks(parsed, <span class=\"code-keyword\">this</span>.breaks);\n","\t\t}\n","\n","\t\tprocessBreaks(parsed, breaks) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> b <span class=\"code-keyword\">in</span> breaks) {\n","\t\t\t\t<span class=\"code-comment\">// Find elements</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> elements = parsed.querySelectorAll(b);\n","\t\t\t\t<span class=\"code-comment\">// Add break data</span>\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < elements.length; i++) {\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> prop <span class=\"code-keyword\">of</span> breaks[b]) {\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (prop.property === <span class=\"code-string\">\"break-after\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> nodeAfter = displayedElementAfter(elements[i], parsed);\n","\n","\t\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-break-after\"</span>, prop.value);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (nodeAfter) {\n","\t\t\t\t\t\t\t\tnodeAfter.setAttribute(<span class=\"code-string\">\"data-previous-break-after\"</span>, prop.value);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop.property === <span class=\"code-string\">\"break-before\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> nodeBefore = displayedElementBefore(elements[i], parsed);\n","\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// Breaks are only allowed between siblings, not between a box and its container.</span>\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// If we cannot find a node before we should not break!</span>\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// https://drafts.csswg.org/css-break-3/#break-propagation</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (nodeBefore) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (prop.value === <span class=\"code-string\">\"page\"</span> && needsPageBreak(elements[i], nodeBefore)) {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-comment\">// we ignore this explicit page break because an implicit page break is already needed</span>\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">continue</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-break-before\"</span>, prop.value);\n","\t\t\t\t\t\t\t\tnodeBefore.setAttribute(<span class=\"code-string\">\"data-next-break-before\"</span>, prop.value);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (prop.property === <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-page\"</span>, prop.value);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> nodeAfter = displayedElementAfter(elements[i], parsed);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (nodeAfter) {\n","\t\t\t\t\t\t\t\tnodeAfter.setAttribute(<span class=\"code-string\">\"data-after-page\"</span>, prop.value);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-\"</span> + prop.property, prop.value);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tmergeBreaks(pageBreaks, newBreaks) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> b <span class=\"code-keyword\">in</span> newBreaks) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (b <span class=\"code-keyword\">in</span> pageBreaks) {\n","\t\t\t\t\tpageBreaks[b] = pageBreaks[b].concat(newBreaks[b]);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tpageBreaks[b] = newBreaks[b];\n","\t\t\t\t}\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">return</span> pageBreaks;\n","\t\t}\n","\n","\t\taddBreakAttributes(pageElement, page) {\n","\t\t\t<span class=\"code-keyword\">let</span> before = pageElement.querySelector(<span class=\"code-string\">\"[data-break-before]\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> after = pageElement.querySelector(<span class=\"code-string\">\"[data-break-after]\"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> previousBreakAfter = pageElement.querySelector(<span class=\"code-string\">\"[data-previous-break-after]\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (before) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (before.dataset.splitFrom) {\n","\t\t\t\t\tpage.splitFrom = before.dataset.splitFrom;\n","\t\t\t\t\tpageElement.setAttribute(<span class=\"code-string\">\"data-split-from\"</span>, before.dataset.splitFrom);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (before.dataset.breakBefore && before.dataset.breakBefore !== <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t\tpage.breakBefore = before.dataset.breakBefore;\n","\t\t\t\t\tpageElement.setAttribute(<span class=\"code-string\">\"data-break-before\"</span>, before.dataset.breakBefore);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (after && after.dataset) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (after.dataset.splitTo) {\n","\t\t\t\t\tpage.splitTo = after.dataset.splitTo;\n","\t\t\t\t\tpageElement.setAttribute(<span class=\"code-string\">\"data-split-to\"</span>, after.dataset.splitTo);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (after.dataset.breakAfter && after.dataset.breakAfter !== <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t\tpage.breakAfter = after.dataset.breakAfter;\n","\t\t\t\t\tpageElement.setAttribute(<span class=\"code-string\">\"data-break-after\"</span>, after.dataset.breakAfter);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (previousBreakAfter && previousBreakAfter.dataset) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (previousBreakAfter.dataset.previousBreakAfter && previousBreakAfter.dataset.previousBreakAfter !== <span class=\"code-string\">\"avoid\"</span>) {\n","\t\t\t\t\tpage.previousBreakAfter = previousBreakAfter.dataset.previousBreakAfter;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterPageLayout(pageElement, page) {\n","\t\t\t<span class=\"code-keyword\">this</span>.addBreakAttributes(pageElement, page);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">PrintMedia</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\n","\t\tonAtMedia(node, item, list) {\n","\t\t\t<span class=\"code-keyword\">let</span> media = <span class=\"code-keyword\">this</span>.getMediaName(node);\n","\t\t\t<span class=\"code-keyword\">let</span> rules;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (media === <span class=\"code-string\">\"print\"</span>) {\n","\t\t\t\trules = node.block.children;\n","\n","\t\t\t\t<span class=\"code-comment\">// Remove rules from the @media block</span>\n","\t\t\t\tnode.block.children = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t\t\t\t<span class=\"code-comment\">// Append rules to the end of main rules list</span>\n","\t\t\t\tlist.appendList(rules);\n","\t\t\t}\n","\n","\t\t}\n","\n","\t\tgetMediaName(node) {\n","\t\t\t<span class=\"code-keyword\">let</span> media = <span class=\"code-string\">\"\"</span>;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> node.prelude === <span class=\"code-string\">\"undefined\"</span> ||\n","\t\t\t\t\tnode.prelude.type !== <span class=\"code-string\">\"AtrulePrelude\"</span> ) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\tlib.walk(node.prelude, {\n","\t\t\t\tvisit: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">identNode, iItem, iList</span>) =></span> {\n","\t\t\t\t\tmedia = identNode.name;\n","\t\t\t\t}\n","\t\t\t});\n","\t\t\t<span class=\"code-keyword\">return</span> media;\n","\t\t}\n","\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Splits</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\n","\t\tafterPageLayout(pageElement, page, breakToken, chunker) {\n","\t\t\t<span class=\"code-keyword\">let</span> splits = <span class=\"code-built_in\">Array</span>.from(pageElement.querySelectorAll(<span class=\"code-string\">\"[data-split-from]\"</span>));\n","\t\t\t<span class=\"code-keyword\">let</span> pages = pageElement.parentNode;\n","\t\t\t<span class=\"code-keyword\">let</span> index = <span class=\"code-built_in\">Array</span>.prototype.indexOf.call(pages.children, pageElement);\n","\t\t\t<span class=\"code-keyword\">let</span> prevPage;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (index === <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\tprevPage = pages.children[index - <span class=\"code-number\">1</span>];\n","\n","\t\t\t<span class=\"code-keyword\">let</span> <span class=\"code-keyword\">from</span>; <span class=\"code-comment\">// Capture the last from element</span>\n","\t\t\tsplits.forEach(<span class=\"code-function\">(<span class=\"code-params\">split</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> ref = split.dataset.ref;\n","\t\t\t\t<span class=\"code-keyword\">from</span> = prevPage.querySelector(<span class=\"code-string\">\"[data-ref='\"</span>+ ref +<span class=\"code-string\">\"']:not([data-split-to])\"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">from</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">from</span>.dataset.splitTo = ref;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">from</span>.dataset.splitFrom) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">from</span>.dataset.splitOriginal = <span class=\"code-literal\">true</span>;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Fix alignment on the deepest split element</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">from</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.handleAlignment(<span class=\"code-keyword\">from</span>);\n","\t\t\t}\n","\t\t}\n","\n","\t\thandleAlignment(node) {\n","\t\t\t<span class=\"code-keyword\">let</span> styles = <span class=\"code-built_in\">window</span>.getComputedStyle(node);\n","\t\t\t<span class=\"code-keyword\">let</span> align = styles[<span class=\"code-string\">\"text-align\"</span>];\n","\t\t\t<span class=\"code-keyword\">let</span> alignLast = styles[<span class=\"code-string\">\"text-align-last\"</span>];\n","\t\t\tnode.dataset.lastSplitElement = <span class=\"code-string\">\"true\"</span>;\n","\t\t\t<span class=\"code-keyword\">if</span> (align === <span class=\"code-string\">\"justify\"</span> && alignLast === <span class=\"code-string\">\"auto\"</span>) {\n","\t\t\t\tnode.dataset.alignLastSplitElement = <span class=\"code-string\">\"justify\"</span>;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tnode.dataset.alignLastSplitElement = alignLast;\n","\t\t\t}\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Counters</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.counters = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.resetCountersMap = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Map</span>();\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">let</span> property = declaration.property;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"counter-increment\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> inc = <span class=\"code-keyword\">this</span>.handleIncrement(declaration, rule);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (inc) {\n","\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t}\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"counter-reset\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> reset = <span class=\"code-keyword\">this</span>.handleReset(declaration, rule);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (reset) {\n","\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tonContent(funcNode, fItem, fList, declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (funcNode.name === <span class=\"code-string\">\"counter\"</span>) ;\n","\t\t}\n","\n","\t\tafterParsed(parsed) {\n","\t\t\t<span class=\"code-keyword\">this</span>.processCounters(parsed, <span class=\"code-keyword\">this</span>.counters);\n","\t\t\t<span class=\"code-keyword\">this</span>.scopeCounters(<span class=\"code-keyword\">this</span>.counters);\n","\t\t}\n","\n","\t\taddCounter(name) {\n","\t\t\t<span class=\"code-keyword\">if</span> (name <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.counters) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.counters[name];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.counters[name] = {\n","\t\t\t\tname: name,\n","\t\t\t\tincrements: {},\n","\t\t\t\tresets: {}\n","\t\t\t};\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.counters[name];\n","\t\t}\n","\n","\t\thandleIncrement(declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">const</span> identifier = declaration.value.children.first();\n","\t\t\t<span class=\"code-keyword\">const</span> number = declaration.value.children.getSize() > <span class=\"code-number\">1</span> ? declaration.value.children.last().value : <span class=\"code-number\">1</span>;\n","\t\t\t<span class=\"code-keyword\">const</span> name = identifier && identifier.name;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-string\">\"page\"</span> || name.indexOf(<span class=\"code-string\">\"target-counter-\"</span>) === <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> counter;\n","\t\t\t<span class=\"code-keyword\">if</span> (!(name <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.counters)) {\n","\t\t\t\tcounter = <span class=\"code-keyword\">this</span>.addCounter(name);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tcounter = <span class=\"code-keyword\">this</span>.counters[name];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> counter.increments[selector] = {\n","\t\t\t\tselector: selector,\n","\t\t\t\tnumber\n","\t\t\t};\n","\t\t}\n","\n","\t\thandleReset(declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">let</span> identifier = declaration.value.children.first();\n","\t\t\t<span class=\"code-keyword\">let</span> number = declaration.value.children.getSize() > <span class=\"code-number\">1</span>\n","\t\t\t\t\t\t\t\t&& declaration.value.children.last().value;\n","\t\t\t<span class=\"code-keyword\">let</span> name = identifier && identifier.name;\n","\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t<span class=\"code-keyword\">let</span> counter;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!(name <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.counters)) {\n","\t\t\t\tcounter = <span class=\"code-keyword\">this</span>.addCounter(name);\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\tcounter = <span class=\"code-keyword\">this</span>.counters[name];\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> counter.resets[selector] = {\n","\t\t\t\tselector: selector,\n","\t\t\t\tnumber: number || <span class=\"code-number\">0</span>\n","\t\t\t};\n","\t\t}\n","\n","\t\tprocessCounters(parsed, counters) {\n","\t\t\t<span class=\"code-keyword\">let</span> counter;\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> c <span class=\"code-keyword\">in</span> counters) {\n","\t\t\t\tcounter = <span class=\"code-keyword\">this</span>.counters[c];\n","\t\t\t\t<span class=\"code-keyword\">this</span>.processCounterIncrements(parsed, counter);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.processCounterResets(parsed, counter);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (c !== <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.addCounterValues(parsed, counter);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tscopeCounters(counters) {\n","\t\t\t<span class=\"code-keyword\">let</span> countersArray = [];\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> c <span class=\"code-keyword\">in</span> counters) {\n","\t\t\t\t<span class=\"code-keyword\">if</span>(c !== <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\tcountersArray.push(<span class=\"code-string\">`<span class=\"code-subst\">${counters[c].name}</span> 0`</span>);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// Add to pages to allow cross page scope</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.insertRule(<span class=\"code-string\">`.pagedjs_pages { counter-reset: <span class=\"code-subst\">${countersArray.join(<span class=\"code-string\">\" \"</span>)}</span> page 0 pages var(--pagedjs-page-count)}`</span>);\n","\t\t}\n","\n","\t\tinsertRule(rule) {\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(rule, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t}\n","\n","\t\tprocessCounterIncrements(parsed, counter) {\n","\t\t\t<span class=\"code-keyword\">let</span> increment;\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> inc <span class=\"code-keyword\">in</span> counter.increments) {\n","\t\t\t\tincrement = counter.increments[inc];\n","\t\t\t\t<span class=\"code-comment\">// Find elements for increments</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> incrementElements = parsed.querySelectorAll(increment.selector);\n","\t\t\t\t<span class=\"code-comment\">// Add counter data</span>\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < incrementElements.length; i++) {\n","\t\t\t\t\tincrementElements[i].setAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counter.name +<span class=\"code-string\">\"-increment\"</span>, increment.number);\n","\t\t\t\t\tincrementElements[i].setAttribute(<span class=\"code-string\">\"data-counter-increment\"</span>, counter.name);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tprocessCounterResets(parsed, counter) {\n","\t\t\t<span class=\"code-keyword\">let</span> reset;\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> r <span class=\"code-keyword\">in</span> counter.resets) {\n","\t\t\t\treset = counter.resets[r];\n","\t\t\t\t<span class=\"code-comment\">// Find elements for resets</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> resetElements = parsed.querySelectorAll(reset.selector);\n","\t\t\t\t<span class=\"code-comment\">// Add counter data</span>\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < resetElements.length; i++) {\n","\t\t\t\t\tresetElements[i].setAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counter.name +<span class=\"code-string\">\"-reset\"</span>, reset.number);\n","\t\t\t\t\tresetElements[i].setAttribute(<span class=\"code-string\">\"data-counter-reset\"</span>, counter.name);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\taddCounterValues(parsed, counter) {\n","\t\t\t<span class=\"code-keyword\">const</span> counterName = counter.name;\n","\t\t\t<span class=\"code-keyword\">const</span> elements = parsed.querySelectorAll(<span class=\"code-string\">\"[data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-reset], [data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-increment]\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> count = <span class=\"code-number\">0</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> element;\n","\t\t\t<span class=\"code-keyword\">let</span> increment, reset;\n","\t\t\t<span class=\"code-keyword\">let</span> resetValue, incrementValue, resetDelta;\n","\t\t\t<span class=\"code-keyword\">let</span> incrementArray;\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < elements.length; i++) {\n","\t\t\t\telement = elements[i];\n","\t\t\t\tresetDelta = <span class=\"code-number\">0</span>;\n","\t\t\t\tincrementArray = [];\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (element.hasAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-reset\"</span>)) {\n","\t\t\t\t\treset = element.getAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-reset\"</span>);\n","\t\t\t\t\tresetValue = <span class=\"code-built_in\">parseInt</span>(reset);\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Use negative increment value inplace of reset</span>\n","\t\t\t\t\tresetDelta = resetValue - count;\n","\t\t\t\t\tincrementArray.push(<span class=\"code-string\">`<span class=\"code-subst\">${counterName}</span> <span class=\"code-subst\">${resetDelta}</span>`</span>);\n","\n","\t\t\t\t\tcount = resetValue;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (element.hasAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-increment\"</span>)) {\n","\n","\t\t\t\t\tincrement = element.getAttribute(<span class=\"code-string\">\"data-counter-\"</span>+ counterName +<span class=\"code-string\">\"-increment\"</span>);\n","\t\t\t\t\tincrementValue = <span class=\"code-built_in\">parseInt</span>(increment);\n","\n","\t\t\t\t\tcount += incrementValue;\n","\n","\t\t\t\t\telement.setAttribute(<span class=\"code-string\">\"data-counter-\"</span>+counterName+<span class=\"code-string\">\"-value\"</span>, count);\n","\n","\t\t\t\t\tincrementArray.push(<span class=\"code-string\">`<span class=\"code-subst\">${counterName}</span> <span class=\"code-subst\">${incrementValue}</span>`</span>);\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (incrementArray.length > <span class=\"code-number\">0</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.incrementCounterForElement(element, incrementArray);\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\tincrementCounterForElement(element, incrementArray) {\n","\t\t\t<span class=\"code-keyword\">if</span> (!element || !incrementArray || incrementArray.length === <span class=\"code-number\">0</span>) <span class=\"code-keyword\">return</span>;\n","\n","\t\t\t<span class=\"code-keyword\">const</span> ref = element.dataset.ref;\n","\t\t\t<span class=\"code-keyword\">const</span> prevIncrements = <span class=\"code-built_in\">Array</span>.from(<span class=\"code-keyword\">this</span>.styleSheet.cssRules).filter(<span class=\"code-function\">(<span class=\"code-params\">rule</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">return</span> rule.selectorText === <span class=\"code-string\">`[data-ref=\"<span class=\"code-subst\">${element.dataset.ref}</span>\"]:not([data-split-from])`</span>\n","\t\t\t\t\t\t\t && rule.style[<span class=\"code-number\">0</span>] === <span class=\"code-string\">\"counter-increment\"</span>;\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">const</span> increments = [];\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> styleRule <span class=\"code-keyword\">of</span> prevIncrements) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> values = styleRule.style.counterIncrement.split(<span class=\"code-string\">\" \"</span>);\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < values.length; i+=<span class=\"code-number\">2</span>) {\n","\t\t\t\t\tincrements.push(values[i] + <span class=\"code-string\">\" \"</span> + values[i+<span class=\"code-number\">1</span>]);\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-built_in\">Array</span>.prototype.push.apply(increments, incrementArray);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.insertRule(<span class=\"code-string\">`[data-ref=\"<span class=\"code-subst\">${ref}</span>\"]:not([data-split-from]) { counter-increment: <span class=\"code-subst\">${increments.join(<span class=\"code-string\">\" \"</span>)}</span> }`</span>);\n","\t\t}\n","\n","\t\tafterPageLayout(pageElement, page) {\n","\t\t\t<span class=\"code-keyword\">let</span> pgreset = pageElement.querySelectorAll(<span class=\"code-string\">\"[data-counter-page-reset]\"</span>);\n","\t\t\tpgreset.forEach(<span class=\"code-function\">(<span class=\"code-params\">reset</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">const</span> ref = reset.dataset && reset.dataset.ref;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (ref && <span class=\"code-keyword\">this</span>.resetCountersMap.has(ref)) ; <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (ref) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.resetCountersMap.set(ref, <span class=\"code-string\">\"\"</span>);\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value = reset.dataset.counterPageReset;\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(<span class=\"code-string\">`[data-page-number=\"<span class=\"code-subst\">${pageElement.dataset.pageNumber}</span>\"] { counter-increment: none; counter-reset: page <span class=\"code-subst\">${value}</span>; }`</span>, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Lists</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\t\tafterParsed(content) {\n","\t\t\t<span class=\"code-keyword\">const</span> orderedLists = content.querySelectorAll(<span class=\"code-string\">\"ol\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> list <span class=\"code-keyword\">of</span> orderedLists) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.addDataNumbers(list);\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterPageLayout(pageElement, page, breakToken, chunker) {\n","\t\t\t<span class=\"code-keyword\">var</span> orderedLists = pageElement.getElementsByTagName(<span class=\"code-string\">\"ol\"</span>);\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> list <span class=\"code-keyword\">of</span> orderedLists) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (list.hasChildNodes()) {\n","\t\t\t\t\tlist.start = list.firstElementChild.dataset.itemNum;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tlist.parentNode.removeChild(list);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\taddDataNumbers(list) {\n","\t\t\t<span class=\"code-keyword\">let</span> start = <span class=\"code-number\">1</span>;\n","\t\t\t<span class=\"code-keyword\">if</span> (list.hasAttribute(<span class=\"code-string\">\"start\"</span>)) {\n","\t\t\t\tstart = <span class=\"code-built_in\">parseInt</span>(list.getAttribute(<span class=\"code-string\">\"start\"</span>), <span class=\"code-number\">10</span>);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">isNaN</span>(start)) {\n","\t\t\t\t\tstart = <span class=\"code-number\">1</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">let</span> items = list.children;\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < items.length; i++) {\n","\t\t\t\titems[i].setAttribute(<span class=\"code-string\">\"data-item-num\"</span>, i + start);\n","\t\t\t}\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">PositionFixed</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.fixedElementsSelector = [];\n","\t\t\t<span class=\"code-keyword\">this</span>.fixedElements = [];\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"position\"</span> && declaration.value.children.first().name === <span class=\"code-string\">\"fixed\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t\t<span class=\"code-keyword\">this</span>.fixedElementsSelector.push(selector);\n","\t\t\t\tdList.remove(dItem);\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(fragment) {\n","\t\t\t<span class=\"code-keyword\">this</span>.fixedElementsSelector.forEach(<span class=\"code-function\"><span class=\"code-params\">fixedEl</span> =></span> {\n","\t\t\t\tfragment.querySelectorAll(<span class=\"code-string\">`<span class=\"code-subst\">${fixedEl}</span>`</span>).forEach(<span class=\"code-function\"><span class=\"code-params\">el</span> =></span> {\n","\t\t\t\t\tel.style.setProperty(<span class=\"code-string\">\"position\"</span>, <span class=\"code-string\">\"absolute\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.fixedElements.push(el);\n","\t\t\t\t\tel.remove();\n","\t\t\t\t});\n","\t\t\t});\n","\t\t}\n","\n","\t\tafterPageLayout(pageElement, page, breakToken) {\n","\t\t\t<span class=\"code-keyword\">this</span>.fixedElements.forEach(<span class=\"code-function\"><span class=\"code-params\">el</span> =></span> {\n","\t\t\t\t<span class=\"code-keyword\">const</span> clone = el.cloneNode(<span class=\"code-literal\">true</span>);\n","\t\t\t\tpageElement.querySelector(<span class=\"code-string\">\".pagedjs_pagebox\"</span>).insertAdjacentElement(<span class=\"code-string\">\"afterbegin\"</span>, clone);\n","\t\t\t});\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">PageCounterIncrement</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.pageCounter = {\n","\t\t\t\tname: <span class=\"code-string\">\"page\"</span>,\n","\t\t\t\tincrements: {},\n","\t\t\t\tresets: {}\n","\t\t\t};\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">const</span> property = declaration.property;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (property === <span class=\"code-string\">\"counter-increment\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> inc = <span class=\"code-keyword\">this</span>.handleIncrement(declaration, rule);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (inc) {\n","\t\t\t\t\tdList.remove(dItem);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(_) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">const</span> inc <span class=\"code-keyword\">in</span> <span class=\"code-keyword\">this</span>.pageCounter.increments) {\n","\t\t\t\t<span class=\"code-keyword\">const</span> increment = <span class=\"code-keyword\">this</span>.pageCounter.increments[inc];\n","\t\t\t\t<span class=\"code-keyword\">this</span>.insertRule(<span class=\"code-string\">`<span class=\"code-subst\">${increment.selector}</span> { --pagedjs-page-counter-increment: <span class=\"code-subst\">${increment.number}</span> }`</span>);\n","\t\t\t}\n","\t\t}\n","\n","\t\thandleIncrement(declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">const</span> identifier = declaration.value.children.first();\n","\t\t\t<span class=\"code-keyword\">const</span> number = declaration.value.children.getSize() > <span class=\"code-number\">1</span> ? declaration.value.children.last().value : <span class=\"code-number\">1</span>;\n","\t\t\t<span class=\"code-keyword\">const</span> name = identifier && identifier.name;\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (name.indexOf(<span class=\"code-string\">\"target-counter-\"</span>) === <span class=\"code-number\">0</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// A counter named page is automatically created and incremented by 1 on every page of the document,</span>\n","\t\t\t<span class=\"code-comment\">// unless the counter-increment property in the page context explicitly specifies a different increment for the page counter.</span>\n","\t\t\t<span class=\"code-comment\">// https://www.w3.org/TR/css-page-3/#page-based-counters</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (name !== <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-comment\">// the counter-increment property is not defined on the page context (i.e. @page rule), ignoring...</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (rule.ruleNode.name === <span class=\"code-string\">\"page\"</span> && rule.ruleNode.type === <span class=\"code-string\">\"Atrule\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t}\n","\t\t\t<span class=\"code-keyword\">const</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.pageCounter.increments[selector] = {\n","\t\t\t\tselector: selector,\n","\t\t\t\tnumber\n","\t\t\t};\n","\t\t}\n","\n","\t\tinsertRule(rule) {\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(rule, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">NthOfType</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.selectors = {};\n","\t\t}\n","\n","\t\tonRule(ruleNode, ruleItem, rulelist) {\n","\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(ruleNode.prelude);\n","\t\t\t<span class=\"code-keyword\">if</span> (selector.match(<span class=\"code-regexp\">/:(first|last|nth)-of-type/</span>)) {\n","\t\t\t\t\n","\t\t\t\t<span class=\"code-keyword\">let</span> declarations = lib.generate(ruleNode.block);\n","\t\t\t\tdeclarations = declarations.replace(<span class=\"code-regexp\">/[{}]/g</span>,<span class=\"code-string\">\"\"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> uuid = <span class=\"code-string\">\"nth-of-type-\"</span> + UUID();\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.selectors[s]) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.selectors[s] = [uuid, declarations];\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.selectors[s][<span class=\"code-number\">1</span>] = <span class=\"code-string\">`<span class=\"code-subst\">${<span class=\"code-keyword\">this</span>.selectors[s][<span class=\"code-number\">1</span>]}</span>;<span class=\"code-subst\">${declarations}</span>`</span> ;\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\trulelist.remove(ruleItem);\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(parsed) {\n","\t\t\t<span class=\"code-keyword\">this</span>.processSelectors(parsed, <span class=\"code-keyword\">this</span>.selectors);\n","\t\t}\n","\n","\t\tprocessSelectors(parsed, selectors) {\n","\t\t\t<span class=\"code-comment\">// add the new attributes to matching elements</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> s <span class=\"code-keyword\">in</span> selectors) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> elements = parsed.querySelectorAll(s);\n","\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < elements.length; i++) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> dataNthOfType = elements[i].getAttribute(<span class=\"code-string\">\"data-nth-of-type\"</span>);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (dataNthOfType && dataNthOfType != <span class=\"code-string\">\"\"</span>) {\n","\t\t\t\t\t\tdataNthOfType = <span class=\"code-string\">`<span class=\"code-subst\">${dataNthOfType}</span>,<span class=\"code-subst\">${selectors[s][<span class=\"code-number\">0</span>]}</span>`</span>;\n","\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-nth-of-type\"</span>, dataNthOfType);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-nth-of-type\"</span>, selectors[s][<span class=\"code-number\">0</span>]);\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> rule = <span class=\"code-string\">`*[data-nth-of-type*='<span class=\"code-subst\">${selectors[s][<span class=\"code-number\">0</span>]}</span>'] { <span class=\"code-subst\">${selectors[s][<span class=\"code-number\">1</span>]}</span>; }`</span>;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(rule, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Following</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.selectors = {};\n","\t\t}\n","\n","\t\tonRule(ruleNode, ruleItem, rulelist) {\n","\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(ruleNode.prelude);\n","\t\t\t<span class=\"code-keyword\">if</span> (selector.match(<span class=\"code-regexp\">/\\+/</span>)) {\n","\t\t\t\t\n","\t\t\t\t<span class=\"code-keyword\">let</span> declarations = lib.generate(ruleNode.block);\n","\t\t\t\tdeclarations = declarations.replace(<span class=\"code-regexp\">/[{}]/g</span>,<span class=\"code-string\">\"\"</span>);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> uuid = <span class=\"code-string\">\"following-\"</span> + UUID();\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span>.selectors[s]) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.selectors[s] = [uuid, declarations];\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.selectors[s][<span class=\"code-number\">1</span>] = <span class=\"code-string\">`<span class=\"code-subst\">${<span class=\"code-keyword\">this</span>.selectors[s][<span class=\"code-number\">1</span>]}</span>;<span class=\"code-subst\">${declarations}</span>`</span> ;\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\trulelist.remove(ruleItem);\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(parsed) {\n","\t\t\t<span class=\"code-keyword\">this</span>.processSelectors(parsed, <span class=\"code-keyword\">this</span>.selectors);\n","\t\t}\n","\n","\t\tprocessSelectors(parsed, selectors) {\n","\t\t\t<span class=\"code-comment\">// add the new attributes to matching elements</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> s <span class=\"code-keyword\">in</span> selectors) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> elements = parsed.querySelectorAll(s);\n","\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < elements.length; i++) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> dataFollowing = elements[i].getAttribute(<span class=\"code-string\">\"data-following\"</span>);\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (dataFollowing && dataFollowing != <span class=\"code-string\">\"\"</span>) {\n","\t\t\t\t\t\tdataFollowing = <span class=\"code-string\">`<span class=\"code-subst\">${dataFollowing}</span>,<span class=\"code-subst\">${selectors[s][<span class=\"code-number\">0</span>]}</span>`</span>;\n","\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-following\"</span>, dataFollowing);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\telements[i].setAttribute(<span class=\"code-string\">\"data-following\"</span>, selectors[s][<span class=\"code-number\">0</span>]);\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> rule = <span class=\"code-string\">`*[data-following*='<span class=\"code-subst\">${selectors[s][<span class=\"code-number\">0</span>]}</span>'] { <span class=\"code-subst\">${selectors[s][<span class=\"code-number\">1</span>]}</span>; }`</span>;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(rule, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t\t}\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> pagedMediaHandlers = [\n","\t\tAtPage,\n","\t\tBreaks,\n","\t\tPrintMedia,\n","\t\tSplits,\n","\t\tCounters,\n","\t\tLists,\n","\t\tPositionFixed,\n","\t\tPageCounterIncrement,\n","\t\tNthOfType,\n","\t\tFollowing\n","\t];\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">RunningHeaders</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.runningSelectors = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.elements = {};\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"position\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t\t<span class=\"code-keyword\">let</span> identifier = declaration.value.children.first().name;\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (identifier === <span class=\"code-string\">\"running\"</span>) {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> value;\n","\t\t\t\t\tlib.walk(declaration, {\n","\t\t\t\t\t\tvisit: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t\t\tvalue = node.children.first().name;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.runningSelectors[value] = {\n","\t\t\t\t\t\tidentifier: identifier,\n","\t\t\t\t\t\tvalue: value,\n","\t\t\t\t\t\tselector: selector\n","\t\t\t\t\t};\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"content\"</span>) {\n","\n","\t\t\t\tlib.walk(declaration, {\n","\t\t\t\t\tvisit: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">funcNode, fItem, fList</span>) =></span> {\n","\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (funcNode.name.indexOf(<span class=\"code-string\">\"element\"</span>) > <span class=\"code-number\">-1</span>) {\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> func = funcNode.name;\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> value = funcNode.children.first().name;\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> args = [value];\n","\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// we only handle first for now</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> style = <span class=\"code-string\">\"first\"</span>;\n","\n","\t\t\t\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t\t\t\t<span class=\"code-comment\">// remove before / after</span>\n","\t\t\t\t\t\t\t\ts = s.replace(<span class=\"code-regexp\">/::after|::before/</span>, <span class=\"code-string\">\"\"</span>);\n","\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.elements[s] = {\n","\t\t\t\t\t\t\t\t\tfunc: func,\n","\t\t\t\t\t\t\t\t\targs: args,\n","\t\t\t\t\t\t\t\t\tvalue: value,\n","\t\t\t\t\t\t\t\t\tstyle: style ,\n","\t\t\t\t\t\t\t\t\tselector: s,\n","\t\t\t\t\t\t\t\t\tfullSelector: selector\n","\t\t\t\t\t\t\t\t};\n","\t\t\t\t\t\t\t});\n","\t\t\t\t\t\t}\n","\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterParsed(fragment) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> name <span class=\"code-keyword\">of</span> <span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>.runningSelectors)) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> <span class=\"code-keyword\">set</span> = this.runningSelectors[name];\n","\t\t\t\tlet selected = Array.from(fragment.querySelectorAll(<span class=\"code-keyword\">set</span>.selector));\n","\n","\t\t\t\tif (<span class=\"code-keyword\">set</span>.identifier === \"running\") {\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> header <span class=\"code-keyword\">of</span> selected) {\n","\t\t\t\t\t\theader.style.display = <span class=\"code-string\">\"none\"</span>;\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterPageLayout(fragment) {\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> name <span class=\"code-keyword\">of</span> <span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>.runningSelectors)) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> <span class=\"code-keyword\">set</span> = this.runningSelectors[name];\n","\t\t\t\tlet selected = fragment.querySelector(<span class=\"code-keyword\">set</span>.selector);\n","\t\t\t\tif (selected) {\n","\t\t\t\t\t<span class=\"code-comment\">// let cssVar;</span>\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">set</span>.identifier === \"running\") {\n","\t\t\t\t\t\t<span class=\"code-comment\">// cssVar = selected.textContent.replace(/\\\\([\\s\\S])|([\"|'])/g,\"\\\\$1$2\");</span>\n","\t\t\t\t\t\t<span class=\"code-comment\">// this.styleSheet.insertRule(`:root { --string-${name}: \"${cssVar}\"; }`, this.styleSheet.cssRules.length);</span>\n","\t\t\t\t\t\t<span class=\"code-comment\">// fragment.style.setProperty(`--string-${name}`, `\"${cssVar}\"`);</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">set</span>.first = selected;\n","\t\t\t\t\t} else {\n","\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-keyword\">set</span>.value + \"needs css replacement\");\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t// move elements\n","\t\t\tif (!this.orderedSelectors) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.orderedSelectors = <span class=\"code-keyword\">this</span>.orderSelectors(<span class=\"code-keyword\">this</span>.elements);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> selector <span class=\"code-keyword\">of</span> <span class=\"code-keyword\">this</span>.orderedSelectors) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (selector) {\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> el = <span class=\"code-keyword\">this</span>.elements[selector];\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> selected = fragment.querySelector(selector);\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (selected) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> running = <span class=\"code-keyword\">this</span>.runningSelectors[el.args[<span class=\"code-number\">0</span>]];\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (running && running.first) {\n","\t\t\t\t\t\t\tselected.innerHTML = <span class=\"code-string\">\"\"</span>; <span class=\"code-comment\">// Clear node</span>\n","\t\t\t\t\t\t\t<span class=\"code-comment\">// selected.classList.add(\"pagedjs_clear-after\"); // Clear ::after</span>\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> clone = running.first.cloneNode(<span class=\"code-literal\">true</span>);\n","\t\t\t\t\t\t\tclone.style.display = <span class=\"code-literal\">null</span>;\n","\t\t\t\t\t\t\tselected.appendChild(clone);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t* Assign a weight to @page selector classes\n</span>","<span class=\"code-comment\">\t\t* 1) page\n</span>","<span class=\"code-comment\">\t\t* 2) left & right\n</span>","<span class=\"code-comment\">\t\t* 3) blank\n</span>","<span class=\"code-comment\">\t\t* 4) first & nth\n</span>","<span class=\"code-comment\">\t\t* 5) named page\n</span>","<span class=\"code-comment\">\t\t* 6) named left & right\n</span>","<span class=\"code-comment\">\t\t* 7) named first & nth\n</span>","<span class=\"code-comment\">\t\t* @param {string} [s] selector string\n</span>","<span class=\"code-comment\">\t\t* @return {int} weight\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\t\tpageWeight(s) {\n","\t\t\t<span class=\"code-keyword\">let</span> weight = <span class=\"code-number\">1</span>;\n","\t\t\t<span class=\"code-keyword\">let</span> selector = s.split(<span class=\"code-string\">\" \"</span>);\n","\t\t\t<span class=\"code-keyword\">let</span> parts = selector.length && selector[<span class=\"code-number\">0</span>].split(<span class=\"code-string\">\".\"</span>);\n","\n","\t\t\tparts.shift(); <span class=\"code-comment\">// remove empty first part</span>\n","\n","\t\t\t<span class=\"code-keyword\">switch</span> (parts.length) {\n","\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">4</span>:\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">3</span>] === <span class=\"code-string\">\"pagedjs_first_page\"</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">7</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">3</span>] === <span class=\"code-string\">\"pagedjs_left_page\"</span> || parts[<span class=\"code-number\">3</span>] === <span class=\"code-string\">\"pagedjs_right_page\"</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">6</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">3</span>:\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"pagedjs_named_page\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">2</span>].indexOf(<span class=\"code-string\">\":nth-of-type\"</span>) > <span class=\"code-number\">-1</span>) {\n","\t\t\t\t\t\t\tweight = <span class=\"code-number\">7</span>;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\tweight = <span class=\"code-number\">5</span>;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t<span class=\"code-keyword\">case</span> <span class=\"code-number\">2</span>:\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"pagedjs_first_page\"</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">4</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"pagedjs_blank_page\"</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">3</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"pagedjs_left_page\"</span> || parts[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"pagedjs_right_page\"</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">2</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t<span class=\"code-keyword\">default</span>:\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (parts[<span class=\"code-number\">0</span>].indexOf(<span class=\"code-string\">\":nth-of-type\"</span>) > <span class=\"code-number\">-1</span>) {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">4</span>;\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tweight = <span class=\"code-number\">1</span>;\n","\t\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> weight;\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t\t* Orders the selectors based on weight\n</span>","<span class=\"code-comment\">\t\t*\n</span>","<span class=\"code-comment\">\t\t* Does not try to deduplicate base on specifity of the selector\n</span>","<span class=\"code-comment\">\t\t* Previous matched selector will just be overwritten\n</span>","<span class=\"code-comment\">\t\t* @param {obj} [obj] selectors object\n</span>","<span class=\"code-comment\">\t\t* @return {Array} orderedSelectors\n</span>","<span class=\"code-comment\">\t\t*/</span>\n","\t\torderSelectors(obj) {\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = <span class=\"code-built_in\">Object</span>.keys(obj);\n","\t\t\t<span class=\"code-keyword\">let</span> weighted = {\n","\t\t\t\t<span class=\"code-number\">1</span>: [],\n","\t\t\t\t<span class=\"code-number\">2</span>: [],\n","\t\t\t\t<span class=\"code-number\">3</span>: [],\n","\t\t\t\t<span class=\"code-number\">4</span>: [],\n","\t\t\t\t<span class=\"code-number\">5</span>: [],\n","\t\t\t\t<span class=\"code-number\">6</span>: [],\n","\t\t\t\t<span class=\"code-number\">7</span>: []\n","\t\t\t};\n","\n","\t\t\t<span class=\"code-keyword\">let</span> orderedSelectors = [];\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> s <span class=\"code-keyword\">of</span> selectors) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> w = <span class=\"code-keyword\">this</span>.pageWeight(s);\n","\t\t\t\tweighted[w].unshift(s);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">1</span>; i <= <span class=\"code-number\">7</span>; i++) {\n","\t\t\t\torderedSelectors = orderedSelectors.concat(weighted[i]);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> orderedSelectors;\n","\t\t}\n","\n","\t\tbeforeTreeParse(text, sheet) {\n","\t\t\t<span class=\"code-comment\">// element(x) is parsed as image element selector, so update element to element-ident</span>\n","\t\t\tsheet.text = text.replace(<span class=\"code-regexp\">/element[\\s]*\\(([^|^#)]*)\\)/g</span>, <span class=\"code-string\">\"element-ident($1)\"</span>);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cleanPseudoContent</span>(<span class=\"code-params\">el, trim = <span class=\"code-string\">\"\\\"' \"</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span>(el == <span class=\"code-literal\">null</span>) <span class=\"code-keyword\">return</span>;\n","\t\t<span class=\"code-keyword\">return</span> el\n","\t\t\t.replace(<span class=\"code-keyword\">new</span> <span class=\"code-built_in\">RegExp</span>(<span class=\"code-string\">`^[<span class=\"code-subst\">${trim}</span>]+`</span>), <span class=\"code-string\">\"\"</span>)\n","\t\t\t.replace(<span class=\"code-keyword\">new</span> <span class=\"code-built_in\">RegExp</span>(<span class=\"code-string\">`[<span class=\"code-subst\">${trim}</span>]+$`</span>), <span class=\"code-string\">\"\"</span>)\n","\t\t\t.replace(<span class=\"code-regexp\">/[\"']/g</span>, match => {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-string\">\"\\\\\"</span> + match;\n","\t\t\t})\n","\t\t\t.replace(<span class=\"code-regexp\">/[\\n]/g</span>, match => {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-string\">\"\\\\00000A\"</span>;\n","\t\t\t});\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">cleanSelector</span>(<span class=\"code-params\">el</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span>(el == <span class=\"code-literal\">null</span>) <span class=\"code-keyword\">return</span>;\n","\t\t<span class=\"code-keyword\">return</span> el\n","\t\t\t.replace(<span class=\"code-keyword\">new</span> <span class=\"code-built_in\">RegExp</span>(<span class=\"code-string\">\"::footnote-call\"</span>, <span class=\"code-string\">\"g\"</span>), <span class=\"code-string\">\"\"</span>)\n","\t\t\t.replace(<span class=\"code-keyword\">new</span> <span class=\"code-built_in\">RegExp</span>(<span class=\"code-string\">\"::footnote-marker\"</span>, <span class=\"code-string\">\"g\"</span>), <span class=\"code-string\">\"\"</span>);\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">StringSets</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.stringSetSelectors = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.type;\n","\t\t\t<span class=\"code-comment\">// pageLastString = last string variable defined on the page </span>\n","\t\t\t<span class=\"code-keyword\">this</span>.pageLastString;\n","\n","\t\t}\n","\t\t\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"string-set\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> identifier = declaration.value.children.first().name;\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> value;\n","\t\t\t\tlib.walk(declaration, {\n","\t\t\t\t\tvisit: <span class=\"code-string\">\"Function\"</span>,\n","\t\t\t\t\tenter: <span class=\"code-function\">(<span class=\"code-params\">node, item, list</span>) =></span> {\n","\t\t\t\t\t\tvalue = lib.generate(node);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.stringSetSelectors[identifier] = {\n","\t\t\t\t\tidentifier,\n","\t\t\t\t\tvalue,\n","\t\t\t\t\tselector\n","\t\t\t\t};\n","\t\t\t}\n","\t\t}\n","\n","\t\tonContent(funcNode, fItem, fList, declaration, rule) {\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (funcNode.name === <span class=\"code-string\">\"string\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> identifier = funcNode.children && funcNode.children.first().name;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.type = funcNode.children.last().name;\n","\t\t\t\tfuncNode.name = <span class=\"code-string\">\"var\"</span>;\n","\t\t\t\tfuncNode.children = <span class=\"code-keyword\">new</span> lib.List();\n","\n","\t \n","\t\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>.type === <span class=\"code-string\">\"first\"</span> || <span class=\"code-keyword\">this</span>.type === <span class=\"code-string\">\"last\"</span> || <span class=\"code-keyword\">this</span>.type === <span class=\"code-string\">\"start\"</span> || <span class=\"code-keyword\">this</span>.type === <span class=\"code-string\">\"first-except\"</span>){\n","\t\t\t\t\tfuncNode.children.append(\n","\t\t\t\t\t\tfuncNode.children.createItem({\n","\t\t\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\t\t\tname: <span class=\"code-string\">\"--pagedjs-string-\"</span> + <span class=\"code-keyword\">this</span>.type + <span class=\"code-string\">\"-\"</span> + identifier\n","\t\t\t\t\t\t})\n","\t\t\t\t\t);\n","\t\t\t\t}<span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tfuncNode.children.append(\n","\t\t\t\t\t\tfuncNode.children.createItem({\n","\t\t\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\t\t\tloc: <span class=\"code-literal\">null</span>,\n","\t\t\t\t\t\t\tname: <span class=\"code-string\">\"--pagedjs-string-first-\"</span> + identifier\n","\t\t\t\t\t\t})\n","\t\t\t\t\t);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterPageLayout(fragment) {\n","\n","\t\t\n","\t\t\t<span class=\"code-keyword\">if</span> ( <span class=\"code-keyword\">this</span>.pageLastString === <span class=\"code-literal\">undefined</span> )\n","\t\t\t{\n","\t\t\t\t<span class=\"code-keyword\">this</span>.pageLastString = {};\n","\t\t\t}\n","\t\t\n","\t\t\t\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> name <span class=\"code-keyword\">of</span> <span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>.stringSetSelectors)) {\n","\t\t\n","\t\t\t\t<span class=\"code-keyword\">let</span> <span class=\"code-keyword\">set</span> = this.stringSetSelectors[name];\n","\t\t\t\tlet selected = fragment.querySelectorAll(<span class=\"code-keyword\">set</span>.selector);\n","\n","\t\t\t\t// Get the last found string for the current identifier\n","\t\t\t\tlet stringPrevPage = ( name in this.pageLastString ) ? this.pageLastString[name] : \"\";\n","\n","\t\t\t\tlet varFirst, varLast, varStart, varFirstExcept;\n","\n","\t\t\t\tif(selected.length == 0){\n","\t\t\t\t\t<span class=\"code-comment\">// if there is no sel. on the page</span>\n","\t\t\t\t\tvarFirst = stringPrevPage;\n","\t\t\t\t\tvarLast = stringPrevPage;\n","\t\t\t\t\tvarStart = stringPrevPage;\n","\t\t\t\t\tvarFirstExcept = stringPrevPage;\n","\t\t\t\t}<span class=\"code-keyword\">else</span> {\n","\n","\t\t\t\t\tselected.forEach(<span class=\"code-function\">(<span class=\"code-params\">sel</span>) =></span> {\n","\t\t\t\t\t\t<span class=\"code-comment\">// push each content into the array to define in the variable the first and the last element of the page.</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.pageLastString[name] = selected[selected.length - <span class=\"code-number\">1</span>].textContent;\n","\t\t\t\t\t\n","\t\t\t\t\t});\t\n","\n","\t\t\t\t\t<span class=\"code-comment\">/* FIRST */</span>\n","\t\t\n","\t\t\t\t\tvarFirst = selected[<span class=\"code-number\">0</span>].textContent;\n","\n","\n","\t\t\t\t\t<span class=\"code-comment\">/* LAST */</span>\n","\n","\t\t\t\t\tvarLast = selected[selected.length - <span class=\"code-number\">1</span>].textContent;\n","\n","\n","\t\t\t\t\t<span class=\"code-comment\">/* START */</span>\n","\n","\t\t\t\t\t<span class=\"code-comment\">// Hack to find if the sel. is the first elem of the page / find a better way </span>\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> selTop = selected[<span class=\"code-number\">0</span>].getBoundingClientRect().top;\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> pageContent = selected[<span class=\"code-number\">0</span>].closest(<span class=\"code-string\">\".pagedjs_page_content\"</span>);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> pageContentTop = pageContent.getBoundingClientRect().top;\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span>(selTop == pageContentTop){\n","\t\t\t\t\t\tvarStart = varFirst;\n","\t\t\t\t\t}<span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tvarStart = stringPrevPage;\n","\t\t\t\t\t}\n","\n","\t\t\t\t\t<span class=\"code-comment\">/* FIRST EXCEPT */</span>\n","\n","\t\t\t\t\tvarFirstExcept = <span class=\"code-string\">\"\"</span>;\n","\t\t\t\t\t\n","\t\t\t\t}\n","\n","\t\t\t\tfragment.style.setProperty(<span class=\"code-string\">`--pagedjs-string-first-<span class=\"code-subst\">${name}</span>`</span>, <span class=\"code-string\">`\"<span class=\"code-subst\">${cleanPseudoContent(varFirst)}</span>`</span>);\n","\t\t\t\tfragment.style.setProperty(<span class=\"code-string\">`--pagedjs-string-last-<span class=\"code-subst\">${name}</span>`</span>, <span class=\"code-string\">`\"<span class=\"code-subst\">${cleanPseudoContent(varLast)}</span>`</span>);\n","\t\t\t\tfragment.style.setProperty(<span class=\"code-string\">`--pagedjs-string-start-<span class=\"code-subst\">${name}</span>`</span>, <span class=\"code-string\">`\"<span class=\"code-subst\">${cleanPseudoContent(varStart)}</span>`</span>);\n","\t\t\t\tfragment.style.setProperty(<span class=\"code-string\">`--pagedjs-string-first-except-<span class=\"code-subst\">${name}</span>`</span>, <span class=\"code-string\">`\"<span class=\"code-subst\">${cleanPseudoContent(varFirstExcept)}</span>`</span>);\n","\t\t\t\t\n","\t\t\n","\t\t\t}\n","\t\t}\n","\t\t\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">TargetCounters</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.counterTargets = {};\n","\t\t}\n","\n","\t\tonContent(funcNode, fItem, fList, declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (funcNode.name === <span class=\"code-string\">\"target-counter\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> first = funcNode.children.first();\n","\t\t\t\t<span class=\"code-keyword\">let</span> func = first.name;\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> value = lib.generate(funcNode);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> args = [];\n","\n","\t\t\t\tfirst.children.forEach(<span class=\"code-function\">(<span class=\"code-params\">child</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (child.type === <span class=\"code-string\">\"Identifier\"</span>) {\n","\n","\t\t\t\t\t\targs.push(child.name);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> counter;\n","\t\t\t\t<span class=\"code-keyword\">let</span> style;\n","\t\t\t\t<span class=\"code-keyword\">let</span> styleIdentifier;\n","\n","\t\t\t\tfuncNode.children.forEach(<span class=\"code-function\">(<span class=\"code-params\">child</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (child.type === <span class=\"code-string\">\"Identifier\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (!counter) {\n","\t\t\t\t\t\t\tcounter = child.name;\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (!style) {\n","\t\t\t\t\t\t\tstyleIdentifier = lib.clone(child);\n","\t\t\t\t\t\t\tstyle = child.name;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> variable = <span class=\"code-string\">\"target-counter-\"</span> + UUID();\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.counterTargets[s] = {\n","\t\t\t\t\t\tfunc: func,\n","\t\t\t\t\t\targs: args,\n","\t\t\t\t\t\tvalue: value,\n","\t\t\t\t\t\tcounter: counter,\n","\t\t\t\t\t\tstyle: style,\n","\t\t\t\t\t\tselector: s,\n","\t\t\t\t\t\tfullSelector: selector,\n","\t\t\t\t\t\tvariable: variable\n","\t\t\t\t\t};\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// Replace with counter</span>\n","\t\t\t\tfuncNode.name = <span class=\"code-string\">\"counter\"</span>;\n","\t\t\t\tfuncNode.children = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\tfuncNode.children.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-number\">0</span>,\n","\t\t\t\t\tname: variable\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (styleIdentifier) {\n","\t\t\t\t\tfuncNode.children.appendData({<span class=\"code-attr\">type</span>: <span class=\"code-string\">\"Operator\"</span>, <span class=\"code-attr\">loc</span>: <span class=\"code-literal\">null</span>, <span class=\"code-attr\">value</span>: <span class=\"code-string\">\",\"</span>});\n","\t\t\t\t\tfuncNode.children.appendData(styleIdentifier);\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tafterPageLayout(fragment, page, breakToken, chunker) {\n","\t\t\t<span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>.counterTargets).forEach(<span class=\"code-function\">(<span class=\"code-params\">name</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> target = <span class=\"code-keyword\">this</span>.counterTargets[name];\n","\t\t\t\t<span class=\"code-keyword\">let</span> split = target.selector.split(<span class=\"code-string\">\"::\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> query = split[<span class=\"code-number\">0</span>];\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> queried = chunker.pagesArea.querySelectorAll(query + <span class=\"code-string\">\":not([data-\"</span> + target.variable + <span class=\"code-string\">\"])\"</span>);\n","\n","\t\t\t\tqueried.forEach(<span class=\"code-function\">(<span class=\"code-params\">selected, index</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> handle func other than attr</span>\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (target.func !== <span class=\"code-string\">\"attr\"</span>) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t\t\t\t}\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> val = attr(selected, target.args);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> element = chunker.pagesArea.querySelector(querySelectorEscape(val));\n","\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (element) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> selector = UUID();\n","\t\t\t\t\t\tselected.setAttribute(<span class=\"code-string\">\"data-\"</span> + target.variable, selector);\n","\t\t\t\t\t\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> handle other counter types (by query)</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> pseudo = <span class=\"code-string\">\"\"</span>;\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (split.length > <span class=\"code-number\">1</span>) {\n","\t\t\t\t\t\t\tpseudo += <span class=\"code-string\">\"::\"</span> + split[<span class=\"code-number\">1</span>];\n","\t\t\t\t\t\t}\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (target.counter === <span class=\"code-string\">\"page\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> pages = chunker.pagesArea.querySelectorAll(<span class=\"code-string\">\".pagedjs_page\"</span>);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> pg = <span class=\"code-number\">0</span>;\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < pages.length; i++) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> styles = <span class=\"code-built_in\">window</span>.getComputedStyle(pages[i]);\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> reset = styles[<span class=\"code-string\">\"counter-reset\"</span>].replace(<span class=\"code-string\">\"page\"</span>, <span class=\"code-string\">\"\"</span>).trim();\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> increment = styles[<span class=\"code-string\">\"counter-increment\"</span>].replace(<span class=\"code-string\">\"page\"</span>, <span class=\"code-string\">\"\"</span>).trim();\n","\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (reset !== <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t\t\t\t\t\tpg = <span class=\"code-built_in\">parseInt</span>(reset);\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (increment !== <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t\t\t\t\t\tpg += <span class=\"code-built_in\">parseInt</span>(increment);\n","\t\t\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (pages[i].contains(element)) {\n","\t\t\t\t\t\t\t\t\t<span class=\"code-keyword\">break</span>;\n","\t\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t}\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(<span class=\"code-string\">`[data-<span class=\"code-subst\">${target.variable}</span>=\"<span class=\"code-subst\">${selector}</span>\"]<span class=\"code-subst\">${pseudo}</span> { counter-reset: <span class=\"code-subst\">${target.variable}</span> <span class=\"code-subst\">${pg}</span>; }`</span>, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> value = element.getAttribute(<span class=\"code-string\">`data-counter-<span class=\"code-subst\">${target.counter}</span>-value`</span>);\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (value) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(<span class=\"code-string\">`[data-<span class=\"code-subst\">${target.variable}</span>=\"<span class=\"code-subst\">${selector}</span>\"]<span class=\"code-subst\">${pseudo}</span> { counter-reset: <span class=\"code-subst\">${target.variable}</span> <span class=\"code-subst\">${target.variable}</span> <span class=\"code-subst\">${<span class=\"code-built_in\">parseInt</span>(value)}</span>; }`</span>, <span class=\"code-keyword\">this</span>.styleSheet.cssRules.length);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\t\t\t});\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-comment\">// import { nodeAfter } from \"../../utils/dom\";</span>\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">TargetText</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.styleSheet = polisher.styleSheet;\n","\t\t\t<span class=\"code-keyword\">this</span>.textTargets = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.beforeContent = <span class=\"code-string\">\"\"</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.afterContent = <span class=\"code-string\">\"\"</span>;\n","\t\t\t<span class=\"code-keyword\">this</span>.selector = {};\n","\t\t}\n","\n","\t\tonContent(funcNode, fItem, fList, declaration, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (funcNode.name === <span class=\"code-string\">\"target-text\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t\t<span class=\"code-keyword\">let</span> first = funcNode.children.first();\n","\t\t\t\t<span class=\"code-keyword\">let</span> last = funcNode.children.last();\n","\t\t\t\t<span class=\"code-keyword\">let</span> func = first.name;\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> value = lib.generate(funcNode);\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> args = [];\n","\n","\t\t\t\tfirst.children.forEach(<span class=\"code-function\"><span class=\"code-params\">child</span> =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (child.type === <span class=\"code-string\">\"Identifier\"</span>) {\n","\t\t\t\t\t\targs.push(child.name);\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> style;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (last !== first) {\n","\t\t\t\t\tstyle = last.name;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">let</span> variable = <span class=\"code-string\">\"--pagedjs-\"</span> + UUID();\n","\n","\t\t\t\t<span class=\"code-keyword\">this</span>.selector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\"><span class=\"code-params\">s</span> =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.textTargets[s] = {\n","\t\t\t\t\t\tfunc: func,\n","\t\t\t\t\t\targs: args,\n","\t\t\t\t\t\tvalue: value,\n","\t\t\t\t\t\tstyle: style || <span class=\"code-string\">\"content\"</span>,\n","\t\t\t\t\t\tselector: s,\n","\t\t\t\t\t\tfullSelector: <span class=\"code-keyword\">this</span>.selector,\n","\t\t\t\t\t\tvariable: variable\n","\t\t\t\t\t};\n","\t\t\t\t});\n","\n","\t\t\t\t<span class=\"code-comment\">// Replace with variable</span>\n","\t\t\t\tfuncNode.name = <span class=\"code-string\">\"var\"</span>;\n","\t\t\t\tfuncNode.children = <span class=\"code-keyword\">new</span> lib.List();\n","\t\t\t\tfuncNode.children.appendData({\n","\t\t\t\t\ttype: <span class=\"code-string\">\"Identifier\"</span>,\n","\t\t\t\t\tloc: <span class=\"code-number\">0</span>,\n","\t\t\t\t\tname: variable\n","\t\t\t\t});\n","\t\t\t}\n","\t\t}\n","\n","\t\t<span class=\"code-comment\">// parse this on the ONCONTENT : get all before and after and replace the value with a variable</span>\n","\t\tonPseudoSelector(pseudoNode, pItem, pList, selector, rule) {\n","\t\t\t<span class=\"code-comment\">// console.log(pseudoNode);</span>\n","\t\t\t<span class=\"code-comment\">// console.log(rule);</span>\n","\n","\t\t\trule.ruleNode.block.children.forEach(<span class=\"code-function\"><span class=\"code-params\">properties</span> =></span> {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (pseudoNode.name === <span class=\"code-string\">\"before\"</span> && properties.property === <span class=\"code-string\">\"content\"</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// let beforeVariable = \"--pagedjs-\" + UUID();</span>\n","\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> contenu = properties.value.children;\n","\t\t\t\t\tcontenu.forEach(<span class=\"code-function\"><span class=\"code-params\">prop</span> =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (prop.type === <span class=\"code-string\">\"String\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.beforeContent = prop.value;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (pseudoNode.name === <span class=\"code-string\">\"after\"</span> && properties.property === <span class=\"code-string\">\"content\"</span>) {\n","\t\t\t\t\tproperties.value.children.forEach(<span class=\"code-function\"><span class=\"code-params\">prop</span> =></span> {\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (prop.type === <span class=\"code-string\">\"String\"</span>) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.afterContent = prop.value;\n","\t\t\t\t\t\t}\n","\t\t\t\t\t});\n","\t\t\t\t}\n","\t\t\t});\n","\t\t}\n","\n","\t\tafterParsed(fragment) {\n","\t\t\t<span class=\"code-built_in\">Object</span>.keys(<span class=\"code-keyword\">this</span>.textTargets).forEach(<span class=\"code-function\"><span class=\"code-params\">name</span> =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> target = <span class=\"code-keyword\">this</span>.textTargets[name];\n","\t\t\t\t<span class=\"code-keyword\">let</span> split = target.selector.split(<span class=\"code-string\">\"::\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">let</span> query = split[<span class=\"code-number\">0</span>];\n","\t\t\t\t<span class=\"code-keyword\">let</span> queried = fragment.querySelectorAll(query);\n","\t\t\t\t<span class=\"code-keyword\">let</span> textContent;\n","\t\t\t\tqueried.forEach(<span class=\"code-function\">(<span class=\"code-params\">selected, index</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> val = attr(selected, target.args);\n","\t\t\t\t\t<span class=\"code-keyword\">let</span> element = fragment.querySelector(querySelectorEscape(val));\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (element) {\n","\t\t\t\t\t\t<span class=\"code-comment\">// content & first-letter & before & after refactorized</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (target.style) {\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.selector = UUID();\n","\t\t\t\t\t\t\tselected.setAttribute(<span class=\"code-string\">\"data-target-text\"</span>, <span class=\"code-keyword\">this</span>.selector);\n","\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">let</span> psuedo = <span class=\"code-string\">\"\"</span>;\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (split.length > <span class=\"code-number\">1</span>) {\n","\t\t\t\t\t\t\t\tpsuedo += <span class=\"code-string\">\"::\"</span> + split[<span class=\"code-number\">1</span>];\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\t\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (target.style === <span class=\"code-string\">\"before\"</span> || target.style === <span class=\"code-string\">\"after\"</span>) {\n","\t\t\t\t\t\t\t\t<span class=\"code-keyword\">const</span> pseudoType = <span class=\"code-string\">`<span class=\"code-subst\">${target.style}</span>Content`</span>;\n","\t\t\t\t\t\t\t\ttextContent = cleanPseudoContent(<span class=\"code-keyword\">this</span>[pseudoType]);\n","\t\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t\ttextContent = cleanPseudoContent(element.textContent, <span class=\"code-string\">\" \"</span>);\n","\t\t\t\t\t\t\t}\n","\t\t\t\t\t\t\ttextContent = target.style === <span class=\"code-string\">\"first-letter\"</span> ? textContent.charAt(<span class=\"code-number\">0</span>) : textContent;\n","\t\t\t\t\t\t\t<span class=\"code-keyword\">this</span>.styleSheet.insertRule(<span class=\"code-string\">`[data-target-text=\"<span class=\"code-subst\">${<span class=\"code-keyword\">this</span>.selector}</span>\"]<span class=\"code-subst\">${psuedo}</span> { <span class=\"code-subst\">${target.variable}</span>: \"<span class=\"code-subst\">${textContent}</span>\" }`</span>);\n","\t\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\t\t<span class=\"code-built_in\">console</span>.warn(<span class=\"code-string\">\"missed target\"</span>, val);\n","\t\t\t\t\t\t}\n","\t\t\t\t\t}\n","\t\t\t\t});\n","\t\t\t});\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> generatedContentHandlers = [\n","\t\tRunningHeaders,\n","\t\tStringSets,\n","\t\tTargetCounters,\n","\t\tTargetText\n","\t];\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">WhiteSpaceFilter</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\n","\t\tfilter(content) {\n","\n","\t\t\tfilterTree(content, (node) => {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.filterEmpty(node);\n","\t\t\t}, NodeFilter.SHOW_TEXT);\n","\n","\t\t}\n","\n","\t\tfilterEmpty(node) {\n","\t\t\t<span class=\"code-keyword\">if</span> (node.textContent.length > <span class=\"code-number\">1</span> && isIgnorable(node)) {\n","\n","\t\t\t\t<span class=\"code-comment\">// Do not touch the content if text is pre-formatted</span>\n","\t\t\t\t<span class=\"code-keyword\">let</span> parent = node.parentNode;\n","\t\t\t\t<span class=\"code-keyword\">let</span> pre = isElement(parent) && parent.closest(<span class=\"code-string\">\"pre\"</span>);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (pre) {\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_REJECT;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-keyword\">const</span> previousSibling = previousSignificantNode(node);\n","\t\t\t\t<span class=\"code-keyword\">const</span> nextSibling = nextSignificantNode(node);\n","\n","\t\t\t\t<span class=\"code-keyword\">if</span> (nextSibling === <span class=\"code-literal\">null</span> && previousSibling === <span class=\"code-literal\">null</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// we should not remove a Node that does not have any siblings.</span>\n","\t\t\t\t\tnode.textContent = <span class=\"code-string\">\" \"</span>;\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_REJECT;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">if</span> (nextSibling === <span class=\"code-literal\">null</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// we can safely remove this node</span>\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_ACCEPT;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">if</span> (previousSibling === <span class=\"code-literal\">null</span>) {\n","\t\t\t\t\t<span class=\"code-comment\">// we can safely remove this node</span>\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_ACCEPT;\n","\t\t\t\t}\n","\n","\t\t\t\t<span class=\"code-comment\">// replace the content with a single space</span>\n","\t\t\t\tnode.textContent = <span class=\"code-string\">\" \"</span>;\n","\n","\t\t\t\t<span class=\"code-comment\">// <span class=\"code-doctag\">TODO:</span> we also need to preserve sequences of white spaces when the parent has \"white-space\" rule:</span>\n","\t\t\t\t<span class=\"code-comment\">// pre</span>\n","\t\t\t\t<span class=\"code-comment\">// Sequences of white space are preserved. Lines are only broken at newline characters in the source and at <br> elements.</span>\n","\t\t\t\t<span class=\"code-comment\">//</span>\n","\t\t\t\t<span class=\"code-comment\">// pre-wrap</span>\n","\t\t\t\t<span class=\"code-comment\">// Sequences of white space are preserved. Lines are broken at newline characters, at <br>, and as necessary to fill line boxes.</span>\n","\t\t\t\t<span class=\"code-comment\">//</span>\n","\t\t\t\t<span class=\"code-comment\">// pre-line</span>\n","\t\t\t\t<span class=\"code-comment\">// Sequences of white space are collapsed. Lines are broken at newline characters, at <br>, and as necessary to fill line boxes.</span>\n","\t\t\t\t<span class=\"code-comment\">//</span>\n","\t\t\t\t<span class=\"code-comment\">// break-spaces</span>\n","\t\t\t\t<span class=\"code-comment\">// The behavior is identical to that of pre-wrap, except that:</span>\n","\t\t\t\t<span class=\"code-comment\">// - Any sequence of preserved white space always takes up space, including at the end of the line.</span>\n","\t\t\t\t<span class=\"code-comment\">// - A line breaking opportunity exists after every preserved white space character, including between white space characters.</span>\n","\t\t\t\t<span class=\"code-comment\">// - Such preserved spaces take up space and do not hang, and thus affect the box\u2019s intrinsic sizes (min-content size and max-content size).</span>\n","\t\t\t\t<span class=\"code-comment\">//</span>\n","\t\t\t\t<span class=\"code-comment\">// See: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space#Values</span>\n","\n","\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_REJECT;\n","\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t<span class=\"code-keyword\">return</span> NodeFilter.FILTER_REJECT;\n","\t\t\t}\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">CommentsFilter</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\n","\t\tfilter(content) {\n","\t\t\tfilterTree(content, <span class=\"code-literal\">null</span>, NodeFilter.SHOW_COMMENT);\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">ScriptsFilter</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t}\n","\n","\t\tfilter(content) {\n","\t\t\tcontent.querySelectorAll(<span class=\"code-string\">\"script\"</span>).forEach( <span class=\"code-function\"><span class=\"code-params\">script</span> =></span> { script.remove(); });\n","\t\t}\n","\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> clearCut = createCommonjsModule(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">module, exports</span>) </span>{\n","\t<span class=\"code-comment\">/**\n</span>","<span class=\"code-comment\">\t * Originally ported from https://github.com/keeganstreet/specificity/blob/866bf7ab4e7f62a7179c15b13a95af4e1c7b1afa/specificity.js\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Calculates the specificity of CSS selectors\n</span>","<span class=\"code-comment\">\t * http://www.w3.org/TR/css3-selectors/#specificity\n</span>","<span class=\"code-comment\">\t *\n</span>","<span class=\"code-comment\">\t * Returns a selector integer value\n</span>","<span class=\"code-comment\">\t */</span>\n","\n","\t<span class=\"code-comment\">// The following regular expressions assume that selectors matching the preceding regular expressions have been removed</span>\n","\t<span class=\"code-keyword\">var</span> attributeRegex = <span class=\"code-regexp\">/(\\[[^\\]]+\\])/g</span>;\n","\t<span class=\"code-keyword\">var</span> idRegex = <span class=\"code-regexp\">/(#[^\\s\\+>~\\.\\[:]+)/g</span>;\n","\t<span class=\"code-keyword\">var</span> classRegex = <span class=\"code-regexp\">/(\\.[^\\s\\+>~\\.\\[:]+)/g</span>;\n","\t<span class=\"code-keyword\">var</span> pseudoElementRegex = <span class=\"code-regexp\">/(::[^\\s\\+>~\\.\\[:]+|:first-line|:first-letter|:before|:after)/g</span>;\n","\t<span class=\"code-keyword\">var</span> pseudoClassRegex = <span class=\"code-regexp\">/(:[^\\s\\+>~\\.\\[:]+)/g</span>;\n","\t<span class=\"code-keyword\">var</span> elementRegex = <span class=\"code-regexp\">/([^\\s\\+>~\\.\\[:]+)/g</span>;\n","\t<span class=\"code-keyword\">var</span> notRegex = <span class=\"code-regexp\">/:not\\(([^\\)]*)\\)/g</span>;\n","\t<span class=\"code-keyword\">var</span> ruleRegex = <span class=\"code-regexp\">/\\{[^]*/gm</span>;\n","\t<span class=\"code-keyword\">var</span> separatorRegex = <span class=\"code-regexp\">/[\\*\\s\\+>~]/g</span>;\n","\t<span class=\"code-keyword\">var</span> straysRegex = <span class=\"code-regexp\">/[#\\.]/g</span>;\n","\n","\t<span class=\"code-comment\">// Find matches for a regular expression in a string and push their details to parts</span>\n","\t<span class=\"code-comment\">// Type is \"a\" for IDs, \"b\" for classes, attributes and pseudo-classes and \"c\" for elements and pseudo-elements</span>\n","\t<span class=\"code-keyword\">var</span> findMatch = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">regex, type, types, selector</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> matches = selector.match(regex);\n","\t <span class=\"code-keyword\">if</span> (matches) {\n","\t <span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < matches.length; i++) {\n","\t types[type]++;\n","\t <span class=\"code-comment\">// Replace this simple selector with whitespace so it won't be counted in further simple selectors</span>\n","\t selector = selector.replace(matches[i], <span class=\"code-string\">' '</span>);\n","\t }\n","\t }\n","\n","\t <span class=\"code-keyword\">return</span> selector;\n","\t};\n","\n","\t<span class=\"code-comment\">// Calculate the specificity for a selector by dividing it into simple selectors and counting them</span>\n","\t<span class=\"code-keyword\">var</span> calculate = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">selector</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> commaIndex = selector.indexOf(<span class=\"code-string\">','</span>);\n","\t <span class=\"code-keyword\">if</span> (commaIndex !== <span class=\"code-number\">-1</span>) {\n","\t selector = selector.substring(<span class=\"code-number\">0</span>, commaIndex);\n","\t }\n","\n","\t <span class=\"code-keyword\">var</span> types = {\n","\t a: <span class=\"code-number\">0</span>,\n","\t b: <span class=\"code-number\">0</span>,\n","\t c: <span class=\"code-number\">0</span>\n","\t };\n","\n","\t <span class=\"code-comment\">// Remove the negation psuedo-class (:not) but leave its argument because specificity is calculated on its argument</span>\n","\t selector = selector.replace(notRegex, <span class=\"code-string\">' $1 '</span>);\n","\n","\t <span class=\"code-comment\">// Remove anything after a left brace in case a user has pasted in a rule, not just a selector</span>\n","\t selector = selector.replace(ruleRegex, <span class=\"code-string\">' '</span>);\n","\n","\t <span class=\"code-comment\">// Add attribute selectors to parts collection (type b)</span>\n","\t selector = findMatch(attributeRegex, <span class=\"code-string\">'b'</span>, types, selector);\n","\n","\t <span class=\"code-comment\">// Add ID selectors to parts collection (type a)</span>\n","\t selector = findMatch(idRegex, <span class=\"code-string\">'a'</span>, types, selector);\n","\n","\t <span class=\"code-comment\">// Add class selectors to parts collection (type b)</span>\n","\t selector = findMatch(classRegex, <span class=\"code-string\">'b'</span>, types, selector);\n","\n","\t <span class=\"code-comment\">// Add pseudo-element selectors to parts collection (type c)</span>\n","\t selector = findMatch(pseudoElementRegex, <span class=\"code-string\">'c'</span>, types, selector);\n","\n","\t <span class=\"code-comment\">// Add pseudo-class selectors to parts collection (type b)</span>\n","\t selector = findMatch(pseudoClassRegex, <span class=\"code-string\">'b'</span>, types, selector);\n","\n","\t <span class=\"code-comment\">// Remove universal selector and separator characters</span>\n","\t selector = selector.replace(separatorRegex, <span class=\"code-string\">' '</span>);\n","\n","\t <span class=\"code-comment\">// Remove any stray dots or hashes which aren't attached to words</span>\n","\t <span class=\"code-comment\">// These may be present if the user is live-editing this selector</span>\n","\t selector = selector.replace(straysRegex, <span class=\"code-string\">' '</span>);\n","\n","\t <span class=\"code-comment\">// The only things left should be element selectors (type c)</span>\n","\t findMatch(elementRegex, <span class=\"code-string\">'c'</span>, types, selector);\n","\n","\t <span class=\"code-keyword\">return</span> (types.a * <span class=\"code-number\">100</span>) + (types.b * <span class=\"code-number\">10</span>) + (types.c * <span class=\"code-number\">1</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> specificityCache = {};\n","\n","\texports.calculateSpecificity = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">selector</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> specificity = specificityCache[selector];\n","\t <span class=\"code-keyword\">if</span> (specificity === <span class=\"code-literal\">undefined</span>) {\n","\t specificity = calculate(selector);\n","\t specificityCache[selector] = specificity;\n","\t }\n","\t <span class=\"code-keyword\">return</span> specificity;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> validSelectorCache = {};\n","\t<span class=\"code-keyword\">var</span> testSelectorElement = <span class=\"code-literal\">null</span>;\n","\n","\texports.isSelectorValid = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">selector</span>) </span>{\n","\t <span class=\"code-keyword\">var</span> valid = validSelectorCache[selector];\n","\t <span class=\"code-keyword\">if</span> (valid === <span class=\"code-literal\">undefined</span>) {\n","\t <span class=\"code-keyword\">if</span> (testSelectorElement == <span class=\"code-literal\">null</span>) {\n","\t testSelectorElement = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">'div'</span>);\n","\t }\n","\n","\t <span class=\"code-keyword\">try</span> {\n","\t testSelectorElement.querySelector(selector);\n","\t valid = <span class=\"code-literal\">true</span>;\n","\t } <span class=\"code-keyword\">catch</span> (error) {\n","\t valid = <span class=\"code-literal\">false</span>;\n","\t }\n","\t validSelectorCache[selector] = valid;\n","\t }\n","\t <span class=\"code-keyword\">return</span> valid;\n","\t};\n","\n","\texports.validateSelector = <span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">selector</span>) </span>{\n","\t <span class=\"code-keyword\">if</span> (!exports.isSelectorValid(selector)) {\n","\t <span class=\"code-keyword\">var</span> error = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">SyntaxError</span>(selector + <span class=\"code-string\">' is not a valid selector'</span>);\n","\t error.code = <span class=\"code-string\">'EBADSELECTOR'</span>;\n","\t <span class=\"code-keyword\">throw</span> error;\n","\t }\n","\t};\n","\t});\n","\t<span class=\"code-keyword\">var</span> clearCut_1 = clearCut.calculateSpecificity;\n","\t<span class=\"code-keyword\">var</span> clearCut_2 = clearCut.isSelectorValid;\n","\t<span class=\"code-keyword\">var</span> clearCut_3 = clearCut.validateSelector;\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">UndisplayedFilter</span> <span class=\"code-keyword\">extends</span> <span class=\"code-title\">Handler</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\t\t\t<span class=\"code-keyword\">super</span>(chunker, polisher, caller);\n","\t\t\t<span class=\"code-keyword\">this</span>.displayRules = {};\n","\t\t}\n","\n","\t\tonDeclaration(declaration, dItem, dList, rule) {\n","\t\t\t<span class=\"code-keyword\">if</span> (declaration.property === <span class=\"code-string\">\"display\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = lib.generate(rule.ruleNode.prelude);\n","\t\t\t\t<span class=\"code-keyword\">let</span> value = declaration.value.children.first().name;\n","\n","\t\t\t\tselector.split(<span class=\"code-string\">\",\"</span>).forEach(<span class=\"code-function\">(<span class=\"code-params\">s</span>) =></span> {\n","\t\t\t\t\t<span class=\"code-keyword\">this</span>.displayRules[s] = {\n","\t\t\t\t\t\tvalue: value,\n","\t\t\t\t\t\tselector: s,\n","\t\t\t\t\t\tspecificity: clearCut_1(s),\n","\t\t\t\t\t\timportant: declaration.important\n","\t\t\t\t\t};\n","\t\t\t\t});\n","\t\t\t}\n","\t\t}\n","\n","\t\tfilter(content) {\n","\t\t\t<span class=\"code-keyword\">let</span> { matches, selectors } = <span class=\"code-keyword\">this</span>.sortDisplayedSelectors(content, <span class=\"code-keyword\">this</span>.displayRules);\n","\n","\t\t\t<span class=\"code-comment\">// Find matching elements that have display styles</span>\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < matches.length; i++) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> element = matches[i];\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = selectors[i];\n","\t\t\t\t<span class=\"code-keyword\">let</span> displayValue = selector[selector.length<span class=\"code-number\">-1</span>].value;\n","\t\t\t\t<span class=\"code-keyword\">if</span>(<span class=\"code-keyword\">this</span>.removable(element) && displayValue === <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t\telement.dataset.undisplayed = <span class=\"code-string\">\"undisplayed\"</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-comment\">// Find elements that have inline styles</span>\n","\t\t\t<span class=\"code-keyword\">let</span> styledElements = content.querySelectorAll(<span class=\"code-string\">\"[style]\"</span>);\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> i = <span class=\"code-number\">0</span>; i < styledElements.length; i++) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> element = styledElements[i];\n","\t\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span>.removable(element)) {\n","\t\t\t\t\telement.dataset.undisplayed = <span class=\"code-string\">\"undisplayed\"</span>;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\n","\t\tsorter(a, b) {\n","\t\t\t<span class=\"code-keyword\">if</span> (a.important && !b.important) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-number\">1</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (b.important && !a.important) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> a.specificity - b.specificity;\n","\t\t}\n","\n","\t\tsortDisplayedSelectors(content, displayRules=[]) {\n","\t\t\t<span class=\"code-keyword\">let</span> matches = [];\n","\t\t\t<span class=\"code-keyword\">let</span> selectors = [];\n","\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> d <span class=\"code-keyword\">in</span> displayRules) {\n","\t\t\t\t<span class=\"code-keyword\">let</span> displayItem = displayRules[d];\n","\t\t\t\t<span class=\"code-keyword\">let</span> selector = displayItem.selector;\n","\t\t\t\t<span class=\"code-keyword\">let</span> query = [];\n","\t\t\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t\t\t\tquery = content.querySelectorAll(selector);\n","\t\t\t\t\t} <span class=\"code-keyword\">catch</span> (e) {\n","\t\t\t\t\t\tquery = content.querySelectorAll(cleanSelector(selector));\n","\t\t\t\t\t}\n","\t\t\t\t} <span class=\"code-keyword\">catch</span> (e) {\n","\t\t\t\t\tquery = [];\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">let</span> elements = <span class=\"code-built_in\">Array</span>.from(query);\n","\t\t\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">let</span> e <span class=\"code-keyword\">of</span> elements) {\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (matches.includes(e)) {\n","\t\t\t\t\t\t<span class=\"code-keyword\">let</span> index = matches.indexOf(e);\n","\t\t\t\t\t\tselectors[index].push(displayItem);\n","\t\t\t\t\t\tselectors[index] = selectors[index].sort(<span class=\"code-keyword\">this</span>.sorter);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tmatches.push(e);\n","\t\t\t\t\t\tselectors.push([displayItem]);\n","\t\t\t\t\t}\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> { matches, selectors };\n","\t\t}\n","\n","\t\tremovable(element) {\n","\t\t\t<span class=\"code-keyword\">if</span> (element.style &&\n","\t\t\t\t\telement.style.display !== <span class=\"code-string\">\"\"</span> &&\n","\t\t\t\t\telement.style.display !== <span class=\"code-string\">\"none\"</span>) {\n","\t\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> filters = [\n","\t\tWhiteSpaceFilter,\n","\t\tCommentsFilter,\n","\t\tScriptsFilter,\n","\t\tUndisplayedFilter\n","\t];\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">3</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> <span class=\"code-keyword\">from</span> = <span class=\"code-built_in\">Array</span>.from, arr, result;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> <span class=\"code-keyword\">from</span> !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\tarr = [<span class=\"code-string\">\"raz\"</span>, <span class=\"code-string\">\"dwa\"</span>];\n","\t\tresult = <span class=\"code-keyword\">from</span>(arr);\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Boolean</span>(result && (result !== arr) && (result[<span class=\"code-number\">1</span>] === <span class=\"code-string\">\"dwa\"</span>));\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> validTypes = { <span class=\"code-attr\">object</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">symbol</span>: <span class=\"code-literal\">true</span> };\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">4</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> symbol;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Symbol</span> !== <span class=\"code-string\">'function'</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\tsymbol = <span class=\"code-built_in\">Symbol</span>(<span class=\"code-string\">'test symbol'</span>);\n","\t\t<span class=\"code-keyword\">try</span> { <span class=\"code-built_in\">String</span>(symbol); } <span class=\"code-keyword\">catch</span> (e) { <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>; }\n","\n","\t\t<span class=\"code-comment\">// Return 'true' also for polyfills</span>\n","\t\t<span class=\"code-keyword\">if</span> (!validTypes[<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Symbol</span>.iterator]) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">if</span> (!validTypes[<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Symbol</span>.toPrimitive]) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">if</span> (!validTypes[<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Symbol</span>.toStringTag]) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isSymbol = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">x</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!x) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> x === <span class=\"code-string\">'symbol'</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">true</span>;\n","\t\t<span class=\"code-keyword\">if</span> (!x.constructor) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">if</span> (x.constructor.name !== <span class=\"code-string\">'Symbol'</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">return</span> (x[x.constructor.toStringTag] === <span class=\"code-string\">'Symbol'</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> validateSymbol = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!isSymbol(value)) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(value + <span class=\"code-string\">\" is not a symbol\"</span>);\n","\t\t<span class=\"code-keyword\">return</span> value;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> create$<span class=\"code-number\">6</span> = <span class=\"code-built_in\">Object</span>.create, defineProperties = <span class=\"code-built_in\">Object</span>.defineProperties\n","\t , defineProperty = <span class=\"code-built_in\">Object</span>.defineProperty, objPrototype = <span class=\"code-built_in\">Object</span>.prototype\n","\t , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create$<span class=\"code-number\">6</span>(<span class=\"code-literal\">null</span>)\n","\t , isNativeSafe;\n","\n","\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> <span class=\"code-built_in\">Symbol</span> === <span class=\"code-string\">'function'</span>) {\n","\t\tNativeSymbol = <span class=\"code-built_in\">Symbol</span>;\n","\t\t<span class=\"code-keyword\">try</span> {\n","\t\t\t<span class=\"code-built_in\">String</span>(NativeSymbol());\n","\t\t\tisNativeSafe = <span class=\"code-literal\">true</span>;\n","\t\t} <span class=\"code-keyword\">catch</span> (ignore) {}\n","\t}\n","\n","\t<span class=\"code-keyword\">var</span> generateName = (<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> created = create$<span class=\"code-number\">6</span>(<span class=\"code-literal\">null</span>);\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">desc</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">var</span> postfix = <span class=\"code-number\">0</span>, name, ie11BugWorkaround;\n","\t\t\t<span class=\"code-keyword\">while</span> (created[desc + (postfix || <span class=\"code-string\">''</span>)]) ++postfix;\n","\t\t\tdesc += (postfix || <span class=\"code-string\">''</span>);\n","\t\t\tcreated[desc] = <span class=\"code-literal\">true</span>;\n","\t\t\tname = <span class=\"code-string\">'@@'</span> + desc;\n","\t\t\tdefineProperty(objPrototype, name, d_1.gs(<span class=\"code-literal\">null</span>, <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t\t\t<span class=\"code-comment\">// For IE11 issue see:</span>\n","\t\t\t\t<span class=\"code-comment\">// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/</span>\n","\t\t\t\t<span class=\"code-comment\">// ie11-broken-getters-on-dom-objects</span>\n","\t\t\t\t<span class=\"code-comment\">// https://github.com/medikoo/es6-symbol/issues/12</span>\n","\t\t\t\t<span class=\"code-keyword\">if</span> (ie11BugWorkaround) <span class=\"code-keyword\">return</span>;\n","\t\t\t\tie11BugWorkaround = <span class=\"code-literal\">true</span>;\n","\t\t\t\tdefineProperty(<span class=\"code-keyword\">this</span>, name, d_1(value));\n","\t\t\t\tie11BugWorkaround = <span class=\"code-literal\">false</span>;\n","\t\t\t}));\n","\t\t\t<span class=\"code-keyword\">return</span> name;\n","\t\t};\n","\t}());\n","\n","\t<span class=\"code-comment\">// Internal constructor (not one exposed) for creating Symbol instances.</span>\n","\t<span class=\"code-comment\">// This one is used to ensure that `someSymbol instanceof Symbol` always return false</span>\n","\tHiddenSymbol = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">Symbol</span>(<span class=\"code-params\">description</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span> <span class=\"code-keyword\">instanceof</span> HiddenSymbol) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(<span class=\"code-string\">'Symbol is not a constructor'</span>);\n","\t\t<span class=\"code-keyword\">return</span> SymbolPolyfill(description);\n","\t};\n","\n","\t<span class=\"code-comment\">// Exposed `Symbol` constructor</span>\n","\t<span class=\"code-comment\">// (returns instances of HiddenSymbol)</span>\n","\t<span class=\"code-keyword\">var</span> polyfill = SymbolPolyfill = <span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">Symbol</span>(<span class=\"code-params\">description</span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> symbol;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">this</span> <span class=\"code-keyword\">instanceof</span> <span class=\"code-built_in\">Symbol</span>) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(<span class=\"code-string\">'Symbol is not a constructor'</span>);\n","\t\t<span class=\"code-keyword\">if</span> (isNativeSafe) <span class=\"code-keyword\">return</span> NativeSymbol(description);\n","\t\tsymbol = create$<span class=\"code-number\">6</span>(HiddenSymbol.prototype);\n","\t\tdescription = (description === <span class=\"code-literal\">undefined</span> ? <span class=\"code-string\">''</span> : <span class=\"code-built_in\">String</span>(description));\n","\t\t<span class=\"code-keyword\">return</span> defineProperties(symbol, {\n","\t\t\t__description__: d_1(<span class=\"code-string\">''</span>, description),\n","\t\t\t__name__: d_1(<span class=\"code-string\">''</span>, generateName(description))\n","\t\t});\n","\t};\n","\tdefineProperties(SymbolPolyfill, {\n","\t\t<span class=\"code-keyword\">for</span>: d_1(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">key</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">if</span> (globalSymbols[key]) <span class=\"code-keyword\">return</span> globalSymbols[key];\n","\t\t\t<span class=\"code-keyword\">return</span> (globalSymbols[key] = SymbolPolyfill(<span class=\"code-built_in\">String</span>(key)));\n","\t\t}),\n","\t\tkeyFor: d_1(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">s</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">var</span> key;\n","\t\t\tvalidateSymbol(s);\n","\t\t\t<span class=\"code-keyword\">for</span> (key <span class=\"code-keyword\">in</span> globalSymbols) <span class=\"code-keyword\">if</span> (globalSymbols[key] === s) <span class=\"code-keyword\">return</span> key;\n","\t\t}),\n","\n","\t\t<span class=\"code-comment\">// To ensure proper interoperability with other native functions (e.g. Array.from)</span>\n","\t\t<span class=\"code-comment\">// fallback to eventual native implementation of given symbol</span>\n","\t\thasInstance: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(<span class=\"code-string\">'hasInstance'</span>)),\n","\t\tisConcatSpreadable: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n","\t\t\tSymbolPolyfill(<span class=\"code-string\">'isConcatSpreadable'</span>)),\n","\t\titerator: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(<span class=\"code-string\">'iterator'</span>)),\n","\t\tmatch: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(<span class=\"code-string\">'match'</span>)),\n","\t\treplace: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(<span class=\"code-string\">'replace'</span>)),\n","\t\tsearch: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(<span class=\"code-string\">'search'</span>)),\n","\t\tspecies: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(<span class=\"code-string\">'species'</span>)),\n","\t\tsplit: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(<span class=\"code-string\">'split'</span>)),\n","\t\ttoPrimitive: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(<span class=\"code-string\">'toPrimitive'</span>)),\n","\t\ttoStringTag: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(<span class=\"code-string\">'toStringTag'</span>)),\n","\t\tunscopables: d_1(<span class=\"code-string\">''</span>, (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(<span class=\"code-string\">'unscopables'</span>))\n","\t});\n","\n","\t<span class=\"code-comment\">// Internal tweaks for real symbol producer</span>\n","\tdefineProperties(HiddenSymbol.prototype, {\n","\t\t<span class=\"code-keyword\">constructor</span>: d_1(SymbolPolyfill),\n","\t\ttoString: d_1('', function () { <span class=\"code-keyword\">return</span> <span class=\"code-keyword\">this</span>.__name__; })\n","\t});\n","\n","\t<span class=\"code-comment\">// Proper implementation of methods exposed on Symbol.prototype</span>\n","\t<span class=\"code-comment\">// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype</span>\n","\tdefineProperties(SymbolPolyfill.prototype, {\n","\t\ttoString: d_1(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{ <span class=\"code-keyword\">return</span> <span class=\"code-string\">'Symbol ('</span> + validateSymbol(<span class=\"code-keyword\">this</span>).__description__ + <span class=\"code-string\">')'</span>; }),\n","\t\tvalueOf: d_1(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{ <span class=\"code-keyword\">return</span> validateSymbol(<span class=\"code-keyword\">this</span>); })\n","\t});\n","\tdefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d_1(<span class=\"code-string\">''</span>, <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> symbol = validateSymbol(<span class=\"code-keyword\">this</span>);\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> symbol === <span class=\"code-string\">'symbol'</span>) <span class=\"code-keyword\">return</span> symbol;\n","\t\t<span class=\"code-keyword\">return</span> symbol.toString();\n","\t}));\n","\tdefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d_1(<span class=\"code-string\">'c'</span>, <span class=\"code-string\">'Symbol'</span>));\n","\n","\t<span class=\"code-comment\">// Proper implementaton of toPrimitive and toStringTag for returned symbol instances</span>\n","\tdefineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n","\t\td_1(<span class=\"code-string\">'c'</span>, SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));\n","\n","\t<span class=\"code-comment\">// Note: It's important to define `toPrimitive` as last one, as some implementations</span>\n","\t<span class=\"code-comment\">// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)</span>\n","\t<span class=\"code-comment\">// And that may invoke error in definition flow:</span>\n","\t<span class=\"code-comment\">// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149</span>\n","\tdefineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n","\t\td_1(<span class=\"code-string\">'c'</span>, SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));\n","\n","\t<span class=\"code-keyword\">var</span> es6Symbol = isImplemented$<span class=\"code-number\">4</span>() ? <span class=\"code-built_in\">Symbol</span> : polyfill;\n","\n","\t<span class=\"code-keyword\">var</span> objToString = <span class=\"code-built_in\">Object</span>.prototype.toString\n","\t , id = objToString.call(\n","\t\t(<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t\t<span class=\"code-keyword\">return</span> <span class=\"code-built_in\">arguments</span>;\n","\t\t})()\n","\t);\n","\n","\t<span class=\"code-keyword\">var</span> isArguments = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> objToString.call(value) === id;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> objToString$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Object</span>.prototype.toString, id$<span class=\"code-number\">1</span> = objToString$<span class=\"code-number\">1.</span>call(noop);\n","\n","\t<span class=\"code-keyword\">var</span> isFunction = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">\"function\"</span> && objToString$<span class=\"code-number\">1.</span>call(value) === id$<span class=\"code-number\">1</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">5</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> sign = <span class=\"code-built_in\">Math</span>.sign;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> sign !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">return</span> (sign(<span class=\"code-number\">10</span>) === <span class=\"code-number\">1</span>) && (sign(<span class=\"code-number\">-20</span>) === <span class=\"code-number\">-1</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> shim$<span class=\"code-number\">3</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\tvalue = <span class=\"code-built_in\">Number</span>(value);\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">isNaN</span>(value) || (value === <span class=\"code-number\">0</span>)) <span class=\"code-keyword\">return</span> value;\n","\t\t<span class=\"code-keyword\">return</span> value > <span class=\"code-number\">0</span> ? <span class=\"code-number\">1</span> : <span class=\"code-number\">-1</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> sign = isImplemented$<span class=\"code-number\">5</span>()\n","\t\t? <span class=\"code-built_in\">Math</span>.sign\n","\t\t: shim$<span class=\"code-number\">3</span>;\n","\n","\t<span class=\"code-keyword\">var</span> abs = <span class=\"code-built_in\">Math</span>.abs, floor = <span class=\"code-built_in\">Math</span>.floor;\n","\n","\t<span class=\"code-keyword\">var</span> toInteger = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">isNaN</span>(value)) <span class=\"code-keyword\">return</span> <span class=\"code-number\">0</span>;\n","\t\tvalue = <span class=\"code-built_in\">Number</span>(value);\n","\t\t<span class=\"code-keyword\">if</span> ((value === <span class=\"code-number\">0</span>) || !<span class=\"code-built_in\">isFinite</span>(value)) <span class=\"code-keyword\">return</span> value;\n","\t\t<span class=\"code-keyword\">return</span> sign(value) * floor(abs(value));\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> max$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Math</span>.max;\n","\n","\t<span class=\"code-keyword\">var</span> toPosInteger = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t <span class=\"code-keyword\">return</span> max$<span class=\"code-number\">1</span>(<span class=\"code-number\">0</span>, toInteger(value));\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> objToString$<span class=\"code-number\">2</span> = <span class=\"code-built_in\">Object</span>.prototype.toString, id$<span class=\"code-number\">2</span> = objToString$<span class=\"code-number\">2.</span>call(<span class=\"code-string\">\"\"</span>);\n","\n","\t<span class=\"code-keyword\">var</span> isString = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> (\n","\t\t\t<span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">\"string\"</span> ||\n","\t\t\t(value &&\n","\t\t\t\t<span class=\"code-keyword\">typeof</span> value === <span class=\"code-string\">\"object\"</span> &&\n","\t\t\t\t(value <span class=\"code-keyword\">instanceof</span> <span class=\"code-built_in\">String</span> || objToString$<span class=\"code-number\">2.</span>call(value) === id$<span class=\"code-number\">2</span>)) ||\n","\t\t\t<span class=\"code-literal\">false</span>\n","\t\t);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> iteratorSymbol = es6Symbol.iterator\n","\t , isArray = <span class=\"code-built_in\">Array</span>.isArray\n","\t , call = <span class=\"code-built_in\">Function</span>.prototype.call\n","\t , desc = { <span class=\"code-attr\">configurable</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">enumerable</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">writable</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">value</span>: <span class=\"code-literal\">null</span> }\n","\t , defineProperty$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Object</span>.defineProperty;\n","\n","\t<span class=\"code-comment\">// eslint-disable-next-line complexity</span>\n","\t<span class=\"code-keyword\">var</span> shim$<span class=\"code-number\">4</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">arrayLike <span class=\"code-regexp\">/*, mapFn, thisArg*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> mapFn = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">1</span>]\n","\t\t , thisArg = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">2</span>]\n","\t\t , Context\n","\t\t , i\n","\t\t , j\n","\t\t , arr\n","\t\t , length\n","\t\t , code\n","\t\t , iterator\n","\t\t , result\n","\t\t , getIterator\n","\t\t , value;\n","\n","\t\tarrayLike = <span class=\"code-built_in\">Object</span>(validValue(arrayLike));\n","\n","\t\t<span class=\"code-keyword\">if</span> (isValue(mapFn)) validCallable(mapFn);\n","\t\t<span class=\"code-keyword\">if</span> (!<span class=\"code-keyword\">this</span> || <span class=\"code-keyword\">this</span> === <span class=\"code-built_in\">Array</span> || !isFunction(<span class=\"code-keyword\">this</span>)) {\n","\t\t\t<span class=\"code-comment\">// Result: Plain array</span>\n","\t\t\t<span class=\"code-keyword\">if</span> (!mapFn) {\n","\t\t\t\t<span class=\"code-keyword\">if</span> (isArguments(arrayLike)) {\n","\t\t\t\t\t<span class=\"code-comment\">// Source: Arguments</span>\n","\t\t\t\t\tlength = arrayLike.length;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (length !== <span class=\"code-number\">1</span>) <span class=\"code-keyword\">return</span> <span class=\"code-built_in\">Array</span>.apply(<span class=\"code-literal\">null</span>, arrayLike);\n","\t\t\t\t\tarr = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(<span class=\"code-number\">1</span>);\n","\t\t\t\t\tarr[<span class=\"code-number\">0</span>] = arrayLike[<span class=\"code-number\">0</span>];\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> arr;\n","\t\t\t\t}\n","\t\t\t\t<span class=\"code-keyword\">if</span> (isArray(arrayLike)) {\n","\t\t\t\t\t<span class=\"code-comment\">// Source: Array</span>\n","\t\t\t\t\tarr = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Array</span>(length = arrayLike.length);\n","\t\t\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>; i < length; ++i) arr[i] = arrayLike[i];\n","\t\t\t\t\t<span class=\"code-keyword\">return</span> arr;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t\tarr = [];\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-comment\">// Result: Non plain array</span>\n","\t\t\tContext = <span class=\"code-keyword\">this</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">if</span> (!isArray(arrayLike)) {\n","\t\t\t<span class=\"code-keyword\">if</span> ((getIterator = arrayLike[iteratorSymbol]) !== <span class=\"code-literal\">undefined</span>) {\n","\t\t\t\t<span class=\"code-comment\">// Source: Iterator</span>\n","\t\t\t\titerator = validCallable(getIterator).call(arrayLike);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (Context) arr = <span class=\"code-keyword\">new</span> Context();\n","\t\t\t\tresult = iterator.next();\n","\t\t\t\ti = <span class=\"code-number\">0</span>;\n","\t\t\t\t<span class=\"code-keyword\">while</span> (!result.done) {\n","\t\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (Context) {\n","\t\t\t\t\t\tdesc.value = value;\n","\t\t\t\t\t\tdefineProperty$<span class=\"code-number\">1</span>(arr, i, desc);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tarr[i] = value;\n","\t\t\t\t\t}\n","\t\t\t\t\tresult = iterator.next();\n","\t\t\t\t\t++i;\n","\t\t\t\t}\n","\t\t\t\tlength = i;\n","\t\t\t} <span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (isString(arrayLike)) {\n","\t\t\t\t<span class=\"code-comment\">// Source: String</span>\n","\t\t\t\tlength = arrayLike.length;\n","\t\t\t\t<span class=\"code-keyword\">if</span> (Context) arr = <span class=\"code-keyword\">new</span> Context();\n","\t\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>, j = <span class=\"code-number\">0</span>; i < length; ++i) {\n","\t\t\t\t\tvalue = arrayLike[i];\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (i + <span class=\"code-number\">1</span> < length) {\n","\t\t\t\t\t\tcode = value.charCodeAt(<span class=\"code-number\">0</span>);\n","\t\t\t\t\t\t<span class=\"code-comment\">// eslint-disable-next-line max-depth</span>\n","\t\t\t\t\t\t<span class=\"code-keyword\">if</span> (code >= <span class=\"code-number\">0xd800</span> && code <= <span class=\"code-number\">0xdbff</span>) value += arrayLike[++i];\n","\t\t\t\t\t}\n","\t\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n","\t\t\t\t\t<span class=\"code-keyword\">if</span> (Context) {\n","\t\t\t\t\t\tdesc.value = value;\n","\t\t\t\t\t\tdefineProperty$<span class=\"code-number\">1</span>(arr, j, desc);\n","\t\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\t\tarr[j] = value;\n","\t\t\t\t\t}\n","\t\t\t\t\t++j;\n","\t\t\t\t}\n","\t\t\t\tlength = j;\n","\t\t\t}\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (length === <span class=\"code-literal\">undefined</span>) {\n","\t\t\t<span class=\"code-comment\">// Source: array or array-like</span>\n","\t\t\tlength = toPosInteger(arrayLike.length);\n","\t\t\t<span class=\"code-keyword\">if</span> (Context) arr = <span class=\"code-keyword\">new</span> Context(length);\n","\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>; i < length; ++i) {\n","\t\t\t\tvalue = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n","\t\t\t\t<span class=\"code-keyword\">if</span> (Context) {\n","\t\t\t\t\tdesc.value = value;\n","\t\t\t\t\tdefineProperty$<span class=\"code-number\">1</span>(arr, i, desc);\n","\t\t\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t\t\tarr[i] = value;\n","\t\t\t\t}\n","\t\t\t}\n","\t\t}\n","\t\t<span class=\"code-keyword\">if</span> (Context) {\n","\t\t\tdesc.value = <span class=\"code-literal\">null</span>;\n","\t\t\tarr.length = length;\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> arr;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> from_1 = isImplemented$<span class=\"code-number\">3</span>()\n","\t\t? <span class=\"code-built_in\">Array</span>.from\n","\t\t: shim$<span class=\"code-number\">4</span>;\n","\n","\t<span class=\"code-keyword\">var</span> isImplemented$<span class=\"code-number\">6</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> numberIsNaN = <span class=\"code-built_in\">Number</span>.isNaN;\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-keyword\">typeof</span> numberIsNaN !== <span class=\"code-string\">\"function\"</span>) <span class=\"code-keyword\">return</span> <span class=\"code-literal\">false</span>;\n","\t\t<span class=\"code-keyword\">return</span> !numberIsNaN({}) && numberIsNaN(<span class=\"code-literal\">NaN</span>) && !numberIsNaN(<span class=\"code-number\">34</span>);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> shim$<span class=\"code-number\">5</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-comment\">// eslint-disable-next-line no-self-compare</span>\n","\t\t<span class=\"code-keyword\">return</span> value !== value;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> isNan = isImplemented$<span class=\"code-number\">6</span>()\n","\t\t? <span class=\"code-built_in\">Number</span>.isNaN\n","\t\t: shim$<span class=\"code-number\">5</span>;\n","\n","\t<span class=\"code-keyword\">var</span> indexOf$<span class=\"code-number\">2</span> = <span class=\"code-built_in\">Array</span>.prototype.indexOf\n","\t , objHasOwnProperty = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty\n","\t , abs$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Math</span>.abs\n","\t , floor$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Math</span>.floor;\n","\n","\t<span class=\"code-keyword\">var</span> eIndexOf = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">searchElement <span class=\"code-regexp\">/*, fromIndex*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> i, length, fromIndex, val;\n","\t\t<span class=\"code-keyword\">if</span> (!isNan(searchElement)) <span class=\"code-keyword\">return</span> indexOf$<span class=\"code-number\">2.</span>apply(<span class=\"code-keyword\">this</span>, <span class=\"code-built_in\">arguments</span>);\n","\n","\t\tlength = toPosInteger(validValue(<span class=\"code-keyword\">this</span>).length);\n","\t\tfromIndex = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">1</span>];\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">isNaN</span>(fromIndex)) fromIndex = <span class=\"code-number\">0</span>;\n","\t\t<span class=\"code-keyword\">else</span> <span class=\"code-keyword\">if</span> (fromIndex >= <span class=\"code-number\">0</span>) fromIndex = floor$<span class=\"code-number\">1</span>(fromIndex);\n","\t\t<span class=\"code-keyword\">else</span> fromIndex = toPosInteger(<span class=\"code-keyword\">this</span>.length) - floor$<span class=\"code-number\">1</span>(abs$<span class=\"code-number\">1</span>(fromIndex));\n","\n","\t\t<span class=\"code-keyword\">for</span> (i = fromIndex; i < length; ++i) {\n","\t\t\t<span class=\"code-keyword\">if</span> (objHasOwnProperty.call(<span class=\"code-keyword\">this</span>, i)) {\n","\t\t\t\tval = <span class=\"code-keyword\">this</span>[i];\n","\t\t\t\t<span class=\"code-keyword\">if</span> (isNan(val)) <span class=\"code-keyword\">return</span> i; <span class=\"code-comment\">// Jslint: ignore</span>\n","\t\t\t}\n","\t\t}\n","\t\t<span class=\"code-keyword\">return</span> <span class=\"code-number\">-1</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> forEach$<span class=\"code-number\">1</span> = <span class=\"code-built_in\">Array</span>.prototype.forEach\n","\t , splice = <span class=\"code-built_in\">Array</span>.prototype.splice;\n","\n","\t<span class=\"code-comment\">// eslint-disable-next-line no-unused-vars</span>\n","\t<span class=\"code-keyword\">var</span> remove = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">itemToRemove <span class=\"code-regexp\">/*, \u2026item*/</span></span>) </span>{\n","\t\tforEach$<span class=\"code-number\">1.</span>call(\n","\t\t\t<span class=\"code-built_in\">arguments</span>,\n","\t\t\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">item</span>) </span>{\n","\t\t\t\t<span class=\"code-keyword\">var</span> index = eIndexOf.call(<span class=\"code-keyword\">this</span>, item);\n","\t\t\t\t<span class=\"code-keyword\">if</span> (index !== <span class=\"code-number\">-1</span>) splice.call(<span class=\"code-keyword\">this</span>, index, <span class=\"code-number\">1</span>);\n","\t\t\t},\n","\t\t\t<span class=\"code-keyword\">this</span>\n","\t\t);\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> map = { <span class=\"code-attr\">function</span>: <span class=\"code-literal\">true</span>, <span class=\"code-attr\">object</span>: <span class=\"code-literal\">true</span> };\n","\n","\t<span class=\"code-keyword\">var</span> isObject$<span class=\"code-number\">1</span> = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">return</span> (isValue(value) && map[<span class=\"code-keyword\">typeof</span> value]) || <span class=\"code-literal\">false</span>;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> validObject = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">value</span>) </span>{\n","\t\t<span class=\"code-keyword\">if</span> (!isObject$<span class=\"code-number\">1</span>(value)) <span class=\"code-keyword\">throw</span> <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">TypeError</span>(value + <span class=\"code-string\">\" is not an Object\"</span>);\n","\t\t<span class=\"code-keyword\">return</span> value;\n","\t};\n","\n","\t<span class=\"code-keyword\">var</span> emit = eventEmitter.methods.emit\n","\n","\t , defineProperty$<span class=\"code-number\">2</span> = <span class=\"code-built_in\">Object</span>.defineProperty\n","\t , hasOwnProperty$<span class=\"code-number\">6</span> = <span class=\"code-built_in\">Object</span>.prototype.hasOwnProperty\n","\t , getOwnPropertyDescriptor = <span class=\"code-built_in\">Object</span>.getOwnPropertyDescriptor;\n","\n","\t<span class=\"code-keyword\">var</span> pipe = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">e1, e2<span class=\"code-regexp\">/*, name*/</span></span>) </span>{\n","\t\t<span class=\"code-keyword\">var</span> pipes, pipe, desc, name;\n","\n","\t\t(validObject(e1) && validObject(e2));\n","\t\tname = <span class=\"code-built_in\">arguments</span>[<span class=\"code-number\">2</span>];\n","\t\t<span class=\"code-keyword\">if</span> (name === <span class=\"code-literal\">undefined</span>) name = <span class=\"code-string\">'emit'</span>;\n","\n","\t\tpipe = {\n","\t\t\tclose: <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{ remove.call(pipes, e2); }\n","\t\t};\n","\t\t<span class=\"code-keyword\">if</span> (hasOwnProperty$<span class=\"code-number\">6.</span>call(e1, <span class=\"code-string\">'__eePipes__'</span>)) {\n","\t\t\t(pipes = e1.__eePipes__).push(e2);\n","\t\t\t<span class=\"code-keyword\">return</span> pipe;\n","\t\t}\n","\t\tdefineProperty$<span class=\"code-number\">2</span>(e1, <span class=\"code-string\">'__eePipes__'</span>, d_1(<span class=\"code-string\">'c'</span>, pipes = [e2]));\n","\t\tdesc = getOwnPropertyDescriptor(e1, name);\n","\t\t<span class=\"code-keyword\">if</span> (!desc) {\n","\t\t\tdesc = d_1(<span class=\"code-string\">'c'</span>, <span class=\"code-literal\">undefined</span>);\n","\t\t} <span class=\"code-keyword\">else</span> {\n","\t\t\t<span class=\"code-keyword\">delete</span> desc.get;\n","\t\t\t<span class=\"code-keyword\">delete</span> desc.set;\n","\t\t}\n","\t\tdesc.value = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t\t<span class=\"code-keyword\">var</span> i, emitter, data = from_1(pipes);\n","\t\t\temit.apply(<span class=\"code-keyword\">this</span>, <span class=\"code-built_in\">arguments</span>);\n","\t\t\t<span class=\"code-keyword\">for</span> (i = <span class=\"code-number\">0</span>; (emitter = data[i]); ++i) emit.apply(emitter, <span class=\"code-built_in\">arguments</span>);\n","\t\t};\n","\t\tdefineProperty$<span class=\"code-number\">2</span>(e1, name, desc);\n","\t\t<span class=\"code-keyword\">return</span> pipe;\n","\t};\n","\n","\t<span class=\"code-keyword\">let</span> registeredHandlers = [...pagedMediaHandlers, ...generatedContentHandlers, ...filters];\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Handlers</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(chunker, polisher, caller) {\n","\n","\t\t\tregisteredHandlers.forEach(<span class=\"code-function\">(<span class=\"code-params\">Handler</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> handler = <span class=\"code-keyword\">new</span> Handler(chunker, polisher, caller);\n","\t\t\t\tpipe(handler, <span class=\"code-keyword\">this</span>);\n","\t\t\t});\n","\t\t}\n","\t}\n","\n","\teventEmitter(Handlers.prototype);\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">registerHandlers</span>(<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">for</span> (<span class=\"code-keyword\">var</span> i = <span class=\"code-number\">0</span>; i < <span class=\"code-built_in\">arguments</span>.length; i++) {\n","\t\t\tregisteredHandlers.push(<span class=\"code-built_in\">arguments</span>[i]);\n","\t\t}\n","\t}\n","\n","\t<span class=\"code-function\"><span class=\"code-keyword\">function</span> <span class=\"code-title\">initializeHandlers</span>(<span class=\"code-params\">chunker, polisher, caller</span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> handlers = <span class=\"code-keyword\">new</span> Handlers(chunker, polisher, caller);\n","\t\t<span class=\"code-keyword\">return</span> handlers;\n","\t}\n","\n","\t<span class=\"code-class\"><span class=\"code-keyword\">class</span> <span class=\"code-title\">Previewer</span> </span>{\n","\t\t<span class=\"code-keyword\">constructor</span>(options) {\n","\t\t\t<span class=\"code-comment\">// this.preview = this.getParams(\"preview\") !== \"false\";</span>\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.settings = options || {};\n","\n","\t\t\t<span class=\"code-comment\">// Process styles</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.polisher = <span class=\"code-keyword\">new</span> Polisher(<span class=\"code-literal\">false</span>);\n","\n","\t\t\t<span class=\"code-comment\">// Chunk contents</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.chunker = <span class=\"code-keyword\">new</span> Chunker(<span class=\"code-literal\">undefined</span>, <span class=\"code-literal\">undefined</span>, <span class=\"code-keyword\">this</span>.settings);\n","\n","\t\t\t<span class=\"code-comment\">// Hooks</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks = {};\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.beforePreview = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\t\t\t<span class=\"code-keyword\">this</span>.hooks.afterPreview = <span class=\"code-keyword\">new</span> Hook(<span class=\"code-keyword\">this</span>);\n","\n","\t\t\t<span class=\"code-comment\">// default size</span>\n","\t\t\t<span class=\"code-keyword\">this</span>.size = {\n","\t\t\t\twidth: {\n","\t\t\t\t\tvalue: <span class=\"code-number\">8.5</span>,\n","\t\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t\t},\n","\t\t\t\theight: {\n","\t\t\t\t\tvalue: <span class=\"code-number\">11</span>,\n","\t\t\t\t\tunit: <span class=\"code-string\">\"in\"</span>\n","\t\t\t\t},\n","\t\t\t\tformat: <span class=\"code-literal\">undefined</span>,\n","\t\t\t\torientation: <span class=\"code-literal\">undefined</span>\n","\t\t\t};\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.chunker.on(<span class=\"code-string\">\"page\"</span>, (page) => {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"page\"</span>, page);\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.chunker.on(<span class=\"code-string\">\"rendering\"</span>, () => {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"rendering\"</span>, <span class=\"code-keyword\">this</span>.chunker);\n","\t\t\t});\n","\t\t}\n","\n","\t\tinitializeHandlers() {\n","\t\t\t<span class=\"code-keyword\">let</span> handlers = initializeHandlers(<span class=\"code-keyword\">this</span>.chunker, <span class=\"code-keyword\">this</span>.polisher, <span class=\"code-keyword\">this</span>);\n","\n","\t\t\thandlers.on(<span class=\"code-string\">\"size\"</span>, (size) => {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.size = size;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"size\"</span>, size);\n","\t\t\t});\n","\n","\t\t\thandlers.on(<span class=\"code-string\">\"atpages\"</span>, (pages) => {\n","\t\t\t\t<span class=\"code-keyword\">this</span>.atpages = pages;\n","\t\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"atpages\"</span>, pages);\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> handlers;\n","\t\t}\n","\n","\t\tregisterHandlers() {\n","\t\t\t<span class=\"code-keyword\">return</span> registerHandlers.apply(registerHandlers, <span class=\"code-built_in\">arguments</span>);\n","\t\t}\n","\n","\t\tgetParams(name) {\n","\t\t\t<span class=\"code-keyword\">let</span> param;\n","\t\t\t<span class=\"code-keyword\">let</span> url = <span class=\"code-keyword\">new</span> URL(<span class=\"code-built_in\">window</span>.location);\n","\t\t\t<span class=\"code-keyword\">let</span> params = <span class=\"code-keyword\">new</span> URLSearchParams(url.search);\n","\t\t\t<span class=\"code-keyword\">for</span>(<span class=\"code-keyword\">var</span> pair <span class=\"code-keyword\">of</span> params.entries()) {\n","\t\t\t\t<span class=\"code-keyword\">if</span>(pair[<span class=\"code-number\">0</span>] === name) {\n","\t\t\t\t\tparam = pair[<span class=\"code-number\">1</span>];\n","\t\t\t\t}\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> param;\n","\t\t}\n","\n","\t\twrapContent() {\n","\t\t\t<span class=\"code-comment\">// Wrap body in template tag</span>\n","\t\t\t<span class=\"code-keyword\">let</span> body = <span class=\"code-built_in\">document</span>.querySelector(<span class=\"code-string\">\"body\"</span>);\n","\n","\t\t\t<span class=\"code-comment\">// Check if a template exists</span>\n","\t\t\t<span class=\"code-keyword\">let</span> template;\n","\t\t\ttemplate = body.querySelector(<span class=\"code-string\">\":scope > template[data-ref='pagedjs-content']\"</span>);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!template) {\n","\t\t\t\t<span class=\"code-comment\">// Otherwise create one</span>\n","\t\t\t\ttemplate = <span class=\"code-built_in\">document</span>.createElement(<span class=\"code-string\">\"template\"</span>);\n","\t\t\t\ttemplate.dataset.ref = <span class=\"code-string\">\"pagedjs-content\"</span>;\n","\t\t\t\ttemplate.innerHTML = body.innerHTML;\n","\t\t\t\tbody.innerHTML = <span class=\"code-string\">\"\"</span>;\n","\t\t\t\tbody.appendChild(template);\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">return</span> template.content;\n","\t\t}\n","\n","\t\tremoveStyles(doc=<span class=\"code-built_in\">document</span>) {\n","\t\t\t<span class=\"code-comment\">// Get all stylesheets</span>\n","\t\t\t<span class=\"code-keyword\">let</span> stylesheets = <span class=\"code-built_in\">Array</span>.from(doc.querySelectorAll(<span class=\"code-string\">\"link[rel='stylesheet']\"</span>));\n","\t\t\t<span class=\"code-keyword\">let</span> hrefs = stylesheets.map(<span class=\"code-function\">(<span class=\"code-params\">sheet</span>) =></span> {\n","\t\t\t\tsheet.remove();\n","\t\t\t\t<span class=\"code-keyword\">return</span> sheet.href;\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-comment\">// Get inline styles</span>\n","\t\t\t<span class=\"code-keyword\">let</span> inlineStyles = <span class=\"code-built_in\">Array</span>.from(doc.querySelectorAll(<span class=\"code-string\">\"style:not([data-pagedjs-inserted-styles])\"</span>));\n","\t\t\tinlineStyles.forEach(<span class=\"code-function\">(<span class=\"code-params\">inlineStyle</span>) =></span> {\n","\t\t\t\t<span class=\"code-keyword\">let</span> obj = {};\n","\t\t\t\tobj[<span class=\"code-built_in\">window</span>.location.href] = inlineStyle.textContent;\n","\t\t\t\threfs.push(obj);\n","\t\t\t\tinlineStyle.remove();\n","\t\t\t});\n","\n","\t\t\t<span class=\"code-keyword\">return</span> hrefs;\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">async</span> preview(content, stylesheets, renderTo) {\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.beforePreview.trigger(content, renderTo);\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!content) {\n","\t\t\t\tcontent = <span class=\"code-keyword\">this</span>.wrapContent();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">if</span> (!stylesheets) {\n","\t\t\t\tstylesheets = <span class=\"code-keyword\">this</span>.removeStyles();\n","\t\t\t}\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.polisher.setup();\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.handlers = <span class=\"code-keyword\">this</span>.initializeHandlers();\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.polisher.add(...stylesheets);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> startTime = performance.now();\n","\n","\t\t\t<span class=\"code-comment\">// Render flow</span>\n","\t\t\t<span class=\"code-keyword\">let</span> flow = <span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.chunker.flow(content, renderTo);\n","\n","\t\t\t<span class=\"code-keyword\">let</span> endTime = performance.now();\n","\n","\t\t\tflow.performance = (endTime - startTime);\n","\t\t\tflow.size = <span class=\"code-keyword\">this</span>.size;\n","\n","\t\t\t<span class=\"code-keyword\">this</span>.emit(<span class=\"code-string\">\"rendered\"</span>, flow);\n","\n","\t\t\t<span class=\"code-keyword\">await</span> <span class=\"code-keyword\">this</span>.hooks.afterPreview.trigger(flow.pages);\n","\n","\t\t\t<span class=\"code-keyword\">return</span> flow;\n","\t\t}\n","\t}\n","\n","\teventEmitter(Previewer.prototype);\n","\n","\t<span class=\"code-keyword\">var</span> Paged = <span class=\"code-comment\">/*#__PURE__*/</span><span class=\"code-built_in\">Object</span>.freeze({\n","\t\t__proto__: <span class=\"code-literal\">null</span>,\n","\t\tChunker: Chunker,\n","\t\tPolisher: Polisher,\n","\t\tPreviewer: Previewer,\n","\t\tHandler: Handler,\n","\t\tregisterHandlers: registerHandlers,\n","\t\tinitializeHandlers: initializeHandlers\n","\t});\n","\n","\t<span class=\"code-built_in\">window</span>.Paged = Paged;\n","\n","\t<span class=\"code-keyword\">let</span> ready = <span class=\"code-keyword\">new</span> <span class=\"code-built_in\">Promise</span>(<span class=\"code-function\"><span class=\"code-keyword\">function</span>(<span class=\"code-params\">resolve, reject</span>)</span>{\n","\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">document</span>.readyState === <span class=\"code-string\">\"interactive\"</span> || <span class=\"code-built_in\">document</span>.readyState === <span class=\"code-string\">\"complete\"</span>) {\n","\t\t\tresolve(<span class=\"code-built_in\">document</span>.readyState);\n","\t\t\t<span class=\"code-keyword\">return</span>;\n","\t\t}\n","\n","\t\t<span class=\"code-built_in\">document</span>.onreadystatechange = <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\">$</span>) </span>{\n","\t\t\t<span class=\"code-keyword\">if</span> (<span class=\"code-built_in\">document</span>.readyState === <span class=\"code-string\">\"interactive\"</span>) {\n","\t\t\t\tresolve(<span class=\"code-built_in\">document</span>.readyState);\n","\t\t\t}\n","\t\t};\n","\t});\n","\n","\t<span class=\"code-keyword\">let</span> config = <span class=\"code-built_in\">window</span>.PagedConfig || {\n","\t\tauto: <span class=\"code-literal\">true</span>,\n","\t\tbefore: <span class=\"code-literal\">undefined</span>,\n","\t\tafter: <span class=\"code-literal\">undefined</span>,\n","\t\tcontent: <span class=\"code-literal\">undefined</span>,\n","\t\tstylesheets: <span class=\"code-literal\">undefined</span>,\n","\t\trenderTo: <span class=\"code-literal\">undefined</span>,\n","\t\tsettings: <span class=\"code-literal\">undefined</span>\n","\t};\n","\n","\t<span class=\"code-keyword\">let</span> previewer = <span class=\"code-keyword\">new</span> Previewer(config.settings);\n","\n","\tready.then(<span class=\"code-keyword\">async</span> <span class=\"code-function\"><span class=\"code-keyword\">function</span> (<span class=\"code-params\"></span>) </span>{\n","\t\t<span class=\"code-keyword\">let</span> done;\n","\t\t<span class=\"code-keyword\">if</span> (config.before) {\n","\t\t\t<span class=\"code-keyword\">await</span> config.before();\n","\t\t}\n","\n","\t\t<span class=\"code-keyword\">if</span>(config.auto !== <span class=\"code-literal\">false</span>) {\n","\t\t\tdone = <span class=\"code-keyword\">await</span> previewer.preview(config.content, config.stylesheets, config.renderTo);\n","\t\t}\n","\n","\n","\t\t<span class=\"code-keyword\">if</span> (config.after) {\n","\t\t\t<span class=\"code-keyword\">await</span> config.after(done);\n","\t\t}\n","\t});\n","\n","\t<span class=\"code-keyword\">return</span> previewer;\n","\n","})));\n",""]}}}</script></head><body><div id="root"><style data-emotion-css="gtfibm">html{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}html,body,#root{height:100%;margin:0;}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size:16px;line-height:1.5;overflow-wrap:break-word;background:white;color:black;}code{font-family:Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;}th,td{padding:0;}select{font-size:inherit;}#root{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}</style><style data-emotion-css="1r6h1r6">.code-listing{background:#fbfdff;color:#383a42;}.code-comment,.code-quote{color:#a0a1a7;font-style:italic;}.code-doctag,.code-keyword,.code-link,.code-formula{color:#a626a4;}.code-section,.code-name,.code-selector-tag,.code-deletion,.code-subst{color:#e45649;}.code-literal{color:#0184bb;}.code-string,.code-regexp,.code-addition,.code-attribute,.code-meta-string{color:#50a14f;}.code-built_in,.code-class .code-title{color:#c18401;}.code-attr,.code-variable,.code-template-variable,.code-type,.code-selector-class,.code-selector-attr,.code-selector-pseudo,.code-number{color:#986801;}.code-symbol,.code-bullet,.code-meta,.code-selector-id,.code-title{color:#4078f2;}.code-emphasis{font-style:italic;}.code-strong{font-weight:bold;}</style><style data-emotion-css="1c3h18e">.css-1c3h18e{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}</style><div class="css-1c3h18e"><style data-emotion-css="1cfuj1t">.css-1cfuj1t{max-width:940px;padding:0 20px;margin:0 auto;}</style><div class="css-1cfuj1t"><style data-emotion-css="i51og3">.css-i51og3{margin-top:2rem;}</style><header class="css-i51og3"><style data-emotion-css="1y7u1xh">.css-1y7u1xh{text-align:center;font-size:3rem;-webkit-letter-spacing:0.05em;-moz-letter-spacing:0.05em;-ms-letter-spacing:0.05em;letter-spacing:0.05em;}</style><h1 class="css-1y7u1xh"><style data-emotion-css="1ydg16i">.css-1ydg16i{color:#000;-webkit-text-decoration:none;text-decoration:none;}</style><a href="/" class="css-1ydg16i">UNPKG</a></h1></header></div><div class="css-1cfuj1t"><style data-emotion-css="93o42g">.css-93o42g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (max-width:700px){.css-93o42g{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}}</style><header class="css-93o42g"><style data-emotion-css="1dlpvgi">.css-1dlpvgi{font-size:1.5rem;font-weight:normal;-webkit-flex:1;-ms-flex:1;flex:1;word-break:break-all;}</style><h1 class="css-1dlpvgi"><nav><style data-emotion-css="xt128v">.css-xt128v{color:#0076ff;-webkit-text-decoration:none;text-decoration:none;}.css-xt128v:hover{-webkit-text-decoration:underline;text-decoration:underline;}</style><a href="/browse/pagedjs@0.1.43/" class="css-xt128v">pagedjs</a><style data-emotion-css="lllnmq">.css-lllnmq{padding-left:5px;padding-right:5px;}</style><span class="css-lllnmq">/</span><a href="/browse/pagedjs@0.1.43/dist/" class="css-xt128v">dist</a><span class="css-lllnmq">/</span><strong>paged.polyfill.js</strong></nav></h1><style data-emotion-css="1nr3dab">.css-1nr3dab{margin-left:20px;}@media (max-width:700px){.css-1nr3dab{margin-left:0;margin-bottom:0;}}</style><p class="css-1nr3dab"><label>Version:<!-- --> <style data-emotion-css="un3bt6">.css-un3bt6{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding:4px 24px 4px 8px;font-weight:600;font-size:0.9em;color:#24292e;border:1px solid rgba(27,31,35,.2);border-radius:3px;background-color:#eff3f6;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAAAXNSR0IArs4c6QAAARFJREFUKBVjZAACNS39RhBNKrh17WI9o4quoT3Dn78HSNUMUs/CzOTI/O7Vi4dCYpJ3/jP+92BkYGAlyiBGhm8MjIxJt65e3MQM0vDu9YvLYmISILYZELOBxHABRkaGr0yMzF23r12YDFIDNgDEePv65SEhEXENBkYGFSAXuyGMjF8Z/jOsvX3tYiFIDwgwQSgIaaijnvj/P8M5IO8HsjiY/f//D4b//88A1SQhywG9jQr09PS4v/1mPAeUUPzP8B8cJowMjL+Bqu6xMQmaXL164AuyDgwDQJLa2qYSP//9vARkCoMVMzK8YeVkNbh+9uxzMB+JwGoASF5Vx0jz/98/18BqmZi171w9D2EjaaYKEwAEK00XQLdJuwAAAABJRU5ErkJggg==);background-position:right 8px center;background-repeat:no-repeat;background-size:auto 25%;}.css-un3bt6:hover{background-color:#e6ebf1;border-color:rgba(27,31,35,.35);}.css-un3bt6:active{background-color:#e9ecef;border-color:rgba(27,31,35,.35);box-shadow:inset 0 0.15em 0.3em rgba(27,31,35,.15);}</style><select name="version" class="css-un3bt6"><option value="0.0.1">0.0.1</option><option value="0.0.2">0.0.2</option><option value="0.0.3">0.0.3</option><option value="0.0.4">0.0.4</option><option value="0.1.0">0.1.0</option><option value="0.1.1">0.1.1</option><option value="0.1.2">0.1.2</option><option value="0.1.4">0.1.4</option><option value="0.1.5">0.1.5</option><option value="0.1.6">0.1.6</option><option value="0.1.7">0.1.7</option><option value="0.1.8">0.1.8</option><option value="0.1.9">0.1.9</option><option value="0.1.10">0.1.10</option><option value="0.1.11">0.1.11</option><option value="0.1.12">0.1.12</option><option value="0.1.13">0.1.13</option><option value="0.1.14">0.1.14</option><option value="0.1.15">0.1.15</option><option value="0.1.16">0.1.16</option><option value="0.1.17">0.1.17</option><option value="0.1.18">0.1.18</option><option value="0.1.19">0.1.19</option><option value="0.1.20">0.1.20</option><option value="0.1.21">0.1.21</option><option value="0.1.22">0.1.22</option><option value="0.1.23">0.1.23</option><option value="0.1.24">0.1.24</option><option value="0.1.25">0.1.25</option><option value="0.1.26">0.1.26</option><option value="0.1.27">0.1.27</option><option value="0.1.28">0.1.28</option><option value="0.1.29">0.1.29</option><option value="0.1.30">0.1.30</option><option value="0.1.31">0.1.31</option><option value="0.1.32">0.1.32</option><option value="0.1.33">0.1.33</option><option value="0.1.34">0.1.34</option><option value="0.1.35">0.1.35</option><option value="0.1.37">0.1.37</option><option value="0.1.38">0.1.38</option><option value="0.1.39">0.1.39</option><option value="0.1.40">0.1.40</option><option value="0.1.41">0.1.41</option><option value="0.1.42">0.1.42</option><option selected="" value="0.1.43">0.1.43</option></select></label></p></header></div><style data-emotion-css="107j3ms">.css-107j3ms{max-width:940px;padding:0 20px;margin:0 auto;}@media (max-width:700px){.css-107j3ms{padding:0;margin:0;}}</style><div class="css-107j3ms"><style data-emotion-css="q3frg4">.css-q3frg4{border:1px solid #dfe2e5;border-radius:3px;}@media (max-width:700px){.css-q3frg4{border-right-width:0;border-left-width:0;}}</style><div class="css-q3frg4"><style data-emotion-css="10o5omr">.css-10o5omr{padding:10px;background:#f6f8fa;color:#424242;border:1px solid #d1d5da;border-top-left-radius:3px;border-top-right-radius:3px;margin:-1px -1px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}@media (max-width:700px){.css-10o5omr{padding-right:20px;padding-left:20px;}}</style><div class="css-10o5omr"><span>859 kB</span><span>JavaScript</span><span><style data-emotion-css="18x593j">.css-18x593j{display:inline-block;margin-left:8px;padding:2px 8px;-webkit-text-decoration:none;text-decoration:none;font-weight:600;font-size:0.9rem;color:#24292e;background-color:#eff3f6;border:1px solid rgba(27,31,35,.2);border-radius:3px;}.css-18x593j:hover{background-color:#e6ebf1;border-color:rgba(27,31,35,.35);}.css-18x593j:active{background-color:#e9ecef;border-color:rgba(27,31,35,.35);box-shadow:inset 0 0.15em 0.3em rgba(27,31,35,.15);}</style><a href="/pagedjs@0.1.43/dist/paged.polyfill.js" class="css-18x593j">View Raw</a></span></div><style data-emotion-css="1i31ihw">.css-1i31ihw{overflow-x:auto;overflow-y:hidden;padding-top:5px;padding-bottom:5px;}</style><div class="code-listing css-1i31ihw"><style data-emotion-css="173nir8">.css-173nir8{border:none;border-collapse:collapse;border-spacing:0;}</style><table class="css-173nir8"><tbody><tr><style data-emotion-css="a4x74f">.css-a4x74f{padding-left:10px;padding-right:10px;color:rgba(27,31,35,.3);text-align:right;vertical-align:top;width:1%;min-width:50px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><td id="L1" class="css-a4x74f"><span>1</span></td><style data-emotion-css="1dcdqdg">.css-1dcdqdg{padding-left:10px;padding-right:10px;color:#24292e;white-space:pre;}</style><td id="LC1" class="css-1dcdqdg"><code><span class="code-comment">/** </span></code></td></tr><tr><td id="L2" class="css-a4x74f"><span>2</span></td><td id="LC2" class="css-1dcdqdg"><code><span class="code-comment"> * @license Paged.js v0.1.43 | MIT | https://gitlab.pagedmedia.org/tools/pagedjs </span></code></td></tr><tr><td id="L3" class="css-a4x74f"><span>3</span></td><td id="LC3" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L4" class="css-a4x74f"><span>4</span></td><td id="LC4" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5" class="css-a4x74f"><span>5</span></td><td id="LC5" class="css-1dcdqdg"><code>(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">global, factory</span>) </span>{ </code></td></tr><tr><td id="L6" class="css-a4x74f"><span>6</span></td><td id="LC6" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> exports === <span class="code-string">'object'</span> && <span class="code-keyword">typeof</span> <span class="code-built_in">module</span> !== <span class="code-string">'undefined'</span> ? <span class="code-built_in">module</span>.exports = factory() : </code></td></tr><tr><td id="L7" class="css-a4x74f"><span>7</span></td><td id="LC7" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> define === <span class="code-string">'function'</span> && define.amd ? define(factory) : </code></td></tr><tr><td id="L8" class="css-a4x74f"><span>8</span></td><td id="LC8" class="css-1dcdqdg"><code> (global = global || self, global.PagedPolyfill = factory()); </code></td></tr><tr><td id="L9" class="css-a4x74f"><span>9</span></td><td id="LC9" class="css-1dcdqdg"><code>}(<span class="code-keyword">this</span>, (<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ <span class="code-string">'use strict'</span>; </code></td></tr><tr><td id="L10" class="css-a4x74f"><span>10</span></td><td id="LC10" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11" class="css-a4x74f"><span>11</span></td><td id="LC11" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createCommonjsModule</span>(<span class="code-params">fn, module</span>) </span>{ </code></td></tr><tr><td id="L12" class="css-a4x74f"><span>12</span></td><td id="LC12" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">module</span> = { <span class="code-attr">exports</span>: {} }, fn(<span class="code-built_in">module</span>, <span class="code-built_in">module</span>.exports), <span class="code-built_in">module</span>.exports; </code></td></tr><tr><td id="L13" class="css-a4x74f"><span>13</span></td><td id="LC13" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L14" class="css-a4x74f"><span>14</span></td><td id="LC14" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L15" class="css-a4x74f"><span>15</span></td><td id="LC15" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getCjsExportFromNamespace</span> (<span class="code-params">n</span>) </span>{ </code></td></tr><tr><td id="L16" class="css-a4x74f"><span>16</span></td><td id="LC16" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> n && n[<span class="code-string">'default'</span>] || n; </code></td></tr><tr><td id="L17" class="css-a4x74f"><span>17</span></td><td id="LC17" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L18" class="css-a4x74f"><span>18</span></td><td id="LC18" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L19" class="css-a4x74f"><span>19</span></td><td id="LC19" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L20" class="css-a4x74f"><span>20</span></td><td id="LC20" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> assign = <span class="code-built_in">Object</span>.assign, obj; </code></td></tr><tr><td id="L21" class="css-a4x74f"><span>21</span></td><td id="LC21" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> assign !== <span class="code-string">"function"</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22" class="css-a4x74f"><span>22</span></td><td id="LC22" class="css-1dcdqdg"><code> obj = { <span class="code-attr">foo</span>: <span class="code-string">"raz"</span> }; </code></td></tr><tr><td id="L23" class="css-a4x74f"><span>23</span></td><td id="LC23" class="css-1dcdqdg"><code> assign(obj, { <span class="code-attr">bar</span>: <span class="code-string">"dwa"</span> }, { <span class="code-attr">trzy</span>: <span class="code-string">"trzy"</span> }); </code></td></tr><tr><td id="L24" class="css-a4x74f"><span>24</span></td><td id="LC24" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (obj.foo + obj.bar + obj.trzy) === <span class="code-string">"razdwatrzy"</span>; </code></td></tr><tr><td id="L25" class="css-a4x74f"><span>25</span></td><td id="LC25" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26" class="css-a4x74f"><span>26</span></td><td id="LC26" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27" class="css-a4x74f"><span>27</span></td><td id="LC27" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L28" class="css-a4x74f"><span>28</span></td><td id="LC28" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L29" class="css-a4x74f"><span>29</span></td><td id="LC29" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(<span class="code-string">"primitive"</span>); </code></td></tr><tr><td id="L30" class="css-a4x74f"><span>30</span></td><td id="LC30" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L31" class="css-a4x74f"><span>31</span></td><td id="LC31" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L32" class="css-a4x74f"><span>32</span></td><td id="LC32" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L33" class="css-a4x74f"><span>33</span></td><td id="LC33" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L34" class="css-a4x74f"><span>34</span></td><td id="LC34" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L35" class="css-a4x74f"><span>35</span></td><td id="LC35" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L36" class="css-a4x74f"><span>36</span></td><td id="LC36" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line no-empty-function</span> </code></td></tr><tr><td id="L37" class="css-a4x74f"><span>37</span></td><td id="LC37" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> noop = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{}; </code></td></tr><tr><td id="L38" class="css-a4x74f"><span>38</span></td><td id="LC38" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L39" class="css-a4x74f"><span>39</span></td><td id="LC39" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _undefined = noop(); <span class="code-comment">// Support ES3 engines</span> </code></td></tr><tr><td id="L40" class="css-a4x74f"><span>40</span></td><td id="LC40" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L41" class="css-a4x74f"><span>41</span></td><td id="LC41" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isValue = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">val</span>) </span>{ </code></td></tr><tr><td id="L42" class="css-a4x74f"><span>42</span></td><td id="LC42" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (val !== _undefined) && (val !== <span class="code-literal">null</span>); </code></td></tr><tr><td id="L43" class="css-a4x74f"><span>43</span></td><td id="LC43" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L44" class="css-a4x74f"><span>44</span></td><td id="LC44" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L45" class="css-a4x74f"><span>45</span></td><td id="LC45" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> keys = <span class="code-built_in">Object</span>.keys; </code></td></tr><tr><td id="L46" class="css-a4x74f"><span>46</span></td><td id="LC46" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L47" class="css-a4x74f"><span>47</span></td><td id="LC47" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">object</span>) </span>{ </code></td></tr><tr><td id="L48" class="css-a4x74f"><span>48</span></td><td id="LC48" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> keys(isValue(object) ? <span class="code-built_in">Object</span>(object) : object); </code></td></tr><tr><td id="L49" class="css-a4x74f"><span>49</span></td><td id="LC49" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L50" class="css-a4x74f"><span>50</span></td><td id="LC50" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L51" class="css-a4x74f"><span>51</span></td><td id="LC51" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> keys$<span class="code-number">1</span> = isImplemented$<span class="code-number">1</span>() </code></td></tr><tr><td id="L52" class="css-a4x74f"><span>52</span></td><td id="LC52" class="css-1dcdqdg"><code> ? <span class="code-built_in">Object</span>.keys </code></td></tr><tr><td id="L53" class="css-a4x74f"><span>53</span></td><td id="LC53" class="css-1dcdqdg"><code> : shim; </code></td></tr><tr><td id="L54" class="css-a4x74f"><span>54</span></td><td id="LC54" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L55" class="css-a4x74f"><span>55</span></td><td id="LC55" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> validValue = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L56" class="css-a4x74f"><span>56</span></td><td id="LC56" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isValue(value)) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(<span class="code-string">"Cannot use null or undefined"</span>); </code></td></tr><tr><td id="L57" class="css-a4x74f"><span>57</span></td><td id="LC57" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L58" class="css-a4x74f"><span>58</span></td><td id="LC58" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L59" class="css-a4x74f"><span>59</span></td><td id="LC59" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L60" class="css-a4x74f"><span>60</span></td><td id="LC60" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> max = <span class="code-built_in">Math</span>.max; </code></td></tr><tr><td id="L61" class="css-a4x74f"><span>61</span></td><td id="LC61" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L62" class="css-a4x74f"><span>62</span></td><td id="LC62" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">dest, src <span class="code-regexp">/*, …srcn*/</span></span>) </span>{ </code></td></tr><tr><td id="L63" class="css-a4x74f"><span>63</span></td><td id="LC63" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error, i, length = max(<span class="code-built_in">arguments</span>.length, <span class="code-number">2</span>), assign; </code></td></tr><tr><td id="L64" class="css-a4x74f"><span>64</span></td><td id="LC64" class="css-1dcdqdg"><code> dest = <span class="code-built_in">Object</span>(validValue(dest)); </code></td></tr><tr><td id="L65" class="css-a4x74f"><span>65</span></td><td id="LC65" class="css-1dcdqdg"><code> assign = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">key</span>) </span>{ </code></td></tr><tr><td id="L66" class="css-a4x74f"><span>66</span></td><td id="LC66" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L67" class="css-a4x74f"><span>67</span></td><td id="LC67" class="css-1dcdqdg"><code> dest[key] = src[key]; </code></td></tr><tr><td id="L68" class="css-a4x74f"><span>68</span></td><td id="LC68" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L69" class="css-a4x74f"><span>69</span></td><td id="LC69" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!error) error = e; </code></td></tr><tr><td id="L70" class="css-a4x74f"><span>70</span></td><td id="LC70" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L71" class="css-a4x74f"><span>71</span></td><td id="LC71" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L72" class="css-a4x74f"><span>72</span></td><td id="LC72" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">1</span>; i < length; ++i) { </code></td></tr><tr><td id="L73" class="css-a4x74f"><span>73</span></td><td id="LC73" class="css-1dcdqdg"><code> src = <span class="code-built_in">arguments</span>[i]; </code></td></tr><tr><td id="L74" class="css-a4x74f"><span>74</span></td><td id="LC74" class="css-1dcdqdg"><code> keys$<span class="code-number">1</span>(src).forEach(assign); </code></td></tr><tr><td id="L75" class="css-a4x74f"><span>75</span></td><td id="LC75" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L76" class="css-a4x74f"><span>76</span></td><td id="LC76" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (error !== <span class="code-literal">undefined</span>) <span class="code-keyword">throw</span> error; </code></td></tr><tr><td id="L77" class="css-a4x74f"><span>77</span></td><td id="LC77" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> dest; </code></td></tr><tr><td id="L78" class="css-a4x74f"><span>78</span></td><td id="LC78" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L79" class="css-a4x74f"><span>79</span></td><td id="LC79" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L80" class="css-a4x74f"><span>80</span></td><td id="LC80" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> assign = isImplemented() </code></td></tr><tr><td id="L81" class="css-a4x74f"><span>81</span></td><td id="LC81" class="css-1dcdqdg"><code> ? <span class="code-built_in">Object</span>.assign </code></td></tr><tr><td id="L82" class="css-a4x74f"><span>82</span></td><td id="LC82" class="css-1dcdqdg"><code> : shim$<span class="code-number">1</span>; </code></td></tr><tr><td id="L83" class="css-a4x74f"><span>83</span></td><td id="LC83" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L84" class="css-a4x74f"><span>84</span></td><td id="LC84" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> forEach = <span class="code-built_in">Array</span>.prototype.forEach, create = <span class="code-built_in">Object</span>.create; </code></td></tr><tr><td id="L85" class="css-a4x74f"><span>85</span></td><td id="LC85" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L86" class="css-a4x74f"><span>86</span></td><td id="LC86" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> process = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">src, obj</span>) </span>{ </code></td></tr><tr><td id="L87" class="css-a4x74f"><span>87</span></td><td id="LC87" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> key; </code></td></tr><tr><td id="L88" class="css-a4x74f"><span>88</span></td><td id="LC88" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (key <span class="code-keyword">in</span> src) obj[key] = src[key]; </code></td></tr><tr><td id="L89" class="css-a4x74f"><span>89</span></td><td id="LC89" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L90" class="css-a4x74f"><span>90</span></td><td id="LC90" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L91" class="css-a4x74f"><span>91</span></td><td id="LC91" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line no-unused-vars</span> </code></td></tr><tr><td id="L92" class="css-a4x74f"><span>92</span></td><td id="LC92" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> normalizeOptions = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">opts1 <span class="code-regexp">/*, …options*/</span></span>) </span>{ </code></td></tr><tr><td id="L93" class="css-a4x74f"><span>93</span></td><td id="LC93" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L94" class="css-a4x74f"><span>94</span></td><td id="LC94" class="css-1dcdqdg"><code> forEach.call(<span class="code-built_in">arguments</span>, <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">options</span>) </span>{ </code></td></tr><tr><td id="L95" class="css-a4x74f"><span>95</span></td><td id="LC95" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isValue(options)) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L96" class="css-a4x74f"><span>96</span></td><td id="LC96" class="css-1dcdqdg"><code> process(<span class="code-built_in">Object</span>(options), result); </code></td></tr><tr><td id="L97" class="css-a4x74f"><span>97</span></td><td id="LC97" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L98" class="css-a4x74f"><span>98</span></td><td id="LC98" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L99" class="css-a4x74f"><span>99</span></td><td id="LC99" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L100" class="css-a4x74f"><span>100</span></td><td id="LC100" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L101" class="css-a4x74f"><span>101</span></td><td id="LC101" class="css-1dcdqdg"><code> <span class="code-comment">// Deprecated</span> </code></td></tr><tr><td id="L102" class="css-a4x74f"><span>102</span></td><td id="LC102" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L103" class="css-a4x74f"><span>103</span></td><td id="LC103" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isCallable = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">obj</span>) </span>{ </code></td></tr><tr><td id="L104" class="css-a4x74f"><span>104</span></td><td id="LC104" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">typeof</span> obj === <span class="code-string">"function"</span>; </code></td></tr><tr><td id="L105" class="css-a4x74f"><span>105</span></td><td id="LC105" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L106" class="css-a4x74f"><span>106</span></td><td id="LC106" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L107" class="css-a4x74f"><span>107</span></td><td id="LC107" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> str = <span class="code-string">"razdwatrzy"</span>; </code></td></tr><tr><td id="L108" class="css-a4x74f"><span>108</span></td><td id="LC108" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L109" class="css-a4x74f"><span>109</span></td><td id="LC109" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">2</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L110" class="css-a4x74f"><span>110</span></td><td id="LC110" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> str.contains !== <span class="code-string">"function"</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L111" class="css-a4x74f"><span>111</span></td><td id="LC111" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (str.contains(<span class="code-string">"dwa"</span>) === <span class="code-literal">true</span>) && (str.contains(<span class="code-string">"foo"</span>) === <span class="code-literal">false</span>); </code></td></tr><tr><td id="L112" class="css-a4x74f"><span>112</span></td><td id="LC112" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L113" class="css-a4x74f"><span>113</span></td><td id="LC113" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L114" class="css-a4x74f"><span>114</span></td><td id="LC114" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> indexOf = <span class="code-built_in">String</span>.prototype.indexOf; </code></td></tr><tr><td id="L115" class="css-a4x74f"><span>115</span></td><td id="LC115" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L116" class="css-a4x74f"><span>116</span></td><td id="LC116" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim$<span class="code-number">2</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">searchString<span class="code-regexp">/*, position*/</span></span>) </span>{ </code></td></tr><tr><td id="L117" class="css-a4x74f"><span>117</span></td><td id="LC117" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> indexOf.call(<span class="code-keyword">this</span>, searchString, <span class="code-built_in">arguments</span>[<span class="code-number">1</span>]) > <span class="code-number">-1</span>; </code></td></tr><tr><td id="L118" class="css-a4x74f"><span>118</span></td><td id="LC118" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L119" class="css-a4x74f"><span>119</span></td><td id="LC119" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L120" class="css-a4x74f"><span>120</span></td><td id="LC120" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> contains = isImplemented$<span class="code-number">2</span>() </code></td></tr><tr><td id="L121" class="css-a4x74f"><span>121</span></td><td id="LC121" class="css-1dcdqdg"><code> ? <span class="code-built_in">String</span>.prototype.contains </code></td></tr><tr><td id="L122" class="css-a4x74f"><span>122</span></td><td id="LC122" class="css-1dcdqdg"><code> : shim$<span class="code-number">2</span>; </code></td></tr><tr><td id="L123" class="css-a4x74f"><span>123</span></td><td id="LC123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L124" class="css-a4x74f"><span>124</span></td><td id="LC124" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> d_1 = createCommonjsModule(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">module</span>) </span>{ </code></td></tr><tr><td id="L125" class="css-a4x74f"><span>125</span></td><td id="LC125" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L126" class="css-a4x74f"><span>126</span></td><td id="LC126" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> d; </code></td></tr><tr><td id="L127" class="css-a4x74f"><span>127</span></td><td id="LC127" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L128" class="css-a4x74f"><span>128</span></td><td id="LC128" class="css-1dcdqdg"><code> d = <span class="code-built_in">module</span>.exports = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">dscr, value<span class="code-regexp">/*, options*/</span></span>) </span>{ </code></td></tr><tr><td id="L129" class="css-a4x74f"><span>129</span></td><td id="LC129" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> c, e, w, options, desc; </code></td></tr><tr><td id="L130" class="css-a4x74f"><span>130</span></td><td id="LC130" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((<span class="code-built_in">arguments</span>.length < <span class="code-number">2</span>) || (<span class="code-keyword">typeof</span> dscr !== <span class="code-string">'string'</span>)) { </code></td></tr><tr><td id="L131" class="css-a4x74f"><span>131</span></td><td id="LC131" class="css-1dcdqdg"><code> options = value; </code></td></tr><tr><td id="L132" class="css-a4x74f"><span>132</span></td><td id="LC132" class="css-1dcdqdg"><code> value = dscr; </code></td></tr><tr><td id="L133" class="css-a4x74f"><span>133</span></td><td id="LC133" class="css-1dcdqdg"><code> dscr = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L134" class="css-a4x74f"><span>134</span></td><td id="LC134" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L135" class="css-a4x74f"><span>135</span></td><td id="LC135" class="css-1dcdqdg"><code> options = <span class="code-built_in">arguments</span>[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L136" class="css-a4x74f"><span>136</span></td><td id="LC136" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L137" class="css-a4x74f"><span>137</span></td><td id="LC137" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (dscr == <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L138" class="css-a4x74f"><span>138</span></td><td id="LC138" class="css-1dcdqdg"><code> c = w = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L139" class="css-a4x74f"><span>139</span></td><td id="LC139" class="css-1dcdqdg"><code> e = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L140" class="css-a4x74f"><span>140</span></td><td id="LC140" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L141" class="css-a4x74f"><span>141</span></td><td id="LC141" class="css-1dcdqdg"><code> c = contains.call(dscr, <span class="code-string">'c'</span>); </code></td></tr><tr><td id="L142" class="css-a4x74f"><span>142</span></td><td id="LC142" class="css-1dcdqdg"><code> e = contains.call(dscr, <span class="code-string">'e'</span>); </code></td></tr><tr><td id="L143" class="css-a4x74f"><span>143</span></td><td id="LC143" class="css-1dcdqdg"><code> w = contains.call(dscr, <span class="code-string">'w'</span>); </code></td></tr><tr><td id="L144" class="css-a4x74f"><span>144</span></td><td id="LC144" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L145" class="css-a4x74f"><span>145</span></td><td id="LC145" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L146" class="css-a4x74f"><span>146</span></td><td id="LC146" class="css-1dcdqdg"><code> desc = { <span class="code-attr">value</span>: value, <span class="code-attr">configurable</span>: c, <span class="code-attr">enumerable</span>: e, <span class="code-attr">writable</span>: w }; </code></td></tr><tr><td id="L147" class="css-a4x74f"><span>147</span></td><td id="LC147" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !options ? desc : assign(normalizeOptions(options), desc); </code></td></tr><tr><td id="L148" class="css-a4x74f"><span>148</span></td><td id="LC148" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L149" class="css-a4x74f"><span>149</span></td><td id="LC149" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L150" class="css-a4x74f"><span>150</span></td><td id="LC150" class="css-1dcdqdg"><code> d.gs = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">dscr, get, set<span class="code-regexp">/*, options*/</span></span>) </span>{ </code></td></tr><tr><td id="L151" class="css-a4x74f"><span>151</span></td><td id="LC151" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> c, e, options, desc; </code></td></tr><tr><td id="L152" class="css-a4x74f"><span>152</span></td><td id="LC152" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> dscr !== <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L153" class="css-a4x74f"><span>153</span></td><td id="LC153" class="css-1dcdqdg"><code> options = <span class="code-keyword">set</span>; </code></td></tr><tr><td id="L154" class="css-a4x74f"><span>154</span></td><td id="LC154" class="css-1dcdqdg"><code> <span class="code-keyword">set</span> = <span class="code-keyword">get</span>; </code></td></tr><tr><td id="L155" class="css-a4x74f"><span>155</span></td><td id="LC155" class="css-1dcdqdg"><code> <span class="code-keyword">get</span> = dscr; </code></td></tr><tr><td id="L156" class="css-a4x74f"><span>156</span></td><td id="LC156" class="css-1dcdqdg"><code> dscr = null; </code></td></tr><tr><td id="L157" class="css-a4x74f"><span>157</span></td><td id="LC157" class="css-1dcdqdg"><code> } else { </code></td></tr><tr><td id="L158" class="css-a4x74f"><span>158</span></td><td id="LC158" class="css-1dcdqdg"><code> options = <span class="code-built_in">arguments</span>[<span class="code-number">3</span>]; </code></td></tr><tr><td id="L159" class="css-a4x74f"><span>159</span></td><td id="LC159" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L160" class="css-a4x74f"><span>160</span></td><td id="LC160" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">get</span> == null) { </code></td></tr><tr><td id="L161" class="css-a4x74f"><span>161</span></td><td id="LC161" class="css-1dcdqdg"><code> <span class="code-keyword">get</span> = undefined; </code></td></tr><tr><td id="L162" class="css-a4x74f"><span>162</span></td><td id="LC162" class="css-1dcdqdg"><code> } else if (!isCallable(<span class="code-keyword">get</span>)) { </code></td></tr><tr><td id="L163" class="css-a4x74f"><span>163</span></td><td id="LC163" class="css-1dcdqdg"><code> options = <span class="code-keyword">get</span>; </code></td></tr><tr><td id="L164" class="css-a4x74f"><span>164</span></td><td id="LC164" class="css-1dcdqdg"><code> <span class="code-keyword">get</span> = <span class="code-keyword">set</span> = undefined; </code></td></tr><tr><td id="L165" class="css-a4x74f"><span>165</span></td><td id="LC165" class="css-1dcdqdg"><code> } else if (<span class="code-keyword">set</span> == null) { </code></td></tr><tr><td id="L166" class="css-a4x74f"><span>166</span></td><td id="LC166" class="css-1dcdqdg"><code> <span class="code-keyword">set</span> = undefined; </code></td></tr><tr><td id="L167" class="css-a4x74f"><span>167</span></td><td id="LC167" class="css-1dcdqdg"><code> } else if (!isCallable(<span class="code-keyword">set</span>)) { </code></td></tr><tr><td id="L168" class="css-a4x74f"><span>168</span></td><td id="LC168" class="css-1dcdqdg"><code> options = <span class="code-keyword">set</span>; </code></td></tr><tr><td id="L169" class="css-a4x74f"><span>169</span></td><td id="LC169" class="css-1dcdqdg"><code> <span class="code-keyword">set</span> = undefined; </code></td></tr><tr><td id="L170" class="css-a4x74f"><span>170</span></td><td id="LC170" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L171" class="css-a4x74f"><span>171</span></td><td id="LC171" class="css-1dcdqdg"><code> if (dscr == null) { </code></td></tr><tr><td id="L172" class="css-a4x74f"><span>172</span></td><td id="LC172" class="css-1dcdqdg"><code> c = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L173" class="css-a4x74f"><span>173</span></td><td id="LC173" class="css-1dcdqdg"><code> e = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L174" class="css-a4x74f"><span>174</span></td><td id="LC174" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L175" class="css-a4x74f"><span>175</span></td><td id="LC175" class="css-1dcdqdg"><code> c = contains.call(dscr, <span class="code-string">'c'</span>); </code></td></tr><tr><td id="L176" class="css-a4x74f"><span>176</span></td><td id="LC176" class="css-1dcdqdg"><code> e = contains.call(dscr, <span class="code-string">'e'</span>); </code></td></tr><tr><td id="L177" class="css-a4x74f"><span>177</span></td><td id="LC177" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L178" class="css-a4x74f"><span>178</span></td><td id="LC178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L179" class="css-a4x74f"><span>179</span></td><td id="LC179" class="css-1dcdqdg"><code> desc = { <span class="code-attr">get</span>: <span class="code-keyword">get</span>, <span class="code-keyword">set</span>: <span class="code-keyword">set</span>, configurable: c, enumerable: e }; </code></td></tr><tr><td id="L180" class="css-a4x74f"><span>180</span></td><td id="LC180" class="css-1dcdqdg"><code> return !options ? desc : assign(normalizeOptions(options), desc); </code></td></tr><tr><td id="L181" class="css-a4x74f"><span>181</span></td><td id="LC181" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L182" class="css-a4x74f"><span>182</span></td><td id="LC182" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L183" class="css-a4x74f"><span>183</span></td><td id="LC183" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L184" class="css-a4x74f"><span>184</span></td><td id="LC184" class="css-1dcdqdg"><code> var validCallable = function (fn) { </code></td></tr><tr><td id="L185" class="css-a4x74f"><span>185</span></td><td id="LC185" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> fn !== <span class="code-string">"function"</span>) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(fn + <span class="code-string">" is not a function"</span>); </code></td></tr><tr><td id="L186" class="css-a4x74f"><span>186</span></td><td id="LC186" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fn; </code></td></tr><tr><td id="L187" class="css-a4x74f"><span>187</span></td><td id="LC187" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L188" class="css-a4x74f"><span>188</span></td><td id="LC188" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L189" class="css-a4x74f"><span>189</span></td><td id="LC189" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> eventEmitter = createCommonjsModule(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">module, exports</span>) </span>{ </code></td></tr><tr><td id="L190" class="css-a4x74f"><span>190</span></td><td id="LC190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L191" class="css-a4x74f"><span>191</span></td><td id="LC191" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> apply = <span class="code-built_in">Function</span>.prototype.apply, call = <span class="code-built_in">Function</span>.prototype.call </code></td></tr><tr><td id="L192" class="css-a4x74f"><span>192</span></td><td id="LC192" class="css-1dcdqdg"><code> , create = <span class="code-built_in">Object</span>.create, defineProperty = <span class="code-built_in">Object</span>.defineProperty </code></td></tr><tr><td id="L193" class="css-a4x74f"><span>193</span></td><td id="LC193" class="css-1dcdqdg"><code> , defineProperties = <span class="code-built_in">Object</span>.defineProperties </code></td></tr><tr><td id="L194" class="css-a4x74f"><span>194</span></td><td id="LC194" class="css-1dcdqdg"><code> , hasOwnProperty = <span class="code-built_in">Object</span>.prototype.hasOwnProperty </code></td></tr><tr><td id="L195" class="css-a4x74f"><span>195</span></td><td id="LC195" class="css-1dcdqdg"><code> , descriptor = { <span class="code-attr">configurable</span>: <span class="code-literal">true</span>, <span class="code-attr">enumerable</span>: <span class="code-literal">false</span>, <span class="code-attr">writable</span>: <span class="code-literal">true</span> } </code></td></tr><tr><td id="L196" class="css-a4x74f"><span>196</span></td><td id="LC196" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L197" class="css-a4x74f"><span>197</span></td><td id="LC197" class="css-1dcdqdg"><code> , on, once, off, emit, methods, descriptors, base; </code></td></tr><tr><td id="L198" class="css-a4x74f"><span>198</span></td><td id="LC198" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L199" class="css-a4x74f"><span>199</span></td><td id="LC199" class="css-1dcdqdg"><code> on = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">type, listener</span>) </span>{ </code></td></tr><tr><td id="L200" class="css-a4x74f"><span>200</span></td><td id="LC200" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> data; </code></td></tr><tr><td id="L201" class="css-a4x74f"><span>201</span></td><td id="LC201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L202" class="css-a4x74f"><span>202</span></td><td id="LC202" class="css-1dcdqdg"><code> validCallable(listener); </code></td></tr><tr><td id="L203" class="css-a4x74f"><span>203</span></td><td id="LC203" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L204" class="css-a4x74f"><span>204</span></td><td id="LC204" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!hasOwnProperty.call(<span class="code-keyword">this</span>, <span class="code-string">'__ee__'</span>)) { </code></td></tr><tr><td id="L205" class="css-a4x74f"><span>205</span></td><td id="LC205" class="css-1dcdqdg"><code> data = descriptor.value = create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L206" class="css-a4x74f"><span>206</span></td><td id="LC206" class="css-1dcdqdg"><code> defineProperty(<span class="code-keyword">this</span>, <span class="code-string">'__ee__'</span>, descriptor); </code></td></tr><tr><td id="L207" class="css-a4x74f"><span>207</span></td><td id="LC207" class="css-1dcdqdg"><code> descriptor.value = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L208" class="css-a4x74f"><span>208</span></td><td id="LC208" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L209" class="css-a4x74f"><span>209</span></td><td id="LC209" class="css-1dcdqdg"><code> data = <span class="code-keyword">this</span>.__ee__; </code></td></tr><tr><td id="L210" class="css-a4x74f"><span>210</span></td><td id="LC210" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L211" class="css-a4x74f"><span>211</span></td><td id="LC211" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!data[type]) data[type] = listener; </code></td></tr><tr><td id="L212" class="css-a4x74f"><span>212</span></td><td id="LC212" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> data[type] === <span class="code-string">'object'</span>) data[type].push(listener); </code></td></tr><tr><td id="L213" class="css-a4x74f"><span>213</span></td><td id="LC213" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> data[type] = [data[type], listener]; </code></td></tr><tr><td id="L214" class="css-a4x74f"><span>214</span></td><td id="LC214" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L215" class="css-a4x74f"><span>215</span></td><td id="LC215" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L216" class="css-a4x74f"><span>216</span></td><td id="LC216" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L217" class="css-a4x74f"><span>217</span></td><td id="LC217" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L218" class="css-a4x74f"><span>218</span></td><td id="LC218" class="css-1dcdqdg"><code> once = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">type, listener</span>) </span>{ </code></td></tr><tr><td id="L219" class="css-a4x74f"><span>219</span></td><td id="LC219" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> once, self; </code></td></tr><tr><td id="L220" class="css-a4x74f"><span>220</span></td><td id="LC220" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L221" class="css-a4x74f"><span>221</span></td><td id="LC221" class="css-1dcdqdg"><code> validCallable(listener); </code></td></tr><tr><td id="L222" class="css-a4x74f"><span>222</span></td><td id="LC222" class="css-1dcdqdg"><code> self = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L223" class="css-a4x74f"><span>223</span></td><td id="LC223" class="css-1dcdqdg"><code> on.call(<span class="code-keyword">this</span>, type, once = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L224" class="css-a4x74f"><span>224</span></td><td id="LC224" class="css-1dcdqdg"><code> off.call(self, type, once); </code></td></tr><tr><td id="L225" class="css-a4x74f"><span>225</span></td><td id="LC225" class="css-1dcdqdg"><code> apply.call(listener, <span class="code-keyword">this</span>, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L226" class="css-a4x74f"><span>226</span></td><td id="LC226" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L227" class="css-a4x74f"><span>227</span></td><td id="LC227" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L228" class="css-a4x74f"><span>228</span></td><td id="LC228" class="css-1dcdqdg"><code> once.__eeOnceListener__ = listener; </code></td></tr><tr><td id="L229" class="css-a4x74f"><span>229</span></td><td id="LC229" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L230" class="css-a4x74f"><span>230</span></td><td id="LC230" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L231" class="css-a4x74f"><span>231</span></td><td id="LC231" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L232" class="css-a4x74f"><span>232</span></td><td id="LC232" class="css-1dcdqdg"><code> off = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">type, listener</span>) </span>{ </code></td></tr><tr><td id="L233" class="css-a4x74f"><span>233</span></td><td id="LC233" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> data, listeners, candidate, i; </code></td></tr><tr><td id="L234" class="css-a4x74f"><span>234</span></td><td id="LC234" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L235" class="css-a4x74f"><span>235</span></td><td id="LC235" class="css-1dcdqdg"><code> validCallable(listener); </code></td></tr><tr><td id="L236" class="css-a4x74f"><span>236</span></td><td id="LC236" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L237" class="css-a4x74f"><span>237</span></td><td id="LC237" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!hasOwnProperty.call(<span class="code-keyword">this</span>, <span class="code-string">'__ee__'</span>)) <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L238" class="css-a4x74f"><span>238</span></td><td id="LC238" class="css-1dcdqdg"><code> data = <span class="code-keyword">this</span>.__ee__; </code></td></tr><tr><td id="L239" class="css-a4x74f"><span>239</span></td><td id="LC239" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!data[type]) <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L240" class="css-a4x74f"><span>240</span></td><td id="LC240" class="css-1dcdqdg"><code> listeners = data[type]; </code></td></tr><tr><td id="L241" class="css-a4x74f"><span>241</span></td><td id="LC241" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L242" class="css-a4x74f"><span>242</span></td><td id="LC242" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> listeners === <span class="code-string">'object'</span>) { </code></td></tr><tr><td id="L243" class="css-a4x74f"><span>243</span></td><td id="LC243" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>; (candidate = listeners[i]); ++i) { </code></td></tr><tr><td id="L244" class="css-a4x74f"><span>244</span></td><td id="LC244" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((candidate === listener) || </code></td></tr><tr><td id="L245" class="css-a4x74f"><span>245</span></td><td id="LC245" class="css-1dcdqdg"><code> (candidate.__eeOnceListener__ === listener)) { </code></td></tr><tr><td id="L246" class="css-a4x74f"><span>246</span></td><td id="LC246" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (listeners.length === <span class="code-number">2</span>) data[type] = listeners[i ? <span class="code-number">0</span> : <span class="code-number">1</span>]; </code></td></tr><tr><td id="L247" class="css-a4x74f"><span>247</span></td><td id="LC247" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> listeners.splice(i, <span class="code-number">1</span>); </code></td></tr><tr><td id="L248" class="css-a4x74f"><span>248</span></td><td id="LC248" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L249" class="css-a4x74f"><span>249</span></td><td id="LC249" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L250" class="css-a4x74f"><span>250</span></td><td id="LC250" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L251" class="css-a4x74f"><span>251</span></td><td id="LC251" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((listeners === listener) || </code></td></tr><tr><td id="L252" class="css-a4x74f"><span>252</span></td><td id="LC252" class="css-1dcdqdg"><code> (listeners.__eeOnceListener__ === listener)) { </code></td></tr><tr><td id="L253" class="css-a4x74f"><span>253</span></td><td id="LC253" class="css-1dcdqdg"><code> <span class="code-keyword">delete</span> data[type]; </code></td></tr><tr><td id="L254" class="css-a4x74f"><span>254</span></td><td id="LC254" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L255" class="css-a4x74f"><span>255</span></td><td id="LC255" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L256" class="css-a4x74f"><span>256</span></td><td id="LC256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L257" class="css-a4x74f"><span>257</span></td><td id="LC257" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L258" class="css-a4x74f"><span>258</span></td><td id="LC258" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L259" class="css-a4x74f"><span>259</span></td><td id="LC259" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L260" class="css-a4x74f"><span>260</span></td><td id="LC260" class="css-1dcdqdg"><code> emit = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">type</span>) </span>{ </code></td></tr><tr><td id="L261" class="css-a4x74f"><span>261</span></td><td id="LC261" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> i, l, listener, listeners, args; </code></td></tr><tr><td id="L262" class="css-a4x74f"><span>262</span></td><td id="LC262" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L263" class="css-a4x74f"><span>263</span></td><td id="LC263" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!hasOwnProperty.call(<span class="code-keyword">this</span>, <span class="code-string">'__ee__'</span>)) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L264" class="css-a4x74f"><span>264</span></td><td id="LC264" class="css-1dcdqdg"><code> listeners = <span class="code-keyword">this</span>.__ee__[type]; </code></td></tr><tr><td id="L265" class="css-a4x74f"><span>265</span></td><td id="LC265" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!listeners) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L266" class="css-a4x74f"><span>266</span></td><td id="LC266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L267" class="css-a4x74f"><span>267</span></td><td id="LC267" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> listeners === <span class="code-string">'object'</span>) { </code></td></tr><tr><td id="L268" class="css-a4x74f"><span>268</span></td><td id="LC268" class="css-1dcdqdg"><code> l = <span class="code-built_in">arguments</span>.length; </code></td></tr><tr><td id="L269" class="css-a4x74f"><span>269</span></td><td id="LC269" class="css-1dcdqdg"><code> args = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(l - <span class="code-number">1</span>); </code></td></tr><tr><td id="L270" class="css-a4x74f"><span>270</span></td><td id="LC270" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">1</span>; i < l; ++i) args[i - <span class="code-number">1</span>] = <span class="code-built_in">arguments</span>[i]; </code></td></tr><tr><td id="L271" class="css-a4x74f"><span>271</span></td><td id="LC271" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L272" class="css-a4x74f"><span>272</span></td><td id="LC272" class="css-1dcdqdg"><code> listeners = listeners.slice(); </code></td></tr><tr><td id="L273" class="css-a4x74f"><span>273</span></td><td id="LC273" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>; (listener = listeners[i]); ++i) { </code></td></tr><tr><td id="L274" class="css-a4x74f"><span>274</span></td><td id="LC274" class="css-1dcdqdg"><code> apply.call(listener, <span class="code-keyword">this</span>, args); </code></td></tr><tr><td id="L275" class="css-a4x74f"><span>275</span></td><td id="LC275" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L276" class="css-a4x74f"><span>276</span></td><td id="LC276" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L277" class="css-a4x74f"><span>277</span></td><td id="LC277" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-built_in">arguments</span>.length) { </code></td></tr><tr><td id="L278" class="css-a4x74f"><span>278</span></td><td id="LC278" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">1</span>: </code></td></tr><tr><td id="L279" class="css-a4x74f"><span>279</span></td><td id="LC279" class="css-1dcdqdg"><code> call.call(listeners, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L280" class="css-a4x74f"><span>280</span></td><td id="LC280" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L281" class="css-a4x74f"><span>281</span></td><td id="LC281" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L282" class="css-a4x74f"><span>282</span></td><td id="LC282" class="css-1dcdqdg"><code> call.call(listeners, <span class="code-keyword">this</span>, <span class="code-built_in">arguments</span>[<span class="code-number">1</span>]); </code></td></tr><tr><td id="L283" class="css-a4x74f"><span>283</span></td><td id="LC283" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L284" class="css-a4x74f"><span>284</span></td><td id="LC284" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">3</span>: </code></td></tr><tr><td id="L285" class="css-a4x74f"><span>285</span></td><td id="LC285" class="css-1dcdqdg"><code> call.call(listeners, <span class="code-keyword">this</span>, <span class="code-built_in">arguments</span>[<span class="code-number">1</span>], <span class="code-built_in">arguments</span>[<span class="code-number">2</span>]); </code></td></tr><tr><td id="L286" class="css-a4x74f"><span>286</span></td><td id="LC286" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L287" class="css-a4x74f"><span>287</span></td><td id="LC287" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L288" class="css-a4x74f"><span>288</span></td><td id="LC288" class="css-1dcdqdg"><code> l = <span class="code-built_in">arguments</span>.length; </code></td></tr><tr><td id="L289" class="css-a4x74f"><span>289</span></td><td id="LC289" class="css-1dcdqdg"><code> args = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(l - <span class="code-number">1</span>); </code></td></tr><tr><td id="L290" class="css-a4x74f"><span>290</span></td><td id="LC290" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">1</span>; i < l; ++i) { </code></td></tr><tr><td id="L291" class="css-a4x74f"><span>291</span></td><td id="LC291" class="css-1dcdqdg"><code> args[i - <span class="code-number">1</span>] = <span class="code-built_in">arguments</span>[i]; </code></td></tr><tr><td id="L292" class="css-a4x74f"><span>292</span></td><td id="LC292" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L293" class="css-a4x74f"><span>293</span></td><td id="LC293" class="css-1dcdqdg"><code> apply.call(listeners, <span class="code-keyword">this</span>, args); </code></td></tr><tr><td id="L294" class="css-a4x74f"><span>294</span></td><td id="LC294" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L295" class="css-a4x74f"><span>295</span></td><td id="LC295" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L296" class="css-a4x74f"><span>296</span></td><td id="LC296" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L297" class="css-a4x74f"><span>297</span></td><td id="LC297" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L298" class="css-a4x74f"><span>298</span></td><td id="LC298" class="css-1dcdqdg"><code> methods = { </code></td></tr><tr><td id="L299" class="css-a4x74f"><span>299</span></td><td id="LC299" class="css-1dcdqdg"><code> on: on, </code></td></tr><tr><td id="L300" class="css-a4x74f"><span>300</span></td><td id="LC300" class="css-1dcdqdg"><code> once: once, </code></td></tr><tr><td id="L301" class="css-a4x74f"><span>301</span></td><td id="LC301" class="css-1dcdqdg"><code> off: off, </code></td></tr><tr><td id="L302" class="css-a4x74f"><span>302</span></td><td id="LC302" class="css-1dcdqdg"><code> emit: emit </code></td></tr><tr><td id="L303" class="css-a4x74f"><span>303</span></td><td id="LC303" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L304" class="css-a4x74f"><span>304</span></td><td id="LC304" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L305" class="css-a4x74f"><span>305</span></td><td id="LC305" class="css-1dcdqdg"><code> descriptors = { </code></td></tr><tr><td id="L306" class="css-a4x74f"><span>306</span></td><td id="LC306" class="css-1dcdqdg"><code> on: d_1(on), </code></td></tr><tr><td id="L307" class="css-a4x74f"><span>307</span></td><td id="LC307" class="css-1dcdqdg"><code> once: d_1(once), </code></td></tr><tr><td id="L308" class="css-a4x74f"><span>308</span></td><td id="LC308" class="css-1dcdqdg"><code> off: d_1(off), </code></td></tr><tr><td id="L309" class="css-a4x74f"><span>309</span></td><td id="LC309" class="css-1dcdqdg"><code> emit: d_1(emit) </code></td></tr><tr><td id="L310" class="css-a4x74f"><span>310</span></td><td id="LC310" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L311" class="css-a4x74f"><span>311</span></td><td id="LC311" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L312" class="css-a4x74f"><span>312</span></td><td id="LC312" class="css-1dcdqdg"><code> base = defineProperties({}, descriptors); </code></td></tr><tr><td id="L313" class="css-a4x74f"><span>313</span></td><td id="LC313" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L314" class="css-a4x74f"><span>314</span></td><td id="LC314" class="css-1dcdqdg"><code> <span class="code-built_in">module</span>.exports = exports = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">o</span>) </span>{ </code></td></tr><tr><td id="L315" class="css-a4x74f"><span>315</span></td><td id="LC315" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (o == <span class="code-literal">null</span>) ? create(base) : defineProperties(<span class="code-built_in">Object</span>(o), descriptors); </code></td></tr><tr><td id="L316" class="css-a4x74f"><span>316</span></td><td id="LC316" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L317" class="css-a4x74f"><span>317</span></td><td id="LC317" class="css-1dcdqdg"><code> exports.methods = methods; </code></td></tr><tr><td id="L318" class="css-a4x74f"><span>318</span></td><td id="LC318" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L319" class="css-a4x74f"><span>319</span></td><td id="LC319" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> eventEmitter_1 = eventEmitter.methods; </code></td></tr><tr><td id="L320" class="css-a4x74f"><span>320</span></td><td id="LC320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L321" class="css-a4x74f"><span>321</span></td><td id="LC321" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L322" class="css-a4x74f"><span>322</span></td><td id="LC322" class="css-1dcdqdg"><code><span class="code-comment"> * Hooks allow for injecting functions that must all complete in order before finishing </span></code></td></tr><tr><td id="L323" class="css-a4x74f"><span>323</span></td><td id="LC323" class="css-1dcdqdg"><code><span class="code-comment"> * They will execute in parallel but all must finish before continuing </span></code></td></tr><tr><td id="L324" class="css-a4x74f"><span>324</span></td><td id="LC324" class="css-1dcdqdg"><code><span class="code-comment"> * Functions may return a promise if they are asycn. </span></code></td></tr><tr><td id="L325" class="css-a4x74f"><span>325</span></td><td id="LC325" class="css-1dcdqdg"><code><span class="code-comment"> * From epubjs/src/utils/hooks </span></code></td></tr><tr><td id="L326" class="css-a4x74f"><span>326</span></td><td id="LC326" class="css-1dcdqdg"><code><span class="code-comment"> * @param {any} context scope of this </span></code></td></tr><tr><td id="L327" class="css-a4x74f"><span>327</span></td><td id="LC327" class="css-1dcdqdg"><code><span class="code-comment"> * @example this.content = new Hook(this); </span></code></td></tr><tr><td id="L328" class="css-a4x74f"><span>328</span></td><td id="LC328" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L329" class="css-a4x74f"><span>329</span></td><td id="LC329" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Hook</span> </span>{ </code></td></tr><tr><td id="L330" class="css-a4x74f"><span>330</span></td><td id="LC330" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(context){ </code></td></tr><tr><td id="L331" class="css-a4x74f"><span>331</span></td><td id="LC331" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.context = context || <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L332" class="css-a4x74f"><span>332</span></td><td id="LC332" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = []; </code></td></tr><tr><td id="L333" class="css-a4x74f"><span>333</span></td><td id="LC333" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L334" class="css-a4x74f"><span>334</span></td><td id="LC334" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L335" class="css-a4x74f"><span>335</span></td><td id="LC335" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L336" class="css-a4x74f"><span>336</span></td><td id="LC336" class="css-1dcdqdg"><code><span class="code-comment"> * Adds a function to be run before a hook completes </span></code></td></tr><tr><td id="L337" class="css-a4x74f"><span>337</span></td><td id="LC337" class="css-1dcdqdg"><code><span class="code-comment"> * @example this.content.register(function(){...}); </span></code></td></tr><tr><td id="L338" class="css-a4x74f"><span>338</span></td><td id="LC338" class="css-1dcdqdg"><code><span class="code-comment"> * @return {undefined} void </span></code></td></tr><tr><td id="L339" class="css-a4x74f"><span>339</span></td><td id="LC339" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L340" class="css-a4x74f"><span>340</span></td><td id="LC340" class="css-1dcdqdg"><code> register(){ </code></td></tr><tr><td id="L341" class="css-a4x74f"><span>341</span></td><td id="LC341" class="css-1dcdqdg"><code> <span class="code-keyword">for</span>(<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < <span class="code-built_in">arguments</span>.length; ++i) { </code></td></tr><tr><td id="L342" class="css-a4x74f"><span>342</span></td><td id="LC342" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> <span class="code-built_in">arguments</span>[i] === <span class="code-string">"function"</span>) { </code></td></tr><tr><td id="L343" class="css-a4x74f"><span>343</span></td><td id="LC343" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.push(<span class="code-built_in">arguments</span>[i]); </code></td></tr><tr><td id="L344" class="css-a4x74f"><span>344</span></td><td id="LC344" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L345" class="css-a4x74f"><span>345</span></td><td id="LC345" class="css-1dcdqdg"><code> <span class="code-comment">// unpack array</span> </code></td></tr><tr><td id="L346" class="css-a4x74f"><span>346</span></td><td id="LC346" class="css-1dcdqdg"><code> <span class="code-keyword">for</span>(<span class="code-keyword">var</span> j = <span class="code-number">0</span>; j < <span class="code-built_in">arguments</span>[i].length; ++j) { </code></td></tr><tr><td id="L347" class="css-a4x74f"><span>347</span></td><td id="LC347" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.push(<span class="code-built_in">arguments</span>[i][j]); </code></td></tr><tr><td id="L348" class="css-a4x74f"><span>348</span></td><td id="LC348" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L349" class="css-a4x74f"><span>349</span></td><td id="LC349" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L350" class="css-a4x74f"><span>350</span></td><td id="LC350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L351" class="css-a4x74f"><span>351</span></td><td id="LC351" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L352" class="css-a4x74f"><span>352</span></td><td id="LC352" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L353" class="css-a4x74f"><span>353</span></td><td id="LC353" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L354" class="css-a4x74f"><span>354</span></td><td id="LC354" class="css-1dcdqdg"><code><span class="code-comment"> * Triggers a hook to run all functions </span></code></td></tr><tr><td id="L355" class="css-a4x74f"><span>355</span></td><td id="LC355" class="css-1dcdqdg"><code><span class="code-comment"> * @example this.content.trigger(args).then(function(){...}); </span></code></td></tr><tr><td id="L356" class="css-a4x74f"><span>356</span></td><td id="LC356" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Promise} results </span></code></td></tr><tr><td id="L357" class="css-a4x74f"><span>357</span></td><td id="LC357" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L358" class="css-a4x74f"><span>358</span></td><td id="LC358" class="css-1dcdqdg"><code> trigger(){ </code></td></tr><tr><td id="L359" class="css-a4x74f"><span>359</span></td><td id="LC359" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> args = <span class="code-built_in">arguments</span>; </code></td></tr><tr><td id="L360" class="css-a4x74f"><span>360</span></td><td id="LC360" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> context = <span class="code-keyword">this</span>.context; </code></td></tr><tr><td id="L361" class="css-a4x74f"><span>361</span></td><td id="LC361" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> promises = []; </code></td></tr><tr><td id="L362" class="css-a4x74f"><span>362</span></td><td id="LC362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L363" class="css-a4x74f"><span>363</span></td><td id="LC363" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">task</span>) </span>{ </code></td></tr><tr><td id="L364" class="css-a4x74f"><span>364</span></td><td id="LC364" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> executing = task.apply(context, args); </code></td></tr><tr><td id="L365" class="css-a4x74f"><span>365</span></td><td id="LC365" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L366" class="css-a4x74f"><span>366</span></td><td id="LC366" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(executing && <span class="code-keyword">typeof</span> executing[<span class="code-string">"then"</span>] === <span class="code-string">"function"</span>) { </code></td></tr><tr><td id="L367" class="css-a4x74f"><span>367</span></td><td id="LC367" class="css-1dcdqdg"><code> <span class="code-comment">// Task is a function that returns a promise</span> </code></td></tr><tr><td id="L368" class="css-a4x74f"><span>368</span></td><td id="LC368" class="css-1dcdqdg"><code> promises.push(executing); </code></td></tr><tr><td id="L369" class="css-a4x74f"><span>369</span></td><td id="LC369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L370" class="css-a4x74f"><span>370</span></td><td id="LC370" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise Task resolves immediately, add resolved promise with result</span> </code></td></tr><tr><td id="L371" class="css-a4x74f"><span>371</span></td><td id="LC371" class="css-1dcdqdg"><code> promises.push(<span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function">(<span class="code-params">resolve, reject</span>) =></span> { </code></td></tr><tr><td id="L372" class="css-a4x74f"><span>372</span></td><td id="LC372" class="css-1dcdqdg"><code> resolve(executing); </code></td></tr><tr><td id="L373" class="css-a4x74f"><span>373</span></td><td id="LC373" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L374" class="css-a4x74f"><span>374</span></td><td id="LC374" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L375" class="css-a4x74f"><span>375</span></td><td id="LC375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L376" class="css-a4x74f"><span>376</span></td><td id="LC376" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L377" class="css-a4x74f"><span>377</span></td><td id="LC377" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Promise</span>.all(promises); </code></td></tr><tr><td id="L378" class="css-a4x74f"><span>378</span></td><td id="LC378" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L379" class="css-a4x74f"><span>379</span></td><td id="LC379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L380" class="css-a4x74f"><span>380</span></td><td id="LC380" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L381" class="css-a4x74f"><span>381</span></td><td id="LC381" class="css-1dcdqdg"><code><span class="code-comment"> * Triggers a hook to run all functions synchronously </span></code></td></tr><tr><td id="L382" class="css-a4x74f"><span>382</span></td><td id="LC382" class="css-1dcdqdg"><code><span class="code-comment"> * @example this.content.trigger(args).then(function(){...}); </span></code></td></tr><tr><td id="L383" class="css-a4x74f"><span>383</span></td><td id="LC383" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Array} results </span></code></td></tr><tr><td id="L384" class="css-a4x74f"><span>384</span></td><td id="LC384" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L385" class="css-a4x74f"><span>385</span></td><td id="LC385" class="css-1dcdqdg"><code> triggerSync(){ </code></td></tr><tr><td id="L386" class="css-a4x74f"><span>386</span></td><td id="LC386" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> args = <span class="code-built_in">arguments</span>; </code></td></tr><tr><td id="L387" class="css-a4x74f"><span>387</span></td><td id="LC387" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> context = <span class="code-keyword">this</span>.context; </code></td></tr><tr><td id="L388" class="css-a4x74f"><span>388</span></td><td id="LC388" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> results = []; </code></td></tr><tr><td id="L389" class="css-a4x74f"><span>389</span></td><td id="LC389" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L390" class="css-a4x74f"><span>390</span></td><td id="LC390" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">task</span>) </span>{ </code></td></tr><tr><td id="L391" class="css-a4x74f"><span>391</span></td><td id="LC391" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> executing = task.apply(context, args); </code></td></tr><tr><td id="L392" class="css-a4x74f"><span>392</span></td><td id="LC392" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L393" class="css-a4x74f"><span>393</span></td><td id="LC393" class="css-1dcdqdg"><code> results.push(executing); </code></td></tr><tr><td id="L394" class="css-a4x74f"><span>394</span></td><td id="LC394" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L395" class="css-a4x74f"><span>395</span></td><td id="LC395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L396" class="css-a4x74f"><span>396</span></td><td id="LC396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L397" class="css-a4x74f"><span>397</span></td><td id="LC397" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> results; </code></td></tr><tr><td id="L398" class="css-a4x74f"><span>398</span></td><td id="LC398" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L399" class="css-a4x74f"><span>399</span></td><td id="LC399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L400" class="css-a4x74f"><span>400</span></td><td id="LC400" class="css-1dcdqdg"><code> <span class="code-comment">// Adds a function to be run before a hook completes</span> </code></td></tr><tr><td id="L401" class="css-a4x74f"><span>401</span></td><td id="LC401" class="css-1dcdqdg"><code> list(){ </code></td></tr><tr><td id="L402" class="css-a4x74f"><span>402</span></td><td id="LC402" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.hooks; </code></td></tr><tr><td id="L403" class="css-a4x74f"><span>403</span></td><td id="LC403" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L404" class="css-a4x74f"><span>404</span></td><td id="LC404" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L405" class="css-a4x74f"><span>405</span></td><td id="LC405" class="css-1dcdqdg"><code> clear(){ </code></td></tr><tr><td id="L406" class="css-a4x74f"><span>406</span></td><td id="LC406" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.hooks = []; </code></td></tr><tr><td id="L407" class="css-a4x74f"><span>407</span></td><td id="LC407" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L408" class="css-a4x74f"><span>408</span></td><td id="LC408" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L409" class="css-a4x74f"><span>409</span></td><td id="LC409" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L410" class="css-a4x74f"><span>410</span></td><td id="LC410" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getBoundingClientRect</span>(<span class="code-params">element</span>) </span>{ </code></td></tr><tr><td id="L411" class="css-a4x74f"><span>411</span></td><td id="LC411" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!element) { </code></td></tr><tr><td id="L412" class="css-a4x74f"><span>412</span></td><td id="LC412" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L413" class="css-a4x74f"><span>413</span></td><td id="LC413" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L414" class="css-a4x74f"><span>414</span></td><td id="LC414" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rect; </code></td></tr><tr><td id="L415" class="css-a4x74f"><span>415</span></td><td id="LC415" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> element.getBoundingClientRect !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L416" class="css-a4x74f"><span>416</span></td><td id="LC416" class="css-1dcdqdg"><code> rect = element.getBoundingClientRect(); </code></td></tr><tr><td id="L417" class="css-a4x74f"><span>417</span></td><td id="LC417" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L418" class="css-a4x74f"><span>418</span></td><td id="LC418" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L419" class="css-a4x74f"><span>419</span></td><td id="LC419" class="css-1dcdqdg"><code> range.selectNode(element); </code></td></tr><tr><td id="L420" class="css-a4x74f"><span>420</span></td><td id="LC420" class="css-1dcdqdg"><code> rect = range.getBoundingClientRect(); </code></td></tr><tr><td id="L421" class="css-a4x74f"><span>421</span></td><td id="LC421" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L422" class="css-a4x74f"><span>422</span></td><td id="LC422" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> rect; </code></td></tr><tr><td id="L423" class="css-a4x74f"><span>423</span></td><td id="LC423" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L424" class="css-a4x74f"><span>424</span></td><td id="LC424" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L425" class="css-a4x74f"><span>425</span></td><td id="LC425" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getClientRects</span>(<span class="code-params">element</span>) </span>{ </code></td></tr><tr><td id="L426" class="css-a4x74f"><span>426</span></td><td id="LC426" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!element) { </code></td></tr><tr><td id="L427" class="css-a4x74f"><span>427</span></td><td id="LC427" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L428" class="css-a4x74f"><span>428</span></td><td id="LC428" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L429" class="css-a4x74f"><span>429</span></td><td id="LC429" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rect; </code></td></tr><tr><td id="L430" class="css-a4x74f"><span>430</span></td><td id="LC430" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> element.getClientRects !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L431" class="css-a4x74f"><span>431</span></td><td id="LC431" class="css-1dcdqdg"><code> rect = element.getClientRects(); </code></td></tr><tr><td id="L432" class="css-a4x74f"><span>432</span></td><td id="LC432" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L433" class="css-a4x74f"><span>433</span></td><td id="LC433" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L434" class="css-a4x74f"><span>434</span></td><td id="LC434" class="css-1dcdqdg"><code> range.selectNode(element); </code></td></tr><tr><td id="L435" class="css-a4x74f"><span>435</span></td><td id="LC435" class="css-1dcdqdg"><code> rect = range.getClientRects(); </code></td></tr><tr><td id="L436" class="css-a4x74f"><span>436</span></td><td id="LC436" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L437" class="css-a4x74f"><span>437</span></td><td id="LC437" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> rect; </code></td></tr><tr><td id="L438" class="css-a4x74f"><span>438</span></td><td id="LC438" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L439" class="css-a4x74f"><span>439</span></td><td id="LC439" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L440" class="css-a4x74f"><span>440</span></td><td id="LC440" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L441" class="css-a4x74f"><span>441</span></td><td id="LC441" class="css-1dcdqdg"><code><span class="code-comment"> * Generates a UUID </span></code></td></tr><tr><td id="L442" class="css-a4x74f"><span>442</span></td><td id="LC442" class="css-1dcdqdg"><code><span class="code-comment"> * based on: http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript </span></code></td></tr><tr><td id="L443" class="css-a4x74f"><span>443</span></td><td id="LC443" class="css-1dcdqdg"><code><span class="code-comment"> * @returns {string} uuid </span></code></td></tr><tr><td id="L444" class="css-a4x74f"><span>444</span></td><td id="LC444" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L445" class="css-a4x74f"><span>445</span></td><td id="LC445" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">UUID</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L446" class="css-a4x74f"><span>446</span></td><td id="LC446" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> d = <span class="code-keyword">new</span> <span class="code-built_in">Date</span>().getTime(); </code></td></tr><tr><td id="L447" class="css-a4x74f"><span>447</span></td><td id="LC447" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> performance !== <span class="code-string">"undefined"</span> && <span class="code-keyword">typeof</span> performance.now === <span class="code-string">"function"</span>) { </code></td></tr><tr><td id="L448" class="css-a4x74f"><span>448</span></td><td id="LC448" class="css-1dcdqdg"><code> d += performance.now(); <span class="code-comment">//use high-precision timer if available</span> </code></td></tr><tr><td id="L449" class="css-a4x74f"><span>449</span></td><td id="LC449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L450" class="css-a4x74f"><span>450</span></td><td id="LC450" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"</span>.replace(<span class="code-regexp">/[xy]/g</span>, <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">c</span>) </span>{ </code></td></tr><tr><td id="L451" class="css-a4x74f"><span>451</span></td><td id="LC451" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> r = (d + <span class="code-built_in">Math</span>.random() * <span class="code-number">16</span>) % <span class="code-number">16</span> | <span class="code-number">0</span>; </code></td></tr><tr><td id="L452" class="css-a4x74f"><span>452</span></td><td id="LC452" class="css-1dcdqdg"><code> d = <span class="code-built_in">Math</span>.floor(d / <span class="code-number">16</span>); </code></td></tr><tr><td id="L453" class="css-a4x74f"><span>453</span></td><td id="LC453" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (c === <span class="code-string">"x"</span> ? r : (r & <span class="code-number">0x3</span> | <span class="code-number">0x8</span>)).toString(<span class="code-number">16</span>); </code></td></tr><tr><td id="L454" class="css-a4x74f"><span>454</span></td><td id="LC454" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L455" class="css-a4x74f"><span>455</span></td><td id="LC455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L456" class="css-a4x74f"><span>456</span></td><td id="LC456" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L457" class="css-a4x74f"><span>457</span></td><td id="LC457" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">attr</span>(<span class="code-params">element, attributes</span>) </span>{ </code></td></tr><tr><td id="L458" class="css-a4x74f"><span>458</span></td><td id="LC458" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < attributes.length; i++) { </code></td></tr><tr><td id="L459" class="css-a4x74f"><span>459</span></td><td id="LC459" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element.hasAttribute(attributes[i])) { </code></td></tr><tr><td id="L460" class="css-a4x74f"><span>460</span></td><td id="LC460" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> element.getAttribute(attributes[i]); </code></td></tr><tr><td id="L461" class="css-a4x74f"><span>461</span></td><td id="LC461" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L462" class="css-a4x74f"><span>462</span></td><td id="LC462" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L463" class="css-a4x74f"><span>463</span></td><td id="LC463" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L464" class="css-a4x74f"><span>464</span></td><td id="LC464" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L465" class="css-a4x74f"><span>465</span></td><td id="LC465" class="css-1dcdqdg"><code> <span class="code-comment">/* Based on by https://mths.be/cssescape v1.5.1 by @mathias | MIT license </span></code></td></tr><tr><td id="L466" class="css-a4x74f"><span>466</span></td><td id="LC466" class="css-1dcdqdg"><code><span class="code-comment"> * Allows # and . </span></code></td></tr><tr><td id="L467" class="css-a4x74f"><span>467</span></td><td id="LC467" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L468" class="css-a4x74f"><span>468</span></td><td id="LC468" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">querySelectorEscape</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L469" class="css-a4x74f"><span>469</span></td><td id="LC469" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">arguments</span>.length == <span class="code-number">0</span>) { </code></td></tr><tr><td id="L470" class="css-a4x74f"><span>470</span></td><td id="LC470" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(<span class="code-string">"`CSS.escape` requires an argument."</span>); </code></td></tr><tr><td id="L471" class="css-a4x74f"><span>471</span></td><td id="LC471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L472" class="css-a4x74f"><span>472</span></td><td id="LC472" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> string = <span class="code-built_in">String</span>(value); </code></td></tr><tr><td id="L473" class="css-a4x74f"><span>473</span></td><td id="LC473" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L474" class="css-a4x74f"><span>474</span></td><td id="LC474" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = string.length; </code></td></tr><tr><td id="L475" class="css-a4x74f"><span>475</span></td><td id="LC475" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> index = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L476" class="css-a4x74f"><span>476</span></td><td id="LC476" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> codeUnit; </code></td></tr><tr><td id="L477" class="css-a4x74f"><span>477</span></td><td id="LC477" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-string">""</span>; </code></td></tr><tr><td id="L478" class="css-a4x74f"><span>478</span></td><td id="LC478" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> firstCodeUnit = string.charCodeAt(<span class="code-number">0</span>); </code></td></tr><tr><td id="L479" class="css-a4x74f"><span>479</span></td><td id="LC479" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (++index < length) { </code></td></tr><tr><td id="L480" class="css-a4x74f"><span>480</span></td><td id="LC480" class="css-1dcdqdg"><code> codeUnit = string.charCodeAt(index); </code></td></tr><tr><td id="L481" class="css-a4x74f"><span>481</span></td><td id="LC481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L482" class="css-a4x74f"><span>482</span></td><td id="LC482" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L483" class="css-a4x74f"><span>483</span></td><td id="LC483" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L484" class="css-a4x74f"><span>484</span></td><td id="LC484" class="css-1dcdqdg"><code> <span class="code-comment">// Note: there’s no need to special-case astral symbols, surrogate</span> </code></td></tr><tr><td id="L485" class="css-a4x74f"><span>485</span></td><td id="LC485" class="css-1dcdqdg"><code> <span class="code-comment">// pairs, or lone surrogates.</span> </code></td></tr><tr><td id="L486" class="css-a4x74f"><span>486</span></td><td id="LC486" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L487" class="css-a4x74f"><span>487</span></td><td id="LC487" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER</span> </code></td></tr><tr><td id="L488" class="css-a4x74f"><span>488</span></td><td id="LC488" class="css-1dcdqdg"><code> <span class="code-comment">// (U+FFFD).</span> </code></td></tr><tr><td id="L489" class="css-a4x74f"><span>489</span></td><td id="LC489" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (codeUnit == <span class="code-number">0x0000</span>) { </code></td></tr><tr><td id="L490" class="css-a4x74f"><span>490</span></td><td id="LC490" class="css-1dcdqdg"><code> result += <span class="code-string">"\uFFFD"</span>; </code></td></tr><tr><td id="L491" class="css-a4x74f"><span>491</span></td><td id="LC491" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L492" class="css-a4x74f"><span>492</span></td><td id="LC492" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L493" class="css-a4x74f"><span>493</span></td><td id="LC493" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L494" class="css-a4x74f"><span>494</span></td><td id="LC494" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ( </code></td></tr><tr><td id="L495" class="css-a4x74f"><span>495</span></td><td id="LC495" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is</span> </code></td></tr><tr><td id="L496" class="css-a4x74f"><span>496</span></td><td id="LC496" class="css-1dcdqdg"><code> <span class="code-comment">// U+007F, […]</span> </code></td></tr><tr><td id="L497" class="css-a4x74f"><span>497</span></td><td id="LC497" class="css-1dcdqdg"><code> (codeUnit >= <span class="code-number">0x0001</span> && codeUnit <= <span class="code-number">0x001F</span>) || codeUnit == <span class="code-number">0x007F</span> || </code></td></tr><tr><td id="L498" class="css-a4x74f"><span>498</span></td><td id="LC498" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is the first character and is in the range [0-9]</span> </code></td></tr><tr><td id="L499" class="css-a4x74f"><span>499</span></td><td id="LC499" class="css-1dcdqdg"><code> <span class="code-comment">// (U+0030 to U+0039), […]</span> </code></td></tr><tr><td id="L500" class="css-a4x74f"><span>500</span></td><td id="LC500" class="css-1dcdqdg"><code> (index == <span class="code-number">0</span> && codeUnit >= <span class="code-number">0x0030</span> && codeUnit <= <span class="code-number">0x0039</span>) || </code></td></tr><tr><td id="L501" class="css-a4x74f"><span>501</span></td><td id="LC501" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is the second character and is in the range [0-9]</span> </code></td></tr><tr><td id="L502" class="css-a4x74f"><span>502</span></td><td id="LC502" class="css-1dcdqdg"><code> <span class="code-comment">// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]</span> </code></td></tr><tr><td id="L503" class="css-a4x74f"><span>503</span></td><td id="LC503" class="css-1dcdqdg"><code> ( </code></td></tr><tr><td id="L504" class="css-a4x74f"><span>504</span></td><td id="LC504" class="css-1dcdqdg"><code> index == <span class="code-number">1</span> && </code></td></tr><tr><td id="L505" class="css-a4x74f"><span>505</span></td><td id="LC505" class="css-1dcdqdg"><code> codeUnit >= <span class="code-number">0x0030</span> && codeUnit <= <span class="code-number">0x0039</span> && </code></td></tr><tr><td id="L506" class="css-a4x74f"><span>506</span></td><td id="LC506" class="css-1dcdqdg"><code> firstCodeUnit == <span class="code-number">0x002D</span> </code></td></tr><tr><td id="L507" class="css-a4x74f"><span>507</span></td><td id="LC507" class="css-1dcdqdg"><code> ) </code></td></tr><tr><td id="L508" class="css-a4x74f"><span>508</span></td><td id="LC508" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L509" class="css-a4x74f"><span>509</span></td><td id="LC509" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point</span> </code></td></tr><tr><td id="L510" class="css-a4x74f"><span>510</span></td><td id="LC510" class="css-1dcdqdg"><code> result += <span class="code-string">"\\"</span> + codeUnit.toString(<span class="code-number">16</span>) + <span class="code-string">" "</span>; </code></td></tr><tr><td id="L511" class="css-a4x74f"><span>511</span></td><td id="LC511" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L512" class="css-a4x74f"><span>512</span></td><td id="LC512" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L513" class="css-a4x74f"><span>513</span></td><td id="LC513" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L514" class="css-a4x74f"><span>514</span></td><td id="LC514" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ( </code></td></tr><tr><td id="L515" class="css-a4x74f"><span>515</span></td><td id="LC515" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is the first character and is a `-` (U+002D), and</span> </code></td></tr><tr><td id="L516" class="css-a4x74f"><span>516</span></td><td id="LC516" class="css-1dcdqdg"><code> <span class="code-comment">// there is no second character, […]</span> </code></td></tr><tr><td id="L517" class="css-a4x74f"><span>517</span></td><td id="LC517" class="css-1dcdqdg"><code> index == <span class="code-number">0</span> && </code></td></tr><tr><td id="L518" class="css-a4x74f"><span>518</span></td><td id="LC518" class="css-1dcdqdg"><code> length == <span class="code-number">1</span> && </code></td></tr><tr><td id="L519" class="css-a4x74f"><span>519</span></td><td id="LC519" class="css-1dcdqdg"><code> codeUnit == <span class="code-number">0x002D</span> </code></td></tr><tr><td id="L520" class="css-a4x74f"><span>520</span></td><td id="LC520" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L521" class="css-a4x74f"><span>521</span></td><td id="LC521" class="css-1dcdqdg"><code> result += <span class="code-string">"\\"</span> + string.charAt(index); </code></td></tr><tr><td id="L522" class="css-a4x74f"><span>522</span></td><td id="LC522" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L523" class="css-a4x74f"><span>523</span></td><td id="LC523" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L524" class="css-a4x74f"><span>524</span></td><td id="LC524" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L525" class="css-a4x74f"><span>525</span></td><td id="LC525" class="css-1dcdqdg"><code> <span class="code-comment">// support for period character in id</span> </code></td></tr><tr><td id="L526" class="css-a4x74f"><span>526</span></td><td id="LC526" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (codeUnit == <span class="code-number">0x002E</span>) { </code></td></tr><tr><td id="L527" class="css-a4x74f"><span>527</span></td><td id="LC527" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (string.charAt(<span class="code-number">0</span>) == <span class="code-string">"#"</span>) { </code></td></tr><tr><td id="L528" class="css-a4x74f"><span>528</span></td><td id="LC528" class="css-1dcdqdg"><code> result += <span class="code-string">"\\."</span>; </code></td></tr><tr><td id="L529" class="css-a4x74f"><span>529</span></td><td id="LC529" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L530" class="css-a4x74f"><span>530</span></td><td id="LC530" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L531" class="css-a4x74f"><span>531</span></td><td id="LC531" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L532" class="css-a4x74f"><span>532</span></td><td id="LC532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L533" class="css-a4x74f"><span>533</span></td><td id="LC533" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L534" class="css-a4x74f"><span>534</span></td><td id="LC534" class="css-1dcdqdg"><code> <span class="code-comment">// If the character is not handled by one of the above rules and is</span> </code></td></tr><tr><td id="L535" class="css-a4x74f"><span>535</span></td><td id="LC535" class="css-1dcdqdg"><code> <span class="code-comment">// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or</span> </code></td></tr><tr><td id="L536" class="css-a4x74f"><span>536</span></td><td id="LC536" class="css-1dcdqdg"><code> <span class="code-comment">// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to</span> </code></td></tr><tr><td id="L537" class="css-a4x74f"><span>537</span></td><td id="LC537" class="css-1dcdqdg"><code> <span class="code-comment">// U+005A), or [a-z] (U+0061 to U+007A), […]</span> </code></td></tr><tr><td id="L538" class="css-a4x74f"><span>538</span></td><td id="LC538" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ( </code></td></tr><tr><td id="L539" class="css-a4x74f"><span>539</span></td><td id="LC539" class="css-1dcdqdg"><code> codeUnit >= <span class="code-number">0x0080</span> || </code></td></tr><tr><td id="L540" class="css-a4x74f"><span>540</span></td><td id="LC540" class="css-1dcdqdg"><code> codeUnit == <span class="code-number">0x002D</span> || </code></td></tr><tr><td id="L541" class="css-a4x74f"><span>541</span></td><td id="LC541" class="css-1dcdqdg"><code> codeUnit == <span class="code-number">0x005F</span> || </code></td></tr><tr><td id="L542" class="css-a4x74f"><span>542</span></td><td id="LC542" class="css-1dcdqdg"><code> codeUnit == <span class="code-number">35</span> || <span class="code-comment">// Allow #</span> </code></td></tr><tr><td id="L543" class="css-a4x74f"><span>543</span></td><td id="LC543" class="css-1dcdqdg"><code> codeUnit == <span class="code-number">46</span> || <span class="code-comment">// Allow .</span> </code></td></tr><tr><td id="L544" class="css-a4x74f"><span>544</span></td><td id="LC544" class="css-1dcdqdg"><code> codeUnit >= <span class="code-number">0x0030</span> && codeUnit <= <span class="code-number">0x0039</span> || </code></td></tr><tr><td id="L545" class="css-a4x74f"><span>545</span></td><td id="LC545" class="css-1dcdqdg"><code> codeUnit >= <span class="code-number">0x0041</span> && codeUnit <= <span class="code-number">0x005A</span> || </code></td></tr><tr><td id="L546" class="css-a4x74f"><span>546</span></td><td id="LC546" class="css-1dcdqdg"><code> codeUnit >= <span class="code-number">0x0061</span> && codeUnit <= <span class="code-number">0x007A</span> </code></td></tr><tr><td id="L547" class="css-a4x74f"><span>547</span></td><td id="LC547" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L548" class="css-a4x74f"><span>548</span></td><td id="LC548" class="css-1dcdqdg"><code> <span class="code-comment">// the character itself</span> </code></td></tr><tr><td id="L549" class="css-a4x74f"><span>549</span></td><td id="LC549" class="css-1dcdqdg"><code> result += string.charAt(index); </code></td></tr><tr><td id="L550" class="css-a4x74f"><span>550</span></td><td id="LC550" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L551" class="css-a4x74f"><span>551</span></td><td id="LC551" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L552" class="css-a4x74f"><span>552</span></td><td id="LC552" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L553" class="css-a4x74f"><span>553</span></td><td id="LC553" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, the escaped character.</span> </code></td></tr><tr><td id="L554" class="css-a4x74f"><span>554</span></td><td id="LC554" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/cssom/#escape-a-character</span> </code></td></tr><tr><td id="L555" class="css-a4x74f"><span>555</span></td><td id="LC555" class="css-1dcdqdg"><code> result += <span class="code-string">"\\"</span> + string.charAt(index); </code></td></tr><tr><td id="L556" class="css-a4x74f"><span>556</span></td><td id="LC556" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L557" class="css-a4x74f"><span>557</span></td><td id="LC557" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L558" class="css-a4x74f"><span>558</span></td><td id="LC558" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L559" class="css-a4x74f"><span>559</span></td><td id="LC559" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L560" class="css-a4x74f"><span>560</span></td><td id="LC560" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L561" class="css-a4x74f"><span>561</span></td><td id="LC561" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L562" class="css-a4x74f"><span>562</span></td><td id="LC562" class="css-1dcdqdg"><code><span class="code-comment"> * Creates a new pending promise and provides methods to resolve or reject it. </span></code></td></tr><tr><td id="L563" class="css-a4x74f"><span>563</span></td><td id="LC563" class="css-1dcdqdg"><code><span class="code-comment"> * From: https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Deferred#backwards_forwards_compatible </span></code></td></tr><tr><td id="L564" class="css-a4x74f"><span>564</span></td><td id="LC564" class="css-1dcdqdg"><code><span class="code-comment"> * @returns {object} defered </span></code></td></tr><tr><td id="L565" class="css-a4x74f"><span>565</span></td><td id="LC565" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L566" class="css-a4x74f"><span>566</span></td><td id="LC566" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">defer</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L567" class="css-a4x74f"><span>567</span></td><td id="LC567" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.resolve = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L568" class="css-a4x74f"><span>568</span></td><td id="LC568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L569" class="css-a4x74f"><span>569</span></td><td id="LC569" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.reject = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L570" class="css-a4x74f"><span>570</span></td><td id="LC570" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L571" class="css-a4x74f"><span>571</span></td><td id="LC571" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.id = UUID(); </code></td></tr><tr><td id="L572" class="css-a4x74f"><span>572</span></td><td id="LC572" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L573" class="css-a4x74f"><span>573</span></td><td id="LC573" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.promise = <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function">(<span class="code-params">resolve, reject</span>) =></span> { </code></td></tr><tr><td id="L574" class="css-a4x74f"><span>574</span></td><td id="LC574" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.resolve = resolve; </code></td></tr><tr><td id="L575" class="css-a4x74f"><span>575</span></td><td id="LC575" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.reject = reject; </code></td></tr><tr><td id="L576" class="css-a4x74f"><span>576</span></td><td id="LC576" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L577" class="css-a4x74f"><span>577</span></td><td id="LC577" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.freeze(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L578" class="css-a4x74f"><span>578</span></td><td id="LC578" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L579" class="css-a4x74f"><span>579</span></td><td id="LC579" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L580" class="css-a4x74f"><span>580</span></td><td id="LC580" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> requestIdleCallback = <span class="code-keyword">typeof</span> <span class="code-built_in">window</span> !== <span class="code-string">"undefined"</span> && (<span class="code-string">"requestIdleCallback"</span> <span class="code-keyword">in</span> <span class="code-built_in">window</span> ? <span class="code-built_in">window</span>.requestIdleCallback : <span class="code-built_in">window</span>.requestAnimationFrame); </code></td></tr><tr><td id="L581" class="css-a4x74f"><span>581</span></td><td id="LC581" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L582" class="css-a4x74f"><span>582</span></td><td id="LC582" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">CSSValueToString</span>(<span class="code-params">obj</span>) </span>{ </code></td></tr><tr><td id="L583" class="css-a4x74f"><span>583</span></td><td id="LC583" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> obj.value + (obj.unit || <span class="code-string">""</span>); </code></td></tr><tr><td id="L584" class="css-a4x74f"><span>584</span></td><td id="LC584" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L585" class="css-a4x74f"><span>585</span></td><td id="LC585" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L586" class="css-a4x74f"><span>586</span></td><td id="LC586" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isElement</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L587" class="css-a4x74f"><span>587</span></td><td id="LC587" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node && node.nodeType === <span class="code-number">1</span>; </code></td></tr><tr><td id="L588" class="css-a4x74f"><span>588</span></td><td id="LC588" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L589" class="css-a4x74f"><span>589</span></td><td id="LC589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L590" class="css-a4x74f"><span>590</span></td><td id="LC590" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isText</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L591" class="css-a4x74f"><span>591</span></td><td id="LC591" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node && node.nodeType === <span class="code-number">3</span>; </code></td></tr><tr><td id="L592" class="css-a4x74f"><span>592</span></td><td id="LC592" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L593" class="css-a4x74f"><span>593</span></td><td id="LC593" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L594" class="css-a4x74f"><span>594</span></td><td id="LC594" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> *<span class="code-title">walk</span>(<span class="code-params">start, limiter</span>) </span>{ </code></td></tr><tr><td id="L595" class="css-a4x74f"><span>595</span></td><td id="LC595" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node = start; </code></td></tr><tr><td id="L596" class="css-a4x74f"><span>596</span></td><td id="LC596" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L597" class="css-a4x74f"><span>597</span></td><td id="LC597" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (node) { </code></td></tr><tr><td id="L598" class="css-a4x74f"><span>598</span></td><td id="LC598" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L599" class="css-a4x74f"><span>599</span></td><td id="LC599" class="css-1dcdqdg"><code> <span class="code-keyword">yield</span> node; </code></td></tr><tr><td id="L600" class="css-a4x74f"><span>600</span></td><td id="LC600" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L601" class="css-a4x74f"><span>601</span></td><td id="LC601" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.childNodes.length) { </code></td></tr><tr><td id="L602" class="css-a4x74f"><span>602</span></td><td id="LC602" class="css-1dcdqdg"><code> node = node.firstChild; </code></td></tr><tr><td id="L603" class="css-a4x74f"><span>603</span></td><td id="LC603" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (node.nextSibling) { </code></td></tr><tr><td id="L604" class="css-a4x74f"><span>604</span></td><td id="LC604" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L605" class="css-a4x74f"><span>605</span></td><td id="LC605" class="css-1dcdqdg"><code> node = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L606" class="css-a4x74f"><span>606</span></td><td id="LC606" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L607" class="css-a4x74f"><span>607</span></td><td id="LC607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L608" class="css-a4x74f"><span>608</span></td><td id="LC608" class="css-1dcdqdg"><code> node = node.nextSibling; </code></td></tr><tr><td id="L609" class="css-a4x74f"><span>609</span></td><td id="LC609" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L610" class="css-a4x74f"><span>610</span></td><td id="LC610" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (node) { </code></td></tr><tr><td id="L611" class="css-a4x74f"><span>611</span></td><td id="LC611" class="css-1dcdqdg"><code> node = node.parentNode; </code></td></tr><tr><td id="L612" class="css-a4x74f"><span>612</span></td><td id="LC612" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L613" class="css-a4x74f"><span>613</span></td><td id="LC613" class="css-1dcdqdg"><code> node = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L614" class="css-a4x74f"><span>614</span></td><td id="LC614" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L615" class="css-a4x74f"><span>615</span></td><td id="LC615" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L616" class="css-a4x74f"><span>616</span></td><td id="LC616" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node && node.nextSibling) { </code></td></tr><tr><td id="L617" class="css-a4x74f"><span>617</span></td><td id="LC617" class="css-1dcdqdg"><code> node = node.nextSibling; </code></td></tr><tr><td id="L618" class="css-a4x74f"><span>618</span></td><td id="LC618" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L619" class="css-a4x74f"><span>619</span></td><td id="LC619" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L620" class="css-a4x74f"><span>620</span></td><td id="LC620" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L621" class="css-a4x74f"><span>621</span></td><td id="LC621" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L622" class="css-a4x74f"><span>622</span></td><td id="LC622" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L623" class="css-a4x74f"><span>623</span></td><td id="LC623" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L624" class="css-a4x74f"><span>624</span></td><td id="LC624" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L625" class="css-a4x74f"><span>625</span></td><td id="LC625" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L626" class="css-a4x74f"><span>626</span></td><td id="LC626" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">nodeAfter</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L627" class="css-a4x74f"><span>627</span></td><td id="LC627" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L628" class="css-a4x74f"><span>628</span></td><td id="LC628" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L629" class="css-a4x74f"><span>629</span></td><td id="LC629" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L630" class="css-a4x74f"><span>630</span></td><td id="LC630" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> significantNode = nextSignificantNode(node); </code></td></tr><tr><td id="L631" class="css-a4x74f"><span>631</span></td><td id="LC631" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (significantNode) { </code></td></tr><tr><td id="L632" class="css-a4x74f"><span>632</span></td><td id="LC632" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> significantNode; </code></td></tr><tr><td id="L633" class="css-a4x74f"><span>633</span></td><td id="LC633" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L634" class="css-a4x74f"><span>634</span></td><td id="LC634" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.parentNode) { </code></td></tr><tr><td id="L635" class="css-a4x74f"><span>635</span></td><td id="LC635" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((node = node.parentNode)) { </code></td></tr><tr><td id="L636" class="css-a4x74f"><span>636</span></td><td id="LC636" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L637" class="css-a4x74f"><span>637</span></td><td id="LC637" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L638" class="css-a4x74f"><span>638</span></td><td id="LC638" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L639" class="css-a4x74f"><span>639</span></td><td id="LC639" class="css-1dcdqdg"><code> significantNode = nextSignificantNode(node); </code></td></tr><tr><td id="L640" class="css-a4x74f"><span>640</span></td><td id="LC640" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (significantNode) { </code></td></tr><tr><td id="L641" class="css-a4x74f"><span>641</span></td><td id="LC641" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> significantNode; </code></td></tr><tr><td id="L642" class="css-a4x74f"><span>642</span></td><td id="LC642" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L643" class="css-a4x74f"><span>643</span></td><td id="LC643" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L644" class="css-a4x74f"><span>644</span></td><td id="LC644" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L645" class="css-a4x74f"><span>645</span></td><td id="LC645" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L646" class="css-a4x74f"><span>646</span></td><td id="LC646" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L647" class="css-a4x74f"><span>647</span></td><td id="LC647" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">nodeBefore</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L648" class="css-a4x74f"><span>648</span></td><td id="LC648" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L649" class="css-a4x74f"><span>649</span></td><td id="LC649" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L650" class="css-a4x74f"><span>650</span></td><td id="LC650" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L651" class="css-a4x74f"><span>651</span></td><td id="LC651" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> significantNode = previousSignificantNode(node); </code></td></tr><tr><td id="L652" class="css-a4x74f"><span>652</span></td><td id="LC652" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (significantNode) { </code></td></tr><tr><td id="L653" class="css-a4x74f"><span>653</span></td><td id="LC653" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> significantNode; </code></td></tr><tr><td id="L654" class="css-a4x74f"><span>654</span></td><td id="LC654" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L655" class="css-a4x74f"><span>655</span></td><td id="LC655" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.parentNode) { </code></td></tr><tr><td id="L656" class="css-a4x74f"><span>656</span></td><td id="LC656" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((node = node.parentNode)) { </code></td></tr><tr><td id="L657" class="css-a4x74f"><span>657</span></td><td id="LC657" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L658" class="css-a4x74f"><span>658</span></td><td id="LC658" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L659" class="css-a4x74f"><span>659</span></td><td id="LC659" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L660" class="css-a4x74f"><span>660</span></td><td id="LC660" class="css-1dcdqdg"><code> significantNode = previousSignificantNode(node); </code></td></tr><tr><td id="L661" class="css-a4x74f"><span>661</span></td><td id="LC661" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (significantNode) { </code></td></tr><tr><td id="L662" class="css-a4x74f"><span>662</span></td><td id="LC662" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> significantNode; </code></td></tr><tr><td id="L663" class="css-a4x74f"><span>663</span></td><td id="LC663" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L664" class="css-a4x74f"><span>664</span></td><td id="LC664" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L665" class="css-a4x74f"><span>665</span></td><td id="LC665" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L666" class="css-a4x74f"><span>666</span></td><td id="LC666" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L667" class="css-a4x74f"><span>667</span></td><td id="LC667" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L668" class="css-a4x74f"><span>668</span></td><td id="LC668" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">elementAfter</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L669" class="css-a4x74f"><span>669</span></td><td id="LC669" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> after = nodeAfter(node, limiter); </code></td></tr><tr><td id="L670" class="css-a4x74f"><span>670</span></td><td id="LC670" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L671" class="css-a4x74f"><span>671</span></td><td id="LC671" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (after && after.nodeType !== <span class="code-number">1</span>) { </code></td></tr><tr><td id="L672" class="css-a4x74f"><span>672</span></td><td id="LC672" class="css-1dcdqdg"><code> after = nodeAfter(after, limiter); </code></td></tr><tr><td id="L673" class="css-a4x74f"><span>673</span></td><td id="LC673" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L674" class="css-a4x74f"><span>674</span></td><td id="LC674" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L675" class="css-a4x74f"><span>675</span></td><td id="LC675" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> after; </code></td></tr><tr><td id="L676" class="css-a4x74f"><span>676</span></td><td id="LC676" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L677" class="css-a4x74f"><span>677</span></td><td id="LC677" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L678" class="css-a4x74f"><span>678</span></td><td id="LC678" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">elementBefore</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L679" class="css-a4x74f"><span>679</span></td><td id="LC679" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> before = nodeBefore(node, limiter); </code></td></tr><tr><td id="L680" class="css-a4x74f"><span>680</span></td><td id="LC680" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L681" class="css-a4x74f"><span>681</span></td><td id="LC681" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (before && before.nodeType !== <span class="code-number">1</span>) { </code></td></tr><tr><td id="L682" class="css-a4x74f"><span>682</span></td><td id="LC682" class="css-1dcdqdg"><code> before = nodeBefore(before, limiter); </code></td></tr><tr><td id="L683" class="css-a4x74f"><span>683</span></td><td id="LC683" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L684" class="css-a4x74f"><span>684</span></td><td id="LC684" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L685" class="css-a4x74f"><span>685</span></td><td id="LC685" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> before; </code></td></tr><tr><td id="L686" class="css-a4x74f"><span>686</span></td><td id="LC686" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L687" class="css-a4x74f"><span>687</span></td><td id="LC687" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L688" class="css-a4x74f"><span>688</span></td><td id="LC688" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">displayedElementAfter</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L689" class="css-a4x74f"><span>689</span></td><td id="LC689" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> after = elementAfter(node, limiter); </code></td></tr><tr><td id="L690" class="css-a4x74f"><span>690</span></td><td id="LC690" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L691" class="css-a4x74f"><span>691</span></td><td id="LC691" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (after && after.dataset.undisplayed) { </code></td></tr><tr><td id="L692" class="css-a4x74f"><span>692</span></td><td id="LC692" class="css-1dcdqdg"><code> after = elementAfter(after); </code></td></tr><tr><td id="L693" class="css-a4x74f"><span>693</span></td><td id="LC693" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L694" class="css-a4x74f"><span>694</span></td><td id="LC694" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L695" class="css-a4x74f"><span>695</span></td><td id="LC695" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> after; </code></td></tr><tr><td id="L696" class="css-a4x74f"><span>696</span></td><td id="LC696" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L697" class="css-a4x74f"><span>697</span></td><td id="LC697" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L698" class="css-a4x74f"><span>698</span></td><td id="LC698" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">displayedElementBefore</span>(<span class="code-params">node, limiter</span>) </span>{ </code></td></tr><tr><td id="L699" class="css-a4x74f"><span>699</span></td><td id="LC699" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> before = elementBefore(node, limiter); </code></td></tr><tr><td id="L700" class="css-a4x74f"><span>700</span></td><td id="LC700" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L701" class="css-a4x74f"><span>701</span></td><td id="LC701" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (before && before.dataset.undisplayed) { </code></td></tr><tr><td id="L702" class="css-a4x74f"><span>702</span></td><td id="LC702" class="css-1dcdqdg"><code> before = elementBefore(before); </code></td></tr><tr><td id="L703" class="css-a4x74f"><span>703</span></td><td id="LC703" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L704" class="css-a4x74f"><span>704</span></td><td id="LC704" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L705" class="css-a4x74f"><span>705</span></td><td id="LC705" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> before; </code></td></tr><tr><td id="L706" class="css-a4x74f"><span>706</span></td><td id="LC706" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L707" class="css-a4x74f"><span>707</span></td><td id="LC707" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L708" class="css-a4x74f"><span>708</span></td><td id="LC708" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">rebuildAncestors</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L709" class="css-a4x74f"><span>709</span></td><td id="LC709" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parent, ancestor; </code></td></tr><tr><td id="L710" class="css-a4x74f"><span>710</span></td><td id="LC710" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> ancestors = []; </code></td></tr><tr><td id="L711" class="css-a4x74f"><span>711</span></td><td id="LC711" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> added = []; </code></td></tr><tr><td id="L712" class="css-a4x74f"><span>712</span></td><td id="LC712" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L713" class="css-a4x74f"><span>713</span></td><td id="LC713" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fragment = <span class="code-built_in">document</span>.createDocumentFragment(); </code></td></tr><tr><td id="L714" class="css-a4x74f"><span>714</span></td><td id="LC714" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L715" class="css-a4x74f"><span>715</span></td><td id="LC715" class="css-1dcdqdg"><code> <span class="code-comment">// Gather all ancestors</span> </code></td></tr><tr><td id="L716" class="css-a4x74f"><span>716</span></td><td id="LC716" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element = node; </code></td></tr><tr><td id="L717" class="css-a4x74f"><span>717</span></td><td id="LC717" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(element.parentNode && element.parentNode.nodeType === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L718" class="css-a4x74f"><span>718</span></td><td id="LC718" class="css-1dcdqdg"><code> ancestors.unshift(element.parentNode); </code></td></tr><tr><td id="L719" class="css-a4x74f"><span>719</span></td><td id="LC719" class="css-1dcdqdg"><code> element = element.parentNode; </code></td></tr><tr><td id="L720" class="css-a4x74f"><span>720</span></td><td id="LC720" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L721" class="css-a4x74f"><span>721</span></td><td id="LC721" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L722" class="css-a4x74f"><span>722</span></td><td id="LC722" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < ancestors.length; i++) { </code></td></tr><tr><td id="L723" class="css-a4x74f"><span>723</span></td><td id="LC723" class="css-1dcdqdg"><code> ancestor = ancestors[i]; </code></td></tr><tr><td id="L724" class="css-a4x74f"><span>724</span></td><td id="LC724" class="css-1dcdqdg"><code> parent = ancestor.cloneNode(<span class="code-literal">false</span>); </code></td></tr><tr><td id="L725" class="css-a4x74f"><span>725</span></td><td id="LC725" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L726" class="css-a4x74f"><span>726</span></td><td id="LC726" class="css-1dcdqdg"><code> parent.setAttribute(<span class="code-string">"data-split-from"</span>, parent.getAttribute(<span class="code-string">"data-ref"</span>)); </code></td></tr><tr><td id="L727" class="css-a4x74f"><span>727</span></td><td id="LC727" class="css-1dcdqdg"><code> <span class="code-comment">// ancestor.setAttribute("data-split-to", parent.getAttribute("data-ref"));</span> </code></td></tr><tr><td id="L728" class="css-a4x74f"><span>728</span></td><td id="LC728" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L729" class="css-a4x74f"><span>729</span></td><td id="LC729" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parent.hasAttribute(<span class="code-string">"id"</span>)) { </code></td></tr><tr><td id="L730" class="css-a4x74f"><span>730</span></td><td id="LC730" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dataID = parent.getAttribute(<span class="code-string">"id"</span>); </code></td></tr><tr><td id="L731" class="css-a4x74f"><span>731</span></td><td id="LC731" class="css-1dcdqdg"><code> parent.setAttribute(<span class="code-string">"data-id"</span>, dataID); </code></td></tr><tr><td id="L732" class="css-a4x74f"><span>732</span></td><td id="LC732" class="css-1dcdqdg"><code> parent.removeAttribute(<span class="code-string">"id"</span>); </code></td></tr><tr><td id="L733" class="css-a4x74f"><span>733</span></td><td id="LC733" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L734" class="css-a4x74f"><span>734</span></td><td id="LC734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L735" class="css-a4x74f"><span>735</span></td><td id="LC735" class="css-1dcdqdg"><code> <span class="code-comment">// This is handled by css :not, but also tidied up here</span> </code></td></tr><tr><td id="L736" class="css-a4x74f"><span>736</span></td><td id="LC736" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parent.hasAttribute(<span class="code-string">"data-break-before"</span>)) { </code></td></tr><tr><td id="L737" class="css-a4x74f"><span>737</span></td><td id="LC737" class="css-1dcdqdg"><code> parent.removeAttribute(<span class="code-string">"data-break-before"</span>); </code></td></tr><tr><td id="L738" class="css-a4x74f"><span>738</span></td><td id="LC738" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L739" class="css-a4x74f"><span>739</span></td><td id="LC739" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L740" class="css-a4x74f"><span>740</span></td><td id="LC740" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parent.hasAttribute(<span class="code-string">"data-previous-break-after"</span>)) { </code></td></tr><tr><td id="L741" class="css-a4x74f"><span>741</span></td><td id="LC741" class="css-1dcdqdg"><code> parent.removeAttribute(<span class="code-string">"data-previous-break-after"</span>); </code></td></tr><tr><td id="L742" class="css-a4x74f"><span>742</span></td><td id="LC742" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L743" class="css-a4x74f"><span>743</span></td><td id="LC743" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L744" class="css-a4x74f"><span>744</span></td><td id="LC744" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (added.length) { </code></td></tr><tr><td id="L745" class="css-a4x74f"><span>745</span></td><td id="LC745" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> container = added[added.length<span class="code-number">-1</span>]; </code></td></tr><tr><td id="L746" class="css-a4x74f"><span>746</span></td><td id="LC746" class="css-1dcdqdg"><code> container.appendChild(parent); </code></td></tr><tr><td id="L747" class="css-a4x74f"><span>747</span></td><td id="LC747" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L748" class="css-a4x74f"><span>748</span></td><td id="LC748" class="css-1dcdqdg"><code> fragment.appendChild(parent); </code></td></tr><tr><td id="L749" class="css-a4x74f"><span>749</span></td><td id="LC749" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L750" class="css-a4x74f"><span>750</span></td><td id="LC750" class="css-1dcdqdg"><code> added.push(parent); </code></td></tr><tr><td id="L751" class="css-a4x74f"><span>751</span></td><td id="LC751" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L752" class="css-a4x74f"><span>752</span></td><td id="LC752" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L753" class="css-a4x74f"><span>753</span></td><td id="LC753" class="css-1dcdqdg"><code> added = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L754" class="css-a4x74f"><span>754</span></td><td id="LC754" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fragment; </code></td></tr><tr><td id="L755" class="css-a4x74f"><span>755</span></td><td id="LC755" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L756" class="css-a4x74f"><span>756</span></td><td id="LC756" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L757" class="css-a4x74f"><span>757</span></td><td id="LC757" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L758" class="css-a4x74f"><span>758</span></td><td id="LC758" class="css-1dcdqdg"><code><span class="code-comment"> export function split(bound, cutElement, breakAfter) { </span></code></td></tr><tr><td id="L759" class="css-a4x74f"><span>759</span></td><td id="LC759" class="css-1dcdqdg"><code><span class="code-comment"> let needsRemoval = []; </span></code></td></tr><tr><td id="L760" class="css-a4x74f"><span>760</span></td><td id="LC760" class="css-1dcdqdg"><code><span class="code-comment"> let index = indexOf(cutElement); </span></code></td></tr><tr><td id="L761" class="css-a4x74f"><span>761</span></td><td id="LC761" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L762" class="css-a4x74f"><span>762</span></td><td id="LC762" class="css-1dcdqdg"><code><span class="code-comment"> if (!breakAfter && index === 0) { </span></code></td></tr><tr><td id="L763" class="css-a4x74f"><span>763</span></td><td id="LC763" class="css-1dcdqdg"><code><span class="code-comment"> return; </span></code></td></tr><tr><td id="L764" class="css-a4x74f"><span>764</span></td><td id="LC764" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L765" class="css-a4x74f"><span>765</span></td><td id="LC765" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L766" class="css-a4x74f"><span>766</span></td><td id="LC766" class="css-1dcdqdg"><code><span class="code-comment"> if (breakAfter && index === (cutElement.parentNode.children.length - 1)) { </span></code></td></tr><tr><td id="L767" class="css-a4x74f"><span>767</span></td><td id="LC767" class="css-1dcdqdg"><code><span class="code-comment"> return; </span></code></td></tr><tr><td id="L768" class="css-a4x74f"><span>768</span></td><td id="LC768" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L769" class="css-a4x74f"><span>769</span></td><td id="LC769" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L770" class="css-a4x74f"><span>770</span></td><td id="LC770" class="css-1dcdqdg"><code><span class="code-comment"> // Create a fragment with rebuilt ancestors </span></code></td></tr><tr><td id="L771" class="css-a4x74f"><span>771</span></td><td id="LC771" class="css-1dcdqdg"><code><span class="code-comment"> let fragment = rebuildAncestors(cutElement); </span></code></td></tr><tr><td id="L772" class="css-a4x74f"><span>772</span></td><td id="LC772" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L773" class="css-a4x74f"><span>773</span></td><td id="LC773" class="css-1dcdqdg"><code><span class="code-comment"> // Clone cut </span></code></td></tr><tr><td id="L774" class="css-a4x74f"><span>774</span></td><td id="LC774" class="css-1dcdqdg"><code><span class="code-comment"> if (!breakAfter) { </span></code></td></tr><tr><td id="L775" class="css-a4x74f"><span>775</span></td><td id="LC775" class="css-1dcdqdg"><code><span class="code-comment"> let clone = cutElement.cloneNode(true); </span></code></td></tr><tr><td id="L776" class="css-a4x74f"><span>776</span></td><td id="LC776" class="css-1dcdqdg"><code><span class="code-comment"> let ref = cutElement.parentNode.getAttribute('data-ref'); </span></code></td></tr><tr><td id="L777" class="css-a4x74f"><span>777</span></td><td id="LC777" class="css-1dcdqdg"><code><span class="code-comment"> let parent = fragment.querySelector("[data-ref='" + ref + "']"); </span></code></td></tr><tr><td id="L778" class="css-a4x74f"><span>778</span></td><td id="LC778" class="css-1dcdqdg"><code><span class="code-comment"> parent.appendChild(clone); </span></code></td></tr><tr><td id="L779" class="css-a4x74f"><span>779</span></td><td id="LC779" class="css-1dcdqdg"><code><span class="code-comment"> needsRemoval.push(cutElement); </span></code></td></tr><tr><td id="L780" class="css-a4x74f"><span>780</span></td><td id="LC780" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L781" class="css-a4x74f"><span>781</span></td><td id="LC781" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L782" class="css-a4x74f"><span>782</span></td><td id="LC782" class="css-1dcdqdg"><code><span class="code-comment"> // Remove all after cut </span></code></td></tr><tr><td id="L783" class="css-a4x74f"><span>783</span></td><td id="LC783" class="css-1dcdqdg"><code><span class="code-comment"> let next = nodeAfter(cutElement, bound); </span></code></td></tr><tr><td id="L784" class="css-a4x74f"><span>784</span></td><td id="LC784" class="css-1dcdqdg"><code><span class="code-comment"> while (next) { </span></code></td></tr><tr><td id="L785" class="css-a4x74f"><span>785</span></td><td id="LC785" class="css-1dcdqdg"><code><span class="code-comment"> let clone = next.cloneNode(true); </span></code></td></tr><tr><td id="L786" class="css-a4x74f"><span>786</span></td><td id="LC786" class="css-1dcdqdg"><code><span class="code-comment"> let ref = next.parentNode.getAttribute('data-ref'); </span></code></td></tr><tr><td id="L787" class="css-a4x74f"><span>787</span></td><td id="LC787" class="css-1dcdqdg"><code><span class="code-comment"> let parent = fragment.querySelector("[data-ref='" + ref + "']"); </span></code></td></tr><tr><td id="L788" class="css-a4x74f"><span>788</span></td><td id="LC788" class="css-1dcdqdg"><code><span class="code-comment"> parent.appendChild(clone); </span></code></td></tr><tr><td id="L789" class="css-a4x74f"><span>789</span></td><td id="LC789" class="css-1dcdqdg"><code><span class="code-comment"> needsRemoval.push(next); </span></code></td></tr><tr><td id="L790" class="css-a4x74f"><span>790</span></td><td id="LC790" class="css-1dcdqdg"><code><span class="code-comment"> next = nodeAfter(next, bound); </span></code></td></tr><tr><td id="L791" class="css-a4x74f"><span>791</span></td><td id="LC791" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L792" class="css-a4x74f"><span>792</span></td><td id="LC792" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L793" class="css-a4x74f"><span>793</span></td><td id="LC793" class="css-1dcdqdg"><code><span class="code-comment"> // Remove originals </span></code></td></tr><tr><td id="L794" class="css-a4x74f"><span>794</span></td><td id="LC794" class="css-1dcdqdg"><code><span class="code-comment"> needsRemoval.forEach((node) => { </span></code></td></tr><tr><td id="L795" class="css-a4x74f"><span>795</span></td><td id="LC795" class="css-1dcdqdg"><code><span class="code-comment"> if (node) { </span></code></td></tr><tr><td id="L796" class="css-a4x74f"><span>796</span></td><td id="LC796" class="css-1dcdqdg"><code><span class="code-comment"> node.remove(); </span></code></td></tr><tr><td id="L797" class="css-a4x74f"><span>797</span></td><td id="LC797" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L798" class="css-a4x74f"><span>798</span></td><td id="LC798" class="css-1dcdqdg"><code><span class="code-comment"> }); </span></code></td></tr><tr><td id="L799" class="css-a4x74f"><span>799</span></td><td id="LC799" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L800" class="css-a4x74f"><span>800</span></td><td id="LC800" class="css-1dcdqdg"><code><span class="code-comment"> // Insert after bounds </span></code></td></tr><tr><td id="L801" class="css-a4x74f"><span>801</span></td><td id="LC801" class="css-1dcdqdg"><code><span class="code-comment"> bound.parentNode.insertBefore(fragment, bound.nextSibling); </span></code></td></tr><tr><td id="L802" class="css-a4x74f"><span>802</span></td><td id="LC802" class="css-1dcdqdg"><code><span class="code-comment"> return [bound, bound.nextSibling]; </span></code></td></tr><tr><td id="L803" class="css-a4x74f"><span>803</span></td><td id="LC803" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L804" class="css-a4x74f"><span>804</span></td><td id="LC804" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L805" class="css-a4x74f"><span>805</span></td><td id="LC805" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L806" class="css-a4x74f"><span>806</span></td><td id="LC806" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">needsBreakBefore</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L807" class="css-a4x74f"><span>807</span></td><td id="LC807" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>( <span class="code-keyword">typeof</span> node !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L808" class="css-a4x74f"><span>808</span></td><td id="LC808" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L809" class="css-a4x74f"><span>809</span></td><td id="LC809" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset.breakBefore !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L810" class="css-a4x74f"><span>810</span></td><td id="LC810" class="css-1dcdqdg"><code> (node.dataset.breakBefore === <span class="code-string">"always"</span> || </code></td></tr><tr><td id="L811" class="css-a4x74f"><span>811</span></td><td id="LC811" class="css-1dcdqdg"><code> node.dataset.breakBefore === <span class="code-string">"page"</span> || </code></td></tr><tr><td id="L812" class="css-a4x74f"><span>812</span></td><td id="LC812" class="css-1dcdqdg"><code> node.dataset.breakBefore === <span class="code-string">"left"</span> || </code></td></tr><tr><td id="L813" class="css-a4x74f"><span>813</span></td><td id="LC813" class="css-1dcdqdg"><code> node.dataset.breakBefore === <span class="code-string">"right"</span> || </code></td></tr><tr><td id="L814" class="css-a4x74f"><span>814</span></td><td id="LC814" class="css-1dcdqdg"><code> node.dataset.breakBefore === <span class="code-string">"recto"</span> || </code></td></tr><tr><td id="L815" class="css-a4x74f"><span>815</span></td><td id="LC815" class="css-1dcdqdg"><code> node.dataset.breakBefore === <span class="code-string">"verso"</span>) </code></td></tr><tr><td id="L816" class="css-a4x74f"><span>816</span></td><td id="LC816" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L817" class="css-a4x74f"><span>817</span></td><td id="LC817" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L818" class="css-a4x74f"><span>818</span></td><td id="LC818" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L819" class="css-a4x74f"><span>819</span></td><td id="LC819" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L820" class="css-a4x74f"><span>820</span></td><td id="LC820" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L821" class="css-a4x74f"><span>821</span></td><td id="LC821" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L822" class="css-a4x74f"><span>822</span></td><td id="LC822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L823" class="css-a4x74f"><span>823</span></td><td id="LC823" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">needsPreviousBreakAfter</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L824" class="css-a4x74f"><span>824</span></td><td id="LC824" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>( <span class="code-keyword">typeof</span> node !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L825" class="css-a4x74f"><span>825</span></td><td id="LC825" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L826" class="css-a4x74f"><span>826</span></td><td id="LC826" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset.previousBreakAfter !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L827" class="css-a4x74f"><span>827</span></td><td id="LC827" class="css-1dcdqdg"><code> (node.dataset.previousBreakAfter === <span class="code-string">"always"</span> || </code></td></tr><tr><td id="L828" class="css-a4x74f"><span>828</span></td><td id="LC828" class="css-1dcdqdg"><code> node.dataset.previousBreakAfter === <span class="code-string">"page"</span> || </code></td></tr><tr><td id="L829" class="css-a4x74f"><span>829</span></td><td id="LC829" class="css-1dcdqdg"><code> node.dataset.previousBreakAfter === <span class="code-string">"left"</span> || </code></td></tr><tr><td id="L830" class="css-a4x74f"><span>830</span></td><td id="LC830" class="css-1dcdqdg"><code> node.dataset.previousBreakAfter === <span class="code-string">"right"</span> || </code></td></tr><tr><td id="L831" class="css-a4x74f"><span>831</span></td><td id="LC831" class="css-1dcdqdg"><code> node.dataset.previousBreakAfter === <span class="code-string">"recto"</span> || </code></td></tr><tr><td id="L832" class="css-a4x74f"><span>832</span></td><td id="LC832" class="css-1dcdqdg"><code> node.dataset.previousBreakAfter === <span class="code-string">"verso"</span>) </code></td></tr><tr><td id="L833" class="css-a4x74f"><span>833</span></td><td id="LC833" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L834" class="css-a4x74f"><span>834</span></td><td id="LC834" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L835" class="css-a4x74f"><span>835</span></td><td id="LC835" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L836" class="css-a4x74f"><span>836</span></td><td id="LC836" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L837" class="css-a4x74f"><span>837</span></td><td id="LC837" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L838" class="css-a4x74f"><span>838</span></td><td id="LC838" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L839" class="css-a4x74f"><span>839</span></td><td id="LC839" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L840" class="css-a4x74f"><span>840</span></td><td id="LC840" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">needsPageBreak</span>(<span class="code-params">node, previousSignificantNode</span>) </span>{ </code></td></tr><tr><td id="L841" class="css-a4x74f"><span>841</span></td><td id="LC841" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> node === <span class="code-string">"undefined"</span> || !previousSignificantNode || isIgnorable(node)) { </code></td></tr><tr><td id="L842" class="css-a4x74f"><span>842</span></td><td id="LC842" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L843" class="css-a4x74f"><span>843</span></td><td id="LC843" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L844" class="css-a4x74f"><span>844</span></td><td id="LC844" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.dataset && node.dataset.undisplayed) { </code></td></tr><tr><td id="L845" class="css-a4x74f"><span>845</span></td><td id="LC845" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L846" class="css-a4x74f"><span>846</span></td><td id="LC846" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L847" class="css-a4x74f"><span>847</span></td><td id="LC847" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> previousSignificantNodePage = previousSignificantNode.dataset ? previousSignificantNode.dataset.page : <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L848" class="css-a4x74f"><span>848</span></td><td id="LC848" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> currentNodePage = node.dataset ? node.dataset.page : <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L849" class="css-a4x74f"><span>849</span></td><td id="LC849" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> currentNodePage !== previousSignificantNodePage; </code></td></tr><tr><td id="L850" class="css-a4x74f"><span>850</span></td><td id="LC850" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L851" class="css-a4x74f"><span>851</span></td><td id="LC851" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L852" class="css-a4x74f"><span>852</span></td><td id="LC852" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> *<span class="code-title">words</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L853" class="css-a4x74f"><span>853</span></td><td id="LC853" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentText = node.nodeValue; </code></td></tr><tr><td id="L854" class="css-a4x74f"><span>854</span></td><td id="LC854" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> max = currentText.length; </code></td></tr><tr><td id="L855" class="css-a4x74f"><span>855</span></td><td id="LC855" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentOffset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L856" class="css-a4x74f"><span>856</span></td><td id="LC856" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentLetter; </code></td></tr><tr><td id="L857" class="css-a4x74f"><span>857</span></td><td id="LC857" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L858" class="css-a4x74f"><span>858</span></td><td id="LC858" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range; </code></td></tr><tr><td id="L859" class="css-a4x74f"><span>859</span></td><td id="LC859" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L860" class="css-a4x74f"><span>860</span></td><td id="LC860" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(currentOffset < max) { </code></td></tr><tr><td id="L861" class="css-a4x74f"><span>861</span></td><td id="LC861" class="css-1dcdqdg"><code> currentLetter = currentText[currentOffset]; </code></td></tr><tr><td id="L862" class="css-a4x74f"><span>862</span></td><td id="LC862" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-regexp">/^[\S\u202F\u00A0]$/</span>.test(currentLetter)) { </code></td></tr><tr><td id="L863" class="css-a4x74f"><span>863</span></td><td id="LC863" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!range) { </code></td></tr><tr><td id="L864" class="css-a4x74f"><span>864</span></td><td id="LC864" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L865" class="css-a4x74f"><span>865</span></td><td id="LC865" class="css-1dcdqdg"><code> range.setStart(node, currentOffset); </code></td></tr><tr><td id="L866" class="css-a4x74f"><span>866</span></td><td id="LC866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L867" class="css-a4x74f"><span>867</span></td><td id="LC867" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L868" class="css-a4x74f"><span>868</span></td><td id="LC868" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (range) { </code></td></tr><tr><td id="L869" class="css-a4x74f"><span>869</span></td><td id="LC869" class="css-1dcdqdg"><code> range.setEnd(node, currentOffset); </code></td></tr><tr><td id="L870" class="css-a4x74f"><span>870</span></td><td id="LC870" class="css-1dcdqdg"><code> <span class="code-keyword">yield</span> range; </code></td></tr><tr><td id="L871" class="css-a4x74f"><span>871</span></td><td id="LC871" class="css-1dcdqdg"><code> range = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L872" class="css-a4x74f"><span>872</span></td><td id="LC872" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L873" class="css-a4x74f"><span>873</span></td><td id="LC873" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L874" class="css-a4x74f"><span>874</span></td><td id="LC874" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L875" class="css-a4x74f"><span>875</span></td><td id="LC875" class="css-1dcdqdg"><code> currentOffset += <span class="code-number">1</span>; </code></td></tr><tr><td id="L876" class="css-a4x74f"><span>876</span></td><td id="LC876" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L877" class="css-a4x74f"><span>877</span></td><td id="LC877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L878" class="css-a4x74f"><span>878</span></td><td id="LC878" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (range) { </code></td></tr><tr><td id="L879" class="css-a4x74f"><span>879</span></td><td id="LC879" class="css-1dcdqdg"><code> range.setEnd(node, currentOffset); </code></td></tr><tr><td id="L880" class="css-a4x74f"><span>880</span></td><td id="LC880" class="css-1dcdqdg"><code> <span class="code-keyword">yield</span> range; </code></td></tr><tr><td id="L881" class="css-a4x74f"><span>881</span></td><td id="LC881" class="css-1dcdqdg"><code> range = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L882" class="css-a4x74f"><span>882</span></td><td id="LC882" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L883" class="css-a4x74f"><span>883</span></td><td id="LC883" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L884" class="css-a4x74f"><span>884</span></td><td id="LC884" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L885" class="css-a4x74f"><span>885</span></td><td id="LC885" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> *<span class="code-title">letters</span>(<span class="code-params">wordRange</span>) </span>{ </code></td></tr><tr><td id="L886" class="css-a4x74f"><span>886</span></td><td id="LC886" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentText = wordRange.startContainer; </code></td></tr><tr><td id="L887" class="css-a4x74f"><span>887</span></td><td id="LC887" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> max = currentText.length; </code></td></tr><tr><td id="L888" class="css-a4x74f"><span>888</span></td><td id="LC888" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentOffset = wordRange.startOffset; </code></td></tr><tr><td id="L889" class="css-a4x74f"><span>889</span></td><td id="LC889" class="css-1dcdqdg"><code> <span class="code-comment">// let currentLetter;</span> </code></td></tr><tr><td id="L890" class="css-a4x74f"><span>890</span></td><td id="LC890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L891" class="css-a4x74f"><span>891</span></td><td id="LC891" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range; </code></td></tr><tr><td id="L892" class="css-a4x74f"><span>892</span></td><td id="LC892" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L893" class="css-a4x74f"><span>893</span></td><td id="LC893" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(currentOffset < max) { </code></td></tr><tr><td id="L894" class="css-a4x74f"><span>894</span></td><td id="LC894" class="css-1dcdqdg"><code> <span class="code-comment">// currentLetter = currentText[currentOffset];</span> </code></td></tr><tr><td id="L895" class="css-a4x74f"><span>895</span></td><td id="LC895" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L896" class="css-a4x74f"><span>896</span></td><td id="LC896" class="css-1dcdqdg"><code> range.setStart(currentText, currentOffset); </code></td></tr><tr><td id="L897" class="css-a4x74f"><span>897</span></td><td id="LC897" class="css-1dcdqdg"><code> range.setEnd(currentText, currentOffset+<span class="code-number">1</span>); </code></td></tr><tr><td id="L898" class="css-a4x74f"><span>898</span></td><td id="LC898" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L899" class="css-a4x74f"><span>899</span></td><td id="LC899" class="css-1dcdqdg"><code> <span class="code-keyword">yield</span> range; </code></td></tr><tr><td id="L900" class="css-a4x74f"><span>900</span></td><td id="LC900" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L901" class="css-a4x74f"><span>901</span></td><td id="LC901" class="css-1dcdqdg"><code> currentOffset += <span class="code-number">1</span>; </code></td></tr><tr><td id="L902" class="css-a4x74f"><span>902</span></td><td id="LC902" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L903" class="css-a4x74f"><span>903</span></td><td id="LC903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L904" class="css-a4x74f"><span>904</span></td><td id="LC904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L905" class="css-a4x74f"><span>905</span></td><td id="LC905" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isContainer</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L906" class="css-a4x74f"><span>906</span></td><td id="LC906" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> container; </code></td></tr><tr><td id="L907" class="css-a4x74f"><span>907</span></td><td id="LC907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L908" class="css-a4x74f"><span>908</span></td><td id="LC908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> node.tagName === <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L909" class="css-a4x74f"><span>909</span></td><td id="LC909" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L910" class="css-a4x74f"><span>910</span></td><td id="LC910" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L911" class="css-a4x74f"><span>911</span></td><td id="LC911" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L912" class="css-a4x74f"><span>912</span></td><td id="LC912" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.style && node.style.display === <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L913" class="css-a4x74f"><span>913</span></td><td id="LC913" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L914" class="css-a4x74f"><span>914</span></td><td id="LC914" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L915" class="css-a4x74f"><span>915</span></td><td id="LC915" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L916" class="css-a4x74f"><span>916</span></td><td id="LC916" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.tagName) { </code></td></tr><tr><td id="L917" class="css-a4x74f"><span>917</span></td><td id="LC917" class="css-1dcdqdg"><code> <span class="code-comment">// Inline</span> </code></td></tr><tr><td id="L918" class="css-a4x74f"><span>918</span></td><td id="LC918" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"A"</span>: </code></td></tr><tr><td id="L919" class="css-a4x74f"><span>919</span></td><td id="LC919" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"ABBR"</span>: </code></td></tr><tr><td id="L920" class="css-a4x74f"><span>920</span></td><td id="LC920" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"ACRONYM"</span>: </code></td></tr><tr><td id="L921" class="css-a4x74f"><span>921</span></td><td id="LC921" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"B"</span>: </code></td></tr><tr><td id="L922" class="css-a4x74f"><span>922</span></td><td id="LC922" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"BDO"</span>: </code></td></tr><tr><td id="L923" class="css-a4x74f"><span>923</span></td><td id="LC923" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"BIG"</span>: </code></td></tr><tr><td id="L924" class="css-a4x74f"><span>924</span></td><td id="LC924" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"BR"</span>: </code></td></tr><tr><td id="L925" class="css-a4x74f"><span>925</span></td><td id="LC925" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"BUTTON"</span>: </code></td></tr><tr><td id="L926" class="css-a4x74f"><span>926</span></td><td id="LC926" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"CITE"</span>: </code></td></tr><tr><td id="L927" class="css-a4x74f"><span>927</span></td><td id="LC927" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"CODE"</span>: </code></td></tr><tr><td id="L928" class="css-a4x74f"><span>928</span></td><td id="LC928" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"DFN"</span>: </code></td></tr><tr><td id="L929" class="css-a4x74f"><span>929</span></td><td id="LC929" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"EM"</span>: </code></td></tr><tr><td id="L930" class="css-a4x74f"><span>930</span></td><td id="LC930" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"I"</span>: </code></td></tr><tr><td id="L931" class="css-a4x74f"><span>931</span></td><td id="LC931" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"IMG"</span>: </code></td></tr><tr><td id="L932" class="css-a4x74f"><span>932</span></td><td id="LC932" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"INPUT"</span>: </code></td></tr><tr><td id="L933" class="css-a4x74f"><span>933</span></td><td id="LC933" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"KBD"</span>: </code></td></tr><tr><td id="L934" class="css-a4x74f"><span>934</span></td><td id="LC934" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"LABEL"</span>: </code></td></tr><tr><td id="L935" class="css-a4x74f"><span>935</span></td><td id="LC935" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"MAP"</span>: </code></td></tr><tr><td id="L936" class="css-a4x74f"><span>936</span></td><td id="LC936" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"OBJECT"</span>: </code></td></tr><tr><td id="L937" class="css-a4x74f"><span>937</span></td><td id="LC937" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Q"</span>: </code></td></tr><tr><td id="L938" class="css-a4x74f"><span>938</span></td><td id="LC938" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SAMP"</span>: </code></td></tr><tr><td id="L939" class="css-a4x74f"><span>939</span></td><td id="LC939" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SCRIPT"</span>: </code></td></tr><tr><td id="L940" class="css-a4x74f"><span>940</span></td><td id="LC940" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SELECT"</span>: </code></td></tr><tr><td id="L941" class="css-a4x74f"><span>941</span></td><td id="LC941" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SMALL"</span>: </code></td></tr><tr><td id="L942" class="css-a4x74f"><span>942</span></td><td id="LC942" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SPAN"</span>: </code></td></tr><tr><td id="L943" class="css-a4x74f"><span>943</span></td><td id="LC943" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"STRONG"</span>: </code></td></tr><tr><td id="L944" class="css-a4x74f"><span>944</span></td><td id="LC944" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SUB"</span>: </code></td></tr><tr><td id="L945" class="css-a4x74f"><span>945</span></td><td id="LC945" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"SUP"</span>: </code></td></tr><tr><td id="L946" class="css-a4x74f"><span>946</span></td><td id="LC946" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"TEXTAREA"</span>: </code></td></tr><tr><td id="L947" class="css-a4x74f"><span>947</span></td><td id="LC947" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"TIME"</span>: </code></td></tr><tr><td id="L948" class="css-a4x74f"><span>948</span></td><td id="LC948" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"TT"</span>: </code></td></tr><tr><td id="L949" class="css-a4x74f"><span>949</span></td><td id="LC949" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"VAR"</span>: </code></td></tr><tr><td id="L950" class="css-a4x74f"><span>950</span></td><td id="LC950" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"P"</span>: </code></td></tr><tr><td id="L951" class="css-a4x74f"><span>951</span></td><td id="LC951" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H1"</span>: </code></td></tr><tr><td id="L952" class="css-a4x74f"><span>952</span></td><td id="LC952" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H2"</span>: </code></td></tr><tr><td id="L953" class="css-a4x74f"><span>953</span></td><td id="LC953" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H3"</span>: </code></td></tr><tr><td id="L954" class="css-a4x74f"><span>954</span></td><td id="LC954" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H4"</span>: </code></td></tr><tr><td id="L955" class="css-a4x74f"><span>955</span></td><td id="LC955" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H5"</span>: </code></td></tr><tr><td id="L956" class="css-a4x74f"><span>956</span></td><td id="LC956" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"H6"</span>: </code></td></tr><tr><td id="L957" class="css-a4x74f"><span>957</span></td><td id="LC957" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"FIGCAPTION"</span>: </code></td></tr><tr><td id="L958" class="css-a4x74f"><span>958</span></td><td id="LC958" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"BLOCKQUOTE"</span>: </code></td></tr><tr><td id="L959" class="css-a4x74f"><span>959</span></td><td id="LC959" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"PRE"</span>: </code></td></tr><tr><td id="L960" class="css-a4x74f"><span>960</span></td><td id="LC960" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"LI"</span>: </code></td></tr><tr><td id="L961" class="css-a4x74f"><span>961</span></td><td id="LC961" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"TR"</span>: </code></td></tr><tr><td id="L962" class="css-a4x74f"><span>962</span></td><td id="LC962" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"DT"</span>: </code></td></tr><tr><td id="L963" class="css-a4x74f"><span>963</span></td><td id="LC963" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"DD"</span>: </code></td></tr><tr><td id="L964" class="css-a4x74f"><span>964</span></td><td id="LC964" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"VIDEO"</span>: </code></td></tr><tr><td id="L965" class="css-a4x74f"><span>965</span></td><td id="LC965" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"CANVAS"</span>: </code></td></tr><tr><td id="L966" class="css-a4x74f"><span>966</span></td><td id="LC966" class="css-1dcdqdg"><code> container = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L967" class="css-a4x74f"><span>967</span></td><td id="LC967" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L968" class="css-a4x74f"><span>968</span></td><td id="LC968" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L969" class="css-a4x74f"><span>969</span></td><td id="LC969" class="css-1dcdqdg"><code> container = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L970" class="css-a4x74f"><span>970</span></td><td id="LC970" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L971" class="css-a4x74f"><span>971</span></td><td id="LC971" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L972" class="css-a4x74f"><span>972</span></td><td id="LC972" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> container; </code></td></tr><tr><td id="L973" class="css-a4x74f"><span>973</span></td><td id="LC973" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L974" class="css-a4x74f"><span>974</span></td><td id="LC974" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L975" class="css-a4x74f"><span>975</span></td><td id="LC975" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cloneNode</span>(<span class="code-params">n, deep=false</span>) </span>{ </code></td></tr><tr><td id="L976" class="css-a4x74f"><span>976</span></td><td id="LC976" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> n.cloneNode(deep); </code></td></tr><tr><td id="L977" class="css-a4x74f"><span>977</span></td><td id="LC977" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L978" class="css-a4x74f"><span>978</span></td><td id="LC978" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L979" class="css-a4x74f"><span>979</span></td><td id="LC979" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findElement</span>(<span class="code-params">node, doc</span>) </span>{ </code></td></tr><tr><td id="L980" class="css-a4x74f"><span>980</span></td><td id="LC980" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> ref = node.getAttribute(<span class="code-string">"data-ref"</span>); </code></td></tr><tr><td id="L981" class="css-a4x74f"><span>981</span></td><td id="LC981" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> findRef(ref, doc); </code></td></tr><tr><td id="L982" class="css-a4x74f"><span>982</span></td><td id="LC982" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L983" class="css-a4x74f"><span>983</span></td><td id="LC983" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L984" class="css-a4x74f"><span>984</span></td><td id="LC984" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findRef</span>(<span class="code-params">ref, doc</span>) </span>{ </code></td></tr><tr><td id="L985" class="css-a4x74f"><span>985</span></td><td id="LC985" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> doc.querySelector(<span class="code-string">`[data-ref='<span class="code-subst">${ref}</span>']`</span>); </code></td></tr><tr><td id="L986" class="css-a4x74f"><span>986</span></td><td id="LC986" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L987" class="css-a4x74f"><span>987</span></td><td id="LC987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L988" class="css-a4x74f"><span>988</span></td><td id="LC988" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">validNode</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L989" class="css-a4x74f"><span>989</span></td><td id="LC989" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isText(node)) { </code></td></tr><tr><td id="L990" class="css-a4x74f"><span>990</span></td><td id="LC990" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L991" class="css-a4x74f"><span>991</span></td><td id="LC991" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L992" class="css-a4x74f"><span>992</span></td><td id="LC992" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L993" class="css-a4x74f"><span>993</span></td><td id="LC993" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isElement(node) && node.dataset.ref) { </code></td></tr><tr><td id="L994" class="css-a4x74f"><span>994</span></td><td id="LC994" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L995" class="css-a4x74f"><span>995</span></td><td id="LC995" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L996" class="css-a4x74f"><span>996</span></td><td id="LC996" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L997" class="css-a4x74f"><span>997</span></td><td id="LC997" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L998" class="css-a4x74f"><span>998</span></td><td id="LC998" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L999" class="css-a4x74f"><span>999</span></td><td id="LC999" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1000" class="css-a4x74f"><span>1000</span></td><td id="LC1000" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">prevValidNode</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1001" class="css-a4x74f"><span>1001</span></td><td id="LC1001" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!validNode(node)) { </code></td></tr><tr><td id="L1002" class="css-a4x74f"><span>1002</span></td><td id="LC1002" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.previousSibling) { </code></td></tr><tr><td id="L1003" class="css-a4x74f"><span>1003</span></td><td id="LC1003" class="css-1dcdqdg"><code> node = node.previousSibling; </code></td></tr><tr><td id="L1004" class="css-a4x74f"><span>1004</span></td><td id="LC1004" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1005" class="css-a4x74f"><span>1005</span></td><td id="LC1005" class="css-1dcdqdg"><code> node = node.parentNode; </code></td></tr><tr><td id="L1006" class="css-a4x74f"><span>1006</span></td><td id="LC1006" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1007" class="css-a4x74f"><span>1007</span></td><td id="LC1007" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1008" class="css-a4x74f"><span>1008</span></td><td id="LC1008" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node) { </code></td></tr><tr><td id="L1009" class="css-a4x74f"><span>1009</span></td><td id="LC1009" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1010" class="css-a4x74f"><span>1010</span></td><td id="LC1010" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1011" class="css-a4x74f"><span>1011</span></td><td id="LC1011" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1012" class="css-a4x74f"><span>1012</span></td><td id="LC1012" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1013" class="css-a4x74f"><span>1013</span></td><td id="LC1013" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L1014" class="css-a4x74f"><span>1014</span></td><td id="LC1014" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1015" class="css-a4x74f"><span>1015</span></td><td id="LC1015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1016" class="css-a4x74f"><span>1016</span></td><td id="LC1016" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1017" class="css-a4x74f"><span>1017</span></td><td id="LC1017" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">indexOf$1</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1018" class="css-a4x74f"><span>1018</span></td><td id="LC1018" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parent = node.parentNode; </code></td></tr><tr><td id="L1019" class="css-a4x74f"><span>1019</span></td><td id="LC1019" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parent) { </code></td></tr><tr><td id="L1020" class="css-a4x74f"><span>1020</span></td><td id="LC1020" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L1021" class="css-a4x74f"><span>1021</span></td><td id="LC1021" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1022" class="css-a4x74f"><span>1022</span></td><td id="LC1022" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Array</span>.prototype.indexOf.call(parent.childNodes, node); </code></td></tr><tr><td id="L1023" class="css-a4x74f"><span>1023</span></td><td id="LC1023" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1024" class="css-a4x74f"><span>1024</span></td><td id="LC1024" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1025" class="css-a4x74f"><span>1025</span></td><td id="LC1025" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">child</span>(<span class="code-params">node, index</span>) </span>{ </code></td></tr><tr><td id="L1026" class="css-a4x74f"><span>1026</span></td><td id="LC1026" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node.childNodes[index]; </code></td></tr><tr><td id="L1027" class="css-a4x74f"><span>1027</span></td><td id="LC1027" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1028" class="css-a4x74f"><span>1028</span></td><td id="LC1028" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1029" class="css-a4x74f"><span>1029</span></td><td id="LC1029" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">hasContent</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1030" class="css-a4x74f"><span>1030</span></td><td id="LC1030" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isElement(node)) { </code></td></tr><tr><td id="L1031" class="css-a4x74f"><span>1031</span></td><td id="LC1031" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1032" class="css-a4x74f"><span>1032</span></td><td id="LC1032" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (isText(node) && </code></td></tr><tr><td id="L1033" class="css-a4x74f"><span>1033</span></td><td id="LC1033" class="css-1dcdqdg"><code> node.textContent.trim().length) { </code></td></tr><tr><td id="L1034" class="css-a4x74f"><span>1034</span></td><td id="LC1034" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1035" class="css-a4x74f"><span>1035</span></td><td id="LC1035" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1036" class="css-a4x74f"><span>1036</span></td><td id="LC1036" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1037" class="css-a4x74f"><span>1037</span></td><td id="LC1037" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1038" class="css-a4x74f"><span>1038</span></td><td id="LC1038" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1039" class="css-a4x74f"><span>1039</span></td><td id="LC1039" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">indexOfTextNode</span>(<span class="code-params">node, parent</span>) </span>{ </code></td></tr><tr><td id="L1040" class="css-a4x74f"><span>1040</span></td><td id="LC1040" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isText(node)) { </code></td></tr><tr><td id="L1041" class="css-a4x74f"><span>1041</span></td><td id="LC1041" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L1042" class="css-a4x74f"><span>1042</span></td><td id="LC1042" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1043" class="css-a4x74f"><span>1043</span></td><td id="LC1043" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nodeTextContent = node.textContent; </code></td></tr><tr><td id="L1044" class="css-a4x74f"><span>1044</span></td><td id="LC1044" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> child; </code></td></tr><tr><td id="L1045" class="css-a4x74f"><span>1045</span></td><td id="LC1045" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> index = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L1046" class="css-a4x74f"><span>1046</span></td><td id="LC1046" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < parent.childNodes.length; i++) { </code></td></tr><tr><td id="L1047" class="css-a4x74f"><span>1047</span></td><td id="LC1047" class="css-1dcdqdg"><code> child = parent.childNodes[i]; </code></td></tr><tr><td id="L1048" class="css-a4x74f"><span>1048</span></td><td id="LC1048" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child.nodeType === <span class="code-number">3</span>) { </code></td></tr><tr><td id="L1049" class="css-a4x74f"><span>1049</span></td><td id="LC1049" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> text = parent.childNodes[i].textContent; </code></td></tr><tr><td id="L1050" class="css-a4x74f"><span>1050</span></td><td id="LC1050" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (text.includes(nodeTextContent)) { </code></td></tr><tr><td id="L1051" class="css-a4x74f"><span>1051</span></td><td id="LC1051" class="css-1dcdqdg"><code> index = i; </code></td></tr><tr><td id="L1052" class="css-a4x74f"><span>1052</span></td><td id="LC1052" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1053" class="css-a4x74f"><span>1053</span></td><td id="LC1053" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1054" class="css-a4x74f"><span>1054</span></td><td id="LC1054" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1055" class="css-a4x74f"><span>1055</span></td><td id="LC1055" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1056" class="css-a4x74f"><span>1056</span></td><td id="LC1056" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1057" class="css-a4x74f"><span>1057</span></td><td id="LC1057" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> index; </code></td></tr><tr><td id="L1058" class="css-a4x74f"><span>1058</span></td><td id="LC1058" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1059" class="css-a4x74f"><span>1059</span></td><td id="LC1059" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1060" class="css-a4x74f"><span>1060</span></td><td id="LC1060" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1061" class="css-a4x74f"><span>1061</span></td><td id="LC1061" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1062" class="css-a4x74f"><span>1062</span></td><td id="LC1062" class="css-1dcdqdg"><code><span class="code-comment"> * Throughout, whitespace is defined as one of the characters </span></code></td></tr><tr><td id="L1063" class="css-a4x74f"><span>1063</span></td><td id="LC1063" class="css-1dcdqdg"><code><span class="code-comment"> * "\t" TAB \u0009 </span></code></td></tr><tr><td id="L1064" class="css-a4x74f"><span>1064</span></td><td id="LC1064" class="css-1dcdqdg"><code><span class="code-comment"> * "\n" LF \u000A </span></code></td></tr><tr><td id="L1065" class="css-a4x74f"><span>1065</span></td><td id="LC1065" class="css-1dcdqdg"><code><span class="code-comment"> * "\r" CR \u000D </span></code></td></tr><tr><td id="L1066" class="css-a4x74f"><span>1066</span></td><td id="LC1066" class="css-1dcdqdg"><code><span class="code-comment"> * " " SPC \u0020 </span></code></td></tr><tr><td id="L1067" class="css-a4x74f"><span>1067</span></td><td id="LC1067" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L1068" class="css-a4x74f"><span>1068</span></td><td id="LC1068" class="css-1dcdqdg"><code><span class="code-comment"> * This does not use Javascript's "\s" because that includes non-breaking </span></code></td></tr><tr><td id="L1069" class="css-a4x74f"><span>1069</span></td><td id="LC1069" class="css-1dcdqdg"><code><span class="code-comment"> * spaces (and also some other characters). </span></code></td></tr><tr><td id="L1070" class="css-a4x74f"><span>1070</span></td><td id="LC1070" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1071" class="css-a4x74f"><span>1071</span></td><td id="LC1071" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1072" class="css-a4x74f"><span>1072</span></td><td id="LC1072" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1073" class="css-a4x74f"><span>1073</span></td><td id="LC1073" class="css-1dcdqdg"><code><span class="code-comment"> * Determine if a node should be ignored by the iterator functions. </span></code></td></tr><tr><td id="L1074" class="css-a4x74f"><span>1074</span></td><td id="LC1074" class="css-1dcdqdg"><code><span class="code-comment"> * taken from https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Whitespace#Whitespace_helper_functions </span></code></td></tr><tr><td id="L1075" class="css-a4x74f"><span>1075</span></td><td id="LC1075" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L1076" class="css-a4x74f"><span>1076</span></td><td id="LC1076" class="css-1dcdqdg"><code><span class="code-comment"> * @param {Node} node An object implementing the DOM1 |Node| interface. </span></code></td></tr><tr><td id="L1077" class="css-a4x74f"><span>1077</span></td><td id="LC1077" class="css-1dcdqdg"><code><span class="code-comment"> * @return {boolean} true if the node is: </span></code></td></tr><tr><td id="L1078" class="css-a4x74f"><span>1078</span></td><td id="LC1078" class="css-1dcdqdg"><code><span class="code-comment"> * 1) A |Text| node that is all whitespace </span></code></td></tr><tr><td id="L1079" class="css-a4x74f"><span>1079</span></td><td id="LC1079" class="css-1dcdqdg"><code><span class="code-comment"> * 2) A |Comment| node </span></code></td></tr><tr><td id="L1080" class="css-a4x74f"><span>1080</span></td><td id="LC1080" class="css-1dcdqdg"><code><span class="code-comment"> * and otherwise false. </span></code></td></tr><tr><td id="L1081" class="css-a4x74f"><span>1081</span></td><td id="LC1081" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1082" class="css-a4x74f"><span>1082</span></td><td id="LC1082" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isIgnorable</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1083" class="css-a4x74f"><span>1083</span></td><td id="LC1083" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (node.nodeType === <span class="code-number">8</span>) || <span class="code-comment">// A comment node</span> </code></td></tr><tr><td id="L1084" class="css-a4x74f"><span>1084</span></td><td id="LC1084" class="css-1dcdqdg"><code> ((node.nodeType === <span class="code-number">3</span>) && isAllWhitespace(node)); <span class="code-comment">// a text node, all whitespace</span> </code></td></tr><tr><td id="L1085" class="css-a4x74f"><span>1085</span></td><td id="LC1085" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1086" class="css-a4x74f"><span>1086</span></td><td id="LC1086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1087" class="css-a4x74f"><span>1087</span></td><td id="LC1087" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1088" class="css-a4x74f"><span>1088</span></td><td id="LC1088" class="css-1dcdqdg"><code><span class="code-comment"> * Determine whether a node's text content is entirely whitespace. </span></code></td></tr><tr><td id="L1089" class="css-a4x74f"><span>1089</span></td><td id="LC1089" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L1090" class="css-a4x74f"><span>1090</span></td><td id="LC1090" class="css-1dcdqdg"><code><span class="code-comment"> * @param {Node} node A node implementing the |CharacterData| interface (i.e., a |Text|, |Comment|, or |CDATASection| node </span></code></td></tr><tr><td id="L1091" class="css-a4x74f"><span>1091</span></td><td id="LC1091" class="css-1dcdqdg"><code><span class="code-comment"> * @return {boolean} true if all of the text content of |nod| is whitespace, otherwise false. </span></code></td></tr><tr><td id="L1092" class="css-a4x74f"><span>1092</span></td><td id="LC1092" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1093" class="css-a4x74f"><span>1093</span></td><td id="LC1093" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isAllWhitespace</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1094" class="css-a4x74f"><span>1094</span></td><td id="LC1094" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !(<span class="code-regexp">/[^\t\n\r ]/</span>.test(node.textContent)); </code></td></tr><tr><td id="L1095" class="css-a4x74f"><span>1095</span></td><td id="LC1095" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1096" class="css-a4x74f"><span>1096</span></td><td id="LC1096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1097" class="css-a4x74f"><span>1097</span></td><td id="LC1097" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1098" class="css-a4x74f"><span>1098</span></td><td id="LC1098" class="css-1dcdqdg"><code><span class="code-comment"> * Version of |previousSibling| that skips nodes that are entirely </span></code></td></tr><tr><td id="L1099" class="css-a4x74f"><span>1099</span></td><td id="LC1099" class="css-1dcdqdg"><code><span class="code-comment"> * whitespace or comments. (Normally |previousSibling| is a property </span></code></td></tr><tr><td id="L1100" class="css-a4x74f"><span>1100</span></td><td id="LC1100" class="css-1dcdqdg"><code><span class="code-comment"> * of all DOM nodes that gives the sibling node, the node that is </span></code></td></tr><tr><td id="L1101" class="css-a4x74f"><span>1101</span></td><td id="LC1101" class="css-1dcdqdg"><code><span class="code-comment"> * a child of the same parent, that occurs immediately before the </span></code></td></tr><tr><td id="L1102" class="css-a4x74f"><span>1102</span></td><td id="LC1102" class="css-1dcdqdg"><code><span class="code-comment"> * reference node.) </span></code></td></tr><tr><td id="L1103" class="css-a4x74f"><span>1103</span></td><td id="LC1103" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L1104" class="css-a4x74f"><span>1104</span></td><td id="LC1104" class="css-1dcdqdg"><code><span class="code-comment"> * @param {ChildNode} sib The reference node. </span></code></td></tr><tr><td id="L1105" class="css-a4x74f"><span>1105</span></td><td id="LC1105" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Node|null} Either: </span></code></td></tr><tr><td id="L1106" class="css-a4x74f"><span>1106</span></td><td id="LC1106" class="css-1dcdqdg"><code><span class="code-comment"> * 1) The closest previous sibling to |sib| that is not ignorable according to |is_ignorable|, or </span></code></td></tr><tr><td id="L1107" class="css-a4x74f"><span>1107</span></td><td id="LC1107" class="css-1dcdqdg"><code><span class="code-comment"> * 2) null if no such node exists. </span></code></td></tr><tr><td id="L1108" class="css-a4x74f"><span>1108</span></td><td id="LC1108" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1109" class="css-a4x74f"><span>1109</span></td><td id="LC1109" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">previousSignificantNode</span>(<span class="code-params">sib</span>) </span>{ </code></td></tr><tr><td id="L1110" class="css-a4x74f"><span>1110</span></td><td id="LC1110" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((sib = sib.previousSibling)) { </code></td></tr><tr><td id="L1111" class="css-a4x74f"><span>1111</span></td><td id="LC1111" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isIgnorable(sib)) <span class="code-keyword">return</span> sib; </code></td></tr><tr><td id="L1112" class="css-a4x74f"><span>1112</span></td><td id="LC1112" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1113" class="css-a4x74f"><span>1113</span></td><td id="LC1113" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L1114" class="css-a4x74f"><span>1114</span></td><td id="LC1114" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1115" class="css-a4x74f"><span>1115</span></td><td id="LC1115" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1116" class="css-a4x74f"><span>1116</span></td><td id="LC1116" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">breakInsideAvoidParentNode</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L1117" class="css-a4x74f"><span>1117</span></td><td id="LC1117" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((node = node.parentNode)) { </code></td></tr><tr><td id="L1118" class="css-a4x74f"><span>1118</span></td><td id="LC1118" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node && node.dataset && node.dataset.breakInside === <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L1119" class="css-a4x74f"><span>1119</span></td><td id="LC1119" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L1120" class="css-a4x74f"><span>1120</span></td><td id="LC1120" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1121" class="css-a4x74f"><span>1121</span></td><td id="LC1121" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1122" class="css-a4x74f"><span>1122</span></td><td id="LC1122" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L1123" class="css-a4x74f"><span>1123</span></td><td id="LC1123" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1124" class="css-a4x74f"><span>1124</span></td><td id="LC1124" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1125" class="css-a4x74f"><span>1125</span></td><td id="LC1125" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1126" class="css-a4x74f"><span>1126</span></td><td id="LC1126" class="css-1dcdqdg"><code><span class="code-comment"> * Find a parent with a given node name. </span></code></td></tr><tr><td id="L1127" class="css-a4x74f"><span>1127</span></td><td id="LC1127" class="css-1dcdqdg"><code><span class="code-comment"> * @param {Node} node - initial Node </span></code></td></tr><tr><td id="L1128" class="css-a4x74f"><span>1128</span></td><td id="LC1128" class="css-1dcdqdg"><code><span class="code-comment"> * @param {string} nodeName - node name (eg. "TD", "TABLE", "STRONG"...) </span></code></td></tr><tr><td id="L1129" class="css-a4x74f"><span>1129</span></td><td id="LC1129" class="css-1dcdqdg"><code><span class="code-comment"> * @param {Node} limiter - go up to the parent until there's no more parent or the current node is equals to the limiter </span></code></td></tr><tr><td id="L1130" class="css-a4x74f"><span>1130</span></td><td id="LC1130" class="css-1dcdqdg"><code><span class="code-comment"> * @returns {Node|undefined} - Either: </span></code></td></tr><tr><td id="L1131" class="css-a4x74f"><span>1131</span></td><td id="LC1131" class="css-1dcdqdg"><code><span class="code-comment"> * 1) The closest parent for a the given node name, or </span></code></td></tr><tr><td id="L1132" class="css-a4x74f"><span>1132</span></td><td id="LC1132" class="css-1dcdqdg"><code><span class="code-comment"> * 2) undefined if no such node exists. </span></code></td></tr><tr><td id="L1133" class="css-a4x74f"><span>1133</span></td><td id="LC1133" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1134" class="css-a4x74f"><span>1134</span></td><td id="LC1134" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">parentOf</span>(<span class="code-params">node, nodeName, limiter</span>) </span>{ </code></td></tr><tr><td id="L1135" class="css-a4x74f"><span>1135</span></td><td id="LC1135" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L1136" class="css-a4x74f"><span>1136</span></td><td id="LC1136" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1137" class="css-a4x74f"><span>1137</span></td><td id="LC1137" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1138" class="css-a4x74f"><span>1138</span></td><td id="LC1138" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.parentNode) { </code></td></tr><tr><td id="L1139" class="css-a4x74f"><span>1139</span></td><td id="LC1139" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((node = node.parentNode)) { </code></td></tr><tr><td id="L1140" class="css-a4x74f"><span>1140</span></td><td id="LC1140" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (limiter && node === limiter) { </code></td></tr><tr><td id="L1141" class="css-a4x74f"><span>1141</span></td><td id="LC1141" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1142" class="css-a4x74f"><span>1142</span></td><td id="LC1142" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1143" class="css-a4x74f"><span>1143</span></td><td id="LC1143" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.nodeName === nodeName) { </code></td></tr><tr><td id="L1144" class="css-a4x74f"><span>1144</span></td><td id="LC1144" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L1145" class="css-a4x74f"><span>1145</span></td><td id="LC1145" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1146" class="css-a4x74f"><span>1146</span></td><td id="LC1146" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1147" class="css-a4x74f"><span>1147</span></td><td id="LC1147" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1148" class="css-a4x74f"><span>1148</span></td><td id="LC1148" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1149" class="css-a4x74f"><span>1149</span></td><td id="LC1149" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1150" class="css-a4x74f"><span>1150</span></td><td id="LC1150" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1151" class="css-a4x74f"><span>1151</span></td><td id="LC1151" class="css-1dcdqdg"><code><span class="code-comment"> * Version of |nextSibling| that skips nodes that are entirely </span></code></td></tr><tr><td id="L1152" class="css-a4x74f"><span>1152</span></td><td id="LC1152" class="css-1dcdqdg"><code><span class="code-comment"> * whitespace or comments. </span></code></td></tr><tr><td id="L1153" class="css-a4x74f"><span>1153</span></td><td id="LC1153" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L1154" class="css-a4x74f"><span>1154</span></td><td id="LC1154" class="css-1dcdqdg"><code><span class="code-comment"> * @param {ChildNode} sib The reference node. </span></code></td></tr><tr><td id="L1155" class="css-a4x74f"><span>1155</span></td><td id="LC1155" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Node|null} Either: </span></code></td></tr><tr><td id="L1156" class="css-a4x74f"><span>1156</span></td><td id="LC1156" class="css-1dcdqdg"><code><span class="code-comment"> * 1) The closest next sibling to |sib| that is not ignorable according to |is_ignorable|, or </span></code></td></tr><tr><td id="L1157" class="css-a4x74f"><span>1157</span></td><td id="LC1157" class="css-1dcdqdg"><code><span class="code-comment"> * 2) null if no such node exists. </span></code></td></tr><tr><td id="L1158" class="css-a4x74f"><span>1158</span></td><td id="LC1158" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1159" class="css-a4x74f"><span>1159</span></td><td id="LC1159" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">nextSignificantNode</span>(<span class="code-params">sib</span>) </span>{ </code></td></tr><tr><td id="L1160" class="css-a4x74f"><span>1160</span></td><td id="LC1160" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> ((sib = sib.nextSibling)) { </code></td></tr><tr><td id="L1161" class="css-a4x74f"><span>1161</span></td><td id="LC1161" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isIgnorable(sib)) <span class="code-keyword">return</span> sib; </code></td></tr><tr><td id="L1162" class="css-a4x74f"><span>1162</span></td><td id="LC1162" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1163" class="css-a4x74f"><span>1163</span></td><td id="LC1163" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L1164" class="css-a4x74f"><span>1164</span></td><td id="LC1164" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1165" class="css-a4x74f"><span>1165</span></td><td id="LC1165" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1166" class="css-a4x74f"><span>1166</span></td><td id="LC1166" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">filterTree</span>(<span class="code-params">content, func, what</span>) </span>{ </code></td></tr><tr><td id="L1167" class="css-a4x74f"><span>1167</span></td><td id="LC1167" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> treeWalker = <span class="code-built_in">document</span>.createTreeWalker( </code></td></tr><tr><td id="L1168" class="css-a4x74f"><span>1168</span></td><td id="LC1168" class="css-1dcdqdg"><code> content || <span class="code-keyword">this</span>.dom, </code></td></tr><tr><td id="L1169" class="css-a4x74f"><span>1169</span></td><td id="LC1169" class="css-1dcdqdg"><code> what || NodeFilter.SHOW_ALL, </code></td></tr><tr><td id="L1170" class="css-a4x74f"><span>1170</span></td><td id="LC1170" class="css-1dcdqdg"><code> func ? { <span class="code-attr">acceptNode</span>: func } : <span class="code-literal">null</span>, </code></td></tr><tr><td id="L1171" class="css-a4x74f"><span>1171</span></td><td id="LC1171" class="css-1dcdqdg"><code> <span class="code-literal">false</span> </code></td></tr><tr><td id="L1172" class="css-a4x74f"><span>1172</span></td><td id="LC1172" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L1173" class="css-a4x74f"><span>1173</span></td><td id="LC1173" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1174" class="css-a4x74f"><span>1174</span></td><td id="LC1174" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node; </code></td></tr><tr><td id="L1175" class="css-a4x74f"><span>1175</span></td><td id="LC1175" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> current; </code></td></tr><tr><td id="L1176" class="css-a4x74f"><span>1176</span></td><td id="LC1176" class="css-1dcdqdg"><code> node = treeWalker.nextNode(); </code></td></tr><tr><td id="L1177" class="css-a4x74f"><span>1177</span></td><td id="LC1177" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(node) { </code></td></tr><tr><td id="L1178" class="css-a4x74f"><span>1178</span></td><td id="LC1178" class="css-1dcdqdg"><code> current = node; </code></td></tr><tr><td id="L1179" class="css-a4x74f"><span>1179</span></td><td id="LC1179" class="css-1dcdqdg"><code> node = treeWalker.nextNode(); </code></td></tr><tr><td id="L1180" class="css-a4x74f"><span>1180</span></td><td id="LC1180" class="css-1dcdqdg"><code> current.parentNode.removeChild(current); </code></td></tr><tr><td id="L1181" class="css-a4x74f"><span>1181</span></td><td id="LC1181" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1182" class="css-a4x74f"><span>1182</span></td><td id="LC1182" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1183" class="css-a4x74f"><span>1183</span></td><td id="LC1183" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1184" class="css-a4x74f"><span>1184</span></td><td id="LC1184" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1185" class="css-a4x74f"><span>1185</span></td><td id="LC1185" class="css-1dcdqdg"><code><span class="code-comment"> * Layout </span></code></td></tr><tr><td id="L1186" class="css-a4x74f"><span>1186</span></td><td id="LC1186" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L1187" class="css-a4x74f"><span>1187</span></td><td id="LC1187" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1188" class="css-a4x74f"><span>1188</span></td><td id="LC1188" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">BreakToken</span> </span>{ </code></td></tr><tr><td id="L1189" class="css-a4x74f"><span>1189</span></td><td id="LC1189" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1190" class="css-a4x74f"><span>1190</span></td><td id="LC1190" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(node, offset) { </code></td></tr><tr><td id="L1191" class="css-a4x74f"><span>1191</span></td><td id="LC1191" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node = node; </code></td></tr><tr><td id="L1192" class="css-a4x74f"><span>1192</span></td><td id="LC1192" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.offset = offset; </code></td></tr><tr><td id="L1193" class="css-a4x74f"><span>1193</span></td><td id="LC1193" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1194" class="css-a4x74f"><span>1194</span></td><td id="LC1194" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1195" class="css-a4x74f"><span>1195</span></td><td id="LC1195" class="css-1dcdqdg"><code> equals(otherBreakToken) { </code></td></tr><tr><td id="L1196" class="css-a4x74f"><span>1196</span></td><td id="LC1196" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!otherBreakToken) { </code></td></tr><tr><td id="L1197" class="css-a4x74f"><span>1197</span></td><td id="LC1197" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1198" class="css-a4x74f"><span>1198</span></td><td id="LC1198" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1199" class="css-a4x74f"><span>1199</span></td><td id="LC1199" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>[<span class="code-string">"node"</span>] && otherBreakToken[<span class="code-string">"node"</span>] && </code></td></tr><tr><td id="L1200" class="css-a4x74f"><span>1200</span></td><td id="LC1200" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>[<span class="code-string">"node"</span>] !== otherBreakToken[<span class="code-string">"node"</span>]) { </code></td></tr><tr><td id="L1201" class="css-a4x74f"><span>1201</span></td><td id="LC1201" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1202" class="css-a4x74f"><span>1202</span></td><td id="LC1202" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1203" class="css-a4x74f"><span>1203</span></td><td id="LC1203" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>[<span class="code-string">"offset"</span>] && otherBreakToken[<span class="code-string">"offset"</span>] && </code></td></tr><tr><td id="L1204" class="css-a4x74f"><span>1204</span></td><td id="LC1204" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>[<span class="code-string">"offset"</span>] !== otherBreakToken[<span class="code-string">"offset"</span>]) { </code></td></tr><tr><td id="L1205" class="css-a4x74f"><span>1205</span></td><td id="LC1205" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1206" class="css-a4x74f"><span>1206</span></td><td id="LC1206" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1207" class="css-a4x74f"><span>1207</span></td><td id="LC1207" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1208" class="css-a4x74f"><span>1208</span></td><td id="LC1208" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1209" class="css-a4x74f"><span>1209</span></td><td id="LC1209" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1210" class="css-a4x74f"><span>1210</span></td><td id="LC1210" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1211" class="css-a4x74f"><span>1211</span></td><td id="LC1211" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1212" class="css-a4x74f"><span>1212</span></td><td id="LC1212" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> MAX_CHARS_PER_BREAK = <span class="code-number">1500</span>; </code></td></tr><tr><td id="L1213" class="css-a4x74f"><span>1213</span></td><td id="LC1213" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1214" class="css-a4x74f"><span>1214</span></td><td id="LC1214" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1215" class="css-a4x74f"><span>1215</span></td><td id="LC1215" class="css-1dcdqdg"><code><span class="code-comment"> * Layout </span></code></td></tr><tr><td id="L1216" class="css-a4x74f"><span>1216</span></td><td id="LC1216" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L1217" class="css-a4x74f"><span>1217</span></td><td id="LC1217" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1218" class="css-a4x74f"><span>1218</span></td><td id="LC1218" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Layout</span> </span>{ </code></td></tr><tr><td id="L1219" class="css-a4x74f"><span>1219</span></td><td id="LC1219" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1220" class="css-a4x74f"><span>1220</span></td><td id="LC1220" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(element, hooks, options) { </code></td></tr><tr><td id="L1221" class="css-a4x74f"><span>1221</span></td><td id="LC1221" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element = element; </code></td></tr><tr><td id="L1222" class="css-a4x74f"><span>1222</span></td><td id="LC1222" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1223" class="css-a4x74f"><span>1223</span></td><td id="LC1223" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.bounds = <span class="code-keyword">this</span>.element.getBoundingClientRect(); </code></td></tr><tr><td id="L1224" class="css-a4x74f"><span>1224</span></td><td id="LC1224" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1225" class="css-a4x74f"><span>1225</span></td><td id="LC1225" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hooks) { </code></td></tr><tr><td id="L1226" class="css-a4x74f"><span>1226</span></td><td id="LC1226" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = hooks; </code></td></tr><tr><td id="L1227" class="css-a4x74f"><span>1227</span></td><td id="LC1227" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1228" class="css-a4x74f"><span>1228</span></td><td id="LC1228" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = {}; </code></td></tr><tr><td id="L1229" class="css-a4x74f"><span>1229</span></td><td id="LC1229" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.layout = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1230" class="css-a4x74f"><span>1230</span></td><td id="LC1230" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.renderNode = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1231" class="css-a4x74f"><span>1231</span></td><td id="LC1231" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.layoutNode = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1232" class="css-a4x74f"><span>1232</span></td><td id="LC1232" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeOverflow = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1233" class="css-a4x74f"><span>1233</span></td><td id="LC1233" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onOverflow = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1234" class="css-a4x74f"><span>1234</span></td><td id="LC1234" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onBreakToken = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L1235" class="css-a4x74f"><span>1235</span></td><td id="LC1235" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1236" class="css-a4x74f"><span>1236</span></td><td id="LC1236" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1237" class="css-a4x74f"><span>1237</span></td><td id="LC1237" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.settings = options || {}; </code></td></tr><tr><td id="L1238" class="css-a4x74f"><span>1238</span></td><td id="LC1238" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1239" class="css-a4x74f"><span>1239</span></td><td id="LC1239" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.maxChars = <span class="code-keyword">this</span>.settings.maxChars || MAX_CHARS_PER_BREAK; </code></td></tr><tr><td id="L1240" class="css-a4x74f"><span>1240</span></td><td id="LC1240" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.forceRenderBreak = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1241" class="css-a4x74f"><span>1241</span></td><td id="LC1241" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1242" class="css-a4x74f"><span>1242</span></td><td id="LC1242" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1243" class="css-a4x74f"><span>1243</span></td><td id="LC1243" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> renderTo(wrapper, source, breakToken, bounds = <span class="code-keyword">this</span>.bounds) { </code></td></tr><tr><td id="L1244" class="css-a4x74f"><span>1244</span></td><td id="LC1244" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> start = <span class="code-keyword">this</span>.getStart(source, breakToken); </code></td></tr><tr><td id="L1245" class="css-a4x74f"><span>1245</span></td><td id="LC1245" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> walker = walk(start, source); </code></td></tr><tr><td id="L1246" class="css-a4x74f"><span>1246</span></td><td id="LC1246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1247" class="css-a4x74f"><span>1247</span></td><td id="LC1247" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node; </code></td></tr><tr><td id="L1248" class="css-a4x74f"><span>1248</span></td><td id="LC1248" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevNode; </code></td></tr><tr><td id="L1249" class="css-a4x74f"><span>1249</span></td><td id="LC1249" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> done; </code></td></tr><tr><td id="L1250" class="css-a4x74f"><span>1250</span></td><td id="LC1250" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> next; </code></td></tr><tr><td id="L1251" class="css-a4x74f"><span>1251</span></td><td id="LC1251" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1252" class="css-a4x74f"><span>1252</span></td><td id="LC1252" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hasRenderedContent = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1253" class="css-a4x74f"><span>1253</span></td><td id="LC1253" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newBreakToken; </code></td></tr><tr><td id="L1254" class="css-a4x74f"><span>1254</span></td><td id="LC1254" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1255" class="css-a4x74f"><span>1255</span></td><td id="LC1255" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1256" class="css-a4x74f"><span>1256</span></td><td id="LC1256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1257" class="css-a4x74f"><span>1257</span></td><td id="LC1257" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevBreakToken = breakToken || <span class="code-keyword">new</span> BreakToken(start); </code></td></tr><tr><td id="L1258" class="css-a4x74f"><span>1258</span></td><td id="LC1258" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1259" class="css-a4x74f"><span>1259</span></td><td id="LC1259" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!done && !newBreakToken) { </code></td></tr><tr><td id="L1260" class="css-a4x74f"><span>1260</span></td><td id="LC1260" class="css-1dcdqdg"><code> next = walker.next(); </code></td></tr><tr><td id="L1261" class="css-a4x74f"><span>1261</span></td><td id="LC1261" class="css-1dcdqdg"><code> prevNode = node; </code></td></tr><tr><td id="L1262" class="css-a4x74f"><span>1262</span></td><td id="LC1262" class="css-1dcdqdg"><code> node = next.value; </code></td></tr><tr><td id="L1263" class="css-a4x74f"><span>1263</span></td><td id="LC1263" class="css-1dcdqdg"><code> done = next.done; </code></td></tr><tr><td id="L1264" class="css-a4x74f"><span>1264</span></td><td id="LC1264" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1265" class="css-a4x74f"><span>1265</span></td><td id="LC1265" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node) { </code></td></tr><tr><td id="L1266" class="css-a4x74f"><span>1266</span></td><td id="LC1266" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks && <span class="code-keyword">this</span>.hooks.layout.trigger(wrapper, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1267" class="css-a4x74f"><span>1267</span></td><td id="LC1267" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1268" class="css-a4x74f"><span>1268</span></td><td id="LC1268" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> imgs = wrapper.querySelectorAll(<span class="code-string">"img"</span>); </code></td></tr><tr><td id="L1269" class="css-a4x74f"><span>1269</span></td><td id="LC1269" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (imgs.length) { </code></td></tr><tr><td id="L1270" class="css-a4x74f"><span>1270</span></td><td id="LC1270" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.waitForImages(imgs); </code></td></tr><tr><td id="L1271" class="css-a4x74f"><span>1271</span></td><td id="LC1271" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1272" class="css-a4x74f"><span>1272</span></td><td id="LC1272" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1273" class="css-a4x74f"><span>1273</span></td><td id="LC1273" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken); </code></td></tr><tr><td id="L1274" class="css-a4x74f"><span>1274</span></td><td id="LC1274" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1275" class="css-a4x74f"><span>1275</span></td><td id="LC1275" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) { </code></td></tr><tr><td id="L1276" class="css-a4x74f"><span>1276</span></td><td id="LC1276" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"Unable to layout item: "</span>, prevNode); </code></td></tr><tr><td id="L1277" class="css-a4x74f"><span>1277</span></td><td id="LC1277" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1278" class="css-a4x74f"><span>1278</span></td><td id="LC1278" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1279" class="css-a4x74f"><span>1279</span></td><td id="LC1279" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newBreakToken; </code></td></tr><tr><td id="L1280" class="css-a4x74f"><span>1280</span></td><td id="LC1280" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1281" class="css-a4x74f"><span>1281</span></td><td id="LC1281" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1282" class="css-a4x74f"><span>1282</span></td><td id="LC1282" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks && <span class="code-keyword">this</span>.hooks.layoutNode.trigger(node); </code></td></tr><tr><td id="L1283" class="css-a4x74f"><span>1283</span></td><td id="LC1283" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1284" class="css-a4x74f"><span>1284</span></td><td id="LC1284" class="css-1dcdqdg"><code> <span class="code-comment">// Check if the rendered element has a break set</span> </code></td></tr><tr><td id="L1285" class="css-a4x74f"><span>1285</span></td><td id="LC1285" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasRenderedContent && <span class="code-keyword">this</span>.shouldBreak(node)) { </code></td></tr><tr><td id="L1286" class="css-a4x74f"><span>1286</span></td><td id="LC1286" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks && <span class="code-keyword">this</span>.hooks.layout.trigger(wrapper, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1287" class="css-a4x74f"><span>1287</span></td><td id="LC1287" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1288" class="css-a4x74f"><span>1288</span></td><td id="LC1288" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> imgs = wrapper.querySelectorAll(<span class="code-string">"img"</span>); </code></td></tr><tr><td id="L1289" class="css-a4x74f"><span>1289</span></td><td id="LC1289" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (imgs.length) { </code></td></tr><tr><td id="L1290" class="css-a4x74f"><span>1290</span></td><td id="LC1290" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.waitForImages(imgs); </code></td></tr><tr><td id="L1291" class="css-a4x74f"><span>1291</span></td><td id="LC1291" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1292" class="css-a4x74f"><span>1292</span></td><td id="LC1292" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1293" class="css-a4x74f"><span>1293</span></td><td id="LC1293" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken); </code></td></tr><tr><td id="L1294" class="css-a4x74f"><span>1294</span></td><td id="LC1294" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1295" class="css-a4x74f"><span>1295</span></td><td id="LC1295" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!newBreakToken) { </code></td></tr><tr><td id="L1296" class="css-a4x74f"><span>1296</span></td><td id="LC1296" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.breakAt(node); </code></td></tr><tr><td id="L1297" class="css-a4x74f"><span>1297</span></td><td id="LC1297" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1298" class="css-a4x74f"><span>1298</span></td><td id="LC1298" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1299" class="css-a4x74f"><span>1299</span></td><td id="LC1299" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) { </code></td></tr><tr><td id="L1300" class="css-a4x74f"><span>1300</span></td><td id="LC1300" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"Unable to layout item: "</span>, node); </code></td></tr><tr><td id="L1301" class="css-a4x74f"><span>1301</span></td><td id="LC1301" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1302" class="css-a4x74f"><span>1302</span></td><td id="LC1302" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1303" class="css-a4x74f"><span>1303</span></td><td id="LC1303" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1304" class="css-a4x74f"><span>1304</span></td><td id="LC1304" class="css-1dcdqdg"><code> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1305" class="css-a4x74f"><span>1305</span></td><td id="LC1305" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1306" class="css-a4x74f"><span>1306</span></td><td id="LC1306" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1307" class="css-a4x74f"><span>1307</span></td><td id="LC1307" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1308" class="css-a4x74f"><span>1308</span></td><td id="LC1308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1309" class="css-a4x74f"><span>1309</span></td><td id="LC1309" class="css-1dcdqdg"><code> <span class="code-comment">// Should the Node be a shallow or deep clone</span> </code></td></tr><tr><td id="L1310" class="css-a4x74f"><span>1310</span></td><td id="LC1310" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> shallow = isContainer(node); </code></td></tr><tr><td id="L1311" class="css-a4x74f"><span>1311</span></td><td id="LC1311" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1312" class="css-a4x74f"><span>1312</span></td><td id="LC1312" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rendered = <span class="code-keyword">this</span>.append(node, wrapper, breakToken, shallow); </code></td></tr><tr><td id="L1313" class="css-a4x74f"><span>1313</span></td><td id="LC1313" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1314" class="css-a4x74f"><span>1314</span></td><td id="LC1314" class="css-1dcdqdg"><code> length += rendered.textContent.length; </code></td></tr><tr><td id="L1315" class="css-a4x74f"><span>1315</span></td><td id="LC1315" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1316" class="css-a4x74f"><span>1316</span></td><td id="LC1316" class="css-1dcdqdg"><code> <span class="code-comment">// Check if layout has content yet</span> </code></td></tr><tr><td id="L1317" class="css-a4x74f"><span>1317</span></td><td id="LC1317" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!hasRenderedContent) { </code></td></tr><tr><td id="L1318" class="css-a4x74f"><span>1318</span></td><td id="LC1318" class="css-1dcdqdg"><code> hasRenderedContent = hasContent(node); </code></td></tr><tr><td id="L1319" class="css-a4x74f"><span>1319</span></td><td id="LC1319" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1320" class="css-a4x74f"><span>1320</span></td><td id="LC1320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1321" class="css-a4x74f"><span>1321</span></td><td id="LC1321" class="css-1dcdqdg"><code> <span class="code-comment">// Skip to the next node if a deep clone was rendered</span> </code></td></tr><tr><td id="L1322" class="css-a4x74f"><span>1322</span></td><td id="LC1322" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!shallow) { </code></td></tr><tr><td id="L1323" class="css-a4x74f"><span>1323</span></td><td id="LC1323" class="css-1dcdqdg"><code> walker = walk(nodeAfter(node, source), source); </code></td></tr><tr><td id="L1324" class="css-a4x74f"><span>1324</span></td><td id="LC1324" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1325" class="css-a4x74f"><span>1325</span></td><td id="LC1325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1326" class="css-a4x74f"><span>1326</span></td><td id="LC1326" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.forceRenderBreak) { </code></td></tr><tr><td id="L1327" class="css-a4x74f"><span>1327</span></td><td id="LC1327" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks && <span class="code-keyword">this</span>.hooks.layout.trigger(wrapper, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1328" class="css-a4x74f"><span>1328</span></td><td id="LC1328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1329" class="css-a4x74f"><span>1329</span></td><td id="LC1329" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken); </code></td></tr><tr><td id="L1330" class="css-a4x74f"><span>1330</span></td><td id="LC1330" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1331" class="css-a4x74f"><span>1331</span></td><td id="LC1331" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!newBreakToken) { </code></td></tr><tr><td id="L1332" class="css-a4x74f"><span>1332</span></td><td id="LC1332" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.breakAt(node); </code></td></tr><tr><td id="L1333" class="css-a4x74f"><span>1333</span></td><td id="LC1333" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1334" class="css-a4x74f"><span>1334</span></td><td id="LC1334" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1335" class="css-a4x74f"><span>1335</span></td><td id="LC1335" class="css-1dcdqdg"><code> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1336" class="css-a4x74f"><span>1336</span></td><td id="LC1336" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.forceRenderBreak = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1337" class="css-a4x74f"><span>1337</span></td><td id="LC1337" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1338" class="css-a4x74f"><span>1338</span></td><td id="LC1338" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1339" class="css-a4x74f"><span>1339</span></td><td id="LC1339" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1340" class="css-a4x74f"><span>1340</span></td><td id="LC1340" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1341" class="css-a4x74f"><span>1341</span></td><td id="LC1341" class="css-1dcdqdg"><code> <span class="code-comment">// Only check x characters</span> </code></td></tr><tr><td id="L1342" class="css-a4x74f"><span>1342</span></td><td id="LC1342" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length >= <span class="code-keyword">this</span>.maxChars) { </code></td></tr><tr><td id="L1343" class="css-a4x74f"><span>1343</span></td><td id="LC1343" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1344" class="css-a4x74f"><span>1344</span></td><td id="LC1344" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks && <span class="code-keyword">this</span>.hooks.layout.trigger(wrapper, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1345" class="css-a4x74f"><span>1345</span></td><td id="LC1345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1346" class="css-a4x74f"><span>1346</span></td><td id="LC1346" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> imgs = wrapper.querySelectorAll(<span class="code-string">"img"</span>); </code></td></tr><tr><td id="L1347" class="css-a4x74f"><span>1347</span></td><td id="LC1347" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (imgs.length) { </code></td></tr><tr><td id="L1348" class="css-a4x74f"><span>1348</span></td><td id="LC1348" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.waitForImages(imgs); </code></td></tr><tr><td id="L1349" class="css-a4x74f"><span>1349</span></td><td id="LC1349" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1350" class="css-a4x74f"><span>1350</span></td><td id="LC1350" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1351" class="css-a4x74f"><span>1351</span></td><td id="LC1351" class="css-1dcdqdg"><code> newBreakToken = <span class="code-keyword">this</span>.findBreakToken(wrapper, source, bounds, prevBreakToken); </code></td></tr><tr><td id="L1352" class="css-a4x74f"><span>1352</span></td><td id="LC1352" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1353" class="css-a4x74f"><span>1353</span></td><td id="LC1353" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newBreakToken && newBreakToken.equals(prevBreakToken)) { </code></td></tr><tr><td id="L1354" class="css-a4x74f"><span>1354</span></td><td id="LC1354" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"Unable to layout item: "</span>, node); </code></td></tr><tr><td id="L1355" class="css-a4x74f"><span>1355</span></td><td id="LC1355" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1356" class="css-a4x74f"><span>1356</span></td><td id="LC1356" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1357" class="css-a4x74f"><span>1357</span></td><td id="LC1357" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1358" class="css-a4x74f"><span>1358</span></td><td id="LC1358" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newBreakToken) { </code></td></tr><tr><td id="L1359" class="css-a4x74f"><span>1359</span></td><td id="LC1359" class="css-1dcdqdg"><code> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1360" class="css-a4x74f"><span>1360</span></td><td id="LC1360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1361" class="css-a4x74f"><span>1361</span></td><td id="LC1361" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1362" class="css-a4x74f"><span>1362</span></td><td id="LC1362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1363" class="css-a4x74f"><span>1363</span></td><td id="LC1363" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1364" class="css-a4x74f"><span>1364</span></td><td id="LC1364" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1365" class="css-a4x74f"><span>1365</span></td><td id="LC1365" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newBreakToken; </code></td></tr><tr><td id="L1366" class="css-a4x74f"><span>1366</span></td><td id="LC1366" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1367" class="css-a4x74f"><span>1367</span></td><td id="LC1367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1368" class="css-a4x74f"><span>1368</span></td><td id="LC1368" class="css-1dcdqdg"><code> breakAt(node, offset = <span class="code-number">0</span>) { </code></td></tr><tr><td id="L1369" class="css-a4x74f"><span>1369</span></td><td id="LC1369" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newBreakToken = <span class="code-keyword">new</span> BreakToken( </code></td></tr><tr><td id="L1370" class="css-a4x74f"><span>1370</span></td><td id="LC1370" class="css-1dcdqdg"><code> node, </code></td></tr><tr><td id="L1371" class="css-a4x74f"><span>1371</span></td><td id="LC1371" class="css-1dcdqdg"><code> offset </code></td></tr><tr><td id="L1372" class="css-a4x74f"><span>1372</span></td><td id="LC1372" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L1373" class="css-a4x74f"><span>1373</span></td><td id="LC1373" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakHooks = <span class="code-keyword">this</span>.hooks.onBreakToken.triggerSync(newBreakToken, <span class="code-literal">undefined</span>, node, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1374" class="css-a4x74f"><span>1374</span></td><td id="LC1374" class="css-1dcdqdg"><code> breakHooks.forEach(<span class="code-function">(<span class="code-params">newToken</span>) =></span> { </code></td></tr><tr><td id="L1375" class="css-a4x74f"><span>1375</span></td><td id="LC1375" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> newToken != <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L1376" class="css-a4x74f"><span>1376</span></td><td id="LC1376" class="css-1dcdqdg"><code> newBreakToken = newToken; </code></td></tr><tr><td id="L1377" class="css-a4x74f"><span>1377</span></td><td id="LC1377" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1378" class="css-a4x74f"><span>1378</span></td><td id="LC1378" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1379" class="css-a4x74f"><span>1379</span></td><td id="LC1379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1380" class="css-a4x74f"><span>1380</span></td><td id="LC1380" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newBreakToken; </code></td></tr><tr><td id="L1381" class="css-a4x74f"><span>1381</span></td><td id="LC1381" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1382" class="css-a4x74f"><span>1382</span></td><td id="LC1382" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1383" class="css-a4x74f"><span>1383</span></td><td id="LC1383" class="css-1dcdqdg"><code> shouldBreak(node) { </code></td></tr><tr><td id="L1384" class="css-a4x74f"><span>1384</span></td><td id="LC1384" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> previousSibling = previousSignificantNode(node); </code></td></tr><tr><td id="L1385" class="css-a4x74f"><span>1385</span></td><td id="LC1385" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parentNode = node.parentNode; </code></td></tr><tr><td id="L1386" class="css-a4x74f"><span>1386</span></td><td id="LC1386" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parentBreakBefore = needsBreakBefore(node) && parentNode && !previousSibling && needsBreakBefore(parentNode); </code></td></tr><tr><td id="L1387" class="css-a4x74f"><span>1387</span></td><td id="LC1387" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> doubleBreakBefore; </code></td></tr><tr><td id="L1388" class="css-a4x74f"><span>1388</span></td><td id="LC1388" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1389" class="css-a4x74f"><span>1389</span></td><td id="LC1389" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parentBreakBefore) { </code></td></tr><tr><td id="L1390" class="css-a4x74f"><span>1390</span></td><td id="LC1390" class="css-1dcdqdg"><code> doubleBreakBefore = node.dataset.breakBefore === parentNode.dataset.breakBefore; </code></td></tr><tr><td id="L1391" class="css-a4x74f"><span>1391</span></td><td id="LC1391" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1392" class="css-a4x74f"><span>1392</span></td><td id="LC1392" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1393" class="css-a4x74f"><span>1393</span></td><td id="LC1393" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !doubleBreakBefore && needsBreakBefore(node) || needsPreviousBreakAfter(node) || needsPageBreak(node, previousSibling); </code></td></tr><tr><td id="L1394" class="css-a4x74f"><span>1394</span></td><td id="LC1394" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1395" class="css-a4x74f"><span>1395</span></td><td id="LC1395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1396" class="css-a4x74f"><span>1396</span></td><td id="LC1396" class="css-1dcdqdg"><code> forceBreak() { </code></td></tr><tr><td id="L1397" class="css-a4x74f"><span>1397</span></td><td id="LC1397" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.forceRenderBreak = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1398" class="css-a4x74f"><span>1398</span></td><td id="LC1398" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1399" class="css-a4x74f"><span>1399</span></td><td id="LC1399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1400" class="css-a4x74f"><span>1400</span></td><td id="LC1400" class="css-1dcdqdg"><code> getStart(source, breakToken) { </code></td></tr><tr><td id="L1401" class="css-a4x74f"><span>1401</span></td><td id="LC1401" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> start; </code></td></tr><tr><td id="L1402" class="css-a4x74f"><span>1402</span></td><td id="LC1402" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node = breakToken && breakToken.node; </code></td></tr><tr><td id="L1403" class="css-a4x74f"><span>1403</span></td><td id="LC1403" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1404" class="css-a4x74f"><span>1404</span></td><td id="LC1404" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node) { </code></td></tr><tr><td id="L1405" class="css-a4x74f"><span>1405</span></td><td id="LC1405" class="css-1dcdqdg"><code> start = node; </code></td></tr><tr><td id="L1406" class="css-a4x74f"><span>1406</span></td><td id="LC1406" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1407" class="css-a4x74f"><span>1407</span></td><td id="LC1407" class="css-1dcdqdg"><code> start = source.firstChild; </code></td></tr><tr><td id="L1408" class="css-a4x74f"><span>1408</span></td><td id="LC1408" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1409" class="css-a4x74f"><span>1409</span></td><td id="LC1409" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1410" class="css-a4x74f"><span>1410</span></td><td id="LC1410" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> start; </code></td></tr><tr><td id="L1411" class="css-a4x74f"><span>1411</span></td><td id="LC1411" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1412" class="css-a4x74f"><span>1412</span></td><td id="LC1412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1413" class="css-a4x74f"><span>1413</span></td><td id="LC1413" class="css-1dcdqdg"><code> append(node, dest, breakToken, shallow = <span class="code-literal">true</span>, rebuild = <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L1414" class="css-a4x74f"><span>1414</span></td><td id="LC1414" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1415" class="css-a4x74f"><span>1415</span></td><td id="LC1415" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> clone = cloneNode(node, !shallow); </code></td></tr><tr><td id="L1416" class="css-a4x74f"><span>1416</span></td><td id="LC1416" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1417" class="css-a4x74f"><span>1417</span></td><td id="LC1417" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.parentNode && isElement(node.parentNode)) { </code></td></tr><tr><td id="L1418" class="css-a4x74f"><span>1418</span></td><td id="LC1418" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parent = findElement(node.parentNode, dest); </code></td></tr><tr><td id="L1419" class="css-a4x74f"><span>1419</span></td><td id="LC1419" class="css-1dcdqdg"><code> <span class="code-comment">// Rebuild chain</span> </code></td></tr><tr><td id="L1420" class="css-a4x74f"><span>1420</span></td><td id="LC1420" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parent) { </code></td></tr><tr><td id="L1421" class="css-a4x74f"><span>1421</span></td><td id="LC1421" class="css-1dcdqdg"><code> parent.appendChild(clone); </code></td></tr><tr><td id="L1422" class="css-a4x74f"><span>1422</span></td><td id="LC1422" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (rebuild) { </code></td></tr><tr><td id="L1423" class="css-a4x74f"><span>1423</span></td><td id="LC1423" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fragment = rebuildAncestors(node); </code></td></tr><tr><td id="L1424" class="css-a4x74f"><span>1424</span></td><td id="LC1424" class="css-1dcdqdg"><code> parent = findElement(node.parentNode, fragment); </code></td></tr><tr><td id="L1425" class="css-a4x74f"><span>1425</span></td><td id="LC1425" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parent) { </code></td></tr><tr><td id="L1426" class="css-a4x74f"><span>1426</span></td><td id="LC1426" class="css-1dcdqdg"><code> dest.appendChild(clone); </code></td></tr><tr><td id="L1427" class="css-a4x74f"><span>1427</span></td><td id="LC1427" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (breakToken && isText(breakToken.node) && breakToken.offset > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L1428" class="css-a4x74f"><span>1428</span></td><td id="LC1428" class="css-1dcdqdg"><code> clone.textContent = clone.textContent.substring(breakToken.offset); </code></td></tr><tr><td id="L1429" class="css-a4x74f"><span>1429</span></td><td id="LC1429" class="css-1dcdqdg"><code> parent.appendChild(clone); </code></td></tr><tr><td id="L1430" class="css-a4x74f"><span>1430</span></td><td id="LC1430" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1431" class="css-a4x74f"><span>1431</span></td><td id="LC1431" class="css-1dcdqdg"><code> parent.appendChild(clone); </code></td></tr><tr><td id="L1432" class="css-a4x74f"><span>1432</span></td><td id="LC1432" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1433" class="css-a4x74f"><span>1433</span></td><td id="LC1433" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1434" class="css-a4x74f"><span>1434</span></td><td id="LC1434" class="css-1dcdqdg"><code> dest.appendChild(fragment); </code></td></tr><tr><td id="L1435" class="css-a4x74f"><span>1435</span></td><td id="LC1435" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1436" class="css-a4x74f"><span>1436</span></td><td id="LC1436" class="css-1dcdqdg"><code> dest.appendChild(clone); </code></td></tr><tr><td id="L1437" class="css-a4x74f"><span>1437</span></td><td id="LC1437" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1438" class="css-a4x74f"><span>1438</span></td><td id="LC1438" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1439" class="css-a4x74f"><span>1439</span></td><td id="LC1439" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1440" class="css-a4x74f"><span>1440</span></td><td id="LC1440" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1441" class="css-a4x74f"><span>1441</span></td><td id="LC1441" class="css-1dcdqdg"><code> dest.appendChild(clone); </code></td></tr><tr><td id="L1442" class="css-a4x74f"><span>1442</span></td><td id="LC1442" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1443" class="css-a4x74f"><span>1443</span></td><td id="LC1443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1444" class="css-a4x74f"><span>1444</span></td><td id="LC1444" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nodeHooks = <span class="code-keyword">this</span>.hooks.renderNode.triggerSync(clone, node, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1445" class="css-a4x74f"><span>1445</span></td><td id="LC1445" class="css-1dcdqdg"><code> nodeHooks.forEach(<span class="code-function">(<span class="code-params">newNode</span>) =></span> { </code></td></tr><tr><td id="L1446" class="css-a4x74f"><span>1446</span></td><td id="LC1446" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> newNode != <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L1447" class="css-a4x74f"><span>1447</span></td><td id="LC1447" class="css-1dcdqdg"><code> clone = newNode; </code></td></tr><tr><td id="L1448" class="css-a4x74f"><span>1448</span></td><td id="LC1448" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1449" class="css-a4x74f"><span>1449</span></td><td id="LC1449" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1450" class="css-a4x74f"><span>1450</span></td><td id="LC1450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1451" class="css-a4x74f"><span>1451</span></td><td id="LC1451" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> clone; </code></td></tr><tr><td id="L1452" class="css-a4x74f"><span>1452</span></td><td id="LC1452" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1453" class="css-a4x74f"><span>1453</span></td><td id="LC1453" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1454" class="css-a4x74f"><span>1454</span></td><td id="LC1454" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> waitForImages(imgs) { </code></td></tr><tr><td id="L1455" class="css-a4x74f"><span>1455</span></td><td id="LC1455" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> results = <span class="code-built_in">Array</span>.from(imgs).map(<span class="code-keyword">async</span> (img) => { </code></td></tr><tr><td id="L1456" class="css-a4x74f"><span>1456</span></td><td id="LC1456" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.awaitImageLoaded(img); </code></td></tr><tr><td id="L1457" class="css-a4x74f"><span>1457</span></td><td id="LC1457" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1458" class="css-a4x74f"><span>1458</span></td><td id="LC1458" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-built_in">Promise</span>.all(results); </code></td></tr><tr><td id="L1459" class="css-a4x74f"><span>1459</span></td><td id="LC1459" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1460" class="css-a4x74f"><span>1460</span></td><td id="LC1460" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1461" class="css-a4x74f"><span>1461</span></td><td id="LC1461" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> awaitImageLoaded(image) { </code></td></tr><tr><td id="L1462" class="css-a4x74f"><span>1462</span></td><td id="LC1462" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-params">resolve</span> =></span> { </code></td></tr><tr><td id="L1463" class="css-a4x74f"><span>1463</span></td><td id="LC1463" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (image.complete !== <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L1464" class="css-a4x74f"><span>1464</span></td><td id="LC1464" class="css-1dcdqdg"><code> image.onload = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L1465" class="css-a4x74f"><span>1465</span></td><td id="LC1465" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> {width, height} = <span class="code-built_in">window</span>.getComputedStyle(image); </code></td></tr><tr><td id="L1466" class="css-a4x74f"><span>1466</span></td><td id="LC1466" class="css-1dcdqdg"><code> resolve(width, height); </code></td></tr><tr><td id="L1467" class="css-a4x74f"><span>1467</span></td><td id="LC1467" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L1468" class="css-a4x74f"><span>1468</span></td><td id="LC1468" class="css-1dcdqdg"><code> image.onerror = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">e</span>) </span>{ </code></td></tr><tr><td id="L1469" class="css-a4x74f"><span>1469</span></td><td id="LC1469" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> {width, height} = <span class="code-built_in">window</span>.getComputedStyle(image); </code></td></tr><tr><td id="L1470" class="css-a4x74f"><span>1470</span></td><td id="LC1470" class="css-1dcdqdg"><code> resolve(width, height, e); </code></td></tr><tr><td id="L1471" class="css-a4x74f"><span>1471</span></td><td id="LC1471" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L1472" class="css-a4x74f"><span>1472</span></td><td id="LC1472" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1473" class="css-a4x74f"><span>1473</span></td><td id="LC1473" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> {width, height} = <span class="code-built_in">window</span>.getComputedStyle(image); </code></td></tr><tr><td id="L1474" class="css-a4x74f"><span>1474</span></td><td id="LC1474" class="css-1dcdqdg"><code> resolve(width, height); </code></td></tr><tr><td id="L1475" class="css-a4x74f"><span>1475</span></td><td id="LC1475" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1476" class="css-a4x74f"><span>1476</span></td><td id="LC1476" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1477" class="css-a4x74f"><span>1477</span></td><td id="LC1477" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1478" class="css-a4x74f"><span>1478</span></td><td id="LC1478" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1479" class="css-a4x74f"><span>1479</span></td><td id="LC1479" class="css-1dcdqdg"><code> avoidBreakInside(node, limiter) { </code></td></tr><tr><td id="L1480" class="css-a4x74f"><span>1480</span></td><td id="LC1480" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakNode; </code></td></tr><tr><td id="L1481" class="css-a4x74f"><span>1481</span></td><td id="LC1481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1482" class="css-a4x74f"><span>1482</span></td><td id="LC1482" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node === limiter) { </code></td></tr><tr><td id="L1483" class="css-a4x74f"><span>1483</span></td><td id="LC1483" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1484" class="css-a4x74f"><span>1484</span></td><td id="LC1484" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1485" class="css-a4x74f"><span>1485</span></td><td id="LC1485" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1486" class="css-a4x74f"><span>1486</span></td><td id="LC1486" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (node.parentNode) { </code></td></tr><tr><td id="L1487" class="css-a4x74f"><span>1487</span></td><td id="LC1487" class="css-1dcdqdg"><code> node = node.parentNode; </code></td></tr><tr><td id="L1488" class="css-a4x74f"><span>1488</span></td><td id="LC1488" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1489" class="css-a4x74f"><span>1489</span></td><td id="LC1489" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node === limiter) { </code></td></tr><tr><td id="L1490" class="css-a4x74f"><span>1490</span></td><td id="LC1490" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1491" class="css-a4x74f"><span>1491</span></td><td id="LC1491" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1492" class="css-a4x74f"><span>1492</span></td><td id="LC1492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1493" class="css-a4x74f"><span>1493</span></td><td id="LC1493" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">window</span>.getComputedStyle(node)[<span class="code-string">"break-inside"</span>] === <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L1494" class="css-a4x74f"><span>1494</span></td><td id="LC1494" class="css-1dcdqdg"><code> breakNode = node; </code></td></tr><tr><td id="L1495" class="css-a4x74f"><span>1495</span></td><td id="LC1495" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1496" class="css-a4x74f"><span>1496</span></td><td id="LC1496" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1497" class="css-a4x74f"><span>1497</span></td><td id="LC1497" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1498" class="css-a4x74f"><span>1498</span></td><td id="LC1498" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1499" class="css-a4x74f"><span>1499</span></td><td id="LC1499" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> breakNode; </code></td></tr><tr><td id="L1500" class="css-a4x74f"><span>1500</span></td><td id="LC1500" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1501" class="css-a4x74f"><span>1501</span></td><td id="LC1501" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1502" class="css-a4x74f"><span>1502</span></td><td id="LC1502" class="css-1dcdqdg"><code> createBreakToken(overflow, rendered, source) { </code></td></tr><tr><td id="L1503" class="css-a4x74f"><span>1503</span></td><td id="LC1503" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> container = overflow.startContainer; </code></td></tr><tr><td id="L1504" class="css-a4x74f"><span>1504</span></td><td id="LC1504" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> offset = overflow.startOffset; </code></td></tr><tr><td id="L1505" class="css-a4x74f"><span>1505</span></td><td id="LC1505" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node, renderedNode, parent, index, temp; </code></td></tr><tr><td id="L1506" class="css-a4x74f"><span>1506</span></td><td id="LC1506" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1507" class="css-a4x74f"><span>1507</span></td><td id="LC1507" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isElement(container)) { </code></td></tr><tr><td id="L1508" class="css-a4x74f"><span>1508</span></td><td id="LC1508" class="css-1dcdqdg"><code> temp = child(container, offset); </code></td></tr><tr><td id="L1509" class="css-a4x74f"><span>1509</span></td><td id="LC1509" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1510" class="css-a4x74f"><span>1510</span></td><td id="LC1510" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isElement(temp)) { </code></td></tr><tr><td id="L1511" class="css-a4x74f"><span>1511</span></td><td id="LC1511" class="css-1dcdqdg"><code> renderedNode = findElement(temp, rendered); </code></td></tr><tr><td id="L1512" class="css-a4x74f"><span>1512</span></td><td id="LC1512" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1513" class="css-a4x74f"><span>1513</span></td><td id="LC1513" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!renderedNode) { </code></td></tr><tr><td id="L1514" class="css-a4x74f"><span>1514</span></td><td id="LC1514" class="css-1dcdqdg"><code> <span class="code-comment">// Find closest element with data-ref</span> </code></td></tr><tr><td id="L1515" class="css-a4x74f"><span>1515</span></td><td id="LC1515" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevNode = prevValidNode(temp); </code></td></tr><tr><td id="L1516" class="css-a4x74f"><span>1516</span></td><td id="LC1516" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isElement(prevNode)) { </code></td></tr><tr><td id="L1517" class="css-a4x74f"><span>1517</span></td><td id="LC1517" class="css-1dcdqdg"><code> prevNode = prevNode.parentElement; </code></td></tr><tr><td id="L1518" class="css-a4x74f"><span>1518</span></td><td id="LC1518" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1519" class="css-a4x74f"><span>1519</span></td><td id="LC1519" class="css-1dcdqdg"><code> renderedNode = findElement(prevNode, rendered); </code></td></tr><tr><td id="L1520" class="css-a4x74f"><span>1520</span></td><td id="LC1520" class="css-1dcdqdg"><code> <span class="code-comment">// Check if temp is the last rendered node at its level.</span> </code></td></tr><tr><td id="L1521" class="css-a4x74f"><span>1521</span></td><td id="LC1521" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!temp.nextSibling) { </code></td></tr><tr><td id="L1522" class="css-a4x74f"><span>1522</span></td><td id="LC1522" class="css-1dcdqdg"><code> <span class="code-comment">// We need to ensure that the previous sibling of temp is fully rendered.</span> </code></td></tr><tr><td id="L1523" class="css-a4x74f"><span>1523</span></td><td id="LC1523" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> renderedNodeFromSource = findElement(renderedNode, source); </code></td></tr><tr><td id="L1524" class="css-a4x74f"><span>1524</span></td><td id="LC1524" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> walker = <span class="code-built_in">document</span>.createTreeWalker(renderedNodeFromSource, NodeFilter.SHOW_ELEMENT); </code></td></tr><tr><td id="L1525" class="css-a4x74f"><span>1525</span></td><td id="LC1525" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> lastChildOfRenderedNodeFromSource = walker.lastChild(); </code></td></tr><tr><td id="L1526" class="css-a4x74f"><span>1526</span></td><td id="LC1526" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> lastChildOfRenderedNodeMatchingFromRendered = findElement(lastChildOfRenderedNodeFromSource, rendered); </code></td></tr><tr><td id="L1527" class="css-a4x74f"><span>1527</span></td><td id="LC1527" class="css-1dcdqdg"><code> <span class="code-comment">// Check if we found that the last child in source</span> </code></td></tr><tr><td id="L1528" class="css-a4x74f"><span>1528</span></td><td id="LC1528" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!lastChildOfRenderedNodeMatchingFromRendered) { </code></td></tr><tr><td id="L1529" class="css-a4x74f"><span>1529</span></td><td id="LC1529" class="css-1dcdqdg"><code> <span class="code-comment">// Pending content to be rendered before virtual break token</span> </code></td></tr><tr><td id="L1530" class="css-a4x74f"><span>1530</span></td><td id="LC1530" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1531" class="css-a4x74f"><span>1531</span></td><td id="LC1531" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1532" class="css-a4x74f"><span>1532</span></td><td id="LC1532" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise we will return a break token as per below</span> </code></td></tr><tr><td id="L1533" class="css-a4x74f"><span>1533</span></td><td id="LC1533" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1534" class="css-a4x74f"><span>1534</span></td><td id="LC1534" class="css-1dcdqdg"><code> <span class="code-comment">// renderedNode is actually the last unbroken box that does not overflow.</span> </code></td></tr><tr><td id="L1535" class="css-a4x74f"><span>1535</span></td><td id="LC1535" class="css-1dcdqdg"><code> <span class="code-comment">// Break Token is therefore the next sibling of renderedNode within source node.</span> </code></td></tr><tr><td id="L1536" class="css-a4x74f"><span>1536</span></td><td id="LC1536" class="css-1dcdqdg"><code> node = findElement(renderedNode, source).nextSibling; </code></td></tr><tr><td id="L1537" class="css-a4x74f"><span>1537</span></td><td id="LC1537" class="css-1dcdqdg"><code> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1538" class="css-a4x74f"><span>1538</span></td><td id="LC1538" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1539" class="css-a4x74f"><span>1539</span></td><td id="LC1539" class="css-1dcdqdg"><code> node = findElement(renderedNode, source); </code></td></tr><tr><td id="L1540" class="css-a4x74f"><span>1540</span></td><td id="LC1540" class="css-1dcdqdg"><code> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1541" class="css-a4x74f"><span>1541</span></td><td id="LC1541" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1542" class="css-a4x74f"><span>1542</span></td><td id="LC1542" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1543" class="css-a4x74f"><span>1543</span></td><td id="LC1543" class="css-1dcdqdg"><code> renderedNode = findElement(container, rendered); </code></td></tr><tr><td id="L1544" class="css-a4x74f"><span>1544</span></td><td id="LC1544" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1545" class="css-a4x74f"><span>1545</span></td><td id="LC1545" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!renderedNode) { </code></td></tr><tr><td id="L1546" class="css-a4x74f"><span>1546</span></td><td id="LC1546" class="css-1dcdqdg"><code> renderedNode = findElement(prevValidNode(container), rendered); </code></td></tr><tr><td id="L1547" class="css-a4x74f"><span>1547</span></td><td id="LC1547" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1548" class="css-a4x74f"><span>1548</span></td><td id="LC1548" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1549" class="css-a4x74f"><span>1549</span></td><td id="LC1549" class="css-1dcdqdg"><code> parent = findElement(renderedNode, source); </code></td></tr><tr><td id="L1550" class="css-a4x74f"><span>1550</span></td><td id="LC1550" class="css-1dcdqdg"><code> index = indexOfTextNode(temp, parent); </code></td></tr><tr><td id="L1551" class="css-a4x74f"><span>1551</span></td><td id="LC1551" class="css-1dcdqdg"><code> <span class="code-comment">// No seperatation for the first textNode of an element</span> </code></td></tr><tr><td id="L1552" class="css-a4x74f"><span>1552</span></td><td id="LC1552" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(index === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L1553" class="css-a4x74f"><span>1553</span></td><td id="LC1553" class="css-1dcdqdg"><code> node = parent; </code></td></tr><tr><td id="L1554" class="css-a4x74f"><span>1554</span></td><td id="LC1554" class="css-1dcdqdg"><code> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1555" class="css-a4x74f"><span>1555</span></td><td id="LC1555" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1556" class="css-a4x74f"><span>1556</span></td><td id="LC1556" class="css-1dcdqdg"><code> node = child(parent, index); </code></td></tr><tr><td id="L1557" class="css-a4x74f"><span>1557</span></td><td id="LC1557" class="css-1dcdqdg"><code> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1558" class="css-a4x74f"><span>1558</span></td><td id="LC1558" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1559" class="css-a4x74f"><span>1559</span></td><td id="LC1559" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1560" class="css-a4x74f"><span>1560</span></td><td id="LC1560" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1561" class="css-a4x74f"><span>1561</span></td><td id="LC1561" class="css-1dcdqdg"><code> renderedNode = findElement(container.parentNode, rendered); </code></td></tr><tr><td id="L1562" class="css-a4x74f"><span>1562</span></td><td id="LC1562" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1563" class="css-a4x74f"><span>1563</span></td><td id="LC1563" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!renderedNode) { </code></td></tr><tr><td id="L1564" class="css-a4x74f"><span>1564</span></td><td id="LC1564" class="css-1dcdqdg"><code> renderedNode = findElement(prevValidNode(container.parentNode), rendered); </code></td></tr><tr><td id="L1565" class="css-a4x74f"><span>1565</span></td><td id="LC1565" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1566" class="css-a4x74f"><span>1566</span></td><td id="LC1566" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1567" class="css-a4x74f"><span>1567</span></td><td id="LC1567" class="css-1dcdqdg"><code> parent = findElement(renderedNode, source); </code></td></tr><tr><td id="L1568" class="css-a4x74f"><span>1568</span></td><td id="LC1568" class="css-1dcdqdg"><code> index = indexOfTextNode(container, parent); </code></td></tr><tr><td id="L1569" class="css-a4x74f"><span>1569</span></td><td id="LC1569" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1570" class="css-a4x74f"><span>1570</span></td><td id="LC1570" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index === <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L1571" class="css-a4x74f"><span>1571</span></td><td id="LC1571" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1572" class="css-a4x74f"><span>1572</span></td><td id="LC1572" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1573" class="css-a4x74f"><span>1573</span></td><td id="LC1573" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1574" class="css-a4x74f"><span>1574</span></td><td id="LC1574" class="css-1dcdqdg"><code> node = child(parent, index); </code></td></tr><tr><td id="L1575" class="css-a4x74f"><span>1575</span></td><td id="LC1575" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1576" class="css-a4x74f"><span>1576</span></td><td id="LC1576" class="css-1dcdqdg"><code> offset += node.textContent.indexOf(container.textContent); </code></td></tr><tr><td id="L1577" class="css-a4x74f"><span>1577</span></td><td id="LC1577" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1578" class="css-a4x74f"><span>1578</span></td><td id="LC1578" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1579" class="css-a4x74f"><span>1579</span></td><td id="LC1579" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node) { </code></td></tr><tr><td id="L1580" class="css-a4x74f"><span>1580</span></td><td id="LC1580" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1581" class="css-a4x74f"><span>1581</span></td><td id="LC1581" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1582" class="css-a4x74f"><span>1582</span></td><td id="LC1582" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1583" class="css-a4x74f"><span>1583</span></td><td id="LC1583" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> BreakToken( </code></td></tr><tr><td id="L1584" class="css-a4x74f"><span>1584</span></td><td id="LC1584" class="css-1dcdqdg"><code> node, </code></td></tr><tr><td id="L1585" class="css-a4x74f"><span>1585</span></td><td id="LC1585" class="css-1dcdqdg"><code> offset </code></td></tr><tr><td id="L1586" class="css-a4x74f"><span>1586</span></td><td id="LC1586" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L1587" class="css-a4x74f"><span>1587</span></td><td id="LC1587" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1588" class="css-a4x74f"><span>1588</span></td><td id="LC1588" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1589" class="css-a4x74f"><span>1589</span></td><td id="LC1589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1590" class="css-a4x74f"><span>1590</span></td><td id="LC1590" class="css-1dcdqdg"><code> findBreakToken(rendered, source, bounds = <span class="code-keyword">this</span>.bounds, prevBreakToken, extract = <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L1591" class="css-a4x74f"><span>1591</span></td><td id="LC1591" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> overflow = <span class="code-keyword">this</span>.findOverflow(rendered, bounds); </code></td></tr><tr><td id="L1592" class="css-a4x74f"><span>1592</span></td><td id="LC1592" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakToken, breakLetter; </code></td></tr><tr><td id="L1593" class="css-a4x74f"><span>1593</span></td><td id="LC1593" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1594" class="css-a4x74f"><span>1594</span></td><td id="LC1594" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> overflowHooks = <span class="code-keyword">this</span>.hooks.onOverflow.triggerSync(overflow, rendered, bounds, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1595" class="css-a4x74f"><span>1595</span></td><td id="LC1595" class="css-1dcdqdg"><code> overflowHooks.forEach(<span class="code-function">(<span class="code-params">newOverflow</span>) =></span> { </code></td></tr><tr><td id="L1596" class="css-a4x74f"><span>1596</span></td><td id="LC1596" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> newOverflow != <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L1597" class="css-a4x74f"><span>1597</span></td><td id="LC1597" class="css-1dcdqdg"><code> overflow = newOverflow; </code></td></tr><tr><td id="L1598" class="css-a4x74f"><span>1598</span></td><td id="LC1598" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1599" class="css-a4x74f"><span>1599</span></td><td id="LC1599" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1600" class="css-a4x74f"><span>1600</span></td><td id="LC1600" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1601" class="css-a4x74f"><span>1601</span></td><td id="LC1601" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (overflow) { </code></td></tr><tr><td id="L1602" class="css-a4x74f"><span>1602</span></td><td id="LC1602" class="css-1dcdqdg"><code> breakToken = <span class="code-keyword">this</span>.createBreakToken(overflow, rendered, source); </code></td></tr><tr><td id="L1603" class="css-a4x74f"><span>1603</span></td><td id="LC1603" class="css-1dcdqdg"><code> <span class="code-comment">// breakToken is nullable</span> </code></td></tr><tr><td id="L1604" class="css-a4x74f"><span>1604</span></td><td id="LC1604" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakHooks = <span class="code-keyword">this</span>.hooks.onBreakToken.triggerSync(breakToken, overflow, rendered, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L1605" class="css-a4x74f"><span>1605</span></td><td id="LC1605" class="css-1dcdqdg"><code> breakHooks.forEach(<span class="code-function">(<span class="code-params">newToken</span>) =></span> { </code></td></tr><tr><td id="L1606" class="css-a4x74f"><span>1606</span></td><td id="LC1606" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> newToken != <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L1607" class="css-a4x74f"><span>1607</span></td><td id="LC1607" class="css-1dcdqdg"><code> breakToken = newToken; </code></td></tr><tr><td id="L1608" class="css-a4x74f"><span>1608</span></td><td id="LC1608" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1609" class="css-a4x74f"><span>1609</span></td><td id="LC1609" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L1610" class="css-a4x74f"><span>1610</span></td><td id="LC1610" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1611" class="css-a4x74f"><span>1611</span></td><td id="LC1611" class="css-1dcdqdg"><code> <span class="code-comment">// Stop removal if we are in a loop</span> </code></td></tr><tr><td id="L1612" class="css-a4x74f"><span>1612</span></td><td id="LC1612" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (breakToken && breakToken.equals(prevBreakToken)) { </code></td></tr><tr><td id="L1613" class="css-a4x74f"><span>1613</span></td><td id="LC1613" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> breakToken; </code></td></tr><tr><td id="L1614" class="css-a4x74f"><span>1614</span></td><td id="LC1614" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1615" class="css-a4x74f"><span>1615</span></td><td id="LC1615" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1616" class="css-a4x74f"><span>1616</span></td><td id="LC1616" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (breakToken && breakToken[<span class="code-string">"node"</span>] && breakToken[<span class="code-string">"offset"</span>] && breakToken[<span class="code-string">"node"</span>].textContent) { </code></td></tr><tr><td id="L1617" class="css-a4x74f"><span>1617</span></td><td id="LC1617" class="css-1dcdqdg"><code> breakLetter = breakToken[<span class="code-string">"node"</span>].textContent.charAt(breakToken[<span class="code-string">"offset"</span>]); </code></td></tr><tr><td id="L1618" class="css-a4x74f"><span>1618</span></td><td id="LC1618" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1619" class="css-a4x74f"><span>1619</span></td><td id="LC1619" class="css-1dcdqdg"><code> breakLetter = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1620" class="css-a4x74f"><span>1620</span></td><td id="LC1620" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1621" class="css-a4x74f"><span>1621</span></td><td id="LC1621" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1622" class="css-a4x74f"><span>1622</span></td><td id="LC1622" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (breakToken && breakToken.node && extract) { </code></td></tr><tr><td id="L1623" class="css-a4x74f"><span>1623</span></td><td id="LC1623" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.removeOverflow(overflow, breakLetter); </code></td></tr><tr><td id="L1624" class="css-a4x74f"><span>1624</span></td><td id="LC1624" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1625" class="css-a4x74f"><span>1625</span></td><td id="LC1625" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1626" class="css-a4x74f"><span>1626</span></td><td id="LC1626" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1627" class="css-a4x74f"><span>1627</span></td><td id="LC1627" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> breakToken; </code></td></tr><tr><td id="L1628" class="css-a4x74f"><span>1628</span></td><td id="LC1628" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1629" class="css-a4x74f"><span>1629</span></td><td id="LC1629" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1630" class="css-a4x74f"><span>1630</span></td><td id="LC1630" class="css-1dcdqdg"><code> hasOverflow(element, bounds = <span class="code-keyword">this</span>.bounds) { </code></td></tr><tr><td id="L1631" class="css-a4x74f"><span>1631</span></td><td id="LC1631" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> constrainingElement = element && element.parentNode; <span class="code-comment">// this gets the element, instead of the wrapper for the width workaround</span> </code></td></tr><tr><td id="L1632" class="css-a4x74f"><span>1632</span></td><td id="LC1632" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> {width} = element.getBoundingClientRect(); </code></td></tr><tr><td id="L1633" class="css-a4x74f"><span>1633</span></td><td id="LC1633" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> scrollWidth = constrainingElement ? constrainingElement.scrollWidth : <span class="code-number">0</span>; </code></td></tr><tr><td id="L1634" class="css-a4x74f"><span>1634</span></td><td id="LC1634" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Math</span>.max(<span class="code-built_in">Math</span>.floor(width), scrollWidth) > <span class="code-built_in">Math</span>.round(bounds.width); </code></td></tr><tr><td id="L1635" class="css-a4x74f"><span>1635</span></td><td id="LC1635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1636" class="css-a4x74f"><span>1636</span></td><td id="LC1636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1637" class="css-a4x74f"><span>1637</span></td><td id="LC1637" class="css-1dcdqdg"><code> findOverflow(rendered, bounds = <span class="code-keyword">this</span>.bounds) { </code></td></tr><tr><td id="L1638" class="css-a4x74f"><span>1638</span></td><td id="LC1638" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.hasOverflow(rendered, bounds)) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1639" class="css-a4x74f"><span>1639</span></td><td id="LC1639" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1640" class="css-a4x74f"><span>1640</span></td><td id="LC1640" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> start = <span class="code-built_in">Math</span>.round(bounds.left); </code></td></tr><tr><td id="L1641" class="css-a4x74f"><span>1641</span></td><td id="LC1641" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> end = <span class="code-built_in">Math</span>.round(bounds.right); </code></td></tr><tr><td id="L1642" class="css-a4x74f"><span>1642</span></td><td id="LC1642" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range; </code></td></tr><tr><td id="L1643" class="css-a4x74f"><span>1643</span></td><td id="LC1643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1644" class="css-a4x74f"><span>1644</span></td><td id="LC1644" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> walker = walk(rendered.firstChild, rendered); </code></td></tr><tr><td id="L1645" class="css-a4x74f"><span>1645</span></td><td id="LC1645" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1646" class="css-a4x74f"><span>1646</span></td><td id="LC1646" class="css-1dcdqdg"><code> <span class="code-comment">// Find Start</span> </code></td></tr><tr><td id="L1647" class="css-a4x74f"><span>1647</span></td><td id="LC1647" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> next, done, node, offset, skip, breakAvoid, prev, br; </code></td></tr><tr><td id="L1648" class="css-a4x74f"><span>1648</span></td><td id="LC1648" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!done) { </code></td></tr><tr><td id="L1649" class="css-a4x74f"><span>1649</span></td><td id="LC1649" class="css-1dcdqdg"><code> next = walker.next(); </code></td></tr><tr><td id="L1650" class="css-a4x74f"><span>1650</span></td><td id="LC1650" class="css-1dcdqdg"><code> done = next.done; </code></td></tr><tr><td id="L1651" class="css-a4x74f"><span>1651</span></td><td id="LC1651" class="css-1dcdqdg"><code> node = next.value; </code></td></tr><tr><td id="L1652" class="css-a4x74f"><span>1652</span></td><td id="LC1652" class="css-1dcdqdg"><code> skip = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1653" class="css-a4x74f"><span>1653</span></td><td id="LC1653" class="css-1dcdqdg"><code> breakAvoid = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1654" class="css-a4x74f"><span>1654</span></td><td id="LC1654" class="css-1dcdqdg"><code> prev = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1655" class="css-a4x74f"><span>1655</span></td><td id="LC1655" class="css-1dcdqdg"><code> br = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1656" class="css-a4x74f"><span>1656</span></td><td id="LC1656" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1657" class="css-a4x74f"><span>1657</span></td><td id="LC1657" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node) { </code></td></tr><tr><td id="L1658" class="css-a4x74f"><span>1658</span></td><td id="LC1658" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pos = getBoundingClientRect(node); </code></td></tr><tr><td id="L1659" class="css-a4x74f"><span>1659</span></td><td id="LC1659" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> left = <span class="code-built_in">Math</span>.round(pos.left); </code></td></tr><tr><td id="L1660" class="css-a4x74f"><span>1660</span></td><td id="LC1660" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> right = <span class="code-built_in">Math</span>.floor(pos.right); </code></td></tr><tr><td id="L1661" class="css-a4x74f"><span>1661</span></td><td id="LC1661" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1662" class="css-a4x74f"><span>1662</span></td><td id="LC1662" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!range && left >= end) { </code></td></tr><tr><td id="L1663" class="css-a4x74f"><span>1663</span></td><td id="LC1663" class="css-1dcdqdg"><code> <span class="code-comment">// Check if it is a float</span> </code></td></tr><tr><td id="L1664" class="css-a4x74f"><span>1664</span></td><td id="LC1664" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> isFloat = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1665" class="css-a4x74f"><span>1665</span></td><td id="LC1665" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1666" class="css-a4x74f"><span>1666</span></td><td id="LC1666" class="css-1dcdqdg"><code> <span class="code-comment">// Check if the node is inside a break-inside: avoid table cell</span> </code></td></tr><tr><td id="L1667" class="css-a4x74f"><span>1667</span></td><td id="LC1667" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> insideTableCell = parentOf(node, <span class="code-string">"TD"</span>, rendered); </code></td></tr><tr><td id="L1668" class="css-a4x74f"><span>1668</span></td><td id="LC1668" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (insideTableCell && <span class="code-built_in">window</span>.getComputedStyle(insideTableCell)[<span class="code-string">"break-inside"</span>] === <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L1669" class="css-a4x74f"><span>1669</span></td><td id="LC1669" class="css-1dcdqdg"><code> <span class="code-comment">// breaking inside a table cell produces unexpected result, as a workaround, we forcibly avoid break inside in a cell.</span> </code></td></tr><tr><td id="L1670" class="css-a4x74f"><span>1670</span></td><td id="LC1670" class="css-1dcdqdg"><code> prev = insideTableCell; </code></td></tr><tr><td id="L1671" class="css-a4x74f"><span>1671</span></td><td id="LC1671" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (isElement(node)) { </code></td></tr><tr><td id="L1672" class="css-a4x74f"><span>1672</span></td><td id="LC1672" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> styles = <span class="code-built_in">window</span>.getComputedStyle(node); </code></td></tr><tr><td id="L1673" class="css-a4x74f"><span>1673</span></td><td id="LC1673" class="css-1dcdqdg"><code> isFloat = styles.getPropertyValue(<span class="code-string">"float"</span>) !== <span class="code-string">"none"</span>; </code></td></tr><tr><td id="L1674" class="css-a4x74f"><span>1674</span></td><td id="LC1674" class="css-1dcdqdg"><code> skip = styles.getPropertyValue(<span class="code-string">"break-inside"</span>) === <span class="code-string">"avoid"</span>; </code></td></tr><tr><td id="L1675" class="css-a4x74f"><span>1675</span></td><td id="LC1675" class="css-1dcdqdg"><code> breakAvoid = node.dataset.breakBefore === <span class="code-string">"avoid"</span> || node.dataset.previousBreakAfter === <span class="code-string">"avoid"</span>; </code></td></tr><tr><td id="L1676" class="css-a4x74f"><span>1676</span></td><td id="LC1676" class="css-1dcdqdg"><code> prev = breakAvoid && nodeBefore(node, rendered); </code></td></tr><tr><td id="L1677" class="css-a4x74f"><span>1677</span></td><td id="LC1677" class="css-1dcdqdg"><code> br = node.tagName === <span class="code-string">"BR"</span> || node.tagName === <span class="code-string">"WBR"</span>; </code></td></tr><tr><td id="L1678" class="css-a4x74f"><span>1678</span></td><td id="LC1678" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1679" class="css-a4x74f"><span>1679</span></td><td id="LC1679" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1680" class="css-a4x74f"><span>1680</span></td><td id="LC1680" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prev) { </code></td></tr><tr><td id="L1681" class="css-a4x74f"><span>1681</span></td><td id="LC1681" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L1682" class="css-a4x74f"><span>1682</span></td><td id="LC1682" class="css-1dcdqdg"><code> range.selectNode(prev); </code></td></tr><tr><td id="L1683" class="css-a4x74f"><span>1683</span></td><td id="LC1683" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1684" class="css-a4x74f"><span>1684</span></td><td id="LC1684" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1685" class="css-a4x74f"><span>1685</span></td><td id="LC1685" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1686" class="css-a4x74f"><span>1686</span></td><td id="LC1686" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!br && !isFloat && isElement(node)) { </code></td></tr><tr><td id="L1687" class="css-a4x74f"><span>1687</span></td><td id="LC1687" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L1688" class="css-a4x74f"><span>1688</span></td><td id="LC1688" class="css-1dcdqdg"><code> range.selectNode(node); </code></td></tr><tr><td id="L1689" class="css-a4x74f"><span>1689</span></td><td id="LC1689" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1690" class="css-a4x74f"><span>1690</span></td><td id="LC1690" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1691" class="css-a4x74f"><span>1691</span></td><td id="LC1691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1692" class="css-a4x74f"><span>1692</span></td><td id="LC1692" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isText(node) && node.textContent.trim().length) { </code></td></tr><tr><td id="L1693" class="css-a4x74f"><span>1693</span></td><td id="LC1693" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L1694" class="css-a4x74f"><span>1694</span></td><td id="LC1694" class="css-1dcdqdg"><code> range.selectNode(node); </code></td></tr><tr><td id="L1695" class="css-a4x74f"><span>1695</span></td><td id="LC1695" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1696" class="css-a4x74f"><span>1696</span></td><td id="LC1696" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1697" class="css-a4x74f"><span>1697</span></td><td id="LC1697" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1698" class="css-a4x74f"><span>1698</span></td><td id="LC1698" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1699" class="css-a4x74f"><span>1699</span></td><td id="LC1699" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1700" class="css-a4x74f"><span>1700</span></td><td id="LC1700" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!range && isText(node) && </code></td></tr><tr><td id="L1701" class="css-a4x74f"><span>1701</span></td><td id="LC1701" class="css-1dcdqdg"><code> node.textContent.trim().length && </code></td></tr><tr><td id="L1702" class="css-a4x74f"><span>1702</span></td><td id="LC1702" class="css-1dcdqdg"><code> !breakInsideAvoidParentNode(node.parentNode)) { </code></td></tr><tr><td id="L1703" class="css-a4x74f"><span>1703</span></td><td id="LC1703" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1704" class="css-a4x74f"><span>1704</span></td><td id="LC1704" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rects = getClientRects(node); </code></td></tr><tr><td id="L1705" class="css-a4x74f"><span>1705</span></td><td id="LC1705" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rect; </code></td></tr><tr><td id="L1706" class="css-a4x74f"><span>1706</span></td><td id="LC1706" class="css-1dcdqdg"><code> left = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1707" class="css-a4x74f"><span>1707</span></td><td id="LC1707" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i != rects.length; i++) { </code></td></tr><tr><td id="L1708" class="css-a4x74f"><span>1708</span></td><td id="LC1708" class="css-1dcdqdg"><code> rect = rects[i]; </code></td></tr><tr><td id="L1709" class="css-a4x74f"><span>1709</span></td><td id="LC1709" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rect.width > <span class="code-number">0</span> && (!left || rect.left > left)) { </code></td></tr><tr><td id="L1710" class="css-a4x74f"><span>1710</span></td><td id="LC1710" class="css-1dcdqdg"><code> left = rect.left; </code></td></tr><tr><td id="L1711" class="css-a4x74f"><span>1711</span></td><td id="LC1711" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1712" class="css-a4x74f"><span>1712</span></td><td id="LC1712" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1713" class="css-a4x74f"><span>1713</span></td><td id="LC1713" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1714" class="css-a4x74f"><span>1714</span></td><td id="LC1714" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (left >= end) { </code></td></tr><tr><td id="L1715" class="css-a4x74f"><span>1715</span></td><td id="LC1715" class="css-1dcdqdg"><code> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L1716" class="css-a4x74f"><span>1716</span></td><td id="LC1716" class="css-1dcdqdg"><code> offset = <span class="code-keyword">this</span>.textBreak(node, start, end); </code></td></tr><tr><td id="L1717" class="css-a4x74f"><span>1717</span></td><td id="LC1717" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!offset) { </code></td></tr><tr><td id="L1718" class="css-a4x74f"><span>1718</span></td><td id="LC1718" class="css-1dcdqdg"><code> range = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1719" class="css-a4x74f"><span>1719</span></td><td id="LC1719" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1720" class="css-a4x74f"><span>1720</span></td><td id="LC1720" class="css-1dcdqdg"><code> range.setStart(node, offset); </code></td></tr><tr><td id="L1721" class="css-a4x74f"><span>1721</span></td><td id="LC1721" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1722" class="css-a4x74f"><span>1722</span></td><td id="LC1722" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1723" class="css-a4x74f"><span>1723</span></td><td id="LC1723" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1724" class="css-a4x74f"><span>1724</span></td><td id="LC1724" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1725" class="css-a4x74f"><span>1725</span></td><td id="LC1725" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1726" class="css-a4x74f"><span>1726</span></td><td id="LC1726" class="css-1dcdqdg"><code> <span class="code-comment">// Skip children</span> </code></td></tr><tr><td id="L1727" class="css-a4x74f"><span>1727</span></td><td id="LC1727" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (skip || right <= end) { </code></td></tr><tr><td id="L1728" class="css-a4x74f"><span>1728</span></td><td id="LC1728" class="css-1dcdqdg"><code> next = nodeAfter(node, rendered); </code></td></tr><tr><td id="L1729" class="css-a4x74f"><span>1729</span></td><td id="LC1729" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (next) { </code></td></tr><tr><td id="L1730" class="css-a4x74f"><span>1730</span></td><td id="LC1730" class="css-1dcdqdg"><code> walker = walk(next, rendered); </code></td></tr><tr><td id="L1731" class="css-a4x74f"><span>1731</span></td><td id="LC1731" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1732" class="css-a4x74f"><span>1732</span></td><td id="LC1732" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1733" class="css-a4x74f"><span>1733</span></td><td id="LC1733" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1734" class="css-a4x74f"><span>1734</span></td><td id="LC1734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1735" class="css-a4x74f"><span>1735</span></td><td id="LC1735" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1736" class="css-a4x74f"><span>1736</span></td><td id="LC1736" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1737" class="css-a4x74f"><span>1737</span></td><td id="LC1737" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1738" class="css-a4x74f"><span>1738</span></td><td id="LC1738" class="css-1dcdqdg"><code> <span class="code-comment">// Find End</span> </code></td></tr><tr><td id="L1739" class="css-a4x74f"><span>1739</span></td><td id="LC1739" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (range) { </code></td></tr><tr><td id="L1740" class="css-a4x74f"><span>1740</span></td><td id="LC1740" class="css-1dcdqdg"><code> range.setEndAfter(rendered.lastChild); </code></td></tr><tr><td id="L1741" class="css-a4x74f"><span>1741</span></td><td id="LC1741" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> range; </code></td></tr><tr><td id="L1742" class="css-a4x74f"><span>1742</span></td><td id="LC1742" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1743" class="css-a4x74f"><span>1743</span></td><td id="LC1743" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1744" class="css-a4x74f"><span>1744</span></td><td id="LC1744" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1745" class="css-a4x74f"><span>1745</span></td><td id="LC1745" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1746" class="css-a4x74f"><span>1746</span></td><td id="LC1746" class="css-1dcdqdg"><code> findEndToken(rendered, source, bounds = <span class="code-keyword">this</span>.bounds) { </code></td></tr><tr><td id="L1747" class="css-a4x74f"><span>1747</span></td><td id="LC1747" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rendered.childNodes.length === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L1748" class="css-a4x74f"><span>1748</span></td><td id="LC1748" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L1749" class="css-a4x74f"><span>1749</span></td><td id="LC1749" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1750" class="css-a4x74f"><span>1750</span></td><td id="LC1750" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1751" class="css-a4x74f"><span>1751</span></td><td id="LC1751" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> lastChild = rendered.lastChild; </code></td></tr><tr><td id="L1752" class="css-a4x74f"><span>1752</span></td><td id="LC1752" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1753" class="css-a4x74f"><span>1753</span></td><td id="LC1753" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> lastNodeIndex; </code></td></tr><tr><td id="L1754" class="css-a4x74f"><span>1754</span></td><td id="LC1754" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (lastChild && lastChild.lastChild) { </code></td></tr><tr><td id="L1755" class="css-a4x74f"><span>1755</span></td><td id="LC1755" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!validNode(lastChild)) { </code></td></tr><tr><td id="L1756" class="css-a4x74f"><span>1756</span></td><td id="LC1756" class="css-1dcdqdg"><code> <span class="code-comment">// Only get elements with refs</span> </code></td></tr><tr><td id="L1757" class="css-a4x74f"><span>1757</span></td><td id="LC1757" class="css-1dcdqdg"><code> lastChild = lastChild.previousSibling; </code></td></tr><tr><td id="L1758" class="css-a4x74f"><span>1758</span></td><td id="LC1758" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!validNode(lastChild.lastChild)) { </code></td></tr><tr><td id="L1759" class="css-a4x74f"><span>1759</span></td><td id="LC1759" class="css-1dcdqdg"><code> <span class="code-comment">// Deal with invalid dom items</span> </code></td></tr><tr><td id="L1760" class="css-a4x74f"><span>1760</span></td><td id="LC1760" class="css-1dcdqdg"><code> lastChild = prevValidNode(lastChild.lastChild); </code></td></tr><tr><td id="L1761" class="css-a4x74f"><span>1761</span></td><td id="LC1761" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1762" class="css-a4x74f"><span>1762</span></td><td id="LC1762" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1763" class="css-a4x74f"><span>1763</span></td><td id="LC1763" class="css-1dcdqdg"><code> lastChild = lastChild.lastChild; </code></td></tr><tr><td id="L1764" class="css-a4x74f"><span>1764</span></td><td id="LC1764" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1765" class="css-a4x74f"><span>1765</span></td><td id="LC1765" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1766" class="css-a4x74f"><span>1766</span></td><td id="LC1766" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1767" class="css-a4x74f"><span>1767</span></td><td id="LC1767" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isText(lastChild)) { </code></td></tr><tr><td id="L1768" class="css-a4x74f"><span>1768</span></td><td id="LC1768" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1769" class="css-a4x74f"><span>1769</span></td><td id="LC1769" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (lastChild.parentNode.dataset.ref) { </code></td></tr><tr><td id="L1770" class="css-a4x74f"><span>1770</span></td><td id="LC1770" class="css-1dcdqdg"><code> lastNodeIndex = indexOf$<span class="code-number">1</span>(lastChild); </code></td></tr><tr><td id="L1771" class="css-a4x74f"><span>1771</span></td><td id="LC1771" class="css-1dcdqdg"><code> lastChild = lastChild.parentNode; </code></td></tr><tr><td id="L1772" class="css-a4x74f"><span>1772</span></td><td id="LC1772" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1773" class="css-a4x74f"><span>1773</span></td><td id="LC1773" class="css-1dcdqdg"><code> lastChild = lastChild.previousSibling; </code></td></tr><tr><td id="L1774" class="css-a4x74f"><span>1774</span></td><td id="LC1774" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1775" class="css-a4x74f"><span>1775</span></td><td id="LC1775" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1776" class="css-a4x74f"><span>1776</span></td><td id="LC1776" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1777" class="css-a4x74f"><span>1777</span></td><td id="LC1777" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> original = findElement(lastChild, source); </code></td></tr><tr><td id="L1778" class="css-a4x74f"><span>1778</span></td><td id="LC1778" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1779" class="css-a4x74f"><span>1779</span></td><td id="LC1779" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (lastNodeIndex) { </code></td></tr><tr><td id="L1780" class="css-a4x74f"><span>1780</span></td><td id="LC1780" class="css-1dcdqdg"><code> original = original.childNodes[lastNodeIndex]; </code></td></tr><tr><td id="L1781" class="css-a4x74f"><span>1781</span></td><td id="LC1781" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1782" class="css-a4x74f"><span>1782</span></td><td id="LC1782" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1783" class="css-a4x74f"><span>1783</span></td><td id="LC1783" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> after = nodeAfter(original); </code></td></tr><tr><td id="L1784" class="css-a4x74f"><span>1784</span></td><td id="LC1784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1785" class="css-a4x74f"><span>1785</span></td><td id="LC1785" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.breakAt(after); </code></td></tr><tr><td id="L1786" class="css-a4x74f"><span>1786</span></td><td id="LC1786" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1787" class="css-a4x74f"><span>1787</span></td><td id="LC1787" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1788" class="css-a4x74f"><span>1788</span></td><td id="LC1788" class="css-1dcdqdg"><code> textBreak(node, start, end) { </code></td></tr><tr><td id="L1789" class="css-a4x74f"><span>1789</span></td><td id="LC1789" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wordwalker = words(node); </code></td></tr><tr><td id="L1790" class="css-a4x74f"><span>1790</span></td><td id="LC1790" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> left = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1791" class="css-a4x74f"><span>1791</span></td><td id="LC1791" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> right = <span class="code-number">0</span>; </code></td></tr><tr><td id="L1792" class="css-a4x74f"><span>1792</span></td><td id="LC1792" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> word, next, done, pos; </code></td></tr><tr><td id="L1793" class="css-a4x74f"><span>1793</span></td><td id="LC1793" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> offset; </code></td></tr><tr><td id="L1794" class="css-a4x74f"><span>1794</span></td><td id="LC1794" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!done) { </code></td></tr><tr><td id="L1795" class="css-a4x74f"><span>1795</span></td><td id="LC1795" class="css-1dcdqdg"><code> next = wordwalker.next(); </code></td></tr><tr><td id="L1796" class="css-a4x74f"><span>1796</span></td><td id="LC1796" class="css-1dcdqdg"><code> word = next.value; </code></td></tr><tr><td id="L1797" class="css-a4x74f"><span>1797</span></td><td id="LC1797" class="css-1dcdqdg"><code> done = next.done; </code></td></tr><tr><td id="L1798" class="css-a4x74f"><span>1798</span></td><td id="LC1798" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1799" class="css-a4x74f"><span>1799</span></td><td id="LC1799" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!word) { </code></td></tr><tr><td id="L1800" class="css-a4x74f"><span>1800</span></td><td id="LC1800" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1801" class="css-a4x74f"><span>1801</span></td><td id="LC1801" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1802" class="css-a4x74f"><span>1802</span></td><td id="LC1802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1803" class="css-a4x74f"><span>1803</span></td><td id="LC1803" class="css-1dcdqdg"><code> pos = getBoundingClientRect(word); </code></td></tr><tr><td id="L1804" class="css-a4x74f"><span>1804</span></td><td id="LC1804" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1805" class="css-a4x74f"><span>1805</span></td><td id="LC1805" class="css-1dcdqdg"><code> left = <span class="code-built_in">Math</span>.floor(pos.left); </code></td></tr><tr><td id="L1806" class="css-a4x74f"><span>1806</span></td><td id="LC1806" class="css-1dcdqdg"><code> right = <span class="code-built_in">Math</span>.floor(pos.right); </code></td></tr><tr><td id="L1807" class="css-a4x74f"><span>1807</span></td><td id="LC1807" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1808" class="css-a4x74f"><span>1808</span></td><td id="LC1808" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (left >= end) { </code></td></tr><tr><td id="L1809" class="css-a4x74f"><span>1809</span></td><td id="LC1809" class="css-1dcdqdg"><code> offset = word.startOffset; </code></td></tr><tr><td id="L1810" class="css-a4x74f"><span>1810</span></td><td id="LC1810" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1811" class="css-a4x74f"><span>1811</span></td><td id="LC1811" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1812" class="css-a4x74f"><span>1812</span></td><td id="LC1812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1813" class="css-a4x74f"><span>1813</span></td><td id="LC1813" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (right > end) { </code></td></tr><tr><td id="L1814" class="css-a4x74f"><span>1814</span></td><td id="LC1814" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> letterwalker = letters(word); </code></td></tr><tr><td id="L1815" class="css-a4x74f"><span>1815</span></td><td id="LC1815" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> letter, nextLetter, doneLetter; </code></td></tr><tr><td id="L1816" class="css-a4x74f"><span>1816</span></td><td id="LC1816" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1817" class="css-a4x74f"><span>1817</span></td><td id="LC1817" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!doneLetter) { </code></td></tr><tr><td id="L1818" class="css-a4x74f"><span>1818</span></td><td id="LC1818" class="css-1dcdqdg"><code> nextLetter = letterwalker.next(); </code></td></tr><tr><td id="L1819" class="css-a4x74f"><span>1819</span></td><td id="LC1819" class="css-1dcdqdg"><code> letter = nextLetter.value; </code></td></tr><tr><td id="L1820" class="css-a4x74f"><span>1820</span></td><td id="LC1820" class="css-1dcdqdg"><code> doneLetter = nextLetter.done; </code></td></tr><tr><td id="L1821" class="css-a4x74f"><span>1821</span></td><td id="LC1821" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1822" class="css-a4x74f"><span>1822</span></td><td id="LC1822" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!letter) { </code></td></tr><tr><td id="L1823" class="css-a4x74f"><span>1823</span></td><td id="LC1823" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1824" class="css-a4x74f"><span>1824</span></td><td id="LC1824" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1825" class="css-a4x74f"><span>1825</span></td><td id="LC1825" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1826" class="css-a4x74f"><span>1826</span></td><td id="LC1826" class="css-1dcdqdg"><code> pos = getBoundingClientRect(letter); </code></td></tr><tr><td id="L1827" class="css-a4x74f"><span>1827</span></td><td id="LC1827" class="css-1dcdqdg"><code> left = <span class="code-built_in">Math</span>.floor(pos.left); </code></td></tr><tr><td id="L1828" class="css-a4x74f"><span>1828</span></td><td id="LC1828" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1829" class="css-a4x74f"><span>1829</span></td><td id="LC1829" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (left >= end) { </code></td></tr><tr><td id="L1830" class="css-a4x74f"><span>1830</span></td><td id="LC1830" class="css-1dcdqdg"><code> offset = letter.startOffset; </code></td></tr><tr><td id="L1831" class="css-a4x74f"><span>1831</span></td><td id="LC1831" class="css-1dcdqdg"><code> done = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1832" class="css-a4x74f"><span>1832</span></td><td id="LC1832" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1833" class="css-a4x74f"><span>1833</span></td><td id="LC1833" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L1834" class="css-a4x74f"><span>1834</span></td><td id="LC1834" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1835" class="css-a4x74f"><span>1835</span></td><td id="LC1835" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1836" class="css-a4x74f"><span>1836</span></td><td id="LC1836" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1837" class="css-a4x74f"><span>1837</span></td><td id="LC1837" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1838" class="css-a4x74f"><span>1838</span></td><td id="LC1838" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1839" class="css-a4x74f"><span>1839</span></td><td id="LC1839" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1840" class="css-a4x74f"><span>1840</span></td><td id="LC1840" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L1841" class="css-a4x74f"><span>1841</span></td><td id="LC1841" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1842" class="css-a4x74f"><span>1842</span></td><td id="LC1842" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1843" class="css-a4x74f"><span>1843</span></td><td id="LC1843" class="css-1dcdqdg"><code> removeOverflow(overflow, breakLetter) { </code></td></tr><tr><td id="L1844" class="css-a4x74f"><span>1844</span></td><td id="LC1844" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> {startContainer} = overflow; </code></td></tr><tr><td id="L1845" class="css-a4x74f"><span>1845</span></td><td id="LC1845" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> extracted = overflow.extractContents(); </code></td></tr><tr><td id="L1846" class="css-a4x74f"><span>1846</span></td><td id="LC1846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1847" class="css-a4x74f"><span>1847</span></td><td id="LC1847" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hyphenateAtBreak(startContainer, breakLetter); </code></td></tr><tr><td id="L1848" class="css-a4x74f"><span>1848</span></td><td id="LC1848" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1849" class="css-a4x74f"><span>1849</span></td><td id="LC1849" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> extracted; </code></td></tr><tr><td id="L1850" class="css-a4x74f"><span>1850</span></td><td id="LC1850" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1851" class="css-a4x74f"><span>1851</span></td><td id="LC1851" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1852" class="css-a4x74f"><span>1852</span></td><td id="LC1852" class="css-1dcdqdg"><code> hyphenateAtBreak(startContainer, breakLetter) { </code></td></tr><tr><td id="L1853" class="css-a4x74f"><span>1853</span></td><td id="LC1853" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isText(startContainer)) { </code></td></tr><tr><td id="L1854" class="css-a4x74f"><span>1854</span></td><td id="LC1854" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> startText = startContainer.textContent; </code></td></tr><tr><td id="L1855" class="css-a4x74f"><span>1855</span></td><td id="LC1855" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevLetter = startText[startText.length - <span class="code-number">1</span>]; </code></td></tr><tr><td id="L1856" class="css-a4x74f"><span>1856</span></td><td id="LC1856" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1857" class="css-a4x74f"><span>1857</span></td><td id="LC1857" class="css-1dcdqdg"><code> <span class="code-comment">// Add a hyphen if previous character is a letter or soft hyphen</span> </code></td></tr><tr><td id="L1858" class="css-a4x74f"><span>1858</span></td><td id="LC1858" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ( </code></td></tr><tr><td id="L1859" class="css-a4x74f"><span>1859</span></td><td id="LC1859" class="css-1dcdqdg"><code> (breakLetter && <span class="code-regexp">/^\w|\u00AD$/</span>.test(prevLetter) && <span class="code-regexp">/^\w|\u00AD$/</span>.test(breakLetter)) || </code></td></tr><tr><td id="L1860" class="css-a4x74f"><span>1860</span></td><td id="LC1860" class="css-1dcdqdg"><code> (!breakLetter && <span class="code-regexp">/^\w|\u00AD$/</span>.test(prevLetter)) </code></td></tr><tr><td id="L1861" class="css-a4x74f"><span>1861</span></td><td id="LC1861" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L1862" class="css-a4x74f"><span>1862</span></td><td id="LC1862" class="css-1dcdqdg"><code> startContainer.parentNode.classList.add(<span class="code-string">"pagedjs_hyphen"</span>); </code></td></tr><tr><td id="L1863" class="css-a4x74f"><span>1863</span></td><td id="LC1863" class="css-1dcdqdg"><code> startContainer.textContent += <span class="code-keyword">this</span>.settings.hyphenGlyph || <span class="code-string">"\u2011"</span>; </code></td></tr><tr><td id="L1864" class="css-a4x74f"><span>1864</span></td><td id="LC1864" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1865" class="css-a4x74f"><span>1865</span></td><td id="LC1865" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1866" class="css-a4x74f"><span>1866</span></td><td id="LC1866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1867" class="css-a4x74f"><span>1867</span></td><td id="LC1867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1868" class="css-a4x74f"><span>1868</span></td><td id="LC1868" class="css-1dcdqdg"><code> equalTokens(a, b) { </code></td></tr><tr><td id="L1869" class="css-a4x74f"><span>1869</span></td><td id="LC1869" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!a || !b) { </code></td></tr><tr><td id="L1870" class="css-a4x74f"><span>1870</span></td><td id="LC1870" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1871" class="css-a4x74f"><span>1871</span></td><td id="LC1871" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1872" class="css-a4x74f"><span>1872</span></td><td id="LC1872" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (a[<span class="code-string">"node"</span>] && b[<span class="code-string">"node"</span>] && a[<span class="code-string">"node"</span>] !== b[<span class="code-string">"node"</span>]) { </code></td></tr><tr><td id="L1873" class="css-a4x74f"><span>1873</span></td><td id="LC1873" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1874" class="css-a4x74f"><span>1874</span></td><td id="LC1874" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1875" class="css-a4x74f"><span>1875</span></td><td id="LC1875" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (a[<span class="code-string">"offset"</span>] && b[<span class="code-string">"offset"</span>] && a[<span class="code-string">"offset"</span>] !== b[<span class="code-string">"offset"</span>]) { </code></td></tr><tr><td id="L1876" class="css-a4x74f"><span>1876</span></td><td id="LC1876" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L1877" class="css-a4x74f"><span>1877</span></td><td id="LC1877" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1878" class="css-a4x74f"><span>1878</span></td><td id="LC1878" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L1879" class="css-a4x74f"><span>1879</span></td><td id="LC1879" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1880" class="css-a4x74f"><span>1880</span></td><td id="LC1880" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1881" class="css-a4x74f"><span>1881</span></td><td id="LC1881" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1882" class="css-a4x74f"><span>1882</span></td><td id="LC1882" class="css-1dcdqdg"><code> eventEmitter(Layout.prototype); </code></td></tr><tr><td id="L1883" class="css-a4x74f"><span>1883</span></td><td id="LC1883" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1884" class="css-a4x74f"><span>1884</span></td><td id="LC1884" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L1885" class="css-a4x74f"><span>1885</span></td><td id="LC1885" class="css-1dcdqdg"><code><span class="code-comment"> * Render a page </span></code></td></tr><tr><td id="L1886" class="css-a4x74f"><span>1886</span></td><td id="LC1886" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L1887" class="css-a4x74f"><span>1887</span></td><td id="LC1887" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1888" class="css-a4x74f"><span>1888</span></td><td id="LC1888" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Page</span> </span>{ </code></td></tr><tr><td id="L1889" class="css-a4x74f"><span>1889</span></td><td id="LC1889" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(pagesArea, pageTemplate, blank, hooks) { </code></td></tr><tr><td id="L1890" class="css-a4x74f"><span>1890</span></td><td id="LC1890" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea = pagesArea; </code></td></tr><tr><td id="L1891" class="css-a4x74f"><span>1891</span></td><td id="LC1891" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageTemplate = pageTemplate; </code></td></tr><tr><td id="L1892" class="css-a4x74f"><span>1892</span></td><td id="LC1892" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.blank = blank; </code></td></tr><tr><td id="L1893" class="css-a4x74f"><span>1893</span></td><td id="LC1893" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1894" class="css-a4x74f"><span>1894</span></td><td id="LC1894" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.width = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1895" class="css-a4x74f"><span>1895</span></td><td id="LC1895" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.height = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L1896" class="css-a4x74f"><span>1896</span></td><td id="LC1896" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1897" class="css-a4x74f"><span>1897</span></td><td id="LC1897" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = hooks; </code></td></tr><tr><td id="L1898" class="css-a4x74f"><span>1898</span></td><td id="LC1898" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1899" class="css-a4x74f"><span>1899</span></td><td id="LC1899" class="css-1dcdqdg"><code> <span class="code-comment">// this.element = this.create(this.pageTemplate);</span> </code></td></tr><tr><td id="L1900" class="css-a4x74f"><span>1900</span></td><td id="LC1900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1901" class="css-a4x74f"><span>1901</span></td><td id="LC1901" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1902" class="css-a4x74f"><span>1902</span></td><td id="LC1902" class="css-1dcdqdg"><code> create(template, after) { </code></td></tr><tr><td id="L1903" class="css-a4x74f"><span>1903</span></td><td id="LC1903" class="css-1dcdqdg"><code> <span class="code-comment">//let documentFragment = document.createRange().createContextualFragment( TEMPLATE );</span> </code></td></tr><tr><td id="L1904" class="css-a4x74f"><span>1904</span></td><td id="LC1904" class="css-1dcdqdg"><code> <span class="code-comment">//let page = documentFragment.children[0];</span> </code></td></tr><tr><td id="L1905" class="css-a4x74f"><span>1905</span></td><td id="LC1905" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> clone = <span class="code-built_in">document</span>.importNode(<span class="code-keyword">this</span>.pageTemplate.content, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L1906" class="css-a4x74f"><span>1906</span></td><td id="LC1906" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1907" class="css-a4x74f"><span>1907</span></td><td id="LC1907" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page, index; </code></td></tr><tr><td id="L1908" class="css-a4x74f"><span>1908</span></td><td id="LC1908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (after) { </code></td></tr><tr><td id="L1909" class="css-a4x74f"><span>1909</span></td><td id="LC1909" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea.insertBefore(clone, after.nextElementSibling); </code></td></tr><tr><td id="L1910" class="css-a4x74f"><span>1910</span></td><td id="LC1910" class="css-1dcdqdg"><code> index = <span class="code-built_in">Array</span>.prototype.indexOf.call(<span class="code-keyword">this</span>.pagesArea.children, after.nextElementSibling); </code></td></tr><tr><td id="L1911" class="css-a4x74f"><span>1911</span></td><td id="LC1911" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.pagesArea.children[index]; </code></td></tr><tr><td id="L1912" class="css-a4x74f"><span>1912</span></td><td id="LC1912" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1913" class="css-a4x74f"><span>1913</span></td><td id="LC1913" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea.appendChild(clone); </code></td></tr><tr><td id="L1914" class="css-a4x74f"><span>1914</span></td><td id="LC1914" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.pagesArea.lastChild; </code></td></tr><tr><td id="L1915" class="css-a4x74f"><span>1915</span></td><td id="LC1915" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1916" class="css-a4x74f"><span>1916</span></td><td id="LC1916" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1917" class="css-a4x74f"><span>1917</span></td><td id="LC1917" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pagebox = page.querySelector(<span class="code-string">".pagedjs_pagebox"</span>); </code></td></tr><tr><td id="L1918" class="css-a4x74f"><span>1918</span></td><td id="LC1918" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> area = page.querySelector(<span class="code-string">".pagedjs_page_content"</span>); </code></td></tr><tr><td id="L1919" class="css-a4x74f"><span>1919</span></td><td id="LC1919" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1920" class="css-a4x74f"><span>1920</span></td><td id="LC1920" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1921" class="css-a4x74f"><span>1921</span></td><td id="LC1921" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> size = area.getBoundingClientRect(); </code></td></tr><tr><td id="L1922" class="css-a4x74f"><span>1922</span></td><td id="LC1922" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1923" class="css-a4x74f"><span>1923</span></td><td id="LC1923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1924" class="css-a4x74f"><span>1924</span></td><td id="LC1924" class="css-1dcdqdg"><code> area.style.columnWidth = <span class="code-built_in">Math</span>.round(size.width) + <span class="code-string">"px"</span>; </code></td></tr><tr><td id="L1925" class="css-a4x74f"><span>1925</span></td><td id="LC1925" class="css-1dcdqdg"><code> area.style.columnGap = <span class="code-string">"calc(var(--pagedjs-margin-right) + var(--pagedjs-margin-left))"</span>; </code></td></tr><tr><td id="L1926" class="css-a4x74f"><span>1926</span></td><td id="LC1926" class="css-1dcdqdg"><code> <span class="code-comment">// area.style.overflow = "scroll";</span> </code></td></tr><tr><td id="L1927" class="css-a4x74f"><span>1927</span></td><td id="LC1927" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1928" class="css-a4x74f"><span>1928</span></td><td id="LC1928" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.width = <span class="code-built_in">Math</span>.round(size.width); </code></td></tr><tr><td id="L1929" class="css-a4x74f"><span>1929</span></td><td id="LC1929" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.height = <span class="code-built_in">Math</span>.round(size.height); </code></td></tr><tr><td id="L1930" class="css-a4x74f"><span>1930</span></td><td id="LC1930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1931" class="css-a4x74f"><span>1931</span></td><td id="LC1931" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element = page; </code></td></tr><tr><td id="L1932" class="css-a4x74f"><span>1932</span></td><td id="LC1932" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagebox = pagebox; </code></td></tr><tr><td id="L1933" class="css-a4x74f"><span>1933</span></td><td id="LC1933" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.area = area; </code></td></tr><tr><td id="L1934" class="css-a4x74f"><span>1934</span></td><td id="LC1934" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1935" class="css-a4x74f"><span>1935</span></td><td id="LC1935" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> page; </code></td></tr><tr><td id="L1936" class="css-a4x74f"><span>1936</span></td><td id="LC1936" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1937" class="css-a4x74f"><span>1937</span></td><td id="LC1937" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1938" class="css-a4x74f"><span>1938</span></td><td id="LC1938" class="css-1dcdqdg"><code> createWrapper() { </code></td></tr><tr><td id="L1939" class="css-a4x74f"><span>1939</span></td><td id="LC1939" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wrapper = <span class="code-built_in">document</span>.createElement(<span class="code-string">"div"</span>); </code></td></tr><tr><td id="L1940" class="css-a4x74f"><span>1940</span></td><td id="LC1940" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1941" class="css-a4x74f"><span>1941</span></td><td id="LC1941" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.area.appendChild(wrapper); </code></td></tr><tr><td id="L1942" class="css-a4x74f"><span>1942</span></td><td id="LC1942" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1943" class="css-a4x74f"><span>1943</span></td><td id="LC1943" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.wrapper = wrapper; </code></td></tr><tr><td id="L1944" class="css-a4x74f"><span>1944</span></td><td id="LC1944" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1945" class="css-a4x74f"><span>1945</span></td><td id="LC1945" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> wrapper; </code></td></tr><tr><td id="L1946" class="css-a4x74f"><span>1946</span></td><td id="LC1946" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1947" class="css-a4x74f"><span>1947</span></td><td id="LC1947" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1948" class="css-a4x74f"><span>1948</span></td><td id="LC1948" class="css-1dcdqdg"><code> index(pgnum) { </code></td></tr><tr><td id="L1949" class="css-a4x74f"><span>1949</span></td><td id="LC1949" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.position = pgnum; </code></td></tr><tr><td id="L1950" class="css-a4x74f"><span>1950</span></td><td id="LC1950" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1951" class="css-a4x74f"><span>1951</span></td><td id="LC1951" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page = <span class="code-keyword">this</span>.element; </code></td></tr><tr><td id="L1952" class="css-a4x74f"><span>1952</span></td><td id="LC1952" class="css-1dcdqdg"><code> <span class="code-comment">// let pagebox = this.pagebox;</span> </code></td></tr><tr><td id="L1953" class="css-a4x74f"><span>1953</span></td><td id="LC1953" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1954" class="css-a4x74f"><span>1954</span></td><td id="LC1954" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> index = pgnum + <span class="code-number">1</span>; </code></td></tr><tr><td id="L1955" class="css-a4x74f"><span>1955</span></td><td id="LC1955" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1956" class="css-a4x74f"><span>1956</span></td><td id="LC1956" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> id = <span class="code-string">`page-<span class="code-subst">${index}</span>`</span>; </code></td></tr><tr><td id="L1957" class="css-a4x74f"><span>1957</span></td><td id="LC1957" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1958" class="css-a4x74f"><span>1958</span></td><td id="LC1958" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.id = id; </code></td></tr><tr><td id="L1959" class="css-a4x74f"><span>1959</span></td><td id="LC1959" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1960" class="css-a4x74f"><span>1960</span></td><td id="LC1960" class="css-1dcdqdg"><code> <span class="code-comment">// page.dataset.pageNumber = index;</span> </code></td></tr><tr><td id="L1961" class="css-a4x74f"><span>1961</span></td><td id="LC1961" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1962" class="css-a4x74f"><span>1962</span></td><td id="LC1962" class="css-1dcdqdg"><code> page.dataset.pageNumber = index; </code></td></tr><tr><td id="L1963" class="css-a4x74f"><span>1963</span></td><td id="LC1963" class="css-1dcdqdg"><code> page.setAttribute(<span class="code-string">"id"</span>, id); </code></td></tr><tr><td id="L1964" class="css-a4x74f"><span>1964</span></td><td id="LC1964" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1965" class="css-a4x74f"><span>1965</span></td><td id="LC1965" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.name) { </code></td></tr><tr><td id="L1966" class="css-a4x74f"><span>1966</span></td><td id="LC1966" class="css-1dcdqdg"><code> page.classList.add(<span class="code-string">"pagedjs_"</span> + <span class="code-keyword">this</span>.name + <span class="code-string">"_page"</span>); </code></td></tr><tr><td id="L1967" class="css-a4x74f"><span>1967</span></td><td id="LC1967" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1968" class="css-a4x74f"><span>1968</span></td><td id="LC1968" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1969" class="css-a4x74f"><span>1969</span></td><td id="LC1969" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.blank) { </code></td></tr><tr><td id="L1970" class="css-a4x74f"><span>1970</span></td><td id="LC1970" class="css-1dcdqdg"><code> page.classList.add(<span class="code-string">"pagedjs_blank_page"</span>); </code></td></tr><tr><td id="L1971" class="css-a4x74f"><span>1971</span></td><td id="LC1971" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1972" class="css-a4x74f"><span>1972</span></td><td id="LC1972" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1973" class="css-a4x74f"><span>1973</span></td><td id="LC1973" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pgnum === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L1974" class="css-a4x74f"><span>1974</span></td><td id="LC1974" class="css-1dcdqdg"><code> page.classList.add(<span class="code-string">"pagedjs_first_page"</span>); </code></td></tr><tr><td id="L1975" class="css-a4x74f"><span>1975</span></td><td id="LC1975" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1976" class="css-a4x74f"><span>1976</span></td><td id="LC1976" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1977" class="css-a4x74f"><span>1977</span></td><td id="LC1977" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pgnum % <span class="code-number">2</span> !== <span class="code-number">1</span>) { </code></td></tr><tr><td id="L1978" class="css-a4x74f"><span>1978</span></td><td id="LC1978" class="css-1dcdqdg"><code> page.classList.remove(<span class="code-string">"pagedjs_left_page"</span>); </code></td></tr><tr><td id="L1979" class="css-a4x74f"><span>1979</span></td><td id="LC1979" class="css-1dcdqdg"><code> page.classList.add(<span class="code-string">"pagedjs_right_page"</span>); </code></td></tr><tr><td id="L1980" class="css-a4x74f"><span>1980</span></td><td id="LC1980" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L1981" class="css-a4x74f"><span>1981</span></td><td id="LC1981" class="css-1dcdqdg"><code> page.classList.remove(<span class="code-string">"pagedjs_right_page"</span>); </code></td></tr><tr><td id="L1982" class="css-a4x74f"><span>1982</span></td><td id="LC1982" class="css-1dcdqdg"><code> page.classList.add(<span class="code-string">"pagedjs_left_page"</span>); </code></td></tr><tr><td id="L1983" class="css-a4x74f"><span>1983</span></td><td id="LC1983" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1984" class="css-a4x74f"><span>1984</span></td><td id="LC1984" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L1985" class="css-a4x74f"><span>1985</span></td><td id="LC1985" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L1986" class="css-a4x74f"><span>1986</span></td><td id="LC1986" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L1987" class="css-a4x74f"><span>1987</span></td><td id="LC1987" class="css-1dcdqdg"><code><span class="code-comment"> size(width, height) { </span></code></td></tr><tr><td id="L1988" class="css-a4x74f"><span>1988</span></td><td id="LC1988" class="css-1dcdqdg"><code><span class="code-comment"> if (width === this.width && height === this.height) { </span></code></td></tr><tr><td id="L1989" class="css-a4x74f"><span>1989</span></td><td id="LC1989" class="css-1dcdqdg"><code><span class="code-comment"> return; </span></code></td></tr><tr><td id="L1990" class="css-a4x74f"><span>1990</span></td><td id="LC1990" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L1991" class="css-a4x74f"><span>1991</span></td><td id="LC1991" class="css-1dcdqdg"><code><span class="code-comment"> this.width = width; </span></code></td></tr><tr><td id="L1992" class="css-a4x74f"><span>1992</span></td><td id="LC1992" class="css-1dcdqdg"><code><span class="code-comment"> this.height = height; </span></code></td></tr><tr><td id="L1993" class="css-a4x74f"><span>1993</span></td><td id="LC1993" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L1994" class="css-a4x74f"><span>1994</span></td><td id="LC1994" class="css-1dcdqdg"><code><span class="code-comment"> this.element.style.width = Math.round(width) + "px"; </span></code></td></tr><tr><td id="L1995" class="css-a4x74f"><span>1995</span></td><td id="LC1995" class="css-1dcdqdg"><code><span class="code-comment"> this.element.style.height = Math.round(height) + "px"; </span></code></td></tr><tr><td id="L1996" class="css-a4x74f"><span>1996</span></td><td id="LC1996" class="css-1dcdqdg"><code><span class="code-comment"> this.element.style.columnWidth = Math.round(width) + "px"; </span></code></td></tr><tr><td id="L1997" class="css-a4x74f"><span>1997</span></td><td id="LC1997" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L1998" class="css-a4x74f"><span>1998</span></td><td id="LC1998" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L1999" class="css-a4x74f"><span>1999</span></td><td id="LC1999" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2000" class="css-a4x74f"><span>2000</span></td><td id="LC2000" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> layout(contents, breakToken, maxChars) { </code></td></tr><tr><td id="L2001" class="css-a4x74f"><span>2001</span></td><td id="LC2001" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2002" class="css-a4x74f"><span>2002</span></td><td id="LC2002" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.clear(); </code></td></tr><tr><td id="L2003" class="css-a4x74f"><span>2003</span></td><td id="LC2003" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2004" class="css-a4x74f"><span>2004</span></td><td id="LC2004" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.startToken = breakToken; </code></td></tr><tr><td id="L2005" class="css-a4x74f"><span>2005</span></td><td id="LC2005" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2006" class="css-a4x74f"><span>2006</span></td><td id="LC2006" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.layoutMethod = <span class="code-keyword">new</span> Layout(<span class="code-keyword">this</span>.area, <span class="code-keyword">this</span>.hooks, maxChars); </code></td></tr><tr><td id="L2007" class="css-a4x74f"><span>2007</span></td><td id="LC2007" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2008" class="css-a4x74f"><span>2008</span></td><td id="LC2008" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newBreakToken = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.layoutMethod.renderTo(<span class="code-keyword">this</span>.wrapper, contents, breakToken); </code></td></tr><tr><td id="L2009" class="css-a4x74f"><span>2009</span></td><td id="LC2009" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2010" class="css-a4x74f"><span>2010</span></td><td id="LC2010" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addListeners(contents); </code></td></tr><tr><td id="L2011" class="css-a4x74f"><span>2011</span></td><td id="LC2011" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2012" class="css-a4x74f"><span>2012</span></td><td id="LC2012" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.endToken = newBreakToken; </code></td></tr><tr><td id="L2013" class="css-a4x74f"><span>2013</span></td><td id="LC2013" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2014" class="css-a4x74f"><span>2014</span></td><td id="LC2014" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newBreakToken; </code></td></tr><tr><td id="L2015" class="css-a4x74f"><span>2015</span></td><td id="LC2015" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2016" class="css-a4x74f"><span>2016</span></td><td id="LC2016" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2017" class="css-a4x74f"><span>2017</span></td><td id="LC2017" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> append(contents, breakToken) { </code></td></tr><tr><td id="L2018" class="css-a4x74f"><span>2018</span></td><td id="LC2018" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2019" class="css-a4x74f"><span>2019</span></td><td id="LC2019" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.layoutMethod) { </code></td></tr><tr><td id="L2020" class="css-a4x74f"><span>2020</span></td><td id="LC2020" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.layout(contents, breakToken); </code></td></tr><tr><td id="L2021" class="css-a4x74f"><span>2021</span></td><td id="LC2021" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2022" class="css-a4x74f"><span>2022</span></td><td id="LC2022" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2023" class="css-a4x74f"><span>2023</span></td><td id="LC2023" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newBreakToken = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.layoutMethod.renderTo(<span class="code-keyword">this</span>.wrapper, contents, breakToken); </code></td></tr><tr><td id="L2024" class="css-a4x74f"><span>2024</span></td><td id="LC2024" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2025" class="css-a4x74f"><span>2025</span></td><td id="LC2025" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.endToken = newBreakToken; </code></td></tr><tr><td id="L2026" class="css-a4x74f"><span>2026</span></td><td id="LC2026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2027" class="css-a4x74f"><span>2027</span></td><td id="LC2027" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newBreakToken; </code></td></tr><tr><td id="L2028" class="css-a4x74f"><span>2028</span></td><td id="LC2028" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2029" class="css-a4x74f"><span>2029</span></td><td id="LC2029" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2030" class="css-a4x74f"><span>2030</span></td><td id="LC2030" class="css-1dcdqdg"><code> getByParent(ref, entries) { </code></td></tr><tr><td id="L2031" class="css-a4x74f"><span>2031</span></td><td id="LC2031" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> e; </code></td></tr><tr><td id="L2032" class="css-a4x74f"><span>2032</span></td><td id="LC2032" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < entries.length; i++) { </code></td></tr><tr><td id="L2033" class="css-a4x74f"><span>2033</span></td><td id="LC2033" class="css-1dcdqdg"><code> e = entries[i]; </code></td></tr><tr><td id="L2034" class="css-a4x74f"><span>2034</span></td><td id="LC2034" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (e.dataset.ref === ref) { </code></td></tr><tr><td id="L2035" class="css-a4x74f"><span>2035</span></td><td id="LC2035" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> e; </code></td></tr><tr><td id="L2036" class="css-a4x74f"><span>2036</span></td><td id="LC2036" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2037" class="css-a4x74f"><span>2037</span></td><td id="LC2037" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2038" class="css-a4x74f"><span>2038</span></td><td id="LC2038" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2039" class="css-a4x74f"><span>2039</span></td><td id="LC2039" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2040" class="css-a4x74f"><span>2040</span></td><td id="LC2040" class="css-1dcdqdg"><code> onOverflow(func) { </code></td></tr><tr><td id="L2041" class="css-a4x74f"><span>2041</span></td><td id="LC2041" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._onOverflow = func; </code></td></tr><tr><td id="L2042" class="css-a4x74f"><span>2042</span></td><td id="LC2042" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2043" class="css-a4x74f"><span>2043</span></td><td id="LC2043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2044" class="css-a4x74f"><span>2044</span></td><td id="LC2044" class="css-1dcdqdg"><code> onUnderflow(func) { </code></td></tr><tr><td id="L2045" class="css-a4x74f"><span>2045</span></td><td id="LC2045" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._onUnderflow = func; </code></td></tr><tr><td id="L2046" class="css-a4x74f"><span>2046</span></td><td id="LC2046" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2047" class="css-a4x74f"><span>2047</span></td><td id="LC2047" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2048" class="css-a4x74f"><span>2048</span></td><td id="LC2048" class="css-1dcdqdg"><code> clear() { </code></td></tr><tr><td id="L2049" class="css-a4x74f"><span>2049</span></td><td id="LC2049" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.removeListeners(); </code></td></tr><tr><td id="L2050" class="css-a4x74f"><span>2050</span></td><td id="LC2050" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.wrapper && <span class="code-keyword">this</span>.wrapper.remove(); </code></td></tr><tr><td id="L2051" class="css-a4x74f"><span>2051</span></td><td id="LC2051" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.createWrapper(); </code></td></tr><tr><td id="L2052" class="css-a4x74f"><span>2052</span></td><td id="LC2052" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2053" class="css-a4x74f"><span>2053</span></td><td id="LC2053" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2054" class="css-a4x74f"><span>2054</span></td><td id="LC2054" class="css-1dcdqdg"><code> addListeners(contents) { </code></td></tr><tr><td id="L2055" class="css-a4x74f"><span>2055</span></td><td id="LC2055" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> ResizeObserver !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L2056" class="css-a4x74f"><span>2056</span></td><td id="LC2056" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addResizeObserver(contents); </code></td></tr><tr><td id="L2057" class="css-a4x74f"><span>2057</span></td><td id="LC2057" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2058" class="css-a4x74f"><span>2058</span></td><td id="LC2058" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._checkOverflowAfterResize = <span class="code-keyword">this</span>.checkOverflowAfterResize.bind(<span class="code-keyword">this</span>, contents); </code></td></tr><tr><td id="L2059" class="css-a4x74f"><span>2059</span></td><td id="LC2059" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.addEventListener(<span class="code-string">"overflow"</span>, <span class="code-keyword">this</span>._checkOverflowAfterResize, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L2060" class="css-a4x74f"><span>2060</span></td><td id="LC2060" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.addEventListener(<span class="code-string">"underflow"</span>, <span class="code-keyword">this</span>._checkOverflowAfterResize, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L2061" class="css-a4x74f"><span>2061</span></td><td id="LC2061" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2062" class="css-a4x74f"><span>2062</span></td><td id="LC2062" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> fall back to mutation observer?</span> </code></td></tr><tr><td id="L2063" class="css-a4x74f"><span>2063</span></td><td id="LC2063" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2064" class="css-a4x74f"><span>2064</span></td><td id="LC2064" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._onScroll = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L2065" class="css-a4x74f"><span>2065</span></td><td id="LC2065" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.listening) { </code></td></tr><tr><td id="L2066" class="css-a4x74f"><span>2066</span></td><td id="LC2066" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.scrollLeft = <span class="code-number">0</span>; </code></td></tr><tr><td id="L2067" class="css-a4x74f"><span>2067</span></td><td id="LC2067" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2068" class="css-a4x74f"><span>2068</span></td><td id="LC2068" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2069" class="css-a4x74f"><span>2069</span></td><td id="LC2069" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2070" class="css-a4x74f"><span>2070</span></td><td id="LC2070" class="css-1dcdqdg"><code> <span class="code-comment">// Keep scroll left from changing</span> </code></td></tr><tr><td id="L2071" class="css-a4x74f"><span>2071</span></td><td id="LC2071" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.addEventListener(<span class="code-string">"scroll"</span>, <span class="code-keyword">this</span>._onScroll); </code></td></tr><tr><td id="L2072" class="css-a4x74f"><span>2072</span></td><td id="LC2072" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2073" class="css-a4x74f"><span>2073</span></td><td id="LC2073" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.listening = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2074" class="css-a4x74f"><span>2074</span></td><td id="LC2074" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2075" class="css-a4x74f"><span>2075</span></td><td id="LC2075" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2076" class="css-a4x74f"><span>2076</span></td><td id="LC2076" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2077" class="css-a4x74f"><span>2077</span></td><td id="LC2077" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2078" class="css-a4x74f"><span>2078</span></td><td id="LC2078" class="css-1dcdqdg"><code> removeListeners() { </code></td></tr><tr><td id="L2079" class="css-a4x74f"><span>2079</span></td><td id="LC2079" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.listening = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2080" class="css-a4x74f"><span>2080</span></td><td id="LC2080" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2081" class="css-a4x74f"><span>2081</span></td><td id="LC2081" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> ResizeObserver !== <span class="code-string">"undefined"</span> && <span class="code-keyword">this</span>.ro) { </code></td></tr><tr><td id="L2082" class="css-a4x74f"><span>2082</span></td><td id="LC2082" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ro.disconnect(); </code></td></tr><tr><td id="L2083" class="css-a4x74f"><span>2083</span></td><td id="LC2083" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.element) { </code></td></tr><tr><td id="L2084" class="css-a4x74f"><span>2084</span></td><td id="LC2084" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.removeEventListener(<span class="code-string">"overflow"</span>, <span class="code-keyword">this</span>._checkOverflowAfterResize, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L2085" class="css-a4x74f"><span>2085</span></td><td id="LC2085" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.removeEventListener(<span class="code-string">"underflow"</span>, <span class="code-keyword">this</span>._checkOverflowAfterResize, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L2086" class="css-a4x74f"><span>2086</span></td><td id="LC2086" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2087" class="css-a4x74f"><span>2087</span></td><td id="LC2087" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2088" class="css-a4x74f"><span>2088</span></td><td id="LC2088" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element && <span class="code-keyword">this</span>.element.removeEventListener(<span class="code-string">"scroll"</span>, <span class="code-keyword">this</span>._onScroll); </code></td></tr><tr><td id="L2089" class="css-a4x74f"><span>2089</span></td><td id="LC2089" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2090" class="css-a4x74f"><span>2090</span></td><td id="LC2090" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2091" class="css-a4x74f"><span>2091</span></td><td id="LC2091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2092" class="css-a4x74f"><span>2092</span></td><td id="LC2092" class="css-1dcdqdg"><code> addResizeObserver(contents) { </code></td></tr><tr><td id="L2093" class="css-a4x74f"><span>2093</span></td><td id="LC2093" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wrapper = <span class="code-keyword">this</span>.wrapper; </code></td></tr><tr><td id="L2094" class="css-a4x74f"><span>2094</span></td><td id="LC2094" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevHeight = wrapper.getBoundingClientRect().height; </code></td></tr><tr><td id="L2095" class="css-a4x74f"><span>2095</span></td><td id="LC2095" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ro = <span class="code-keyword">new</span> ResizeObserver(<span class="code-function"><span class="code-params">entries</span> =></span> { </code></td></tr><tr><td id="L2096" class="css-a4x74f"><span>2096</span></td><td id="LC2096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2097" class="css-a4x74f"><span>2097</span></td><td id="LC2097" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.listening) { </code></td></tr><tr><td id="L2098" class="css-a4x74f"><span>2098</span></td><td id="LC2098" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2099" class="css-a4x74f"><span>2099</span></td><td id="LC2099" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2100" class="css-a4x74f"><span>2100</span></td><td id="LC2100" class="css-1dcdqdg"><code> requestAnimationFrame(<span class="code-function"><span class="code-params">()</span> =></span> { </code></td></tr><tr><td id="L2101" class="css-a4x74f"><span>2101</span></td><td id="LC2101" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> entry <span class="code-keyword">of</span> entries) { </code></td></tr><tr><td id="L2102" class="css-a4x74f"><span>2102</span></td><td id="LC2102" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> cr = entry.contentRect; </code></td></tr><tr><td id="L2103" class="css-a4x74f"><span>2103</span></td><td id="LC2103" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2104" class="css-a4x74f"><span>2104</span></td><td id="LC2104" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cr.height > prevHeight) { </code></td></tr><tr><td id="L2105" class="css-a4x74f"><span>2105</span></td><td id="LC2105" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.checkOverflowAfterResize(contents); </code></td></tr><tr><td id="L2106" class="css-a4x74f"><span>2106</span></td><td id="LC2106" class="css-1dcdqdg"><code> prevHeight = wrapper.getBoundingClientRect().height; </code></td></tr><tr><td id="L2107" class="css-a4x74f"><span>2107</span></td><td id="LC2107" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (cr.height < prevHeight) { <span class="code-comment">// <span class="code-doctag">TODO:</span> calc line height && (prevHeight - cr.height) >= 22</span> </code></td></tr><tr><td id="L2108" class="css-a4x74f"><span>2108</span></td><td id="LC2108" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.checkUnderflowAfterResize(contents); </code></td></tr><tr><td id="L2109" class="css-a4x74f"><span>2109</span></td><td id="LC2109" class="css-1dcdqdg"><code> prevHeight = cr.height; </code></td></tr><tr><td id="L2110" class="css-a4x74f"><span>2110</span></td><td id="LC2110" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2111" class="css-a4x74f"><span>2111</span></td><td id="LC2111" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2112" class="css-a4x74f"><span>2112</span></td><td id="LC2112" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2113" class="css-a4x74f"><span>2113</span></td><td id="LC2113" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2114" class="css-a4x74f"><span>2114</span></td><td id="LC2114" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2115" class="css-a4x74f"><span>2115</span></td><td id="LC2115" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ro.observe(wrapper); </code></td></tr><tr><td id="L2116" class="css-a4x74f"><span>2116</span></td><td id="LC2116" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2117" class="css-a4x74f"><span>2117</span></td><td id="LC2117" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2118" class="css-a4x74f"><span>2118</span></td><td id="LC2118" class="css-1dcdqdg"><code> checkOverflowAfterResize(contents) { </code></td></tr><tr><td id="L2119" class="css-a4x74f"><span>2119</span></td><td id="LC2119" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.listening || !<span class="code-keyword">this</span>.layoutMethod) { </code></td></tr><tr><td id="L2120" class="css-a4x74f"><span>2120</span></td><td id="LC2120" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2121" class="css-a4x74f"><span>2121</span></td><td id="LC2121" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2122" class="css-a4x74f"><span>2122</span></td><td id="LC2122" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2123" class="css-a4x74f"><span>2123</span></td><td id="LC2123" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newBreakToken = <span class="code-keyword">this</span>.layoutMethod.findBreakToken(<span class="code-keyword">this</span>.wrapper, contents, <span class="code-keyword">this</span>.startToken); </code></td></tr><tr><td id="L2124" class="css-a4x74f"><span>2124</span></td><td id="LC2124" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2125" class="css-a4x74f"><span>2125</span></td><td id="LC2125" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newBreakToken) { </code></td></tr><tr><td id="L2126" class="css-a4x74f"><span>2126</span></td><td id="LC2126" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.endToken = newBreakToken; </code></td></tr><tr><td id="L2127" class="css-a4x74f"><span>2127</span></td><td id="LC2127" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._onOverflow && <span class="code-keyword">this</span>._onOverflow(newBreakToken); </code></td></tr><tr><td id="L2128" class="css-a4x74f"><span>2128</span></td><td id="LC2128" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2129" class="css-a4x74f"><span>2129</span></td><td id="LC2129" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2130" class="css-a4x74f"><span>2130</span></td><td id="LC2130" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2131" class="css-a4x74f"><span>2131</span></td><td id="LC2131" class="css-1dcdqdg"><code> checkUnderflowAfterResize(contents) { </code></td></tr><tr><td id="L2132" class="css-a4x74f"><span>2132</span></td><td id="LC2132" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.listening || !<span class="code-keyword">this</span>.layoutMethod) { </code></td></tr><tr><td id="L2133" class="css-a4x74f"><span>2133</span></td><td id="LC2133" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2134" class="css-a4x74f"><span>2134</span></td><td id="LC2134" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2135" class="css-a4x74f"><span>2135</span></td><td id="LC2135" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2136" class="css-a4x74f"><span>2136</span></td><td id="LC2136" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> endToken = <span class="code-keyword">this</span>.layoutMethod.findEndToken(<span class="code-keyword">this</span>.wrapper, contents); </code></td></tr><tr><td id="L2137" class="css-a4x74f"><span>2137</span></td><td id="LC2137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2138" class="css-a4x74f"><span>2138</span></td><td id="LC2138" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (endToken) { </code></td></tr><tr><td id="L2139" class="css-a4x74f"><span>2139</span></td><td id="LC2139" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._onUnderflow && <span class="code-keyword">this</span>._onUnderflow(endToken); </code></td></tr><tr><td id="L2140" class="css-a4x74f"><span>2140</span></td><td id="LC2140" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2141" class="css-a4x74f"><span>2141</span></td><td id="LC2141" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2142" class="css-a4x74f"><span>2142</span></td><td id="LC2142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2143" class="css-a4x74f"><span>2143</span></td><td id="LC2143" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2144" class="css-a4x74f"><span>2144</span></td><td id="LC2144" class="css-1dcdqdg"><code> destroy() { </code></td></tr><tr><td id="L2145" class="css-a4x74f"><span>2145</span></td><td id="LC2145" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.removeListeners(); </code></td></tr><tr><td id="L2146" class="css-a4x74f"><span>2146</span></td><td id="LC2146" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2147" class="css-a4x74f"><span>2147</span></td><td id="LC2147" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element.remove(); </code></td></tr><tr><td id="L2148" class="css-a4x74f"><span>2148</span></td><td id="LC2148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2149" class="css-a4x74f"><span>2149</span></td><td id="LC2149" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.element = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2150" class="css-a4x74f"><span>2150</span></td><td id="LC2150" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.wrapper = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2151" class="css-a4x74f"><span>2151</span></td><td id="LC2151" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2152" class="css-a4x74f"><span>2152</span></td><td id="LC2152" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2153" class="css-a4x74f"><span>2153</span></td><td id="LC2153" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2154" class="css-a4x74f"><span>2154</span></td><td id="LC2154" class="css-1dcdqdg"><code> eventEmitter(Page.prototype); </code></td></tr><tr><td id="L2155" class="css-a4x74f"><span>2155</span></td><td id="LC2155" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2156" class="css-a4x74f"><span>2156</span></td><td id="LC2156" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2157" class="css-a4x74f"><span>2157</span></td><td id="LC2157" class="css-1dcdqdg"><code><span class="code-comment"> * Render a flow of text offscreen </span></code></td></tr><tr><td id="L2158" class="css-a4x74f"><span>2158</span></td><td id="LC2158" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L2159" class="css-a4x74f"><span>2159</span></td><td id="LC2159" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2160" class="css-a4x74f"><span>2160</span></td><td id="LC2160" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">ContentParser</span> </span>{ </code></td></tr><tr><td id="L2161" class="css-a4x74f"><span>2161</span></td><td id="LC2161" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2162" class="css-a4x74f"><span>2162</span></td><td id="LC2162" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(content, cb) { </code></td></tr><tr><td id="L2163" class="css-a4x74f"><span>2163</span></td><td id="LC2163" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (content && content.nodeType) { </code></td></tr><tr><td id="L2164" class="css-a4x74f"><span>2164</span></td><td id="LC2164" class="css-1dcdqdg"><code> <span class="code-comment">// handle dom</span> </code></td></tr><tr><td id="L2165" class="css-a4x74f"><span>2165</span></td><td id="LC2165" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.dom = <span class="code-keyword">this</span>.add(content); </code></td></tr><tr><td id="L2166" class="css-a4x74f"><span>2166</span></td><td id="LC2166" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> content === <span class="code-string">"string"</span>) { </code></td></tr><tr><td id="L2167" class="css-a4x74f"><span>2167</span></td><td id="LC2167" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.dom = <span class="code-keyword">this</span>.parse(content); </code></td></tr><tr><td id="L2168" class="css-a4x74f"><span>2168</span></td><td id="LC2168" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2169" class="css-a4x74f"><span>2169</span></td><td id="LC2169" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2170" class="css-a4x74f"><span>2170</span></td><td id="LC2170" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.dom; </code></td></tr><tr><td id="L2171" class="css-a4x74f"><span>2171</span></td><td id="LC2171" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2172" class="css-a4x74f"><span>2172</span></td><td id="LC2172" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2173" class="css-a4x74f"><span>2173</span></td><td id="LC2173" class="css-1dcdqdg"><code> parse(markup, mime) { </code></td></tr><tr><td id="L2174" class="css-a4x74f"><span>2174</span></td><td id="LC2174" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> range = <span class="code-built_in">document</span>.createRange(); </code></td></tr><tr><td id="L2175" class="css-a4x74f"><span>2175</span></td><td id="LC2175" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fragment = range.createContextualFragment(markup); </code></td></tr><tr><td id="L2176" class="css-a4x74f"><span>2176</span></td><td id="LC2176" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2177" class="css-a4x74f"><span>2177</span></td><td id="LC2177" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addRefs(fragment); </code></td></tr><tr><td id="L2178" class="css-a4x74f"><span>2178</span></td><td id="LC2178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2179" class="css-a4x74f"><span>2179</span></td><td id="LC2179" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fragment; </code></td></tr><tr><td id="L2180" class="css-a4x74f"><span>2180</span></td><td id="LC2180" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2181" class="css-a4x74f"><span>2181</span></td><td id="LC2181" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2182" class="css-a4x74f"><span>2182</span></td><td id="LC2182" class="css-1dcdqdg"><code> add(contents) { </code></td></tr><tr><td id="L2183" class="css-a4x74f"><span>2183</span></td><td id="LC2183" class="css-1dcdqdg"><code> <span class="code-comment">// let fragment = document.createDocumentFragment();</span> </code></td></tr><tr><td id="L2184" class="css-a4x74f"><span>2184</span></td><td id="LC2184" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2185" class="css-a4x74f"><span>2185</span></td><td id="LC2185" class="css-1dcdqdg"><code> <span class="code-comment">// let children = [...contents.childNodes];</span> </code></td></tr><tr><td id="L2186" class="css-a4x74f"><span>2186</span></td><td id="LC2186" class="css-1dcdqdg"><code> <span class="code-comment">// for (let child of children) {</span> </code></td></tr><tr><td id="L2187" class="css-a4x74f"><span>2187</span></td><td id="LC2187" class="css-1dcdqdg"><code> <span class="code-comment">// let clone = child.cloneNode(true);</span> </code></td></tr><tr><td id="L2188" class="css-a4x74f"><span>2188</span></td><td id="LC2188" class="css-1dcdqdg"><code> <span class="code-comment">// fragment.appendChild(clone);</span> </code></td></tr><tr><td id="L2189" class="css-a4x74f"><span>2189</span></td><td id="LC2189" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2190" class="css-a4x74f"><span>2190</span></td><td id="LC2190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2191" class="css-a4x74f"><span>2191</span></td><td id="LC2191" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addRefs(contents); </code></td></tr><tr><td id="L2192" class="css-a4x74f"><span>2192</span></td><td id="LC2192" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2193" class="css-a4x74f"><span>2193</span></td><td id="LC2193" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> contents; </code></td></tr><tr><td id="L2194" class="css-a4x74f"><span>2194</span></td><td id="LC2194" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2195" class="css-a4x74f"><span>2195</span></td><td id="LC2195" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2196" class="css-a4x74f"><span>2196</span></td><td id="LC2196" class="css-1dcdqdg"><code> addRefs(content) { </code></td></tr><tr><td id="L2197" class="css-a4x74f"><span>2197</span></td><td id="LC2197" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> treeWalker = <span class="code-built_in">document</span>.createTreeWalker( </code></td></tr><tr><td id="L2198" class="css-a4x74f"><span>2198</span></td><td id="LC2198" class="css-1dcdqdg"><code> content, </code></td></tr><tr><td id="L2199" class="css-a4x74f"><span>2199</span></td><td id="LC2199" class="css-1dcdqdg"><code> NodeFilter.SHOW_ELEMENT, </code></td></tr><tr><td id="L2200" class="css-a4x74f"><span>2200</span></td><td id="LC2200" class="css-1dcdqdg"><code> <span class="code-literal">null</span>, </code></td></tr><tr><td id="L2201" class="css-a4x74f"><span>2201</span></td><td id="LC2201" class="css-1dcdqdg"><code> <span class="code-literal">false</span> </code></td></tr><tr><td id="L2202" class="css-a4x74f"><span>2202</span></td><td id="LC2202" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L2203" class="css-a4x74f"><span>2203</span></td><td id="LC2203" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2204" class="css-a4x74f"><span>2204</span></td><td id="LC2204" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node = treeWalker.nextNode(); </code></td></tr><tr><td id="L2205" class="css-a4x74f"><span>2205</span></td><td id="LC2205" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(node) { </code></td></tr><tr><td id="L2206" class="css-a4x74f"><span>2206</span></td><td id="LC2206" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2207" class="css-a4x74f"><span>2207</span></td><td id="LC2207" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node.hasAttribute(<span class="code-string">"data-ref"</span>)) { </code></td></tr><tr><td id="L2208" class="css-a4x74f"><span>2208</span></td><td id="LC2208" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> uuid = UUID(); </code></td></tr><tr><td id="L2209" class="css-a4x74f"><span>2209</span></td><td id="LC2209" class="css-1dcdqdg"><code> node.setAttribute(<span class="code-string">"data-ref"</span>, uuid); </code></td></tr><tr><td id="L2210" class="css-a4x74f"><span>2210</span></td><td id="LC2210" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2211" class="css-a4x74f"><span>2211</span></td><td id="LC2211" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2212" class="css-a4x74f"><span>2212</span></td><td id="LC2212" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.id) { </code></td></tr><tr><td id="L2213" class="css-a4x74f"><span>2213</span></td><td id="LC2213" class="css-1dcdqdg"><code> node.setAttribute(<span class="code-string">"data-id"</span>, node.id); </code></td></tr><tr><td id="L2214" class="css-a4x74f"><span>2214</span></td><td id="LC2214" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2215" class="css-a4x74f"><span>2215</span></td><td id="LC2215" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2216" class="css-a4x74f"><span>2216</span></td><td id="LC2216" class="css-1dcdqdg"><code> <span class="code-comment">// node.setAttribute("data-children", node.childNodes.length);</span> </code></td></tr><tr><td id="L2217" class="css-a4x74f"><span>2217</span></td><td id="LC2217" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2218" class="css-a4x74f"><span>2218</span></td><td id="LC2218" class="css-1dcdqdg"><code> <span class="code-comment">// node.setAttribute("data-text", node.textContent.trim().length);</span> </code></td></tr><tr><td id="L2219" class="css-a4x74f"><span>2219</span></td><td id="LC2219" class="css-1dcdqdg"><code> node = treeWalker.nextNode(); </code></td></tr><tr><td id="L2220" class="css-a4x74f"><span>2220</span></td><td id="LC2220" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2221" class="css-a4x74f"><span>2221</span></td><td id="LC2221" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2222" class="css-a4x74f"><span>2222</span></td><td id="LC2222" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2223" class="css-a4x74f"><span>2223</span></td><td id="LC2223" class="css-1dcdqdg"><code> find(ref) { </code></td></tr><tr><td id="L2224" class="css-a4x74f"><span>2224</span></td><td id="LC2224" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.refs[ref]; </code></td></tr><tr><td id="L2225" class="css-a4x74f"><span>2225</span></td><td id="LC2225" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2226" class="css-a4x74f"><span>2226</span></td><td id="LC2226" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2227" class="css-a4x74f"><span>2227</span></td><td id="LC2227" class="css-1dcdqdg"><code> destroy() { </code></td></tr><tr><td id="L2228" class="css-a4x74f"><span>2228</span></td><td id="LC2228" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.refs = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2229" class="css-a4x74f"><span>2229</span></td><td id="LC2229" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.dom = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2230" class="css-a4x74f"><span>2230</span></td><td id="LC2230" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2231" class="css-a4x74f"><span>2231</span></td><td id="LC2231" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2232" class="css-a4x74f"><span>2232</span></td><td id="LC2232" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2233" class="css-a4x74f"><span>2233</span></td><td id="LC2233" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2234" class="css-a4x74f"><span>2234</span></td><td id="LC2234" class="css-1dcdqdg"><code><span class="code-comment"> * Queue for handling tasks one at a time </span></code></td></tr><tr><td id="L2235" class="css-a4x74f"><span>2235</span></td><td id="LC2235" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L2236" class="css-a4x74f"><span>2236</span></td><td id="LC2236" class="css-1dcdqdg"><code><span class="code-comment"> * @param {scope} context what this will resolve to in the tasks </span></code></td></tr><tr><td id="L2237" class="css-a4x74f"><span>2237</span></td><td id="LC2237" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2238" class="css-a4x74f"><span>2238</span></td><td id="LC2238" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Queue</span> </span>{ </code></td></tr><tr><td id="L2239" class="css-a4x74f"><span>2239</span></td><td id="LC2239" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(context){ </code></td></tr><tr><td id="L2240" class="css-a4x74f"><span>2240</span></td><td id="LC2240" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._q = []; </code></td></tr><tr><td id="L2241" class="css-a4x74f"><span>2241</span></td><td id="LC2241" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.context = context; </code></td></tr><tr><td id="L2242" class="css-a4x74f"><span>2242</span></td><td id="LC2242" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tick = requestAnimationFrame; </code></td></tr><tr><td id="L2243" class="css-a4x74f"><span>2243</span></td><td id="LC2243" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2244" class="css-a4x74f"><span>2244</span></td><td id="LC2244" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.paused = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2245" class="css-a4x74f"><span>2245</span></td><td id="LC2245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2246" class="css-a4x74f"><span>2246</span></td><td id="LC2246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2247" class="css-a4x74f"><span>2247</span></td><td id="LC2247" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2248" class="css-a4x74f"><span>2248</span></td><td id="LC2248" class="css-1dcdqdg"><code><span class="code-comment"> * Add an item to the queue </span></code></td></tr><tr><td id="L2249" class="css-a4x74f"><span>2249</span></td><td id="LC2249" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Promise} enqueued </span></code></td></tr><tr><td id="L2250" class="css-a4x74f"><span>2250</span></td><td id="LC2250" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2251" class="css-a4x74f"><span>2251</span></td><td id="LC2251" class="css-1dcdqdg"><code> enqueue() { </code></td></tr><tr><td id="L2252" class="css-a4x74f"><span>2252</span></td><td id="LC2252" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> deferred, promise; </code></td></tr><tr><td id="L2253" class="css-a4x74f"><span>2253</span></td><td id="LC2253" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> queued; </code></td></tr><tr><td id="L2254" class="css-a4x74f"><span>2254</span></td><td id="LC2254" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> task = [].shift.call(<span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L2255" class="css-a4x74f"><span>2255</span></td><td id="LC2255" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> args = <span class="code-built_in">arguments</span>; </code></td></tr><tr><td id="L2256" class="css-a4x74f"><span>2256</span></td><td id="LC2256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2257" class="css-a4x74f"><span>2257</span></td><td id="LC2257" class="css-1dcdqdg"><code> <span class="code-comment">// Handle single args without context</span> </code></td></tr><tr><td id="L2258" class="css-a4x74f"><span>2258</span></td><td id="LC2258" class="css-1dcdqdg"><code> <span class="code-comment">// if(args && !Array.isArray(args)) {</span> </code></td></tr><tr><td id="L2259" class="css-a4x74f"><span>2259</span></td><td id="LC2259" class="css-1dcdqdg"><code> <span class="code-comment">// args = [args];</span> </code></td></tr><tr><td id="L2260" class="css-a4x74f"><span>2260</span></td><td id="LC2260" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2261" class="css-a4x74f"><span>2261</span></td><td id="LC2261" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(!task) { </code></td></tr><tr><td id="L2262" class="css-a4x74f"><span>2262</span></td><td id="LC2262" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">"No Task Provided"</span>); </code></td></tr><tr><td id="L2263" class="css-a4x74f"><span>2263</span></td><td id="LC2263" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2264" class="css-a4x74f"><span>2264</span></td><td id="LC2264" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2265" class="css-a4x74f"><span>2265</span></td><td id="LC2265" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">typeof</span> task === <span class="code-string">"function"</span>){ </code></td></tr><tr><td id="L2266" class="css-a4x74f"><span>2266</span></td><td id="LC2266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2267" class="css-a4x74f"><span>2267</span></td><td id="LC2267" class="css-1dcdqdg"><code> deferred = <span class="code-keyword">new</span> defer(); </code></td></tr><tr><td id="L2268" class="css-a4x74f"><span>2268</span></td><td id="LC2268" class="css-1dcdqdg"><code> promise = deferred.promise; </code></td></tr><tr><td id="L2269" class="css-a4x74f"><span>2269</span></td><td id="LC2269" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2270" class="css-a4x74f"><span>2270</span></td><td id="LC2270" class="css-1dcdqdg"><code> queued = { </code></td></tr><tr><td id="L2271" class="css-a4x74f"><span>2271</span></td><td id="LC2271" class="css-1dcdqdg"><code> <span class="code-string">"task"</span> : task, </code></td></tr><tr><td id="L2272" class="css-a4x74f"><span>2272</span></td><td id="LC2272" class="css-1dcdqdg"><code> <span class="code-string">"args"</span> : args, </code></td></tr><tr><td id="L2273" class="css-a4x74f"><span>2273</span></td><td id="LC2273" class="css-1dcdqdg"><code> <span class="code-comment">//"context" : context,</span> </code></td></tr><tr><td id="L2274" class="css-a4x74f"><span>2274</span></td><td id="LC2274" class="css-1dcdqdg"><code> <span class="code-string">"deferred"</span> : deferred, </code></td></tr><tr><td id="L2275" class="css-a4x74f"><span>2275</span></td><td id="LC2275" class="css-1dcdqdg"><code> <span class="code-string">"promise"</span> : promise </code></td></tr><tr><td id="L2276" class="css-a4x74f"><span>2276</span></td><td id="LC2276" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L2277" class="css-a4x74f"><span>2277</span></td><td id="LC2277" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2278" class="css-a4x74f"><span>2278</span></td><td id="LC2278" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2279" class="css-a4x74f"><span>2279</span></td><td id="LC2279" class="css-1dcdqdg"><code> <span class="code-comment">// Task is a promise</span> </code></td></tr><tr><td id="L2280" class="css-a4x74f"><span>2280</span></td><td id="LC2280" class="css-1dcdqdg"><code> queued = { </code></td></tr><tr><td id="L2281" class="css-a4x74f"><span>2281</span></td><td id="LC2281" class="css-1dcdqdg"><code> <span class="code-string">"promise"</span> : task </code></td></tr><tr><td id="L2282" class="css-a4x74f"><span>2282</span></td><td id="LC2282" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L2283" class="css-a4x74f"><span>2283</span></td><td id="LC2283" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2284" class="css-a4x74f"><span>2284</span></td><td id="LC2284" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2285" class="css-a4x74f"><span>2285</span></td><td id="LC2285" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2286" class="css-a4x74f"><span>2286</span></td><td id="LC2286" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._q.push(queued); </code></td></tr><tr><td id="L2287" class="css-a4x74f"><span>2287</span></td><td id="LC2287" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2288" class="css-a4x74f"><span>2288</span></td><td id="LC2288" class="css-1dcdqdg"><code> <span class="code-comment">// Wait to start queue flush</span> </code></td></tr><tr><td id="L2289" class="css-a4x74f"><span>2289</span></td><td id="LC2289" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.paused == <span class="code-literal">false</span> && !<span class="code-keyword">this</span>.running) { </code></td></tr><tr><td id="L2290" class="css-a4x74f"><span>2290</span></td><td id="LC2290" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.run(); </code></td></tr><tr><td id="L2291" class="css-a4x74f"><span>2291</span></td><td id="LC2291" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2292" class="css-a4x74f"><span>2292</span></td><td id="LC2292" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2293" class="css-a4x74f"><span>2293</span></td><td id="LC2293" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> queued.promise; </code></td></tr><tr><td id="L2294" class="css-a4x74f"><span>2294</span></td><td id="LC2294" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2295" class="css-a4x74f"><span>2295</span></td><td id="LC2295" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2296" class="css-a4x74f"><span>2296</span></td><td id="LC2296" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2297" class="css-a4x74f"><span>2297</span></td><td id="LC2297" class="css-1dcdqdg"><code><span class="code-comment"> * Run one item </span></code></td></tr><tr><td id="L2298" class="css-a4x74f"><span>2298</span></td><td id="LC2298" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Promise} dequeued </span></code></td></tr><tr><td id="L2299" class="css-a4x74f"><span>2299</span></td><td id="LC2299" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2300" class="css-a4x74f"><span>2300</span></td><td id="LC2300" class="css-1dcdqdg"><code> dequeue(){ </code></td></tr><tr><td id="L2301" class="css-a4x74f"><span>2301</span></td><td id="LC2301" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> inwait, task, result; </code></td></tr><tr><td id="L2302" class="css-a4x74f"><span>2302</span></td><td id="LC2302" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2303" class="css-a4x74f"><span>2303</span></td><td id="LC2303" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>._q.length && !<span class="code-keyword">this</span>.paused) { </code></td></tr><tr><td id="L2304" class="css-a4x74f"><span>2304</span></td><td id="LC2304" class="css-1dcdqdg"><code> inwait = <span class="code-keyword">this</span>._q.shift(); </code></td></tr><tr><td id="L2305" class="css-a4x74f"><span>2305</span></td><td id="LC2305" class="css-1dcdqdg"><code> task = inwait.task; </code></td></tr><tr><td id="L2306" class="css-a4x74f"><span>2306</span></td><td id="LC2306" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(task){ </code></td></tr><tr><td id="L2307" class="css-a4x74f"><span>2307</span></td><td id="LC2307" class="css-1dcdqdg"><code> <span class="code-comment">// console.log(task)</span> </code></td></tr><tr><td id="L2308" class="css-a4x74f"><span>2308</span></td><td id="LC2308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2309" class="css-a4x74f"><span>2309</span></td><td id="LC2309" class="css-1dcdqdg"><code> result = task.apply(<span class="code-keyword">this</span>.context, inwait.args); </code></td></tr><tr><td id="L2310" class="css-a4x74f"><span>2310</span></td><td id="LC2310" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2311" class="css-a4x74f"><span>2311</span></td><td id="LC2311" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(result && <span class="code-keyword">typeof</span> result[<span class="code-string">"then"</span>] === <span class="code-string">"function"</span>) { </code></td></tr><tr><td id="L2312" class="css-a4x74f"><span>2312</span></td><td id="LC2312" class="css-1dcdqdg"><code> <span class="code-comment">// Task is a function that returns a promise</span> </code></td></tr><tr><td id="L2313" class="css-a4x74f"><span>2313</span></td><td id="LC2313" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result.then(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>)</span>{ </code></td></tr><tr><td id="L2314" class="css-a4x74f"><span>2314</span></td><td id="LC2314" class="css-1dcdqdg"><code> inwait.deferred.resolve.apply(<span class="code-keyword">this</span>.context, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L2315" class="css-a4x74f"><span>2315</span></td><td id="LC2315" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>), <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L2316" class="css-a4x74f"><span>2316</span></td><td id="LC2316" class="css-1dcdqdg"><code> inwait.deferred.reject.apply(<span class="code-keyword">this</span>.context, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L2317" class="css-a4x74f"><span>2317</span></td><td id="LC2317" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L2318" class="css-a4x74f"><span>2318</span></td><td id="LC2318" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2319" class="css-a4x74f"><span>2319</span></td><td id="LC2319" class="css-1dcdqdg"><code> <span class="code-comment">// Task resolves immediately</span> </code></td></tr><tr><td id="L2320" class="css-a4x74f"><span>2320</span></td><td id="LC2320" class="css-1dcdqdg"><code> inwait.deferred.resolve.apply(<span class="code-keyword">this</span>.context, result); </code></td></tr><tr><td id="L2321" class="css-a4x74f"><span>2321</span></td><td id="LC2321" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> inwait.promise; </code></td></tr><tr><td id="L2322" class="css-a4x74f"><span>2322</span></td><td id="LC2322" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2323" class="css-a4x74f"><span>2323</span></td><td id="LC2323" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2324" class="css-a4x74f"><span>2324</span></td><td id="LC2324" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2325" class="css-a4x74f"><span>2325</span></td><td id="LC2325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2326" class="css-a4x74f"><span>2326</span></td><td id="LC2326" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span>(inwait.promise) { </code></td></tr><tr><td id="L2327" class="css-a4x74f"><span>2327</span></td><td id="LC2327" class="css-1dcdqdg"><code> <span class="code-comment">// Task is a promise</span> </code></td></tr><tr><td id="L2328" class="css-a4x74f"><span>2328</span></td><td id="LC2328" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> inwait.promise; </code></td></tr><tr><td id="L2329" class="css-a4x74f"><span>2329</span></td><td id="LC2329" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2330" class="css-a4x74f"><span>2330</span></td><td id="LC2330" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2331" class="css-a4x74f"><span>2331</span></td><td id="LC2331" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2332" class="css-a4x74f"><span>2332</span></td><td id="LC2332" class="css-1dcdqdg"><code> inwait = <span class="code-keyword">new</span> defer(); </code></td></tr><tr><td id="L2333" class="css-a4x74f"><span>2333</span></td><td id="LC2333" class="css-1dcdqdg"><code> inwait.deferred.resolve(); </code></td></tr><tr><td id="L2334" class="css-a4x74f"><span>2334</span></td><td id="LC2334" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> inwait.promise; </code></td></tr><tr><td id="L2335" class="css-a4x74f"><span>2335</span></td><td id="LC2335" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2336" class="css-a4x74f"><span>2336</span></td><td id="LC2336" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2337" class="css-a4x74f"><span>2337</span></td><td id="LC2337" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2338" class="css-a4x74f"><span>2338</span></td><td id="LC2338" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2339" class="css-a4x74f"><span>2339</span></td><td id="LC2339" class="css-1dcdqdg"><code> <span class="code-comment">// Run All Immediately</span> </code></td></tr><tr><td id="L2340" class="css-a4x74f"><span>2340</span></td><td id="LC2340" class="css-1dcdqdg"><code> dump(){ </code></td></tr><tr><td id="L2341" class="css-a4x74f"><span>2341</span></td><td id="LC2341" class="css-1dcdqdg"><code> <span class="code-keyword">while</span>(<span class="code-keyword">this</span>._q.length) { </code></td></tr><tr><td id="L2342" class="css-a4x74f"><span>2342</span></td><td id="LC2342" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.dequeue(); </code></td></tr><tr><td id="L2343" class="css-a4x74f"><span>2343</span></td><td id="LC2343" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2344" class="css-a4x74f"><span>2344</span></td><td id="LC2344" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2345" class="css-a4x74f"><span>2345</span></td><td id="LC2345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2346" class="css-a4x74f"><span>2346</span></td><td id="LC2346" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2347" class="css-a4x74f"><span>2347</span></td><td id="LC2347" class="css-1dcdqdg"><code><span class="code-comment"> * Run all tasks sequentially, at convince </span></code></td></tr><tr><td id="L2348" class="css-a4x74f"><span>2348</span></td><td id="LC2348" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Promise} all run </span></code></td></tr><tr><td id="L2349" class="css-a4x74f"><span>2349</span></td><td id="LC2349" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2350" class="css-a4x74f"><span>2350</span></td><td id="LC2350" class="css-1dcdqdg"><code> run(){ </code></td></tr><tr><td id="L2351" class="css-a4x74f"><span>2351</span></td><td id="LC2351" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2352" class="css-a4x74f"><span>2352</span></td><td id="LC2352" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(!<span class="code-keyword">this</span>.running){ </code></td></tr><tr><td id="L2353" class="css-a4x74f"><span>2353</span></td><td id="LC2353" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2354" class="css-a4x74f"><span>2354</span></td><td id="LC2354" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.defered = <span class="code-keyword">new</span> defer(); </code></td></tr><tr><td id="L2355" class="css-a4x74f"><span>2355</span></td><td id="LC2355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2356" class="css-a4x74f"><span>2356</span></td><td id="LC2356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2357" class="css-a4x74f"><span>2357</span></td><td id="LC2357" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tick.call(<span class="code-built_in">window</span>, () => { </code></td></tr><tr><td id="L2358" class="css-a4x74f"><span>2358</span></td><td id="LC2358" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2359" class="css-a4x74f"><span>2359</span></td><td id="LC2359" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>._q.length) { </code></td></tr><tr><td id="L2360" class="css-a4x74f"><span>2360</span></td><td id="LC2360" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2361" class="css-a4x74f"><span>2361</span></td><td id="LC2361" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.dequeue() </code></td></tr><tr><td id="L2362" class="css-a4x74f"><span>2362</span></td><td id="LC2362" class="css-1dcdqdg"><code> .then(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>)</span>{ </code></td></tr><tr><td id="L2363" class="css-a4x74f"><span>2363</span></td><td id="LC2363" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.run(); </code></td></tr><tr><td id="L2364" class="css-a4x74f"><span>2364</span></td><td id="LC2364" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L2365" class="css-a4x74f"><span>2365</span></td><td id="LC2365" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2366" class="css-a4x74f"><span>2366</span></td><td id="LC2366" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2367" class="css-a4x74f"><span>2367</span></td><td id="LC2367" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.defered.resolve(); </code></td></tr><tr><td id="L2368" class="css-a4x74f"><span>2368</span></td><td id="LC2368" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2369" class="css-a4x74f"><span>2369</span></td><td id="LC2369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2370" class="css-a4x74f"><span>2370</span></td><td id="LC2370" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2371" class="css-a4x74f"><span>2371</span></td><td id="LC2371" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2372" class="css-a4x74f"><span>2372</span></td><td id="LC2372" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2373" class="css-a4x74f"><span>2373</span></td><td id="LC2373" class="css-1dcdqdg"><code> <span class="code-comment">// Unpause</span> </code></td></tr><tr><td id="L2374" class="css-a4x74f"><span>2374</span></td><td id="LC2374" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>.paused == <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L2375" class="css-a4x74f"><span>2375</span></td><td id="LC2375" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.paused = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2376" class="css-a4x74f"><span>2376</span></td><td id="LC2376" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2377" class="css-a4x74f"><span>2377</span></td><td id="LC2377" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2378" class="css-a4x74f"><span>2378</span></td><td id="LC2378" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.defered.promise; </code></td></tr><tr><td id="L2379" class="css-a4x74f"><span>2379</span></td><td id="LC2379" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2380" class="css-a4x74f"><span>2380</span></td><td id="LC2380" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2381" class="css-a4x74f"><span>2381</span></td><td id="LC2381" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2382" class="css-a4x74f"><span>2382</span></td><td id="LC2382" class="css-1dcdqdg"><code><span class="code-comment"> * Flush all, as quickly as possible </span></code></td></tr><tr><td id="L2383" class="css-a4x74f"><span>2383</span></td><td id="LC2383" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Promise} ran </span></code></td></tr><tr><td id="L2384" class="css-a4x74f"><span>2384</span></td><td id="LC2384" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2385" class="css-a4x74f"><span>2385</span></td><td id="LC2385" class="css-1dcdqdg"><code> flush(){ </code></td></tr><tr><td id="L2386" class="css-a4x74f"><span>2386</span></td><td id="LC2386" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2387" class="css-a4x74f"><span>2387</span></td><td id="LC2387" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>.running){ </code></td></tr><tr><td id="L2388" class="css-a4x74f"><span>2388</span></td><td id="LC2388" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.running; </code></td></tr><tr><td id="L2389" class="css-a4x74f"><span>2389</span></td><td id="LC2389" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2390" class="css-a4x74f"><span>2390</span></td><td id="LC2390" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2391" class="css-a4x74f"><span>2391</span></td><td id="LC2391" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>._q.length) { </code></td></tr><tr><td id="L2392" class="css-a4x74f"><span>2392</span></td><td id="LC2392" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-keyword">this</span>.dequeue() </code></td></tr><tr><td id="L2393" class="css-a4x74f"><span>2393</span></td><td id="LC2393" class="css-1dcdqdg"><code> .then(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>)</span>{ </code></td></tr><tr><td id="L2394" class="css-a4x74f"><span>2394</span></td><td id="LC2394" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2395" class="css-a4x74f"><span>2395</span></td><td id="LC2395" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.flush(); </code></td></tr><tr><td id="L2396" class="css-a4x74f"><span>2396</span></td><td id="LC2396" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L2397" class="css-a4x74f"><span>2397</span></td><td id="LC2397" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2398" class="css-a4x74f"><span>2398</span></td><td id="LC2398" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.running; </code></td></tr><tr><td id="L2399" class="css-a4x74f"><span>2399</span></td><td id="LC2399" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2400" class="css-a4x74f"><span>2400</span></td><td id="LC2400" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2401" class="css-a4x74f"><span>2401</span></td><td id="LC2401" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2402" class="css-a4x74f"><span>2402</span></td><td id="LC2402" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2403" class="css-a4x74f"><span>2403</span></td><td id="LC2403" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2404" class="css-a4x74f"><span>2404</span></td><td id="LC2404" class="css-1dcdqdg"><code><span class="code-comment"> * Clear all items in wait </span></code></td></tr><tr><td id="L2405" class="css-a4x74f"><span>2405</span></td><td id="LC2405" class="css-1dcdqdg"><code><span class="code-comment"> * @return {void} </span></code></td></tr><tr><td id="L2406" class="css-a4x74f"><span>2406</span></td><td id="LC2406" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2407" class="css-a4x74f"><span>2407</span></td><td id="LC2407" class="css-1dcdqdg"><code> clear(){ </code></td></tr><tr><td id="L2408" class="css-a4x74f"><span>2408</span></td><td id="LC2408" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._q = []; </code></td></tr><tr><td id="L2409" class="css-a4x74f"><span>2409</span></td><td id="LC2409" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2410" class="css-a4x74f"><span>2410</span></td><td id="LC2410" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2411" class="css-a4x74f"><span>2411</span></td><td id="LC2411" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2412" class="css-a4x74f"><span>2412</span></td><td id="LC2412" class="css-1dcdqdg"><code><span class="code-comment"> * Get the number of tasks in the queue </span></code></td></tr><tr><td id="L2413" class="css-a4x74f"><span>2413</span></td><td id="LC2413" class="css-1dcdqdg"><code><span class="code-comment"> * @return {number} tasks </span></code></td></tr><tr><td id="L2414" class="css-a4x74f"><span>2414</span></td><td id="LC2414" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2415" class="css-a4x74f"><span>2415</span></td><td id="LC2415" class="css-1dcdqdg"><code> length(){ </code></td></tr><tr><td id="L2416" class="css-a4x74f"><span>2416</span></td><td id="LC2416" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._q.length; </code></td></tr><tr><td id="L2417" class="css-a4x74f"><span>2417</span></td><td id="LC2417" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2418" class="css-a4x74f"><span>2418</span></td><td id="LC2418" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2419" class="css-a4x74f"><span>2419</span></td><td id="LC2419" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2420" class="css-a4x74f"><span>2420</span></td><td id="LC2420" class="css-1dcdqdg"><code><span class="code-comment"> * Pause a running queue </span></code></td></tr><tr><td id="L2421" class="css-a4x74f"><span>2421</span></td><td id="LC2421" class="css-1dcdqdg"><code><span class="code-comment"> * @return {void} </span></code></td></tr><tr><td id="L2422" class="css-a4x74f"><span>2422</span></td><td id="LC2422" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2423" class="css-a4x74f"><span>2423</span></td><td id="LC2423" class="css-1dcdqdg"><code> pause(){ </code></td></tr><tr><td id="L2424" class="css-a4x74f"><span>2424</span></td><td id="LC2424" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.paused = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2425" class="css-a4x74f"><span>2425</span></td><td id="LC2425" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2426" class="css-a4x74f"><span>2426</span></td><td id="LC2426" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2427" class="css-a4x74f"><span>2427</span></td><td id="LC2427" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2428" class="css-a4x74f"><span>2428</span></td><td id="LC2428" class="css-1dcdqdg"><code><span class="code-comment"> * End the queue </span></code></td></tr><tr><td id="L2429" class="css-a4x74f"><span>2429</span></td><td id="LC2429" class="css-1dcdqdg"><code><span class="code-comment"> * @return {void} </span></code></td></tr><tr><td id="L2430" class="css-a4x74f"><span>2430</span></td><td id="LC2430" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2431" class="css-a4x74f"><span>2431</span></td><td id="LC2431" class="css-1dcdqdg"><code> stop(){ </code></td></tr><tr><td id="L2432" class="css-a4x74f"><span>2432</span></td><td id="LC2432" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._q = []; </code></td></tr><tr><td id="L2433" class="css-a4x74f"><span>2433</span></td><td id="LC2433" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.running = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2434" class="css-a4x74f"><span>2434</span></td><td id="LC2434" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.paused = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2435" class="css-a4x74f"><span>2435</span></td><td id="LC2435" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2436" class="css-a4x74f"><span>2436</span></td><td id="LC2436" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2437" class="css-a4x74f"><span>2437</span></td><td id="LC2437" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2438" class="css-a4x74f"><span>2438</span></td><td id="LC2438" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> TEMPLATE = <span class="code-string">` </span></code></td></tr><tr><td id="L2439" class="css-a4x74f"><span>2439</span></td><td id="LC2439" class="css-1dcdqdg"><code><span class="code-string"><div class="pagedjs_page"> </span></code></td></tr><tr><td id="L2440" class="css-a4x74f"><span>2440</span></td><td id="LC2440" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_sheet"> </span></code></td></tr><tr><td id="L2441" class="css-a4x74f"><span>2441</span></td><td id="LC2441" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_bleed pagedjs_bleed-top"> </span></code></td></tr><tr><td id="L2442" class="css-a4x74f"><span>2442</span></td><td id="LC2442" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2443" class="css-a4x74f"><span>2443</span></td><td id="LC2443" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-middle"> </span></code></td></tr><tr><td id="L2444" class="css-a4x74f"><span>2444</span></td><td id="LC2444" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-cross"></div> </span></code></td></tr><tr><td id="L2445" class="css-a4x74f"><span>2445</span></td><td id="LC2445" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2446" class="css-a4x74f"><span>2446</span></td><td id="LC2446" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2447" class="css-a4x74f"><span>2447</span></td><td id="LC2447" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2448" class="css-a4x74f"><span>2448</span></td><td id="LC2448" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_bleed pagedjs_bleed-bottom"> </span></code></td></tr><tr><td id="L2449" class="css-a4x74f"><span>2449</span></td><td id="LC2449" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2450" class="css-a4x74f"><span>2450</span></td><td id="LC2450" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-middle"> </span></code></td></tr><tr><td id="L2451" class="css-a4x74f"><span>2451</span></td><td id="LC2451" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-cross"></div> </span></code></td></tr><tr><td id="L2452" class="css-a4x74f"><span>2452</span></td><td id="LC2452" class="css-1dcdqdg"><code><span class="code-string"> </div> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2453" class="css-a4x74f"><span>2453</span></td><td id="LC2453" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2454" class="css-a4x74f"><span>2454</span></td><td id="LC2454" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_bleed pagedjs_bleed-left"> </span></code></td></tr><tr><td id="L2455" class="css-a4x74f"><span>2455</span></td><td id="LC2455" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2456" class="css-a4x74f"><span>2456</span></td><td id="LC2456" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-middle"> </span></code></td></tr><tr><td id="L2457" class="css-a4x74f"><span>2457</span></td><td id="LC2457" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-cross"></div> </span></code></td></tr><tr><td id="L2458" class="css-a4x74f"><span>2458</span></td><td id="LC2458" class="css-1dcdqdg"><code><span class="code-string"> </div> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2459" class="css-a4x74f"><span>2459</span></td><td id="LC2459" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2460" class="css-a4x74f"><span>2460</span></td><td id="LC2460" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_bleed pagedjs_bleed-right"> </span></code></td></tr><tr><td id="L2461" class="css-a4x74f"><span>2461</span></td><td id="LC2461" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2462" class="css-a4x74f"><span>2462</span></td><td id="LC2462" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-middle"> </span></code></td></tr><tr><td id="L2463" class="css-a4x74f"><span>2463</span></td><td id="LC2463" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-cross"></div> </span></code></td></tr><tr><td id="L2464" class="css-a4x74f"><span>2464</span></td><td id="LC2464" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2465" class="css-a4x74f"><span>2465</span></td><td id="LC2465" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_marks-crop"></div> </span></code></td></tr><tr><td id="L2466" class="css-a4x74f"><span>2466</span></td><td id="LC2466" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2467" class="css-a4x74f"><span>2467</span></td><td id="LC2467" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_pagebox"> </span></code></td></tr><tr><td id="L2468" class="css-a4x74f"><span>2468</span></td><td id="LC2468" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-top-left-corner-holder"> </span></code></td></tr><tr><td id="L2469" class="css-a4x74f"><span>2469</span></td><td id="LC2469" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-top-left-corner"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2470" class="css-a4x74f"><span>2470</span></td><td id="LC2470" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2471" class="css-a4x74f"><span>2471</span></td><td id="LC2471" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-top"> </span></code></td></tr><tr><td id="L2472" class="css-a4x74f"><span>2472</span></td><td id="LC2472" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-top-left"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2473" class="css-a4x74f"><span>2473</span></td><td id="LC2473" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-top-center"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2474" class="css-a4x74f"><span>2474</span></td><td id="LC2474" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-top-right"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2475" class="css-a4x74f"><span>2475</span></td><td id="LC2475" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2476" class="css-a4x74f"><span>2476</span></td><td id="LC2476" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-top-right-corner-holder"> </span></code></td></tr><tr><td id="L2477" class="css-a4x74f"><span>2477</span></td><td id="LC2477" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-top-right-corner"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2478" class="css-a4x74f"><span>2478</span></td><td id="LC2478" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2479" class="css-a4x74f"><span>2479</span></td><td id="LC2479" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-right"> </span></code></td></tr><tr><td id="L2480" class="css-a4x74f"><span>2480</span></td><td id="LC2480" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-right-top"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2481" class="css-a4x74f"><span>2481</span></td><td id="LC2481" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-right-middle"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2482" class="css-a4x74f"><span>2482</span></td><td id="LC2482" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-right-bottom"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2483" class="css-a4x74f"><span>2483</span></td><td id="LC2483" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2484" class="css-a4x74f"><span>2484</span></td><td id="LC2484" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-left"> </span></code></td></tr><tr><td id="L2485" class="css-a4x74f"><span>2485</span></td><td id="LC2485" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-left-top"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2486" class="css-a4x74f"><span>2486</span></td><td id="LC2486" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-left-middle"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2487" class="css-a4x74f"><span>2487</span></td><td id="LC2487" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-left-bottom"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2488" class="css-a4x74f"><span>2488</span></td><td id="LC2488" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2489" class="css-a4x74f"><span>2489</span></td><td id="LC2489" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-bottom-left-corner-holder"> </span></code></td></tr><tr><td id="L2490" class="css-a4x74f"><span>2490</span></td><td id="LC2490" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-bottom-left-corner"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2491" class="css-a4x74f"><span>2491</span></td><td id="LC2491" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2492" class="css-a4x74f"><span>2492</span></td><td id="LC2492" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-bottom"> </span></code></td></tr><tr><td id="L2493" class="css-a4x74f"><span>2493</span></td><td id="LC2493" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-bottom-left"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2494" class="css-a4x74f"><span>2494</span></td><td id="LC2494" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-bottom-center"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2495" class="css-a4x74f"><span>2495</span></td><td id="LC2495" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-bottom-right"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2496" class="css-a4x74f"><span>2496</span></td><td id="LC2496" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2497" class="css-a4x74f"><span>2497</span></td><td id="LC2497" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin-bottom-right-corner-holder"> </span></code></td></tr><tr><td id="L2498" class="css-a4x74f"><span>2498</span></td><td id="LC2498" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_margin pagedjs_margin-bottom-right-corner"><div class="pagedjs_margin-content"></div></div> </span></code></td></tr><tr><td id="L2499" class="css-a4x74f"><span>2499</span></td><td id="LC2499" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2500" class="css-a4x74f"><span>2500</span></td><td id="LC2500" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_area"> </span></code></td></tr><tr><td id="L2501" class="css-a4x74f"><span>2501</span></td><td id="LC2501" class="css-1dcdqdg"><code><span class="code-string"> <div class="pagedjs_page_content"></div> </span></code></td></tr><tr><td id="L2502" class="css-a4x74f"><span>2502</span></td><td id="LC2502" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2503" class="css-a4x74f"><span>2503</span></td><td id="LC2503" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2504" class="css-a4x74f"><span>2504</span></td><td id="LC2504" class="css-1dcdqdg"><code><span class="code-string"> </div> </span></code></td></tr><tr><td id="L2505" class="css-a4x74f"><span>2505</span></td><td id="LC2505" class="css-1dcdqdg"><code><span class="code-string"></div>`</span>; </code></td></tr><tr><td id="L2506" class="css-a4x74f"><span>2506</span></td><td id="LC2506" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2507" class="css-a4x74f"><span>2507</span></td><td id="LC2507" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L2508" class="css-a4x74f"><span>2508</span></td><td id="LC2508" class="css-1dcdqdg"><code><span class="code-comment"> * Chop up text into flows </span></code></td></tr><tr><td id="L2509" class="css-a4x74f"><span>2509</span></td><td id="LC2509" class="css-1dcdqdg"><code><span class="code-comment"> * @class </span></code></td></tr><tr><td id="L2510" class="css-a4x74f"><span>2510</span></td><td id="LC2510" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2511" class="css-a4x74f"><span>2511</span></td><td id="LC2511" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Chunker</span> </span>{ </code></td></tr><tr><td id="L2512" class="css-a4x74f"><span>2512</span></td><td id="LC2512" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(content, renderTo, options) { </code></td></tr><tr><td id="L2513" class="css-a4x74f"><span>2513</span></td><td id="LC2513" class="css-1dcdqdg"><code> <span class="code-comment">// this.preview = preview;</span> </code></td></tr><tr><td id="L2514" class="css-a4x74f"><span>2514</span></td><td id="LC2514" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2515" class="css-a4x74f"><span>2515</span></td><td id="LC2515" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.settings = options || {}; </code></td></tr><tr><td id="L2516" class="css-a4x74f"><span>2516</span></td><td id="LC2516" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2517" class="css-a4x74f"><span>2517</span></td><td id="LC2517" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = {}; </code></td></tr><tr><td id="L2518" class="css-a4x74f"><span>2518</span></td><td id="LC2518" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeParsed = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2519" class="css-a4x74f"><span>2519</span></td><td id="LC2519" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.filter = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2520" class="css-a4x74f"><span>2520</span></td><td id="LC2520" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterParsed = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2521" class="css-a4x74f"><span>2521</span></td><td id="LC2521" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforePageLayout = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2522" class="css-a4x74f"><span>2522</span></td><td id="LC2522" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.layout = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2523" class="css-a4x74f"><span>2523</span></td><td id="LC2523" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.renderNode = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2524" class="css-a4x74f"><span>2524</span></td><td id="LC2524" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.layoutNode = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2525" class="css-a4x74f"><span>2525</span></td><td id="LC2525" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onOverflow = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2526" class="css-a4x74f"><span>2526</span></td><td id="LC2526" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onBreakToken = <span class="code-keyword">new</span> Hook(); </code></td></tr><tr><td id="L2527" class="css-a4x74f"><span>2527</span></td><td id="LC2527" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterPageLayout = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2528" class="css-a4x74f"><span>2528</span></td><td id="LC2528" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterRendered = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2529" class="css-a4x74f"><span>2529</span></td><td id="LC2529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2530" class="css-a4x74f"><span>2530</span></td><td id="LC2530" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages = []; </code></td></tr><tr><td id="L2531" class="css-a4x74f"><span>2531</span></td><td id="LC2531" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.total = <span class="code-number">0</span>; </code></td></tr><tr><td id="L2532" class="css-a4x74f"><span>2532</span></td><td id="LC2532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2533" class="css-a4x74f"><span>2533</span></td><td id="LC2533" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.q = <span class="code-keyword">new</span> Queue(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2534" class="css-a4x74f"><span>2534</span></td><td id="LC2534" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stopped = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2535" class="css-a4x74f"><span>2535</span></td><td id="LC2535" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rendered = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2536" class="css-a4x74f"><span>2536</span></td><td id="LC2536" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2537" class="css-a4x74f"><span>2537</span></td><td id="LC2537" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.content = content; </code></td></tr><tr><td id="L2538" class="css-a4x74f"><span>2538</span></td><td id="LC2538" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2539" class="css-a4x74f"><span>2539</span></td><td id="LC2539" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.charsPerBreak = []; </code></td></tr><tr><td id="L2540" class="css-a4x74f"><span>2540</span></td><td id="LC2540" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.maxChars; </code></td></tr><tr><td id="L2541" class="css-a4x74f"><span>2541</span></td><td id="LC2541" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2542" class="css-a4x74f"><span>2542</span></td><td id="LC2542" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (content) { </code></td></tr><tr><td id="L2543" class="css-a4x74f"><span>2543</span></td><td id="LC2543" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.flow(content, renderTo); </code></td></tr><tr><td id="L2544" class="css-a4x74f"><span>2544</span></td><td id="LC2544" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2545" class="css-a4x74f"><span>2545</span></td><td id="LC2545" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2546" class="css-a4x74f"><span>2546</span></td><td id="LC2546" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2547" class="css-a4x74f"><span>2547</span></td><td id="LC2547" class="css-1dcdqdg"><code> setup(renderTo) { </code></td></tr><tr><td id="L2548" class="css-a4x74f"><span>2548</span></td><td id="LC2548" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea = <span class="code-built_in">document</span>.createElement(<span class="code-string">"div"</span>); </code></td></tr><tr><td id="L2549" class="css-a4x74f"><span>2549</span></td><td id="LC2549" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea.classList.add(<span class="code-string">"pagedjs_pages"</span>); </code></td></tr><tr><td id="L2550" class="css-a4x74f"><span>2550</span></td><td id="LC2550" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2551" class="css-a4x74f"><span>2551</span></td><td id="LC2551" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (renderTo) { </code></td></tr><tr><td id="L2552" class="css-a4x74f"><span>2552</span></td><td id="LC2552" class="css-1dcdqdg"><code> renderTo.appendChild(<span class="code-keyword">this</span>.pagesArea); </code></td></tr><tr><td id="L2553" class="css-a4x74f"><span>2553</span></td><td id="LC2553" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2554" class="css-a4x74f"><span>2554</span></td><td id="LC2554" class="css-1dcdqdg"><code> <span class="code-built_in">document</span>.querySelector(<span class="code-string">"body"</span>).appendChild(<span class="code-keyword">this</span>.pagesArea); </code></td></tr><tr><td id="L2555" class="css-a4x74f"><span>2555</span></td><td id="LC2555" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2556" class="css-a4x74f"><span>2556</span></td><td id="LC2556" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2557" class="css-a4x74f"><span>2557</span></td><td id="LC2557" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageTemplate = <span class="code-built_in">document</span>.createElement(<span class="code-string">"template"</span>); </code></td></tr><tr><td id="L2558" class="css-a4x74f"><span>2558</span></td><td id="LC2558" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageTemplate.innerHTML = TEMPLATE; </code></td></tr><tr><td id="L2559" class="css-a4x74f"><span>2559</span></td><td id="LC2559" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2560" class="css-a4x74f"><span>2560</span></td><td id="LC2560" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2561" class="css-a4x74f"><span>2561</span></td><td id="LC2561" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2562" class="css-a4x74f"><span>2562</span></td><td id="LC2562" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> flow(content, renderTo) { </code></td></tr><tr><td id="L2563" class="css-a4x74f"><span>2563</span></td><td id="LC2563" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parsed; </code></td></tr><tr><td id="L2564" class="css-a4x74f"><span>2564</span></td><td id="LC2564" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2565" class="css-a4x74f"><span>2565</span></td><td id="LC2565" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforeParsed.trigger(content, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2566" class="css-a4x74f"><span>2566</span></td><td id="LC2566" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2567" class="css-a4x74f"><span>2567</span></td><td id="LC2567" class="css-1dcdqdg"><code> parsed = <span class="code-keyword">new</span> ContentParser(content); </code></td></tr><tr><td id="L2568" class="css-a4x74f"><span>2568</span></td><td id="LC2568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2569" class="css-a4x74f"><span>2569</span></td><td id="LC2569" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.filter.triggerSync(parsed); </code></td></tr><tr><td id="L2570" class="css-a4x74f"><span>2570</span></td><td id="LC2570" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2571" class="css-a4x74f"><span>2571</span></td><td id="LC2571" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.source = parsed; </code></td></tr><tr><td id="L2572" class="css-a4x74f"><span>2572</span></td><td id="LC2572" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breakToken = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L2573" class="css-a4x74f"><span>2573</span></td><td id="LC2573" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2574" class="css-a4x74f"><span>2574</span></td><td id="LC2574" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.pagesArea && <span class="code-keyword">this</span>.pageTemplate) { </code></td></tr><tr><td id="L2575" class="css-a4x74f"><span>2575</span></td><td id="LC2575" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.q.clear(); </code></td></tr><tr><td id="L2576" class="css-a4x74f"><span>2576</span></td><td id="LC2576" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.removePages(); </code></td></tr><tr><td id="L2577" class="css-a4x74f"><span>2577</span></td><td id="LC2577" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2578" class="css-a4x74f"><span>2578</span></td><td id="LC2578" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.setup(renderTo); </code></td></tr><tr><td id="L2579" class="css-a4x74f"><span>2579</span></td><td id="LC2579" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2580" class="css-a4x74f"><span>2580</span></td><td id="LC2580" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2581" class="css-a4x74f"><span>2581</span></td><td id="LC2581" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"rendering"</span>, parsed); </code></td></tr><tr><td id="L2582" class="css-a4x74f"><span>2582</span></td><td id="LC2582" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2583" class="css-a4x74f"><span>2583</span></td><td id="LC2583" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterParsed.trigger(parsed, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2584" class="css-a4x74f"><span>2584</span></td><td id="LC2584" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2585" class="css-a4x74f"><span>2585</span></td><td id="LC2585" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.loadFonts(); </code></td></tr><tr><td id="L2586" class="css-a4x74f"><span>2586</span></td><td id="LC2586" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2587" class="css-a4x74f"><span>2587</span></td><td id="LC2587" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rendered = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.render(parsed, <span class="code-keyword">this</span>.breakToken); </code></td></tr><tr><td id="L2588" class="css-a4x74f"><span>2588</span></td><td id="LC2588" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (rendered.canceled) { </code></td></tr><tr><td id="L2589" class="css-a4x74f"><span>2589</span></td><td id="LC2589" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.start(); </code></td></tr><tr><td id="L2590" class="css-a4x74f"><span>2590</span></td><td id="LC2590" class="css-1dcdqdg"><code> rendered = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.render(parsed, <span class="code-keyword">this</span>.breakToken); </code></td></tr><tr><td id="L2591" class="css-a4x74f"><span>2591</span></td><td id="LC2591" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2592" class="css-a4x74f"><span>2592</span></td><td id="LC2592" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2593" class="css-a4x74f"><span>2593</span></td><td id="LC2593" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rendered = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2594" class="css-a4x74f"><span>2594</span></td><td id="LC2594" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea.style.setProperty(<span class="code-string">"--pagedjs-page-count"</span>, <span class="code-keyword">this</span>.total); </code></td></tr><tr><td id="L2595" class="css-a4x74f"><span>2595</span></td><td id="LC2595" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2596" class="css-a4x74f"><span>2596</span></td><td id="LC2596" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterRendered.trigger(<span class="code-keyword">this</span>.pages, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2597" class="css-a4x74f"><span>2597</span></td><td id="LC2597" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2598" class="css-a4x74f"><span>2598</span></td><td id="LC2598" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"rendered"</span>, <span class="code-keyword">this</span>.pages); </code></td></tr><tr><td id="L2599" class="css-a4x74f"><span>2599</span></td><td id="LC2599" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2600" class="css-a4x74f"><span>2600</span></td><td id="LC2600" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2601" class="css-a4x74f"><span>2601</span></td><td id="LC2601" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2602" class="css-a4x74f"><span>2602</span></td><td id="LC2602" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L2603" class="css-a4x74f"><span>2603</span></td><td id="LC2603" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2604" class="css-a4x74f"><span>2604</span></td><td id="LC2604" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2605" class="css-a4x74f"><span>2605</span></td><td id="LC2605" class="css-1dcdqdg"><code> <span class="code-comment">// oversetPages() {</span> </code></td></tr><tr><td id="L2606" class="css-a4x74f"><span>2606</span></td><td id="LC2606" class="css-1dcdqdg"><code> <span class="code-comment">// let overset = [];</span> </code></td></tr><tr><td id="L2607" class="css-a4x74f"><span>2607</span></td><td id="LC2607" class="css-1dcdqdg"><code> <span class="code-comment">// for (let i = 0; i < this.pages.length; i++) {</span> </code></td></tr><tr><td id="L2608" class="css-a4x74f"><span>2608</span></td><td id="LC2608" class="css-1dcdqdg"><code> <span class="code-comment">// let page = this.pages[i];</span> </code></td></tr><tr><td id="L2609" class="css-a4x74f"><span>2609</span></td><td id="LC2609" class="css-1dcdqdg"><code> <span class="code-comment">// if (page.overset) {</span> </code></td></tr><tr><td id="L2610" class="css-a4x74f"><span>2610</span></td><td id="LC2610" class="css-1dcdqdg"><code> <span class="code-comment">// overset.push(page);</span> </code></td></tr><tr><td id="L2611" class="css-a4x74f"><span>2611</span></td><td id="LC2611" class="css-1dcdqdg"><code> <span class="code-comment">// // page.overset = false;</span> </code></td></tr><tr><td id="L2612" class="css-a4x74f"><span>2612</span></td><td id="LC2612" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2613" class="css-a4x74f"><span>2613</span></td><td id="LC2613" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2614" class="css-a4x74f"><span>2614</span></td><td id="LC2614" class="css-1dcdqdg"><code> <span class="code-comment">// return overset;</span> </code></td></tr><tr><td id="L2615" class="css-a4x74f"><span>2615</span></td><td id="LC2615" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2616" class="css-a4x74f"><span>2616</span></td><td id="LC2616" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2617" class="css-a4x74f"><span>2617</span></td><td id="LC2617" class="css-1dcdqdg"><code> <span class="code-comment">// async handleOverset(parsed) {</span> </code></td></tr><tr><td id="L2618" class="css-a4x74f"><span>2618</span></td><td id="LC2618" class="css-1dcdqdg"><code> <span class="code-comment">// let overset = this.oversetPages();</span> </code></td></tr><tr><td id="L2619" class="css-a4x74f"><span>2619</span></td><td id="LC2619" class="css-1dcdqdg"><code> <span class="code-comment">// if (overset.length) {</span> </code></td></tr><tr><td id="L2620" class="css-a4x74f"><span>2620</span></td><td id="LC2620" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("overset", overset);</span> </code></td></tr><tr><td id="L2621" class="css-a4x74f"><span>2621</span></td><td id="LC2621" class="css-1dcdqdg"><code> <span class="code-comment">// let index = this.pages.indexOf(overset[0]) + 1;</span> </code></td></tr><tr><td id="L2622" class="css-a4x74f"><span>2622</span></td><td id="LC2622" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("INDEX", index);</span> </code></td></tr><tr><td id="L2623" class="css-a4x74f"><span>2623</span></td><td id="LC2623" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2624" class="css-a4x74f"><span>2624</span></td><td id="LC2624" class="css-1dcdqdg"><code> <span class="code-comment">// // Remove pages</span> </code></td></tr><tr><td id="L2625" class="css-a4x74f"><span>2625</span></td><td id="LC2625" class="css-1dcdqdg"><code> <span class="code-comment">// // this.removePages(index);</span> </code></td></tr><tr><td id="L2626" class="css-a4x74f"><span>2626</span></td><td id="LC2626" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2627" class="css-a4x74f"><span>2627</span></td><td id="LC2627" class="css-1dcdqdg"><code> <span class="code-comment">// // await this.render(parsed, overset[0].overset);</span> </code></td></tr><tr><td id="L2628" class="css-a4x74f"><span>2628</span></td><td id="LC2628" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2629" class="css-a4x74f"><span>2629</span></td><td id="LC2629" class="css-1dcdqdg"><code> <span class="code-comment">// // return this.handleOverset(parsed);</span> </code></td></tr><tr><td id="L2630" class="css-a4x74f"><span>2630</span></td><td id="LC2630" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2631" class="css-a4x74f"><span>2631</span></td><td id="LC2631" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L2632" class="css-a4x74f"><span>2632</span></td><td id="LC2632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2633" class="css-a4x74f"><span>2633</span></td><td id="LC2633" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> render(parsed, startAt) { </code></td></tr><tr><td id="L2634" class="css-a4x74f"><span>2634</span></td><td id="LC2634" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> renderer = <span class="code-keyword">this</span>.layout(parsed, startAt, <span class="code-keyword">this</span>.settings); </code></td></tr><tr><td id="L2635" class="css-a4x74f"><span>2635</span></td><td id="LC2635" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2636" class="css-a4x74f"><span>2636</span></td><td id="LC2636" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> done = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2637" class="css-a4x74f"><span>2637</span></td><td id="LC2637" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> result; </code></td></tr><tr><td id="L2638" class="css-a4x74f"><span>2638</span></td><td id="LC2638" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!done) { </code></td></tr><tr><td id="L2639" class="css-a4x74f"><span>2639</span></td><td id="LC2639" class="css-1dcdqdg"><code> result = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.q.enqueue(<span class="code-function"><span class="code-params">()</span> =></span> { <span class="code-keyword">return</span> <span class="code-keyword">this</span>.renderAsync(renderer); }); </code></td></tr><tr><td id="L2640" class="css-a4x74f"><span>2640</span></td><td id="LC2640" class="css-1dcdqdg"><code> done = result.done; </code></td></tr><tr><td id="L2641" class="css-a4x74f"><span>2641</span></td><td id="LC2641" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2642" class="css-a4x74f"><span>2642</span></td><td id="LC2642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2643" class="css-a4x74f"><span>2643</span></td><td id="LC2643" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L2644" class="css-a4x74f"><span>2644</span></td><td id="LC2644" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2645" class="css-a4x74f"><span>2645</span></td><td id="LC2645" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2646" class="css-a4x74f"><span>2646</span></td><td id="LC2646" class="css-1dcdqdg"><code> start() { </code></td></tr><tr><td id="L2647" class="css-a4x74f"><span>2647</span></td><td id="LC2647" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rendered = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2648" class="css-a4x74f"><span>2648</span></td><td id="LC2648" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stopped = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2649" class="css-a4x74f"><span>2649</span></td><td id="LC2649" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2650" class="css-a4x74f"><span>2650</span></td><td id="LC2650" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2651" class="css-a4x74f"><span>2651</span></td><td id="LC2651" class="css-1dcdqdg"><code> stop() { </code></td></tr><tr><td id="L2652" class="css-a4x74f"><span>2652</span></td><td id="LC2652" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stopped = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2653" class="css-a4x74f"><span>2653</span></td><td id="LC2653" class="css-1dcdqdg"><code> <span class="code-comment">// this.q.clear();</span> </code></td></tr><tr><td id="L2654" class="css-a4x74f"><span>2654</span></td><td id="LC2654" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2655" class="css-a4x74f"><span>2655</span></td><td id="LC2655" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2656" class="css-a4x74f"><span>2656</span></td><td id="LC2656" class="css-1dcdqdg"><code> renderOnIdle(renderer) { </code></td></tr><tr><td id="L2657" class="css-a4x74f"><span>2657</span></td><td id="LC2657" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-params">resolve</span> =></span> { </code></td></tr><tr><td id="L2658" class="css-a4x74f"><span>2658</span></td><td id="LC2658" class="css-1dcdqdg"><code> requestIdleCallback(<span class="code-keyword">async</span> () => { </code></td></tr><tr><td id="L2659" class="css-a4x74f"><span>2659</span></td><td id="LC2659" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.stopped) { </code></td></tr><tr><td id="L2660" class="css-a4x74f"><span>2660</span></td><td id="LC2660" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> resolve({ <span class="code-attr">done</span>: <span class="code-literal">true</span>, <span class="code-attr">canceled</span>: <span class="code-literal">true</span> }); </code></td></tr><tr><td id="L2661" class="css-a4x74f"><span>2661</span></td><td id="LC2661" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2662" class="css-a4x74f"><span>2662</span></td><td id="LC2662" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> result = <span class="code-keyword">await</span> renderer.next(); </code></td></tr><tr><td id="L2663" class="css-a4x74f"><span>2663</span></td><td id="LC2663" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.stopped) { </code></td></tr><tr><td id="L2664" class="css-a4x74f"><span>2664</span></td><td id="LC2664" class="css-1dcdqdg"><code> resolve({ <span class="code-attr">done</span>: <span class="code-literal">true</span>, <span class="code-attr">canceled</span>: <span class="code-literal">true</span> }); </code></td></tr><tr><td id="L2665" class="css-a4x74f"><span>2665</span></td><td id="LC2665" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2666" class="css-a4x74f"><span>2666</span></td><td id="LC2666" class="css-1dcdqdg"><code> resolve(result); </code></td></tr><tr><td id="L2667" class="css-a4x74f"><span>2667</span></td><td id="LC2667" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2668" class="css-a4x74f"><span>2668</span></td><td id="LC2668" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2669" class="css-a4x74f"><span>2669</span></td><td id="LC2669" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2670" class="css-a4x74f"><span>2670</span></td><td id="LC2670" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2671" class="css-a4x74f"><span>2671</span></td><td id="LC2671" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2672" class="css-a4x74f"><span>2672</span></td><td id="LC2672" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> renderAsync(renderer) { </code></td></tr><tr><td id="L2673" class="css-a4x74f"><span>2673</span></td><td id="LC2673" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.stopped) { </code></td></tr><tr><td id="L2674" class="css-a4x74f"><span>2674</span></td><td id="LC2674" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { <span class="code-attr">done</span>: <span class="code-literal">true</span>, <span class="code-attr">canceled</span>: <span class="code-literal">true</span> }; </code></td></tr><tr><td id="L2675" class="css-a4x74f"><span>2675</span></td><td id="LC2675" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2676" class="css-a4x74f"><span>2676</span></td><td id="LC2676" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> result = <span class="code-keyword">await</span> renderer.next(); </code></td></tr><tr><td id="L2677" class="css-a4x74f"><span>2677</span></td><td id="LC2677" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.stopped) { </code></td></tr><tr><td id="L2678" class="css-a4x74f"><span>2678</span></td><td id="LC2678" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { <span class="code-attr">done</span>: <span class="code-literal">true</span>, <span class="code-attr">canceled</span>: <span class="code-literal">true</span> }; </code></td></tr><tr><td id="L2679" class="css-a4x74f"><span>2679</span></td><td id="LC2679" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2680" class="css-a4x74f"><span>2680</span></td><td id="LC2680" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L2681" class="css-a4x74f"><span>2681</span></td><td id="LC2681" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2682" class="css-a4x74f"><span>2682</span></td><td id="LC2682" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2683" class="css-a4x74f"><span>2683</span></td><td id="LC2683" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2684" class="css-a4x74f"><span>2684</span></td><td id="LC2684" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> handleBreaks(node) { </code></td></tr><tr><td id="L2685" class="css-a4x74f"><span>2685</span></td><td id="LC2685" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentPage = <span class="code-keyword">this</span>.total + <span class="code-number">1</span>; </code></td></tr><tr><td id="L2686" class="css-a4x74f"><span>2686</span></td><td id="LC2686" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentPosition = currentPage % <span class="code-number">2</span> === <span class="code-number">0</span> ? <span class="code-string">"left"</span> : <span class="code-string">"right"</span>; </code></td></tr><tr><td id="L2687" class="css-a4x74f"><span>2687</span></td><td id="LC2687" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> Recto and Verso should reverse for rtl languages</span> </code></td></tr><tr><td id="L2688" class="css-a4x74f"><span>2688</span></td><td id="LC2688" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> currentSide = currentPage % <span class="code-number">2</span> === <span class="code-number">0</span> ? <span class="code-string">"verso"</span> : <span class="code-string">"recto"</span>; </code></td></tr><tr><td id="L2689" class="css-a4x74f"><span>2689</span></td><td id="LC2689" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> previousBreakAfter; </code></td></tr><tr><td id="L2690" class="css-a4x74f"><span>2690</span></td><td id="LC2690" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakBefore; </code></td></tr><tr><td id="L2691" class="css-a4x74f"><span>2691</span></td><td id="LC2691" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page; </code></td></tr><tr><td id="L2692" class="css-a4x74f"><span>2692</span></td><td id="LC2692" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2693" class="css-a4x74f"><span>2693</span></td><td id="LC2693" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (currentPage === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L2694" class="css-a4x74f"><span>2694</span></td><td id="LC2694" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2695" class="css-a4x74f"><span>2695</span></td><td id="LC2695" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2696" class="css-a4x74f"><span>2696</span></td><td id="LC2696" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2697" class="css-a4x74f"><span>2697</span></td><td id="LC2697" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node && </code></td></tr><tr><td id="L2698" class="css-a4x74f"><span>2698</span></td><td id="LC2698" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L2699" class="css-a4x74f"><span>2699</span></td><td id="LC2699" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset.previousBreakAfter !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L2700" class="css-a4x74f"><span>2700</span></td><td id="LC2700" class="css-1dcdqdg"><code> previousBreakAfter = node.dataset.previousBreakAfter; </code></td></tr><tr><td id="L2701" class="css-a4x74f"><span>2701</span></td><td id="LC2701" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2702" class="css-a4x74f"><span>2702</span></td><td id="LC2702" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2703" class="css-a4x74f"><span>2703</span></td><td id="LC2703" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node && </code></td></tr><tr><td id="L2704" class="css-a4x74f"><span>2704</span></td><td id="LC2704" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset !== <span class="code-string">"undefined"</span> && </code></td></tr><tr><td id="L2705" class="css-a4x74f"><span>2705</span></td><td id="LC2705" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> node.dataset.breakBefore !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L2706" class="css-a4x74f"><span>2706</span></td><td id="LC2706" class="css-1dcdqdg"><code> breakBefore = node.dataset.breakBefore; </code></td></tr><tr><td id="L2707" class="css-a4x74f"><span>2707</span></td><td id="LC2707" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2708" class="css-a4x74f"><span>2708</span></td><td id="LC2708" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2709" class="css-a4x74f"><span>2709</span></td><td id="LC2709" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>( previousBreakAfter && </code></td></tr><tr><td id="L2710" class="css-a4x74f"><span>2710</span></td><td id="LC2710" class="css-1dcdqdg"><code> (previousBreakAfter === <span class="code-string">"left"</span> || previousBreakAfter === <span class="code-string">"right"</span>) && </code></td></tr><tr><td id="L2711" class="css-a4x74f"><span>2711</span></td><td id="LC2711" class="css-1dcdqdg"><code> previousBreakAfter !== currentPosition) { </code></td></tr><tr><td id="L2712" class="css-a4x74f"><span>2712</span></td><td id="LC2712" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.addPage(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L2713" class="css-a4x74f"><span>2713</span></td><td id="LC2713" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span>( previousBreakAfter && </code></td></tr><tr><td id="L2714" class="css-a4x74f"><span>2714</span></td><td id="LC2714" class="css-1dcdqdg"><code> (previousBreakAfter === <span class="code-string">"verso"</span> || previousBreakAfter === <span class="code-string">"recto"</span>) && </code></td></tr><tr><td id="L2715" class="css-a4x74f"><span>2715</span></td><td id="LC2715" class="css-1dcdqdg"><code> previousBreakAfter !== currentSide) { </code></td></tr><tr><td id="L2716" class="css-a4x74f"><span>2716</span></td><td id="LC2716" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.addPage(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L2717" class="css-a4x74f"><span>2717</span></td><td id="LC2717" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span>( breakBefore && </code></td></tr><tr><td id="L2718" class="css-a4x74f"><span>2718</span></td><td id="LC2718" class="css-1dcdqdg"><code> (breakBefore === <span class="code-string">"left"</span> || breakBefore === <span class="code-string">"right"</span>) && </code></td></tr><tr><td id="L2719" class="css-a4x74f"><span>2719</span></td><td id="LC2719" class="css-1dcdqdg"><code> breakBefore !== currentPosition) { </code></td></tr><tr><td id="L2720" class="css-a4x74f"><span>2720</span></td><td id="LC2720" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.addPage(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L2721" class="css-a4x74f"><span>2721</span></td><td id="LC2721" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span>( breakBefore && </code></td></tr><tr><td id="L2722" class="css-a4x74f"><span>2722</span></td><td id="LC2722" class="css-1dcdqdg"><code> (breakBefore === <span class="code-string">"verso"</span> || breakBefore === <span class="code-string">"recto"</span>) && </code></td></tr><tr><td id="L2723" class="css-a4x74f"><span>2723</span></td><td id="LC2723" class="css-1dcdqdg"><code> breakBefore !== currentSide) { </code></td></tr><tr><td id="L2724" class="css-a4x74f"><span>2724</span></td><td id="LC2724" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.addPage(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L2725" class="css-a4x74f"><span>2725</span></td><td id="LC2725" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2726" class="css-a4x74f"><span>2726</span></td><td id="LC2726" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2727" class="css-a4x74f"><span>2727</span></td><td id="LC2727" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page) { </code></td></tr><tr><td id="L2728" class="css-a4x74f"><span>2728</span></td><td id="LC2728" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforePageLayout.trigger(page, <span class="code-literal">undefined</span>, <span class="code-literal">undefined</span>, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2729" class="css-a4x74f"><span>2729</span></td><td id="LC2729" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"page"</span>, page); </code></td></tr><tr><td id="L2730" class="css-a4x74f"><span>2730</span></td><td id="LC2730" class="css-1dcdqdg"><code> <span class="code-comment">// await this.hooks.layout.trigger(page.element, page, undefined, this);</span> </code></td></tr><tr><td id="L2731" class="css-a4x74f"><span>2731</span></td><td id="LC2731" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterPageLayout.trigger(page.element, page, <span class="code-literal">undefined</span>, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2732" class="css-a4x74f"><span>2732</span></td><td id="LC2732" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"renderedPage"</span>, page); </code></td></tr><tr><td id="L2733" class="css-a4x74f"><span>2733</span></td><td id="LC2733" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2734" class="css-a4x74f"><span>2734</span></td><td id="LC2734" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2735" class="css-a4x74f"><span>2735</span></td><td id="LC2735" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2736" class="css-a4x74f"><span>2736</span></td><td id="LC2736" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> *layout(content, startAt) { </code></td></tr><tr><td id="L2737" class="css-a4x74f"><span>2737</span></td><td id="LC2737" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breakToken = startAt || <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2738" class="css-a4x74f"><span>2738</span></td><td id="LC2738" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2739" class="css-a4x74f"><span>2739</span></td><td id="LC2739" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (breakToken !== <span class="code-literal">undefined</span> && ( <span class="code-literal">true</span>)) { </code></td></tr><tr><td id="L2740" class="css-a4x74f"><span>2740</span></td><td id="LC2740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2741" class="css-a4x74f"><span>2741</span></td><td id="LC2741" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (breakToken && breakToken.node) { </code></td></tr><tr><td id="L2742" class="css-a4x74f"><span>2742</span></td><td id="LC2742" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.handleBreaks(breakToken.node); </code></td></tr><tr><td id="L2743" class="css-a4x74f"><span>2743</span></td><td id="LC2743" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2744" class="css-a4x74f"><span>2744</span></td><td id="LC2744" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.handleBreaks(content.firstChild); </code></td></tr><tr><td id="L2745" class="css-a4x74f"><span>2745</span></td><td id="LC2745" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2746" class="css-a4x74f"><span>2746</span></td><td id="LC2746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2747" class="css-a4x74f"><span>2747</span></td><td id="LC2747" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page = <span class="code-keyword">this</span>.addPage(); </code></td></tr><tr><td id="L2748" class="css-a4x74f"><span>2748</span></td><td id="LC2748" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2749" class="css-a4x74f"><span>2749</span></td><td id="LC2749" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforePageLayout.trigger(page, content, breakToken, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2750" class="css-a4x74f"><span>2750</span></td><td id="LC2750" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"page"</span>, page); </code></td></tr><tr><td id="L2751" class="css-a4x74f"><span>2751</span></td><td id="LC2751" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2752" class="css-a4x74f"><span>2752</span></td><td id="LC2752" class="css-1dcdqdg"><code> <span class="code-comment">// Layout content in the page, starting from the breakToken</span> </code></td></tr><tr><td id="L2753" class="css-a4x74f"><span>2753</span></td><td id="LC2753" class="css-1dcdqdg"><code> breakToken = <span class="code-keyword">await</span> page.layout(content, breakToken, <span class="code-keyword">this</span>.maxChars); </code></td></tr><tr><td id="L2754" class="css-a4x74f"><span>2754</span></td><td id="LC2754" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2755" class="css-a4x74f"><span>2755</span></td><td id="LC2755" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterPageLayout.trigger(page.element, page, breakToken, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L2756" class="css-a4x74f"><span>2756</span></td><td id="LC2756" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"renderedPage"</span>, page); </code></td></tr><tr><td id="L2757" class="css-a4x74f"><span>2757</span></td><td id="LC2757" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2758" class="css-a4x74f"><span>2758</span></td><td id="LC2758" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.recoredCharLength(page.wrapper.textContent.length); </code></td></tr><tr><td id="L2759" class="css-a4x74f"><span>2759</span></td><td id="LC2759" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2760" class="css-a4x74f"><span>2760</span></td><td id="LC2760" class="css-1dcdqdg"><code> <span class="code-keyword">yield</span> breakToken; </code></td></tr><tr><td id="L2761" class="css-a4x74f"><span>2761</span></td><td id="LC2761" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2762" class="css-a4x74f"><span>2762</span></td><td id="LC2762" class="css-1dcdqdg"><code> <span class="code-comment">// Stop if we get undefined, showing we have reached the end of the content</span> </code></td></tr><tr><td id="L2763" class="css-a4x74f"><span>2763</span></td><td id="LC2763" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2764" class="css-a4x74f"><span>2764</span></td><td id="LC2764" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2765" class="css-a4x74f"><span>2765</span></td><td id="LC2765" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2766" class="css-a4x74f"><span>2766</span></td><td id="LC2766" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2767" class="css-a4x74f"><span>2767</span></td><td id="LC2767" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2768" class="css-a4x74f"><span>2768</span></td><td id="LC2768" class="css-1dcdqdg"><code> recoredCharLength(length) { </code></td></tr><tr><td id="L2769" class="css-a4x74f"><span>2769</span></td><td id="LC2769" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L2770" class="css-a4x74f"><span>2770</span></td><td id="LC2770" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2771" class="css-a4x74f"><span>2771</span></td><td id="LC2771" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2772" class="css-a4x74f"><span>2772</span></td><td id="LC2772" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2773" class="css-a4x74f"><span>2773</span></td><td id="LC2773" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.charsPerBreak.push(length); </code></td></tr><tr><td id="L2774" class="css-a4x74f"><span>2774</span></td><td id="LC2774" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2775" class="css-a4x74f"><span>2775</span></td><td id="LC2775" class="css-1dcdqdg"><code> <span class="code-comment">// Keep the length of the last few breaks</span> </code></td></tr><tr><td id="L2776" class="css-a4x74f"><span>2776</span></td><td id="LC2776" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.charsPerBreak.length > <span class="code-number">4</span>) { </code></td></tr><tr><td id="L2777" class="css-a4x74f"><span>2777</span></td><td id="LC2777" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.charsPerBreak.shift(); </code></td></tr><tr><td id="L2778" class="css-a4x74f"><span>2778</span></td><td id="LC2778" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2779" class="css-a4x74f"><span>2779</span></td><td id="LC2779" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2780" class="css-a4x74f"><span>2780</span></td><td id="LC2780" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.maxChars = <span class="code-keyword">this</span>.charsPerBreak.reduce(<span class="code-function">(<span class="code-params">a, b</span>) =></span> a + b, <span class="code-number">0</span>) / (<span class="code-keyword">this</span>.charsPerBreak.length); </code></td></tr><tr><td id="L2781" class="css-a4x74f"><span>2781</span></td><td id="LC2781" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2782" class="css-a4x74f"><span>2782</span></td><td id="LC2782" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2783" class="css-a4x74f"><span>2783</span></td><td id="LC2783" class="css-1dcdqdg"><code> removePages(fromIndex=<span class="code-number">0</span>) { </code></td></tr><tr><td id="L2784" class="css-a4x74f"><span>2784</span></td><td id="LC2784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2785" class="css-a4x74f"><span>2785</span></td><td id="LC2785" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fromIndex >= <span class="code-keyword">this</span>.pages.length) { </code></td></tr><tr><td id="L2786" class="css-a4x74f"><span>2786</span></td><td id="LC2786" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2787" class="css-a4x74f"><span>2787</span></td><td id="LC2787" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2788" class="css-a4x74f"><span>2788</span></td><td id="LC2788" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2789" class="css-a4x74f"><span>2789</span></td><td id="LC2789" class="css-1dcdqdg"><code> <span class="code-comment">// Remove pages</span> </code></td></tr><tr><td id="L2790" class="css-a4x74f"><span>2790</span></td><td id="LC2790" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = fromIndex; i < <span class="code-keyword">this</span>.pages.length; i++) { </code></td></tr><tr><td id="L2791" class="css-a4x74f"><span>2791</span></td><td id="LC2791" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages[i].destroy(); </code></td></tr><tr><td id="L2792" class="css-a4x74f"><span>2792</span></td><td id="LC2792" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2793" class="css-a4x74f"><span>2793</span></td><td id="LC2793" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2794" class="css-a4x74f"><span>2794</span></td><td id="LC2794" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fromIndex > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L2795" class="css-a4x74f"><span>2795</span></td><td id="LC2795" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages.splice(fromIndex); </code></td></tr><tr><td id="L2796" class="css-a4x74f"><span>2796</span></td><td id="LC2796" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2797" class="css-a4x74f"><span>2797</span></td><td id="LC2797" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages = []; </code></td></tr><tr><td id="L2798" class="css-a4x74f"><span>2798</span></td><td id="LC2798" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2799" class="css-a4x74f"><span>2799</span></td><td id="LC2799" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2800" class="css-a4x74f"><span>2800</span></td><td id="LC2800" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.total = <span class="code-keyword">this</span>.pages.length; </code></td></tr><tr><td id="L2801" class="css-a4x74f"><span>2801</span></td><td id="LC2801" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2802" class="css-a4x74f"><span>2802</span></td><td id="LC2802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2803" class="css-a4x74f"><span>2803</span></td><td id="LC2803" class="css-1dcdqdg"><code> addPage(blank) { </code></td></tr><tr><td id="L2804" class="css-a4x74f"><span>2804</span></td><td id="LC2804" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> lastPage = <span class="code-keyword">this</span>.pages[<span class="code-keyword">this</span>.pages.length - <span class="code-number">1</span>]; </code></td></tr><tr><td id="L2805" class="css-a4x74f"><span>2805</span></td><td id="LC2805" class="css-1dcdqdg"><code> <span class="code-comment">// Create a new page from the template</span> </code></td></tr><tr><td id="L2806" class="css-a4x74f"><span>2806</span></td><td id="LC2806" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page = <span class="code-keyword">new</span> Page(<span class="code-keyword">this</span>.pagesArea, <span class="code-keyword">this</span>.pageTemplate, blank, <span class="code-keyword">this</span>.hooks); </code></td></tr><tr><td id="L2807" class="css-a4x74f"><span>2807</span></td><td id="LC2807" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2808" class="css-a4x74f"><span>2808</span></td><td id="LC2808" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages.push(page); </code></td></tr><tr><td id="L2809" class="css-a4x74f"><span>2809</span></td><td id="LC2809" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2810" class="css-a4x74f"><span>2810</span></td><td id="LC2810" class="css-1dcdqdg"><code> <span class="code-comment">// Create the pages</span> </code></td></tr><tr><td id="L2811" class="css-a4x74f"><span>2811</span></td><td id="LC2811" class="css-1dcdqdg"><code> page.create(<span class="code-literal">undefined</span>, lastPage && lastPage.element); </code></td></tr><tr><td id="L2812" class="css-a4x74f"><span>2812</span></td><td id="LC2812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2813" class="css-a4x74f"><span>2813</span></td><td id="LC2813" class="css-1dcdqdg"><code> page.index(<span class="code-keyword">this</span>.total); </code></td></tr><tr><td id="L2814" class="css-a4x74f"><span>2814</span></td><td id="LC2814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2815" class="css-a4x74f"><span>2815</span></td><td id="LC2815" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!blank) { </code></td></tr><tr><td id="L2816" class="css-a4x74f"><span>2816</span></td><td id="LC2816" class="css-1dcdqdg"><code> <span class="code-comment">// Listen for page overflow</span> </code></td></tr><tr><td id="L2817" class="css-a4x74f"><span>2817</span></td><td id="LC2817" class="css-1dcdqdg"><code> page.onOverflow(<span class="code-function">(<span class="code-params">overflowToken</span>) =></span> { </code></td></tr><tr><td id="L2818" class="css-a4x74f"><span>2818</span></td><td id="LC2818" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"overflow on"</span>, page.id, overflowToken); </code></td></tr><tr><td id="L2819" class="css-a4x74f"><span>2819</span></td><td id="LC2819" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2820" class="css-a4x74f"><span>2820</span></td><td id="LC2820" class="css-1dcdqdg"><code> <span class="code-comment">// Only reflow while rendering</span> </code></td></tr><tr><td id="L2821" class="css-a4x74f"><span>2821</span></td><td id="LC2821" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.rendered) { </code></td></tr><tr><td id="L2822" class="css-a4x74f"><span>2822</span></td><td id="LC2822" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L2823" class="css-a4x74f"><span>2823</span></td><td id="LC2823" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2824" class="css-a4x74f"><span>2824</span></td><td id="LC2824" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2825" class="css-a4x74f"><span>2825</span></td><td id="LC2825" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> index = <span class="code-keyword">this</span>.pages.indexOf(page) + <span class="code-number">1</span>; </code></td></tr><tr><td id="L2826" class="css-a4x74f"><span>2826</span></td><td id="LC2826" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2827" class="css-a4x74f"><span>2827</span></td><td id="LC2827" class="css-1dcdqdg"><code> <span class="code-comment">// Stop the rendering</span> </code></td></tr><tr><td id="L2828" class="css-a4x74f"><span>2828</span></td><td id="LC2828" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stop(); </code></td></tr><tr><td id="L2829" class="css-a4x74f"><span>2829</span></td><td id="LC2829" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2830" class="css-a4x74f"><span>2830</span></td><td id="LC2830" class="css-1dcdqdg"><code> <span class="code-comment">// Set the breakToken to resume at</span> </code></td></tr><tr><td id="L2831" class="css-a4x74f"><span>2831</span></td><td id="LC2831" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breakToken = overflowToken; </code></td></tr><tr><td id="L2832" class="css-a4x74f"><span>2832</span></td><td id="LC2832" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2833" class="css-a4x74f"><span>2833</span></td><td id="LC2833" class="css-1dcdqdg"><code> <span class="code-comment">// Remove pages</span> </code></td></tr><tr><td id="L2834" class="css-a4x74f"><span>2834</span></td><td id="LC2834" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.removePages(index); </code></td></tr><tr><td id="L2835" class="css-a4x74f"><span>2835</span></td><td id="LC2835" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2836" class="css-a4x74f"><span>2836</span></td><td id="LC2836" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.rendered === <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L2837" class="css-a4x74f"><span>2837</span></td><td id="LC2837" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rendered = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L2838" class="css-a4x74f"><span>2838</span></td><td id="LC2838" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2839" class="css-a4x74f"><span>2839</span></td><td id="LC2839" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.q.enqueue(<span class="code-keyword">async</span> () => { </code></td></tr><tr><td id="L2840" class="css-a4x74f"><span>2840</span></td><td id="LC2840" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2841" class="css-a4x74f"><span>2841</span></td><td id="LC2841" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.start(); </code></td></tr><tr><td id="L2842" class="css-a4x74f"><span>2842</span></td><td id="LC2842" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2843" class="css-a4x74f"><span>2843</span></td><td id="LC2843" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.render(<span class="code-keyword">this</span>.source, <span class="code-keyword">this</span>.breakToken); </code></td></tr><tr><td id="L2844" class="css-a4x74f"><span>2844</span></td><td id="LC2844" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2845" class="css-a4x74f"><span>2845</span></td><td id="LC2845" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rendered = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L2846" class="css-a4x74f"><span>2846</span></td><td id="LC2846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2847" class="css-a4x74f"><span>2847</span></td><td id="LC2847" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2848" class="css-a4x74f"><span>2848</span></td><td id="LC2848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2849" class="css-a4x74f"><span>2849</span></td><td id="LC2849" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2850" class="css-a4x74f"><span>2850</span></td><td id="LC2850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2851" class="css-a4x74f"><span>2851</span></td><td id="LC2851" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2852" class="css-a4x74f"><span>2852</span></td><td id="LC2852" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2853" class="css-a4x74f"><span>2853</span></td><td id="LC2853" class="css-1dcdqdg"><code> page.onUnderflow(<span class="code-function">(<span class="code-params">overflowToken</span>) =></span> { </code></td></tr><tr><td id="L2854" class="css-a4x74f"><span>2854</span></td><td id="LC2854" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("underflow on", page.id, overflowToken);</span> </code></td></tr><tr><td id="L2855" class="css-a4x74f"><span>2855</span></td><td id="LC2855" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2856" class="css-a4x74f"><span>2856</span></td><td id="LC2856" class="css-1dcdqdg"><code> <span class="code-comment">// page.append(this.source, overflowToken);</span> </code></td></tr><tr><td id="L2857" class="css-a4x74f"><span>2857</span></td><td id="LC2857" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2858" class="css-a4x74f"><span>2858</span></td><td id="LC2858" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2859" class="css-a4x74f"><span>2859</span></td><td id="LC2859" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2860" class="css-a4x74f"><span>2860</span></td><td id="LC2860" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2861" class="css-a4x74f"><span>2861</span></td><td id="LC2861" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.total = <span class="code-keyword">this</span>.pages.length; </code></td></tr><tr><td id="L2862" class="css-a4x74f"><span>2862</span></td><td id="LC2862" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2863" class="css-a4x74f"><span>2863</span></td><td id="LC2863" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> page; </code></td></tr><tr><td id="L2864" class="css-a4x74f"><span>2864</span></td><td id="LC2864" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2865" class="css-a4x74f"><span>2865</span></td><td id="LC2865" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L2866" class="css-a4x74f"><span>2866</span></td><td id="LC2866" class="css-1dcdqdg"><code><span class="code-comment"> insertPage(index, blank) { </span></code></td></tr><tr><td id="L2867" class="css-a4x74f"><span>2867</span></td><td id="LC2867" class="css-1dcdqdg"><code><span class="code-comment"> let lastPage = this.pages[index]; </span></code></td></tr><tr><td id="L2868" class="css-a4x74f"><span>2868</span></td><td id="LC2868" class="css-1dcdqdg"><code><span class="code-comment"> // Create a new page from the template </span></code></td></tr><tr><td id="L2869" class="css-a4x74f"><span>2869</span></td><td id="LC2869" class="css-1dcdqdg"><code><span class="code-comment"> let page = new Page(this.pagesArea, this.pageTemplate, blank, this.hooks); </span></code></td></tr><tr><td id="L2870" class="css-a4x74f"><span>2870</span></td><td id="LC2870" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2871" class="css-a4x74f"><span>2871</span></td><td id="LC2871" class="css-1dcdqdg"><code><span class="code-comment"> let total = this.pages.splice(index, 0, page); </span></code></td></tr><tr><td id="L2872" class="css-a4x74f"><span>2872</span></td><td id="LC2872" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2873" class="css-a4x74f"><span>2873</span></td><td id="LC2873" class="css-1dcdqdg"><code><span class="code-comment"> // Create the pages </span></code></td></tr><tr><td id="L2874" class="css-a4x74f"><span>2874</span></td><td id="LC2874" class="css-1dcdqdg"><code><span class="code-comment"> page.create(undefined, lastPage && lastPage.element); </span></code></td></tr><tr><td id="L2875" class="css-a4x74f"><span>2875</span></td><td id="LC2875" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2876" class="css-a4x74f"><span>2876</span></td><td id="LC2876" class="css-1dcdqdg"><code><span class="code-comment"> page.index(index + 1); </span></code></td></tr><tr><td id="L2877" class="css-a4x74f"><span>2877</span></td><td id="LC2877" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2878" class="css-a4x74f"><span>2878</span></td><td id="LC2878" class="css-1dcdqdg"><code><span class="code-comment"> for (let i = index + 2; i < this.pages.length; i++) { </span></code></td></tr><tr><td id="L2879" class="css-a4x74f"><span>2879</span></td><td id="LC2879" class="css-1dcdqdg"><code><span class="code-comment"> this.pages[i].index(i); </span></code></td></tr><tr><td id="L2880" class="css-a4x74f"><span>2880</span></td><td id="LC2880" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L2881" class="css-a4x74f"><span>2881</span></td><td id="LC2881" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2882" class="css-a4x74f"><span>2882</span></td><td id="LC2882" class="css-1dcdqdg"><code><span class="code-comment"> if (!blank) { </span></code></td></tr><tr><td id="L2883" class="css-a4x74f"><span>2883</span></td><td id="LC2883" class="css-1dcdqdg"><code><span class="code-comment"> // Listen for page overflow </span></code></td></tr><tr><td id="L2884" class="css-a4x74f"><span>2884</span></td><td id="LC2884" class="css-1dcdqdg"><code><span class="code-comment"> page.onOverflow((overflowToken) => { </span></code></td></tr><tr><td id="L2885" class="css-a4x74f"><span>2885</span></td><td id="LC2885" class="css-1dcdqdg"><code><span class="code-comment"> if (total < this.pages.length) { </span></code></td></tr><tr><td id="L2886" class="css-a4x74f"><span>2886</span></td><td id="LC2886" class="css-1dcdqdg"><code><span class="code-comment"> this.pages[total].layout(this.source, overflowToken); </span></code></td></tr><tr><td id="L2887" class="css-a4x74f"><span>2887</span></td><td id="LC2887" class="css-1dcdqdg"><code><span class="code-comment"> } else { </span></code></td></tr><tr><td id="L2888" class="css-a4x74f"><span>2888</span></td><td id="LC2888" class="css-1dcdqdg"><code><span class="code-comment"> let newPage = this.addPage(); </span></code></td></tr><tr><td id="L2889" class="css-a4x74f"><span>2889</span></td><td id="LC2889" class="css-1dcdqdg"><code><span class="code-comment"> newPage.layout(this.source, overflowToken); </span></code></td></tr><tr><td id="L2890" class="css-a4x74f"><span>2890</span></td><td id="LC2890" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L2891" class="css-a4x74f"><span>2891</span></td><td id="LC2891" class="css-1dcdqdg"><code><span class="code-comment"> }); </span></code></td></tr><tr><td id="L2892" class="css-a4x74f"><span>2892</span></td><td id="LC2892" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2893" class="css-a4x74f"><span>2893</span></td><td id="LC2893" class="css-1dcdqdg"><code><span class="code-comment"> page.onUnderflow(() => { </span></code></td></tr><tr><td id="L2894" class="css-a4x74f"><span>2894</span></td><td id="LC2894" class="css-1dcdqdg"><code><span class="code-comment"> // console.log("underflow on", page.id); </span></code></td></tr><tr><td id="L2895" class="css-a4x74f"><span>2895</span></td><td id="LC2895" class="css-1dcdqdg"><code><span class="code-comment"> }); </span></code></td></tr><tr><td id="L2896" class="css-a4x74f"><span>2896</span></td><td id="LC2896" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L2897" class="css-a4x74f"><span>2897</span></td><td id="LC2897" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2898" class="css-a4x74f"><span>2898</span></td><td id="LC2898" class="css-1dcdqdg"><code><span class="code-comment"> this.total += 1; </span></code></td></tr><tr><td id="L2899" class="css-a4x74f"><span>2899</span></td><td id="LC2899" class="css-1dcdqdg"><code><span class="code-comment"> </span></code></td></tr><tr><td id="L2900" class="css-a4x74f"><span>2900</span></td><td id="LC2900" class="css-1dcdqdg"><code><span class="code-comment"> return page; </span></code></td></tr><tr><td id="L2901" class="css-a4x74f"><span>2901</span></td><td id="LC2901" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L2902" class="css-a4x74f"><span>2902</span></td><td id="LC2902" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L2903" class="css-a4x74f"><span>2903</span></td><td id="LC2903" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2904" class="css-a4x74f"><span>2904</span></td><td id="LC2904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2905" class="css-a4x74f"><span>2905</span></td><td id="LC2905" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2906" class="css-a4x74f"><span>2906</span></td><td id="LC2906" class="css-1dcdqdg"><code> loadFonts() { </code></td></tr><tr><td id="L2907" class="css-a4x74f"><span>2907</span></td><td id="LC2907" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fontPromises = []; </code></td></tr><tr><td id="L2908" class="css-a4x74f"><span>2908</span></td><td id="LC2908" class="css-1dcdqdg"><code> (<span class="code-built_in">document</span>.fonts || []).forEach(<span class="code-function">(<span class="code-params">fontFace</span>) =></span> { </code></td></tr><tr><td id="L2909" class="css-a4x74f"><span>2909</span></td><td id="LC2909" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fontFace.status !== <span class="code-string">"loaded"</span>) { </code></td></tr><tr><td id="L2910" class="css-a4x74f"><span>2910</span></td><td id="LC2910" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fontLoaded = fontFace.load().then(<span class="code-function">(<span class="code-params">r</span>) =></span> { </code></td></tr><tr><td id="L2911" class="css-a4x74f"><span>2911</span></td><td id="LC2911" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fontFace.family; </code></td></tr><tr><td id="L2912" class="css-a4x74f"><span>2912</span></td><td id="LC2912" class="css-1dcdqdg"><code> }, (r) => { </code></td></tr><tr><td id="L2913" class="css-a4x74f"><span>2913</span></td><td id="LC2913" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"Failed to preload font-family:"</span>, fontFace.family); </code></td></tr><tr><td id="L2914" class="css-a4x74f"><span>2914</span></td><td id="LC2914" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fontFace.family; </code></td></tr><tr><td id="L2915" class="css-a4x74f"><span>2915</span></td><td id="LC2915" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2916" class="css-a4x74f"><span>2916</span></td><td id="LC2916" class="css-1dcdqdg"><code> fontPromises.push(fontLoaded); </code></td></tr><tr><td id="L2917" class="css-a4x74f"><span>2917</span></td><td id="LC2917" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2918" class="css-a4x74f"><span>2918</span></td><td id="LC2918" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2919" class="css-a4x74f"><span>2919</span></td><td id="LC2919" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Promise</span>.all(fontPromises).catch(<span class="code-function">(<span class="code-params">err</span>) =></span> { </code></td></tr><tr><td id="L2920" class="css-a4x74f"><span>2920</span></td><td id="LC2920" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(err); </code></td></tr><tr><td id="L2921" class="css-a4x74f"><span>2921</span></td><td id="LC2921" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L2922" class="css-a4x74f"><span>2922</span></td><td id="LC2922" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2923" class="css-a4x74f"><span>2923</span></td><td id="LC2923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2924" class="css-a4x74f"><span>2924</span></td><td id="LC2924" class="css-1dcdqdg"><code> destroy() { </code></td></tr><tr><td id="L2925" class="css-a4x74f"><span>2925</span></td><td id="LC2925" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pagesArea.remove(); </code></td></tr><tr><td id="L2926" class="css-a4x74f"><span>2926</span></td><td id="LC2926" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageTemplate.remove(); </code></td></tr><tr><td id="L2927" class="css-a4x74f"><span>2927</span></td><td id="LC2927" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2928" class="css-a4x74f"><span>2928</span></td><td id="LC2928" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2929" class="css-a4x74f"><span>2929</span></td><td id="LC2929" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2930" class="css-a4x74f"><span>2930</span></td><td id="LC2930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2931" class="css-a4x74f"><span>2931</span></td><td id="LC2931" class="css-1dcdqdg"><code> eventEmitter(Chunker.prototype); </code></td></tr><tr><td id="L2932" class="css-a4x74f"><span>2932</span></td><td id="LC2932" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2933" class="css-a4x74f"><span>2933</span></td><td id="LC2933" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2934" class="css-a4x74f"><span>2934</span></td><td id="LC2934" class="css-1dcdqdg"><code> <span class="code-comment">// list</span> </code></td></tr><tr><td id="L2935" class="css-a4x74f"><span>2935</span></td><td id="LC2935" class="css-1dcdqdg"><code> <span class="code-comment">// ┌──────┐</span> </code></td></tr><tr><td id="L2936" class="css-a4x74f"><span>2936</span></td><td id="LC2936" class="css-1dcdqdg"><code> <span class="code-comment">// ┌──────────────┼─head │</span> </code></td></tr><tr><td id="L2937" class="css-a4x74f"><span>2937</span></td><td id="LC2937" class="css-1dcdqdg"><code> <span class="code-comment">// │ │ tail─┼──────────────┐</span> </code></td></tr><tr><td id="L2938" class="css-a4x74f"><span>2938</span></td><td id="LC2938" class="css-1dcdqdg"><code> <span class="code-comment">// │ └──────┘ │</span> </code></td></tr><tr><td id="L2939" class="css-a4x74f"><span>2939</span></td><td id="LC2939" class="css-1dcdqdg"><code> <span class="code-comment">// ▼ ▼</span> </code></td></tr><tr><td id="L2940" class="css-a4x74f"><span>2940</span></td><td id="LC2940" class="css-1dcdqdg"><code> <span class="code-comment">// item item item item</span> </code></td></tr><tr><td id="L2941" class="css-a4x74f"><span>2941</span></td><td id="LC2941" class="css-1dcdqdg"><code> <span class="code-comment">// ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐</span> </code></td></tr><tr><td id="L2942" class="css-a4x74f"><span>2942</span></td><td id="LC2942" class="css-1dcdqdg"><code> <span class="code-comment">// null ◀──┼─prev │◀───┼─prev │◀───┼─prev │◀───┼─prev │</span> </code></td></tr><tr><td id="L2943" class="css-a4x74f"><span>2943</span></td><td id="LC2943" class="css-1dcdqdg"><code> <span class="code-comment">// │ next─┼───▶│ next─┼───▶│ next─┼───▶│ next─┼──▶ null</span> </code></td></tr><tr><td id="L2944" class="css-a4x74f"><span>2944</span></td><td id="LC2944" class="css-1dcdqdg"><code> <span class="code-comment">// ├──────┤ ├──────┤ ├──────┤ ├──────┤</span> </code></td></tr><tr><td id="L2945" class="css-a4x74f"><span>2945</span></td><td id="LC2945" class="css-1dcdqdg"><code> <span class="code-comment">// │ data │ │ data │ │ data │ │ data │</span> </code></td></tr><tr><td id="L2946" class="css-a4x74f"><span>2946</span></td><td id="LC2946" class="css-1dcdqdg"><code> <span class="code-comment">// └──────┘ └──────┘ └──────┘ └──────┘</span> </code></td></tr><tr><td id="L2947" class="css-a4x74f"><span>2947</span></td><td id="LC2947" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L2948" class="css-a4x74f"><span>2948</span></td><td id="LC2948" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2949" class="css-a4x74f"><span>2949</span></td><td id="LC2949" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createItem</span>(<span class="code-params">data</span>) </span>{ </code></td></tr><tr><td id="L2950" class="css-a4x74f"><span>2950</span></td><td id="LC2950" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L2951" class="css-a4x74f"><span>2951</span></td><td id="LC2951" class="css-1dcdqdg"><code> prev: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L2952" class="css-a4x74f"><span>2952</span></td><td id="LC2952" class="css-1dcdqdg"><code> next: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L2953" class="css-a4x74f"><span>2953</span></td><td id="LC2953" class="css-1dcdqdg"><code> data: data </code></td></tr><tr><td id="L2954" class="css-a4x74f"><span>2954</span></td><td id="LC2954" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L2955" class="css-a4x74f"><span>2955</span></td><td id="LC2955" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2956" class="css-a4x74f"><span>2956</span></td><td id="LC2956" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2957" class="css-a4x74f"><span>2957</span></td><td id="LC2957" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">allocateCursor</span>(<span class="code-params">node, prev, next</span>) </span>{ </code></td></tr><tr><td id="L2958" class="css-a4x74f"><span>2958</span></td><td id="LC2958" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor; </code></td></tr><tr><td id="L2959" class="css-a4x74f"><span>2959</span></td><td id="LC2959" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2960" class="css-a4x74f"><span>2960</span></td><td id="LC2960" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cursors !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L2961" class="css-a4x74f"><span>2961</span></td><td id="LC2961" class="css-1dcdqdg"><code> cursor = cursors; </code></td></tr><tr><td id="L2962" class="css-a4x74f"><span>2962</span></td><td id="LC2962" class="css-1dcdqdg"><code> cursors = cursors.cursor; </code></td></tr><tr><td id="L2963" class="css-a4x74f"><span>2963</span></td><td id="LC2963" class="css-1dcdqdg"><code> cursor.prev = prev; </code></td></tr><tr><td id="L2964" class="css-a4x74f"><span>2964</span></td><td id="LC2964" class="css-1dcdqdg"><code> cursor.next = next; </code></td></tr><tr><td id="L2965" class="css-a4x74f"><span>2965</span></td><td id="LC2965" class="css-1dcdqdg"><code> cursor.cursor = node.cursor; </code></td></tr><tr><td id="L2966" class="css-a4x74f"><span>2966</span></td><td id="LC2966" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L2967" class="css-a4x74f"><span>2967</span></td><td id="LC2967" class="css-1dcdqdg"><code> cursor = { </code></td></tr><tr><td id="L2968" class="css-a4x74f"><span>2968</span></td><td id="LC2968" class="css-1dcdqdg"><code> prev: prev, </code></td></tr><tr><td id="L2969" class="css-a4x74f"><span>2969</span></td><td id="LC2969" class="css-1dcdqdg"><code> next: next, </code></td></tr><tr><td id="L2970" class="css-a4x74f"><span>2970</span></td><td id="LC2970" class="css-1dcdqdg"><code> cursor: node.cursor </code></td></tr><tr><td id="L2971" class="css-a4x74f"><span>2971</span></td><td id="LC2971" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L2972" class="css-a4x74f"><span>2972</span></td><td id="LC2972" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2973" class="css-a4x74f"><span>2973</span></td><td id="LC2973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2974" class="css-a4x74f"><span>2974</span></td><td id="LC2974" class="css-1dcdqdg"><code> node.cursor = cursor; </code></td></tr><tr><td id="L2975" class="css-a4x74f"><span>2975</span></td><td id="LC2975" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2976" class="css-a4x74f"><span>2976</span></td><td id="LC2976" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cursor; </code></td></tr><tr><td id="L2977" class="css-a4x74f"><span>2977</span></td><td id="LC2977" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2978" class="css-a4x74f"><span>2978</span></td><td id="LC2978" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2979" class="css-a4x74f"><span>2979</span></td><td id="LC2979" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">releaseCursor</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L2980" class="css-a4x74f"><span>2980</span></td><td id="LC2980" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = node.cursor; </code></td></tr><tr><td id="L2981" class="css-a4x74f"><span>2981</span></td><td id="LC2981" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2982" class="css-a4x74f"><span>2982</span></td><td id="LC2982" class="css-1dcdqdg"><code> node.cursor = cursor.cursor; </code></td></tr><tr><td id="L2983" class="css-a4x74f"><span>2983</span></td><td id="LC2983" class="css-1dcdqdg"><code> cursor.prev = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2984" class="css-a4x74f"><span>2984</span></td><td id="LC2984" class="css-1dcdqdg"><code> cursor.next = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2985" class="css-a4x74f"><span>2985</span></td><td id="LC2985" class="css-1dcdqdg"><code> cursor.cursor = cursors; </code></td></tr><tr><td id="L2986" class="css-a4x74f"><span>2986</span></td><td id="LC2986" class="css-1dcdqdg"><code> cursors = cursor; </code></td></tr><tr><td id="L2987" class="css-a4x74f"><span>2987</span></td><td id="LC2987" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L2988" class="css-a4x74f"><span>2988</span></td><td id="LC2988" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2989" class="css-a4x74f"><span>2989</span></td><td id="LC2989" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursors = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2990" class="css-a4x74f"><span>2990</span></td><td id="LC2990" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> List = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L2991" class="css-a4x74f"><span>2991</span></td><td id="LC2991" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.cursor = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2992" class="css-a4x74f"><span>2992</span></td><td id="LC2992" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2993" class="css-a4x74f"><span>2993</span></td><td id="LC2993" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L2994" class="css-a4x74f"><span>2994</span></td><td id="LC2994" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L2995" class="css-a4x74f"><span>2995</span></td><td id="LC2995" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2996" class="css-a4x74f"><span>2996</span></td><td id="LC2996" class="css-1dcdqdg"><code> List.createItem = createItem; </code></td></tr><tr><td id="L2997" class="css-a4x74f"><span>2997</span></td><td id="LC2997" class="css-1dcdqdg"><code> List.prototype.createItem = createItem; </code></td></tr><tr><td id="L2998" class="css-a4x74f"><span>2998</span></td><td id="LC2998" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L2999" class="css-a4x74f"><span>2999</span></td><td id="LC2999" class="css-1dcdqdg"><code> List.prototype.updateCursors = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">prevOld, prevNew, nextOld, nextNew</span>) </span>{ </code></td></tr><tr><td id="L3000" class="css-a4x74f"><span>3000</span></td><td id="LC3000" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.cursor; </code></td></tr><tr><td id="L3001" class="css-a4x74f"><span>3001</span></td><td id="LC3001" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3002" class="css-a4x74f"><span>3002</span></td><td id="LC3002" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3003" class="css-a4x74f"><span>3003</span></td><td id="LC3003" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cursor.prev === prevOld) { </code></td></tr><tr><td id="L3004" class="css-a4x74f"><span>3004</span></td><td id="LC3004" class="css-1dcdqdg"><code> cursor.prev = prevNew; </code></td></tr><tr><td id="L3005" class="css-a4x74f"><span>3005</span></td><td id="LC3005" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3006" class="css-a4x74f"><span>3006</span></td><td id="LC3006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3007" class="css-a4x74f"><span>3007</span></td><td id="LC3007" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cursor.next === nextOld) { </code></td></tr><tr><td id="L3008" class="css-a4x74f"><span>3008</span></td><td id="LC3008" class="css-1dcdqdg"><code> cursor.next = nextNew; </code></td></tr><tr><td id="L3009" class="css-a4x74f"><span>3009</span></td><td id="LC3009" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3010" class="css-a4x74f"><span>3010</span></td><td id="LC3010" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3011" class="css-a4x74f"><span>3011</span></td><td id="LC3011" class="css-1dcdqdg"><code> cursor = cursor.cursor; </code></td></tr><tr><td id="L3012" class="css-a4x74f"><span>3012</span></td><td id="LC3012" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3013" class="css-a4x74f"><span>3013</span></td><td id="LC3013" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3014" class="css-a4x74f"><span>3014</span></td><td id="LC3014" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3015" class="css-a4x74f"><span>3015</span></td><td id="LC3015" class="css-1dcdqdg"><code> List.prototype.getSize = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3016" class="css-a4x74f"><span>3016</span></td><td id="LC3016" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> size = <span class="code-number">0</span>; </code></td></tr><tr><td id="L3017" class="css-a4x74f"><span>3017</span></td><td id="LC3017" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3018" class="css-a4x74f"><span>3018</span></td><td id="LC3018" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3019" class="css-a4x74f"><span>3019</span></td><td id="LC3019" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor) { </code></td></tr><tr><td id="L3020" class="css-a4x74f"><span>3020</span></td><td id="LC3020" class="css-1dcdqdg"><code> size++; </code></td></tr><tr><td id="L3021" class="css-a4x74f"><span>3021</span></td><td id="LC3021" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3022" class="css-a4x74f"><span>3022</span></td><td id="LC3022" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3023" class="css-a4x74f"><span>3023</span></td><td id="LC3023" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3024" class="css-a4x74f"><span>3024</span></td><td id="LC3024" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> size; </code></td></tr><tr><td id="L3025" class="css-a4x74f"><span>3025</span></td><td id="LC3025" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3026" class="css-a4x74f"><span>3026</span></td><td id="LC3026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3027" class="css-a4x74f"><span>3027</span></td><td id="LC3027" class="css-1dcdqdg"><code> List.prototype.fromArray = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">array</span>) </span>{ </code></td></tr><tr><td id="L3028" class="css-a4x74f"><span>3028</span></td><td id="LC3028" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3029" class="css-a4x74f"><span>3029</span></td><td id="LC3029" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3030" class="css-a4x74f"><span>3030</span></td><td id="LC3030" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3031" class="css-a4x74f"><span>3031</span></td><td id="LC3031" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3032" class="css-a4x74f"><span>3032</span></td><td id="LC3032" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < array.length; i++) { </code></td></tr><tr><td id="L3033" class="css-a4x74f"><span>3033</span></td><td id="LC3033" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item = createItem(array[i]); </code></td></tr><tr><td id="L3034" class="css-a4x74f"><span>3034</span></td><td id="LC3034" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3035" class="css-a4x74f"><span>3035</span></td><td id="LC3035" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3036" class="css-a4x74f"><span>3036</span></td><td id="LC3036" class="css-1dcdqdg"><code> cursor.next = item; </code></td></tr><tr><td id="L3037" class="css-a4x74f"><span>3037</span></td><td id="LC3037" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3038" class="css-a4x74f"><span>3038</span></td><td id="LC3038" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = item; </code></td></tr><tr><td id="L3039" class="css-a4x74f"><span>3039</span></td><td id="LC3039" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3040" class="css-a4x74f"><span>3040</span></td><td id="LC3040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3041" class="css-a4x74f"><span>3041</span></td><td id="LC3041" class="css-1dcdqdg"><code> item.prev = cursor; </code></td></tr><tr><td id="L3042" class="css-a4x74f"><span>3042</span></td><td id="LC3042" class="css-1dcdqdg"><code> cursor = item; </code></td></tr><tr><td id="L3043" class="css-a4x74f"><span>3043</span></td><td id="LC3043" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3044" class="css-a4x74f"><span>3044</span></td><td id="LC3044" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3045" class="css-a4x74f"><span>3045</span></td><td id="LC3045" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = cursor; </code></td></tr><tr><td id="L3046" class="css-a4x74f"><span>3046</span></td><td id="LC3046" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3047" class="css-a4x74f"><span>3047</span></td><td id="LC3047" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3048" class="css-a4x74f"><span>3048</span></td><td id="LC3048" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3049" class="css-a4x74f"><span>3049</span></td><td id="LC3049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3050" class="css-a4x74f"><span>3050</span></td><td id="LC3050" class="css-1dcdqdg"><code> List.prototype.toArray = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3051" class="css-a4x74f"><span>3051</span></td><td id="LC3051" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3052" class="css-a4x74f"><span>3052</span></td><td id="LC3052" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = []; </code></td></tr><tr><td id="L3053" class="css-a4x74f"><span>3053</span></td><td id="LC3053" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3054" class="css-a4x74f"><span>3054</span></td><td id="LC3054" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor) { </code></td></tr><tr><td id="L3055" class="css-a4x74f"><span>3055</span></td><td id="LC3055" class="css-1dcdqdg"><code> result.push(cursor.data); </code></td></tr><tr><td id="L3056" class="css-a4x74f"><span>3056</span></td><td id="LC3056" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3057" class="css-a4x74f"><span>3057</span></td><td id="LC3057" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3058" class="css-a4x74f"><span>3058</span></td><td id="LC3058" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3059" class="css-a4x74f"><span>3059</span></td><td id="LC3059" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L3060" class="css-a4x74f"><span>3060</span></td><td id="LC3060" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3061" class="css-a4x74f"><span>3061</span></td><td id="LC3061" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3062" class="css-a4x74f"><span>3062</span></td><td id="LC3062" class="css-1dcdqdg"><code> List.prototype.toJSON = List.prototype.toArray; </code></td></tr><tr><td id="L3063" class="css-a4x74f"><span>3063</span></td><td id="LC3063" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3064" class="css-a4x74f"><span>3064</span></td><td id="LC3064" class="css-1dcdqdg"><code> List.prototype.isEmpty = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3065" class="css-a4x74f"><span>3065</span></td><td id="LC3065" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.head === <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3066" class="css-a4x74f"><span>3066</span></td><td id="LC3066" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3067" class="css-a4x74f"><span>3067</span></td><td id="LC3067" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3068" class="css-a4x74f"><span>3068</span></td><td id="LC3068" class="css-1dcdqdg"><code> List.prototype.first = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3069" class="css-a4x74f"><span>3069</span></td><td id="LC3069" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.head && <span class="code-keyword">this</span>.head.data; </code></td></tr><tr><td id="L3070" class="css-a4x74f"><span>3070</span></td><td id="LC3070" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3071" class="css-a4x74f"><span>3071</span></td><td id="LC3071" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3072" class="css-a4x74f"><span>3072</span></td><td id="LC3072" class="css-1dcdqdg"><code> List.prototype.last = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3073" class="css-a4x74f"><span>3073</span></td><td id="LC3073" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.tail && <span class="code-keyword">this</span>.tail.data; </code></td></tr><tr><td id="L3074" class="css-a4x74f"><span>3074</span></td><td id="LC3074" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3075" class="css-a4x74f"><span>3075</span></td><td id="LC3075" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3076" class="css-a4x74f"><span>3076</span></td><td id="LC3076" class="css-1dcdqdg"><code> List.prototype.each = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">fn, context</span>) </span>{ </code></td></tr><tr><td id="L3077" class="css-a4x74f"><span>3077</span></td><td id="LC3077" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item; </code></td></tr><tr><td id="L3078" class="css-a4x74f"><span>3078</span></td><td id="LC3078" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3079" class="css-a4x74f"><span>3079</span></td><td id="LC3079" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3080" class="css-a4x74f"><span>3080</span></td><td id="LC3080" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3081" class="css-a4x74f"><span>3081</span></td><td id="LC3081" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3082" class="css-a4x74f"><span>3082</span></td><td id="LC3082" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3083" class="css-a4x74f"><span>3083</span></td><td id="LC3083" class="css-1dcdqdg"><code> <span class="code-comment">// push cursor</span> </code></td></tr><tr><td id="L3084" class="css-a4x74f"><span>3084</span></td><td id="LC3084" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = allocateCursor(<span class="code-keyword">this</span>, <span class="code-literal">null</span>, <span class="code-keyword">this</span>.head); </code></td></tr><tr><td id="L3085" class="css-a4x74f"><span>3085</span></td><td id="LC3085" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3086" class="css-a4x74f"><span>3086</span></td><td id="LC3086" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor.next !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3087" class="css-a4x74f"><span>3087</span></td><td id="LC3087" class="css-1dcdqdg"><code> item = cursor.next; </code></td></tr><tr><td id="L3088" class="css-a4x74f"><span>3088</span></td><td id="LC3088" class="css-1dcdqdg"><code> cursor.next = item.next; </code></td></tr><tr><td id="L3089" class="css-a4x74f"><span>3089</span></td><td id="LC3089" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3090" class="css-a4x74f"><span>3090</span></td><td id="LC3090" class="css-1dcdqdg"><code> fn.call(context, item.data, item, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3091" class="css-a4x74f"><span>3091</span></td><td id="LC3091" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3092" class="css-a4x74f"><span>3092</span></td><td id="LC3092" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3093" class="css-a4x74f"><span>3093</span></td><td id="LC3093" class="css-1dcdqdg"><code> <span class="code-comment">// pop cursor</span> </code></td></tr><tr><td id="L3094" class="css-a4x74f"><span>3094</span></td><td id="LC3094" class="css-1dcdqdg"><code> releaseCursor(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3095" class="css-a4x74f"><span>3095</span></td><td id="LC3095" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3096" class="css-a4x74f"><span>3096</span></td><td id="LC3096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3097" class="css-a4x74f"><span>3097</span></td><td id="LC3097" class="css-1dcdqdg"><code> List.prototype.forEach = List.prototype.each; </code></td></tr><tr><td id="L3098" class="css-a4x74f"><span>3098</span></td><td id="LC3098" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3099" class="css-a4x74f"><span>3099</span></td><td id="LC3099" class="css-1dcdqdg"><code> List.prototype.eachRight = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">fn, context</span>) </span>{ </code></td></tr><tr><td id="L3100" class="css-a4x74f"><span>3100</span></td><td id="LC3100" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item; </code></td></tr><tr><td id="L3101" class="css-a4x74f"><span>3101</span></td><td id="LC3101" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3102" class="css-a4x74f"><span>3102</span></td><td id="LC3102" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3103" class="css-a4x74f"><span>3103</span></td><td id="LC3103" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3104" class="css-a4x74f"><span>3104</span></td><td id="LC3104" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3105" class="css-a4x74f"><span>3105</span></td><td id="LC3105" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3106" class="css-a4x74f"><span>3106</span></td><td id="LC3106" class="css-1dcdqdg"><code> <span class="code-comment">// push cursor</span> </code></td></tr><tr><td id="L3107" class="css-a4x74f"><span>3107</span></td><td id="LC3107" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = allocateCursor(<span class="code-keyword">this</span>, <span class="code-keyword">this</span>.tail, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L3108" class="css-a4x74f"><span>3108</span></td><td id="LC3108" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3109" class="css-a4x74f"><span>3109</span></td><td id="LC3109" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor.prev !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3110" class="css-a4x74f"><span>3110</span></td><td id="LC3110" class="css-1dcdqdg"><code> item = cursor.prev; </code></td></tr><tr><td id="L3111" class="css-a4x74f"><span>3111</span></td><td id="LC3111" class="css-1dcdqdg"><code> cursor.prev = item.prev; </code></td></tr><tr><td id="L3112" class="css-a4x74f"><span>3112</span></td><td id="LC3112" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3113" class="css-a4x74f"><span>3113</span></td><td id="LC3113" class="css-1dcdqdg"><code> fn.call(context, item.data, item, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3114" class="css-a4x74f"><span>3114</span></td><td id="LC3114" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3115" class="css-a4x74f"><span>3115</span></td><td id="LC3115" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3116" class="css-a4x74f"><span>3116</span></td><td id="LC3116" class="css-1dcdqdg"><code> <span class="code-comment">// pop cursor</span> </code></td></tr><tr><td id="L3117" class="css-a4x74f"><span>3117</span></td><td id="LC3117" class="css-1dcdqdg"><code> releaseCursor(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3118" class="css-a4x74f"><span>3118</span></td><td id="LC3118" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3119" class="css-a4x74f"><span>3119</span></td><td id="LC3119" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3120" class="css-a4x74f"><span>3120</span></td><td id="LC3120" class="css-1dcdqdg"><code> List.prototype.forEachRight = List.prototype.eachRight; </code></td></tr><tr><td id="L3121" class="css-a4x74f"><span>3121</span></td><td id="LC3121" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3122" class="css-a4x74f"><span>3122</span></td><td id="LC3122" class="css-1dcdqdg"><code> List.prototype.nextUntil = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">start, fn, context</span>) </span>{ </code></td></tr><tr><td id="L3123" class="css-a4x74f"><span>3123</span></td><td id="LC3123" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (start === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3124" class="css-a4x74f"><span>3124</span></td><td id="LC3124" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L3125" class="css-a4x74f"><span>3125</span></td><td id="LC3125" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3126" class="css-a4x74f"><span>3126</span></td><td id="LC3126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3127" class="css-a4x74f"><span>3127</span></td><td id="LC3127" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item; </code></td></tr><tr><td id="L3128" class="css-a4x74f"><span>3128</span></td><td id="LC3128" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3129" class="css-a4x74f"><span>3129</span></td><td id="LC3129" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3130" class="css-a4x74f"><span>3130</span></td><td id="LC3130" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3131" class="css-a4x74f"><span>3131</span></td><td id="LC3131" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3132" class="css-a4x74f"><span>3132</span></td><td id="LC3132" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3133" class="css-a4x74f"><span>3133</span></td><td id="LC3133" class="css-1dcdqdg"><code> <span class="code-comment">// push cursor</span> </code></td></tr><tr><td id="L3134" class="css-a4x74f"><span>3134</span></td><td id="LC3134" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = allocateCursor(<span class="code-keyword">this</span>, <span class="code-literal">null</span>, start); </code></td></tr><tr><td id="L3135" class="css-a4x74f"><span>3135</span></td><td id="LC3135" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3136" class="css-a4x74f"><span>3136</span></td><td id="LC3136" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor.next !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3137" class="css-a4x74f"><span>3137</span></td><td id="LC3137" class="css-1dcdqdg"><code> item = cursor.next; </code></td></tr><tr><td id="L3138" class="css-a4x74f"><span>3138</span></td><td id="LC3138" class="css-1dcdqdg"><code> cursor.next = item.next; </code></td></tr><tr><td id="L3139" class="css-a4x74f"><span>3139</span></td><td id="LC3139" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3140" class="css-a4x74f"><span>3140</span></td><td id="LC3140" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fn.call(context, item.data, item, <span class="code-keyword">this</span>)) { </code></td></tr><tr><td id="L3141" class="css-a4x74f"><span>3141</span></td><td id="LC3141" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3142" class="css-a4x74f"><span>3142</span></td><td id="LC3142" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3143" class="css-a4x74f"><span>3143</span></td><td id="LC3143" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3144" class="css-a4x74f"><span>3144</span></td><td id="LC3144" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3145" class="css-a4x74f"><span>3145</span></td><td id="LC3145" class="css-1dcdqdg"><code> <span class="code-comment">// pop cursor</span> </code></td></tr><tr><td id="L3146" class="css-a4x74f"><span>3146</span></td><td id="LC3146" class="css-1dcdqdg"><code> releaseCursor(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3147" class="css-a4x74f"><span>3147</span></td><td id="LC3147" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3148" class="css-a4x74f"><span>3148</span></td><td id="LC3148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3149" class="css-a4x74f"><span>3149</span></td><td id="LC3149" class="css-1dcdqdg"><code> List.prototype.prevUntil = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">start, fn, context</span>) </span>{ </code></td></tr><tr><td id="L3150" class="css-a4x74f"><span>3150</span></td><td id="LC3150" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (start === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3151" class="css-a4x74f"><span>3151</span></td><td id="LC3151" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L3152" class="css-a4x74f"><span>3152</span></td><td id="LC3152" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3153" class="css-a4x74f"><span>3153</span></td><td id="LC3153" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3154" class="css-a4x74f"><span>3154</span></td><td id="LC3154" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item; </code></td></tr><tr><td id="L3155" class="css-a4x74f"><span>3155</span></td><td id="LC3155" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3156" class="css-a4x74f"><span>3156</span></td><td id="LC3156" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3157" class="css-a4x74f"><span>3157</span></td><td id="LC3157" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3158" class="css-a4x74f"><span>3158</span></td><td id="LC3158" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3159" class="css-a4x74f"><span>3159</span></td><td id="LC3159" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3160" class="css-a4x74f"><span>3160</span></td><td id="LC3160" class="css-1dcdqdg"><code> <span class="code-comment">// push cursor</span> </code></td></tr><tr><td id="L3161" class="css-a4x74f"><span>3161</span></td><td id="LC3161" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = allocateCursor(<span class="code-keyword">this</span>, start, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L3162" class="css-a4x74f"><span>3162</span></td><td id="LC3162" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3163" class="css-a4x74f"><span>3163</span></td><td id="LC3163" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor.prev !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3164" class="css-a4x74f"><span>3164</span></td><td id="LC3164" class="css-1dcdqdg"><code> item = cursor.prev; </code></td></tr><tr><td id="L3165" class="css-a4x74f"><span>3165</span></td><td id="LC3165" class="css-1dcdqdg"><code> cursor.prev = item.prev; </code></td></tr><tr><td id="L3166" class="css-a4x74f"><span>3166</span></td><td id="LC3166" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3167" class="css-a4x74f"><span>3167</span></td><td id="LC3167" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fn.call(context, item.data, item, <span class="code-keyword">this</span>)) { </code></td></tr><tr><td id="L3168" class="css-a4x74f"><span>3168</span></td><td id="LC3168" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3169" class="css-a4x74f"><span>3169</span></td><td id="LC3169" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3170" class="css-a4x74f"><span>3170</span></td><td id="LC3170" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3171" class="css-a4x74f"><span>3171</span></td><td id="LC3171" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3172" class="css-a4x74f"><span>3172</span></td><td id="LC3172" class="css-1dcdqdg"><code> <span class="code-comment">// pop cursor</span> </code></td></tr><tr><td id="L3173" class="css-a4x74f"><span>3173</span></td><td id="LC3173" class="css-1dcdqdg"><code> releaseCursor(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L3174" class="css-a4x74f"><span>3174</span></td><td id="LC3174" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3175" class="css-a4x74f"><span>3175</span></td><td id="LC3175" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3176" class="css-a4x74f"><span>3176</span></td><td id="LC3176" class="css-1dcdqdg"><code> List.prototype.some = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">fn, context</span>) </span>{ </code></td></tr><tr><td id="L3177" class="css-a4x74f"><span>3177</span></td><td id="LC3177" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3178" class="css-a4x74f"><span>3178</span></td><td id="LC3178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3179" class="css-a4x74f"><span>3179</span></td><td id="LC3179" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3180" class="css-a4x74f"><span>3180</span></td><td id="LC3180" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3181" class="css-a4x74f"><span>3181</span></td><td id="LC3181" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3182" class="css-a4x74f"><span>3182</span></td><td id="LC3182" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3183" class="css-a4x74f"><span>3183</span></td><td id="LC3183" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3184" class="css-a4x74f"><span>3184</span></td><td id="LC3184" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fn.call(context, cursor.data, cursor, <span class="code-keyword">this</span>)) { </code></td></tr><tr><td id="L3185" class="css-a4x74f"><span>3185</span></td><td id="LC3185" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L3186" class="css-a4x74f"><span>3186</span></td><td id="LC3186" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3187" class="css-a4x74f"><span>3187</span></td><td id="LC3187" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3188" class="css-a4x74f"><span>3188</span></td><td id="LC3188" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3189" class="css-a4x74f"><span>3189</span></td><td id="LC3189" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3190" class="css-a4x74f"><span>3190</span></td><td id="LC3190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3191" class="css-a4x74f"><span>3191</span></td><td id="LC3191" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3192" class="css-a4x74f"><span>3192</span></td><td id="LC3192" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3193" class="css-a4x74f"><span>3193</span></td><td id="LC3193" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3194" class="css-a4x74f"><span>3194</span></td><td id="LC3194" class="css-1dcdqdg"><code> List.prototype.map = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">fn, context</span>) </span>{ </code></td></tr><tr><td id="L3195" class="css-a4x74f"><span>3195</span></td><td id="LC3195" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-keyword">new</span> List(); </code></td></tr><tr><td id="L3196" class="css-a4x74f"><span>3196</span></td><td id="LC3196" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3197" class="css-a4x74f"><span>3197</span></td><td id="LC3197" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3198" class="css-a4x74f"><span>3198</span></td><td id="LC3198" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3199" class="css-a4x74f"><span>3199</span></td><td id="LC3199" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3200" class="css-a4x74f"><span>3200</span></td><td id="LC3200" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3201" class="css-a4x74f"><span>3201</span></td><td id="LC3201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3202" class="css-a4x74f"><span>3202</span></td><td id="LC3202" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3203" class="css-a4x74f"><span>3203</span></td><td id="LC3203" class="css-1dcdqdg"><code> result.appendData(fn.call(context, cursor.data, cursor, <span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L3204" class="css-a4x74f"><span>3204</span></td><td id="LC3204" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3205" class="css-a4x74f"><span>3205</span></td><td id="LC3205" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3206" class="css-a4x74f"><span>3206</span></td><td id="LC3206" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3207" class="css-a4x74f"><span>3207</span></td><td id="LC3207" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L3208" class="css-a4x74f"><span>3208</span></td><td id="LC3208" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3209" class="css-a4x74f"><span>3209</span></td><td id="LC3209" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3210" class="css-a4x74f"><span>3210</span></td><td id="LC3210" class="css-1dcdqdg"><code> List.prototype.filter = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">fn, context</span>) </span>{ </code></td></tr><tr><td id="L3211" class="css-a4x74f"><span>3211</span></td><td id="LC3211" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-keyword">new</span> List(); </code></td></tr><tr><td id="L3212" class="css-a4x74f"><span>3212</span></td><td id="LC3212" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3213" class="css-a4x74f"><span>3213</span></td><td id="LC3213" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3214" class="css-a4x74f"><span>3214</span></td><td id="LC3214" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L3215" class="css-a4x74f"><span>3215</span></td><td id="LC3215" class="css-1dcdqdg"><code> context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3216" class="css-a4x74f"><span>3216</span></td><td id="LC3216" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3217" class="css-a4x74f"><span>3217</span></td><td id="LC3217" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3218" class="css-a4x74f"><span>3218</span></td><td id="LC3218" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3219" class="css-a4x74f"><span>3219</span></td><td id="LC3219" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fn.call(context, cursor.data, cursor, <span class="code-keyword">this</span>)) { </code></td></tr><tr><td id="L3220" class="css-a4x74f"><span>3220</span></td><td id="LC3220" class="css-1dcdqdg"><code> result.appendData(cursor.data); </code></td></tr><tr><td id="L3221" class="css-a4x74f"><span>3221</span></td><td id="LC3221" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3222" class="css-a4x74f"><span>3222</span></td><td id="LC3222" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3223" class="css-a4x74f"><span>3223</span></td><td id="LC3223" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3224" class="css-a4x74f"><span>3224</span></td><td id="LC3224" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3225" class="css-a4x74f"><span>3225</span></td><td id="LC3225" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L3226" class="css-a4x74f"><span>3226</span></td><td id="LC3226" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3227" class="css-a4x74f"><span>3227</span></td><td id="LC3227" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3228" class="css-a4x74f"><span>3228</span></td><td id="LC3228" class="css-1dcdqdg"><code> List.prototype.clear = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3229" class="css-a4x74f"><span>3229</span></td><td id="LC3229" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3230" class="css-a4x74f"><span>3230</span></td><td id="LC3230" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3231" class="css-a4x74f"><span>3231</span></td><td id="LC3231" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3232" class="css-a4x74f"><span>3232</span></td><td id="LC3232" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3233" class="css-a4x74f"><span>3233</span></td><td id="LC3233" class="css-1dcdqdg"><code> List.prototype.copy = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3234" class="css-a4x74f"><span>3234</span></td><td id="LC3234" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-keyword">new</span> List(); </code></td></tr><tr><td id="L3235" class="css-a4x74f"><span>3235</span></td><td id="LC3235" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3236" class="css-a4x74f"><span>3236</span></td><td id="LC3236" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3237" class="css-a4x74f"><span>3237</span></td><td id="LC3237" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (cursor !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3238" class="css-a4x74f"><span>3238</span></td><td id="LC3238" class="css-1dcdqdg"><code> result.insert(createItem(cursor.data)); </code></td></tr><tr><td id="L3239" class="css-a4x74f"><span>3239</span></td><td id="LC3239" class="css-1dcdqdg"><code> cursor = cursor.next; </code></td></tr><tr><td id="L3240" class="css-a4x74f"><span>3240</span></td><td id="LC3240" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3241" class="css-a4x74f"><span>3241</span></td><td id="LC3241" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3242" class="css-a4x74f"><span>3242</span></td><td id="LC3242" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L3243" class="css-a4x74f"><span>3243</span></td><td id="LC3243" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3244" class="css-a4x74f"><span>3244</span></td><td id="LC3244" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3245" class="css-a4x74f"><span>3245</span></td><td id="LC3245" class="css-1dcdqdg"><code> List.prototype.prepend = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">item</span>) </span>{ </code></td></tr><tr><td id="L3246" class="css-a4x74f"><span>3246</span></td><td id="LC3246" class="css-1dcdqdg"><code> <span class="code-comment">// head</span> </code></td></tr><tr><td id="L3247" class="css-a4x74f"><span>3247</span></td><td id="LC3247" class="css-1dcdqdg"><code> <span class="code-comment">// ^</span> </code></td></tr><tr><td id="L3248" class="css-a4x74f"><span>3248</span></td><td id="LC3248" class="css-1dcdqdg"><code> <span class="code-comment">// item</span> </code></td></tr><tr><td id="L3249" class="css-a4x74f"><span>3249</span></td><td id="LC3249" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(<span class="code-literal">null</span>, item, <span class="code-keyword">this</span>.head, item); </code></td></tr><tr><td id="L3250" class="css-a4x74f"><span>3250</span></td><td id="LC3250" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3251" class="css-a4x74f"><span>3251</span></td><td id="LC3251" class="css-1dcdqdg"><code> <span class="code-comment">// insert to the beginning of the list</span> </code></td></tr><tr><td id="L3252" class="css-a4x74f"><span>3252</span></td><td id="LC3252" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.head !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3253" class="css-a4x74f"><span>3253</span></td><td id="LC3253" class="css-1dcdqdg"><code> <span class="code-comment">// new item <- first item</span> </code></td></tr><tr><td id="L3254" class="css-a4x74f"><span>3254</span></td><td id="LC3254" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head.prev = item; </code></td></tr><tr><td id="L3255" class="css-a4x74f"><span>3255</span></td><td id="LC3255" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3256" class="css-a4x74f"><span>3256</span></td><td id="LC3256" class="css-1dcdqdg"><code> <span class="code-comment">// new item -> first item</span> </code></td></tr><tr><td id="L3257" class="css-a4x74f"><span>3257</span></td><td id="LC3257" class="css-1dcdqdg"><code> item.next = <span class="code-keyword">this</span>.head; </code></td></tr><tr><td id="L3258" class="css-a4x74f"><span>3258</span></td><td id="LC3258" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3259" class="css-a4x74f"><span>3259</span></td><td id="LC3259" class="css-1dcdqdg"><code> <span class="code-comment">// if list has no head, then it also has no tail</span> </code></td></tr><tr><td id="L3260" class="css-a4x74f"><span>3260</span></td><td id="LC3260" class="css-1dcdqdg"><code> <span class="code-comment">// in this case tail points to the new item</span> </code></td></tr><tr><td id="L3261" class="css-a4x74f"><span>3261</span></td><td id="LC3261" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = item; </code></td></tr><tr><td id="L3262" class="css-a4x74f"><span>3262</span></td><td id="LC3262" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3263" class="css-a4x74f"><span>3263</span></td><td id="LC3263" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3264" class="css-a4x74f"><span>3264</span></td><td id="LC3264" class="css-1dcdqdg"><code> <span class="code-comment">// head always points to new item</span> </code></td></tr><tr><td id="L3265" class="css-a4x74f"><span>3265</span></td><td id="LC3265" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = item; </code></td></tr><tr><td id="L3266" class="css-a4x74f"><span>3266</span></td><td id="LC3266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3267" class="css-a4x74f"><span>3267</span></td><td id="LC3267" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3268" class="css-a4x74f"><span>3268</span></td><td id="LC3268" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3269" class="css-a4x74f"><span>3269</span></td><td id="LC3269" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3270" class="css-a4x74f"><span>3270</span></td><td id="LC3270" class="css-1dcdqdg"><code> List.prototype.prependData = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">data</span>) </span>{ </code></td></tr><tr><td id="L3271" class="css-a4x74f"><span>3271</span></td><td id="LC3271" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.prepend(createItem(data)); </code></td></tr><tr><td id="L3272" class="css-a4x74f"><span>3272</span></td><td id="LC3272" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3273" class="css-a4x74f"><span>3273</span></td><td id="LC3273" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3274" class="css-a4x74f"><span>3274</span></td><td id="LC3274" class="css-1dcdqdg"><code> List.prototype.append = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">item</span>) </span>{ </code></td></tr><tr><td id="L3275" class="css-a4x74f"><span>3275</span></td><td id="LC3275" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.insert(item); </code></td></tr><tr><td id="L3276" class="css-a4x74f"><span>3276</span></td><td id="LC3276" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3277" class="css-a4x74f"><span>3277</span></td><td id="LC3277" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3278" class="css-a4x74f"><span>3278</span></td><td id="LC3278" class="css-1dcdqdg"><code> List.prototype.appendData = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">data</span>) </span>{ </code></td></tr><tr><td id="L3279" class="css-a4x74f"><span>3279</span></td><td id="LC3279" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.insert(createItem(data)); </code></td></tr><tr><td id="L3280" class="css-a4x74f"><span>3280</span></td><td id="LC3280" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3281" class="css-a4x74f"><span>3281</span></td><td id="LC3281" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3282" class="css-a4x74f"><span>3282</span></td><td id="LC3282" class="css-1dcdqdg"><code> List.prototype.insert = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">item, before</span>) </span>{ </code></td></tr><tr><td id="L3283" class="css-a4x74f"><span>3283</span></td><td id="LC3283" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before !== <span class="code-literal">undefined</span> && before !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3284" class="css-a4x74f"><span>3284</span></td><td id="LC3284" class="css-1dcdqdg"><code> <span class="code-comment">// prev before</span> </code></td></tr><tr><td id="L3285" class="css-a4x74f"><span>3285</span></td><td id="LC3285" class="css-1dcdqdg"><code> <span class="code-comment">// ^</span> </code></td></tr><tr><td id="L3286" class="css-a4x74f"><span>3286</span></td><td id="LC3286" class="css-1dcdqdg"><code> <span class="code-comment">// item</span> </code></td></tr><tr><td id="L3287" class="css-a4x74f"><span>3287</span></td><td id="LC3287" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(before.prev, item, before, item); </code></td></tr><tr><td id="L3288" class="css-a4x74f"><span>3288</span></td><td id="LC3288" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3289" class="css-a4x74f"><span>3289</span></td><td id="LC3289" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before.prev === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3290" class="css-a4x74f"><span>3290</span></td><td id="LC3290" class="css-1dcdqdg"><code> <span class="code-comment">// insert to the beginning of list</span> </code></td></tr><tr><td id="L3291" class="css-a4x74f"><span>3291</span></td><td id="LC3291" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.head !== before) { </code></td></tr><tr><td id="L3292" class="css-a4x74f"><span>3292</span></td><td id="LC3292" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'before doesn\'t belong to list'</span>); </code></td></tr><tr><td id="L3293" class="css-a4x74f"><span>3293</span></td><td id="LC3293" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3294" class="css-a4x74f"><span>3294</span></td><td id="LC3294" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3295" class="css-a4x74f"><span>3295</span></td><td id="LC3295" class="css-1dcdqdg"><code> <span class="code-comment">// since head points to before therefore list doesn't empty</span> </code></td></tr><tr><td id="L3296" class="css-a4x74f"><span>3296</span></td><td id="LC3296" class="css-1dcdqdg"><code> <span class="code-comment">// no need to check tail</span> </code></td></tr><tr><td id="L3297" class="css-a4x74f"><span>3297</span></td><td id="LC3297" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = item; </code></td></tr><tr><td id="L3298" class="css-a4x74f"><span>3298</span></td><td id="LC3298" class="css-1dcdqdg"><code> before.prev = item; </code></td></tr><tr><td id="L3299" class="css-a4x74f"><span>3299</span></td><td id="LC3299" class="css-1dcdqdg"><code> item.next = before; </code></td></tr><tr><td id="L3300" class="css-a4x74f"><span>3300</span></td><td id="LC3300" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3301" class="css-a4x74f"><span>3301</span></td><td id="LC3301" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(<span class="code-literal">null</span>, item); </code></td></tr><tr><td id="L3302" class="css-a4x74f"><span>3302</span></td><td id="LC3302" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3303" class="css-a4x74f"><span>3303</span></td><td id="LC3303" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3304" class="css-a4x74f"><span>3304</span></td><td id="LC3304" class="css-1dcdqdg"><code> <span class="code-comment">// insert between two items</span> </code></td></tr><tr><td id="L3305" class="css-a4x74f"><span>3305</span></td><td id="LC3305" class="css-1dcdqdg"><code> before.prev.next = item; </code></td></tr><tr><td id="L3306" class="css-a4x74f"><span>3306</span></td><td id="LC3306" class="css-1dcdqdg"><code> item.prev = before.prev; </code></td></tr><tr><td id="L3307" class="css-a4x74f"><span>3307</span></td><td id="LC3307" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3308" class="css-a4x74f"><span>3308</span></td><td id="LC3308" class="css-1dcdqdg"><code> before.prev = item; </code></td></tr><tr><td id="L3309" class="css-a4x74f"><span>3309</span></td><td id="LC3309" class="css-1dcdqdg"><code> item.next = before; </code></td></tr><tr><td id="L3310" class="css-a4x74f"><span>3310</span></td><td id="LC3310" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3311" class="css-a4x74f"><span>3311</span></td><td id="LC3311" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3312" class="css-a4x74f"><span>3312</span></td><td id="LC3312" class="css-1dcdqdg"><code> <span class="code-comment">// tail</span> </code></td></tr><tr><td id="L3313" class="css-a4x74f"><span>3313</span></td><td id="LC3313" class="css-1dcdqdg"><code> <span class="code-comment">// ^</span> </code></td></tr><tr><td id="L3314" class="css-a4x74f"><span>3314</span></td><td id="LC3314" class="css-1dcdqdg"><code> <span class="code-comment">// item</span> </code></td></tr><tr><td id="L3315" class="css-a4x74f"><span>3315</span></td><td id="LC3315" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(<span class="code-keyword">this</span>.tail, item, <span class="code-literal">null</span>, item); </code></td></tr><tr><td id="L3316" class="css-a4x74f"><span>3316</span></td><td id="LC3316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3317" class="css-a4x74f"><span>3317</span></td><td id="LC3317" class="css-1dcdqdg"><code> <span class="code-comment">// insert to the ending of the list</span> </code></td></tr><tr><td id="L3318" class="css-a4x74f"><span>3318</span></td><td id="LC3318" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.tail !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3319" class="css-a4x74f"><span>3319</span></td><td id="LC3319" class="css-1dcdqdg"><code> <span class="code-comment">// last item -> new item</span> </code></td></tr><tr><td id="L3320" class="css-a4x74f"><span>3320</span></td><td id="LC3320" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail.next = item; </code></td></tr><tr><td id="L3321" class="css-a4x74f"><span>3321</span></td><td id="LC3321" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3322" class="css-a4x74f"><span>3322</span></td><td id="LC3322" class="css-1dcdqdg"><code> <span class="code-comment">// last item <- new item</span> </code></td></tr><tr><td id="L3323" class="css-a4x74f"><span>3323</span></td><td id="LC3323" class="css-1dcdqdg"><code> item.prev = <span class="code-keyword">this</span>.tail; </code></td></tr><tr><td id="L3324" class="css-a4x74f"><span>3324</span></td><td id="LC3324" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3325" class="css-a4x74f"><span>3325</span></td><td id="LC3325" class="css-1dcdqdg"><code> <span class="code-comment">// if list has no tail, then it also has no head</span> </code></td></tr><tr><td id="L3326" class="css-a4x74f"><span>3326</span></td><td id="LC3326" class="css-1dcdqdg"><code> <span class="code-comment">// in this case head points to new item</span> </code></td></tr><tr><td id="L3327" class="css-a4x74f"><span>3327</span></td><td id="LC3327" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = item; </code></td></tr><tr><td id="L3328" class="css-a4x74f"><span>3328</span></td><td id="LC3328" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3329" class="css-a4x74f"><span>3329</span></td><td id="LC3329" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3330" class="css-a4x74f"><span>3330</span></td><td id="LC3330" class="css-1dcdqdg"><code> <span class="code-comment">// tail always points to new item</span> </code></td></tr><tr><td id="L3331" class="css-a4x74f"><span>3331</span></td><td id="LC3331" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = item; </code></td></tr><tr><td id="L3332" class="css-a4x74f"><span>3332</span></td><td id="LC3332" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3333" class="css-a4x74f"><span>3333</span></td><td id="LC3333" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3334" class="css-a4x74f"><span>3334</span></td><td id="LC3334" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3335" class="css-a4x74f"><span>3335</span></td><td id="LC3335" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3336" class="css-a4x74f"><span>3336</span></td><td id="LC3336" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3337" class="css-a4x74f"><span>3337</span></td><td id="LC3337" class="css-1dcdqdg"><code> List.prototype.insertData = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">data, before</span>) </span>{ </code></td></tr><tr><td id="L3338" class="css-a4x74f"><span>3338</span></td><td id="LC3338" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.insert(createItem(data), before); </code></td></tr><tr><td id="L3339" class="css-a4x74f"><span>3339</span></td><td id="LC3339" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3340" class="css-a4x74f"><span>3340</span></td><td id="LC3340" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3341" class="css-a4x74f"><span>3341</span></td><td id="LC3341" class="css-1dcdqdg"><code> List.prototype.remove = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">item</span>) </span>{ </code></td></tr><tr><td id="L3342" class="css-a4x74f"><span>3342</span></td><td id="LC3342" class="css-1dcdqdg"><code> <span class="code-comment">// item</span> </code></td></tr><tr><td id="L3343" class="css-a4x74f"><span>3343</span></td><td id="LC3343" class="css-1dcdqdg"><code> <span class="code-comment">// ^</span> </code></td></tr><tr><td id="L3344" class="css-a4x74f"><span>3344</span></td><td id="LC3344" class="css-1dcdqdg"><code> <span class="code-comment">// prev next</span> </code></td></tr><tr><td id="L3345" class="css-a4x74f"><span>3345</span></td><td id="LC3345" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(item, item.prev, item, item.next); </code></td></tr><tr><td id="L3346" class="css-a4x74f"><span>3346</span></td><td id="LC3346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3347" class="css-a4x74f"><span>3347</span></td><td id="LC3347" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (item.prev !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3348" class="css-a4x74f"><span>3348</span></td><td id="LC3348" class="css-1dcdqdg"><code> item.prev.next = item.next; </code></td></tr><tr><td id="L3349" class="css-a4x74f"><span>3349</span></td><td id="LC3349" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3350" class="css-a4x74f"><span>3350</span></td><td id="LC3350" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.head !== item) { </code></td></tr><tr><td id="L3351" class="css-a4x74f"><span>3351</span></td><td id="LC3351" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'item doesn\'t belong to list'</span>); </code></td></tr><tr><td id="L3352" class="css-a4x74f"><span>3352</span></td><td id="LC3352" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3353" class="css-a4x74f"><span>3353</span></td><td id="LC3353" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3354" class="css-a4x74f"><span>3354</span></td><td id="LC3354" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = item.next; </code></td></tr><tr><td id="L3355" class="css-a4x74f"><span>3355</span></td><td id="LC3355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3356" class="css-a4x74f"><span>3356</span></td><td id="LC3356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3357" class="css-a4x74f"><span>3357</span></td><td id="LC3357" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (item.next !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3358" class="css-a4x74f"><span>3358</span></td><td id="LC3358" class="css-1dcdqdg"><code> item.next.prev = item.prev; </code></td></tr><tr><td id="L3359" class="css-a4x74f"><span>3359</span></td><td id="LC3359" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3360" class="css-a4x74f"><span>3360</span></td><td id="LC3360" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.tail !== item) { </code></td></tr><tr><td id="L3361" class="css-a4x74f"><span>3361</span></td><td id="LC3361" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'item doesn\'t belong to list'</span>); </code></td></tr><tr><td id="L3362" class="css-a4x74f"><span>3362</span></td><td id="LC3362" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3363" class="css-a4x74f"><span>3363</span></td><td id="LC3363" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3364" class="css-a4x74f"><span>3364</span></td><td id="LC3364" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = item.prev; </code></td></tr><tr><td id="L3365" class="css-a4x74f"><span>3365</span></td><td id="LC3365" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3366" class="css-a4x74f"><span>3366</span></td><td id="LC3366" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3367" class="css-a4x74f"><span>3367</span></td><td id="LC3367" class="css-1dcdqdg"><code> item.prev = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3368" class="css-a4x74f"><span>3368</span></td><td id="LC3368" class="css-1dcdqdg"><code> item.next = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3369" class="css-a4x74f"><span>3369</span></td><td id="LC3369" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3370" class="css-a4x74f"><span>3370</span></td><td id="LC3370" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> item; </code></td></tr><tr><td id="L3371" class="css-a4x74f"><span>3371</span></td><td id="LC3371" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3372" class="css-a4x74f"><span>3372</span></td><td id="LC3372" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3373" class="css-a4x74f"><span>3373</span></td><td id="LC3373" class="css-1dcdqdg"><code> List.prototype.push = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">data</span>) </span>{ </code></td></tr><tr><td id="L3374" class="css-a4x74f"><span>3374</span></td><td id="LC3374" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insert(createItem(data)); </code></td></tr><tr><td id="L3375" class="css-a4x74f"><span>3375</span></td><td id="LC3375" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3376" class="css-a4x74f"><span>3376</span></td><td id="LC3376" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3377" class="css-a4x74f"><span>3377</span></td><td id="LC3377" class="css-1dcdqdg"><code> List.prototype.pop = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3378" class="css-a4x74f"><span>3378</span></td><td id="LC3378" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.tail !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3379" class="css-a4x74f"><span>3379</span></td><td id="LC3379" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.remove(<span class="code-keyword">this</span>.tail); </code></td></tr><tr><td id="L3380" class="css-a4x74f"><span>3380</span></td><td id="LC3380" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3381" class="css-a4x74f"><span>3381</span></td><td id="LC3381" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3382" class="css-a4x74f"><span>3382</span></td><td id="LC3382" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3383" class="css-a4x74f"><span>3383</span></td><td id="LC3383" class="css-1dcdqdg"><code> List.prototype.unshift = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">data</span>) </span>{ </code></td></tr><tr><td id="L3384" class="css-a4x74f"><span>3384</span></td><td id="LC3384" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.prepend(createItem(data)); </code></td></tr><tr><td id="L3385" class="css-a4x74f"><span>3385</span></td><td id="LC3385" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3386" class="css-a4x74f"><span>3386</span></td><td id="LC3386" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3387" class="css-a4x74f"><span>3387</span></td><td id="LC3387" class="css-1dcdqdg"><code> List.prototype.shift = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L3388" class="css-a4x74f"><span>3388</span></td><td id="LC3388" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.head !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3389" class="css-a4x74f"><span>3389</span></td><td id="LC3389" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.remove(<span class="code-keyword">this</span>.head); </code></td></tr><tr><td id="L3390" class="css-a4x74f"><span>3390</span></td><td id="LC3390" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3391" class="css-a4x74f"><span>3391</span></td><td id="LC3391" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3392" class="css-a4x74f"><span>3392</span></td><td id="LC3392" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3393" class="css-a4x74f"><span>3393</span></td><td id="LC3393" class="css-1dcdqdg"><code> List.prototype.prependList = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L3394" class="css-a4x74f"><span>3394</span></td><td id="LC3394" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.insertList(list, <span class="code-keyword">this</span>.head); </code></td></tr><tr><td id="L3395" class="css-a4x74f"><span>3395</span></td><td id="LC3395" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3396" class="css-a4x74f"><span>3396</span></td><td id="LC3396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3397" class="css-a4x74f"><span>3397</span></td><td id="LC3397" class="css-1dcdqdg"><code> List.prototype.appendList = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L3398" class="css-a4x74f"><span>3398</span></td><td id="LC3398" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.insertList(list); </code></td></tr><tr><td id="L3399" class="css-a4x74f"><span>3399</span></td><td id="LC3399" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3400" class="css-a4x74f"><span>3400</span></td><td id="LC3400" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3401" class="css-a4x74f"><span>3401</span></td><td id="LC3401" class="css-1dcdqdg"><code> List.prototype.insertList = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list, before</span>) </span>{ </code></td></tr><tr><td id="L3402" class="css-a4x74f"><span>3402</span></td><td id="LC3402" class="css-1dcdqdg"><code> <span class="code-comment">// ignore empty lists</span> </code></td></tr><tr><td id="L3403" class="css-a4x74f"><span>3403</span></td><td id="LC3403" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (list.head === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3404" class="css-a4x74f"><span>3404</span></td><td id="LC3404" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3405" class="css-a4x74f"><span>3405</span></td><td id="LC3405" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3406" class="css-a4x74f"><span>3406</span></td><td id="LC3406" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3407" class="css-a4x74f"><span>3407</span></td><td id="LC3407" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before !== <span class="code-literal">undefined</span> && before !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3408" class="css-a4x74f"><span>3408</span></td><td id="LC3408" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(before.prev, list.tail, before, list.head); </code></td></tr><tr><td id="L3409" class="css-a4x74f"><span>3409</span></td><td id="LC3409" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3410" class="css-a4x74f"><span>3410</span></td><td id="LC3410" class="css-1dcdqdg"><code> <span class="code-comment">// insert in the middle of dist list</span> </code></td></tr><tr><td id="L3411" class="css-a4x74f"><span>3411</span></td><td id="LC3411" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before.prev !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3412" class="css-a4x74f"><span>3412</span></td><td id="LC3412" class="css-1dcdqdg"><code> <span class="code-comment">// before.prev <-> list.head</span> </code></td></tr><tr><td id="L3413" class="css-a4x74f"><span>3413</span></td><td id="LC3413" class="css-1dcdqdg"><code> before.prev.next = list.head; </code></td></tr><tr><td id="L3414" class="css-a4x74f"><span>3414</span></td><td id="LC3414" class="css-1dcdqdg"><code> list.head.prev = before.prev; </code></td></tr><tr><td id="L3415" class="css-a4x74f"><span>3415</span></td><td id="LC3415" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3416" class="css-a4x74f"><span>3416</span></td><td id="LC3416" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = list.head; </code></td></tr><tr><td id="L3417" class="css-a4x74f"><span>3417</span></td><td id="LC3417" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3418" class="css-a4x74f"><span>3418</span></td><td id="LC3418" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3419" class="css-a4x74f"><span>3419</span></td><td id="LC3419" class="css-1dcdqdg"><code> before.prev = list.tail; </code></td></tr><tr><td id="L3420" class="css-a4x74f"><span>3420</span></td><td id="LC3420" class="css-1dcdqdg"><code> list.tail.next = before; </code></td></tr><tr><td id="L3421" class="css-a4x74f"><span>3421</span></td><td id="LC3421" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3422" class="css-a4x74f"><span>3422</span></td><td id="LC3422" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.updateCursors(<span class="code-keyword">this</span>.tail, list.tail, <span class="code-literal">null</span>, list.head); </code></td></tr><tr><td id="L3423" class="css-a4x74f"><span>3423</span></td><td id="LC3423" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3424" class="css-a4x74f"><span>3424</span></td><td id="LC3424" class="css-1dcdqdg"><code> <span class="code-comment">// insert to end of the list</span> </code></td></tr><tr><td id="L3425" class="css-a4x74f"><span>3425</span></td><td id="LC3425" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.tail !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L3426" class="css-a4x74f"><span>3426</span></td><td id="LC3426" class="css-1dcdqdg"><code> <span class="code-comment">// if destination list has a tail, then it also has a head,</span> </code></td></tr><tr><td id="L3427" class="css-a4x74f"><span>3427</span></td><td id="LC3427" class="css-1dcdqdg"><code> <span class="code-comment">// but head doesn't change</span> </code></td></tr><tr><td id="L3428" class="css-a4x74f"><span>3428</span></td><td id="LC3428" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3429" class="css-a4x74f"><span>3429</span></td><td id="LC3429" class="css-1dcdqdg"><code> <span class="code-comment">// dest tail -> source head</span> </code></td></tr><tr><td id="L3430" class="css-a4x74f"><span>3430</span></td><td id="LC3430" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail.next = list.head; </code></td></tr><tr><td id="L3431" class="css-a4x74f"><span>3431</span></td><td id="LC3431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3432" class="css-a4x74f"><span>3432</span></td><td id="LC3432" class="css-1dcdqdg"><code> <span class="code-comment">// dest tail <- source head</span> </code></td></tr><tr><td id="L3433" class="css-a4x74f"><span>3433</span></td><td id="LC3433" class="css-1dcdqdg"><code> list.head.prev = <span class="code-keyword">this</span>.tail; </code></td></tr><tr><td id="L3434" class="css-a4x74f"><span>3434</span></td><td id="LC3434" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3435" class="css-a4x74f"><span>3435</span></td><td id="LC3435" class="css-1dcdqdg"><code> <span class="code-comment">// if list has no a tail, then it also has no a head</span> </code></td></tr><tr><td id="L3436" class="css-a4x74f"><span>3436</span></td><td id="LC3436" class="css-1dcdqdg"><code> <span class="code-comment">// in this case points head to new item</span> </code></td></tr><tr><td id="L3437" class="css-a4x74f"><span>3437</span></td><td id="LC3437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.head = list.head; </code></td></tr><tr><td id="L3438" class="css-a4x74f"><span>3438</span></td><td id="LC3438" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3439" class="css-a4x74f"><span>3439</span></td><td id="LC3439" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3440" class="css-a4x74f"><span>3440</span></td><td id="LC3440" class="css-1dcdqdg"><code> <span class="code-comment">// tail always start point to new item</span> </code></td></tr><tr><td id="L3441" class="css-a4x74f"><span>3441</span></td><td id="LC3441" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tail = list.tail; </code></td></tr><tr><td id="L3442" class="css-a4x74f"><span>3442</span></td><td id="LC3442" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3443" class="css-a4x74f"><span>3443</span></td><td id="LC3443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3444" class="css-a4x74f"><span>3444</span></td><td id="LC3444" class="css-1dcdqdg"><code> list.head = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3445" class="css-a4x74f"><span>3445</span></td><td id="LC3445" class="css-1dcdqdg"><code> list.tail = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L3446" class="css-a4x74f"><span>3446</span></td><td id="LC3446" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3447" class="css-a4x74f"><span>3447</span></td><td id="LC3447" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L3448" class="css-a4x74f"><span>3448</span></td><td id="LC3448" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3449" class="css-a4x74f"><span>3449</span></td><td id="LC3449" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3450" class="css-a4x74f"><span>3450</span></td><td id="LC3450" class="css-1dcdqdg"><code> List.prototype.replace = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">oldItem, newItemOrList</span>) </span>{ </code></td></tr><tr><td id="L3451" class="css-a4x74f"><span>3451</span></td><td id="LC3451" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">'head'</span> <span class="code-keyword">in</span> newItemOrList) { </code></td></tr><tr><td id="L3452" class="css-a4x74f"><span>3452</span></td><td id="LC3452" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insertList(newItemOrList, oldItem); </code></td></tr><tr><td id="L3453" class="css-a4x74f"><span>3453</span></td><td id="LC3453" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L3454" class="css-a4x74f"><span>3454</span></td><td id="LC3454" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insert(newItemOrList, oldItem); </code></td></tr><tr><td id="L3455" class="css-a4x74f"><span>3455</span></td><td id="LC3455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3456" class="css-a4x74f"><span>3456</span></td><td id="LC3456" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3457" class="css-a4x74f"><span>3457</span></td><td id="LC3457" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.remove(oldItem); </code></td></tr><tr><td id="L3458" class="css-a4x74f"><span>3458</span></td><td id="LC3458" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3459" class="css-a4x74f"><span>3459</span></td><td id="LC3459" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3460" class="css-a4x74f"><span>3460</span></td><td id="LC3460" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> List_1 = List; </code></td></tr><tr><td id="L3461" class="css-a4x74f"><span>3461</span></td><td id="LC3461" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3462" class="css-a4x74f"><span>3462</span></td><td id="LC3462" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> createCustomError = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createCustomError</span>(<span class="code-params">name, message</span>) </span>{ </code></td></tr><tr><td id="L3463" class="css-a4x74f"><span>3463</span></td><td id="LC3463" class="css-1dcdqdg"><code> <span class="code-comment">// use Object.create(), because some VMs prevent setting line/column otherwise</span> </code></td></tr><tr><td id="L3464" class="css-a4x74f"><span>3464</span></td><td id="LC3464" class="css-1dcdqdg"><code> <span class="code-comment">// (iOS Safari 10 even throws an exception)</span> </code></td></tr><tr><td id="L3465" class="css-a4x74f"><span>3465</span></td><td id="LC3465" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = <span class="code-built_in">Object</span>.create(<span class="code-built_in">SyntaxError</span>.prototype); </code></td></tr><tr><td id="L3466" class="css-a4x74f"><span>3466</span></td><td id="LC3466" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> errorStack = <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(); </code></td></tr><tr><td id="L3467" class="css-a4x74f"><span>3467</span></td><td id="LC3467" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3468" class="css-a4x74f"><span>3468</span></td><td id="LC3468" class="css-1dcdqdg"><code> error.name = name; </code></td></tr><tr><td id="L3469" class="css-a4x74f"><span>3469</span></td><td id="LC3469" class="css-1dcdqdg"><code> error.message = message; </code></td></tr><tr><td id="L3470" class="css-a4x74f"><span>3470</span></td><td id="LC3470" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3471" class="css-a4x74f"><span>3471</span></td><td id="LC3471" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(error, <span class="code-string">'stack'</span>, { </code></td></tr><tr><td id="L3472" class="css-a4x74f"><span>3472</span></td><td id="LC3472" class="css-1dcdqdg"><code> <span class="code-keyword">get</span>: function() { </code></td></tr><tr><td id="L3473" class="css-a4x74f"><span>3473</span></td><td id="LC3473" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (errorStack.stack || <span class="code-string">''</span>).replace(<span class="code-regexp">/^(.+\n){1,3}/</span>, name + <span class="code-string">': '</span> + message + <span class="code-string">'\n'</span>); </code></td></tr><tr><td id="L3474" class="css-a4x74f"><span>3474</span></td><td id="LC3474" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3475" class="css-a4x74f"><span>3475</span></td><td id="LC3475" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L3476" class="css-a4x74f"><span>3476</span></td><td id="LC3476" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3477" class="css-a4x74f"><span>3477</span></td><td id="LC3477" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> error; </code></td></tr><tr><td id="L3478" class="css-a4x74f"><span>3478</span></td><td id="LC3478" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3479" class="css-a4x74f"><span>3479</span></td><td id="LC3479" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3480" class="css-a4x74f"><span>3480</span></td><td id="LC3480" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MAX_LINE_LENGTH = <span class="code-number">100</span>; </code></td></tr><tr><td id="L3481" class="css-a4x74f"><span>3481</span></td><td id="LC3481" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OFFSET_CORRECTION = <span class="code-number">60</span>; </code></td></tr><tr><td id="L3482" class="css-a4x74f"><span>3482</span></td><td id="LC3482" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TAB_REPLACEMENT = <span class="code-string">' '</span>; </code></td></tr><tr><td id="L3483" class="css-a4x74f"><span>3483</span></td><td id="LC3483" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3484" class="css-a4x74f"><span>3484</span></td><td id="LC3484" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">sourceFragment</span>(<span class="code-params">error, extraLines</span>) </span>{ </code></td></tr><tr><td id="L3485" class="css-a4x74f"><span>3485</span></td><td id="LC3485" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">processLines</span>(<span class="code-params">start, end</span>) </span>{ </code></td></tr><tr><td id="L3486" class="css-a4x74f"><span>3486</span></td><td id="LC3486" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> lines.slice(start, end).map(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">line, idx</span>) </span>{ </code></td></tr><tr><td id="L3487" class="css-a4x74f"><span>3487</span></td><td id="LC3487" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> num = <span class="code-built_in">String</span>(start + idx + <span class="code-number">1</span>); </code></td></tr><tr><td id="L3488" class="css-a4x74f"><span>3488</span></td><td id="LC3488" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3489" class="css-a4x74f"><span>3489</span></td><td id="LC3489" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (num.length < maxNumLength) { </code></td></tr><tr><td id="L3490" class="css-a4x74f"><span>3490</span></td><td id="LC3490" class="css-1dcdqdg"><code> num = <span class="code-string">' '</span> + num; </code></td></tr><tr><td id="L3491" class="css-a4x74f"><span>3491</span></td><td id="LC3491" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3492" class="css-a4x74f"><span>3492</span></td><td id="LC3492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3493" class="css-a4x74f"><span>3493</span></td><td id="LC3493" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> num + <span class="code-string">' |'</span> + line; </code></td></tr><tr><td id="L3494" class="css-a4x74f"><span>3494</span></td><td id="LC3494" class="css-1dcdqdg"><code> }).join(<span class="code-string">'\n'</span>); </code></td></tr><tr><td id="L3495" class="css-a4x74f"><span>3495</span></td><td id="LC3495" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3496" class="css-a4x74f"><span>3496</span></td><td id="LC3496" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3497" class="css-a4x74f"><span>3497</span></td><td id="LC3497" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lines = error.source.split(<span class="code-regexp">/\r\n?|\n|\f/</span>); </code></td></tr><tr><td id="L3498" class="css-a4x74f"><span>3498</span></td><td id="LC3498" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> line = error.line; </code></td></tr><tr><td id="L3499" class="css-a4x74f"><span>3499</span></td><td id="LC3499" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> column = error.column; </code></td></tr><tr><td id="L3500" class="css-a4x74f"><span>3500</span></td><td id="LC3500" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startLine = <span class="code-built_in">Math</span>.max(<span class="code-number">1</span>, line - extraLines) - <span class="code-number">1</span>; </code></td></tr><tr><td id="L3501" class="css-a4x74f"><span>3501</span></td><td id="LC3501" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> endLine = <span class="code-built_in">Math</span>.min(line + extraLines, lines.length + <span class="code-number">1</span>); </code></td></tr><tr><td id="L3502" class="css-a4x74f"><span>3502</span></td><td id="LC3502" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> maxNumLength = <span class="code-built_in">Math</span>.max(<span class="code-number">4</span>, <span class="code-built_in">String</span>(endLine).length) + <span class="code-number">1</span>; </code></td></tr><tr><td id="L3503" class="css-a4x74f"><span>3503</span></td><td id="LC3503" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cutLeft = <span class="code-number">0</span>; </code></td></tr><tr><td id="L3504" class="css-a4x74f"><span>3504</span></td><td id="LC3504" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3505" class="css-a4x74f"><span>3505</span></td><td id="LC3505" class="css-1dcdqdg"><code> <span class="code-comment">// column correction according to replaced tab before column</span> </code></td></tr><tr><td id="L3506" class="css-a4x74f"><span>3506</span></td><td id="LC3506" class="css-1dcdqdg"><code> column += (TAB_REPLACEMENT.length - <span class="code-number">1</span>) * (lines[line - <span class="code-number">1</span>].substr(<span class="code-number">0</span>, column - <span class="code-number">1</span>).match(<span class="code-regexp">/\t/g</span>) || []).length; </code></td></tr><tr><td id="L3507" class="css-a4x74f"><span>3507</span></td><td id="LC3507" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3508" class="css-a4x74f"><span>3508</span></td><td id="LC3508" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (column > MAX_LINE_LENGTH) { </code></td></tr><tr><td id="L3509" class="css-a4x74f"><span>3509</span></td><td id="LC3509" class="css-1dcdqdg"><code> cutLeft = column - OFFSET_CORRECTION + <span class="code-number">3</span>; </code></td></tr><tr><td id="L3510" class="css-a4x74f"><span>3510</span></td><td id="LC3510" class="css-1dcdqdg"><code> column = OFFSET_CORRECTION - <span class="code-number">2</span>; </code></td></tr><tr><td id="L3511" class="css-a4x74f"><span>3511</span></td><td id="LC3511" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3512" class="css-a4x74f"><span>3512</span></td><td id="LC3512" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3513" class="css-a4x74f"><span>3513</span></td><td id="LC3513" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = startLine; i <= endLine; i++) { </code></td></tr><tr><td id="L3514" class="css-a4x74f"><span>3514</span></td><td id="LC3514" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i >= <span class="code-number">0</span> && i < lines.length) { </code></td></tr><tr><td id="L3515" class="css-a4x74f"><span>3515</span></td><td id="LC3515" class="css-1dcdqdg"><code> lines[i] = lines[i].replace(<span class="code-regexp">/\t/g</span>, TAB_REPLACEMENT); </code></td></tr><tr><td id="L3516" class="css-a4x74f"><span>3516</span></td><td id="LC3516" class="css-1dcdqdg"><code> lines[i] = </code></td></tr><tr><td id="L3517" class="css-a4x74f"><span>3517</span></td><td id="LC3517" class="css-1dcdqdg"><code> (cutLeft > <span class="code-number">0</span> && lines[i].length > cutLeft ? <span class="code-string">'\u2026'</span> : <span class="code-string">''</span>) + </code></td></tr><tr><td id="L3518" class="css-a4x74f"><span>3518</span></td><td id="LC3518" class="css-1dcdqdg"><code> lines[i].substr(cutLeft, MAX_LINE_LENGTH - <span class="code-number">2</span>) + </code></td></tr><tr><td id="L3519" class="css-a4x74f"><span>3519</span></td><td id="LC3519" class="css-1dcdqdg"><code> (lines[i].length > cutLeft + MAX_LINE_LENGTH - <span class="code-number">1</span> ? <span class="code-string">'\u2026'</span> : <span class="code-string">''</span>); </code></td></tr><tr><td id="L3520" class="css-a4x74f"><span>3520</span></td><td id="LC3520" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3521" class="css-a4x74f"><span>3521</span></td><td id="LC3521" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3522" class="css-a4x74f"><span>3522</span></td><td id="LC3522" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3523" class="css-a4x74f"><span>3523</span></td><td id="LC3523" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> [ </code></td></tr><tr><td id="L3524" class="css-a4x74f"><span>3524</span></td><td id="LC3524" class="css-1dcdqdg"><code> processLines(startLine, line), </code></td></tr><tr><td id="L3525" class="css-a4x74f"><span>3525</span></td><td id="LC3525" class="css-1dcdqdg"><code> <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(column + maxNumLength + <span class="code-number">2</span>).join(<span class="code-string">'-'</span>) + <span class="code-string">'^'</span>, </code></td></tr><tr><td id="L3526" class="css-a4x74f"><span>3526</span></td><td id="LC3526" class="css-1dcdqdg"><code> processLines(line, endLine) </code></td></tr><tr><td id="L3527" class="css-a4x74f"><span>3527</span></td><td id="LC3527" class="css-1dcdqdg"><code> ].filter(<span class="code-built_in">Boolean</span>).join(<span class="code-string">'\n'</span>); </code></td></tr><tr><td id="L3528" class="css-a4x74f"><span>3528</span></td><td id="LC3528" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3529" class="css-a4x74f"><span>3529</span></td><td id="LC3529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3530" class="css-a4x74f"><span>3530</span></td><td id="LC3530" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> <span class="code-built_in">SyntaxError</span>$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">message, source, offset, line, column</span>) </span>{ </code></td></tr><tr><td id="L3531" class="css-a4x74f"><span>3531</span></td><td id="LC3531" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = createCustomError(<span class="code-string">'SyntaxError'</span>, message); </code></td></tr><tr><td id="L3532" class="css-a4x74f"><span>3532</span></td><td id="LC3532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3533" class="css-a4x74f"><span>3533</span></td><td id="LC3533" class="css-1dcdqdg"><code> error.source = source; </code></td></tr><tr><td id="L3534" class="css-a4x74f"><span>3534</span></td><td id="LC3534" class="css-1dcdqdg"><code> error.offset = offset; </code></td></tr><tr><td id="L3535" class="css-a4x74f"><span>3535</span></td><td id="LC3535" class="css-1dcdqdg"><code> error.line = line; </code></td></tr><tr><td id="L3536" class="css-a4x74f"><span>3536</span></td><td id="LC3536" class="css-1dcdqdg"><code> error.column = column; </code></td></tr><tr><td id="L3537" class="css-a4x74f"><span>3537</span></td><td id="LC3537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3538" class="css-a4x74f"><span>3538</span></td><td id="LC3538" class="css-1dcdqdg"><code> error.sourceFragment = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">extraLines</span>) </span>{ </code></td></tr><tr><td id="L3539" class="css-a4x74f"><span>3539</span></td><td id="LC3539" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> sourceFragment(error, <span class="code-built_in">isNaN</span>(extraLines) ? <span class="code-number">0</span> : extraLines); </code></td></tr><tr><td id="L3540" class="css-a4x74f"><span>3540</span></td><td id="LC3540" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3541" class="css-a4x74f"><span>3541</span></td><td id="LC3541" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(error, <span class="code-string">'formattedMessage'</span>, { </code></td></tr><tr><td id="L3542" class="css-a4x74f"><span>3542</span></td><td id="LC3542" class="css-1dcdqdg"><code> <span class="code-keyword">get</span>: function() { </code></td></tr><tr><td id="L3543" class="css-a4x74f"><span>3543</span></td><td id="LC3543" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L3544" class="css-a4x74f"><span>3544</span></td><td id="LC3544" class="css-1dcdqdg"><code> <span class="code-string">'Parse error: '</span> + error.message + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L3545" class="css-a4x74f"><span>3545</span></td><td id="LC3545" class="css-1dcdqdg"><code> sourceFragment(error, <span class="code-number">2</span>) </code></td></tr><tr><td id="L3546" class="css-a4x74f"><span>3546</span></td><td id="LC3546" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L3547" class="css-a4x74f"><span>3547</span></td><td id="LC3547" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3548" class="css-a4x74f"><span>3548</span></td><td id="LC3548" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L3549" class="css-a4x74f"><span>3549</span></td><td id="LC3549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3550" class="css-a4x74f"><span>3550</span></td><td id="LC3550" class="css-1dcdqdg"><code> <span class="code-comment">// for backward capability</span> </code></td></tr><tr><td id="L3551" class="css-a4x74f"><span>3551</span></td><td id="LC3551" class="css-1dcdqdg"><code> error.parseError = { </code></td></tr><tr><td id="L3552" class="css-a4x74f"><span>3552</span></td><td id="LC3552" class="css-1dcdqdg"><code> offset: offset, </code></td></tr><tr><td id="L3553" class="css-a4x74f"><span>3553</span></td><td id="LC3553" class="css-1dcdqdg"><code> line: line, </code></td></tr><tr><td id="L3554" class="css-a4x74f"><span>3554</span></td><td id="LC3554" class="css-1dcdqdg"><code> column: column </code></td></tr><tr><td id="L3555" class="css-a4x74f"><span>3555</span></td><td id="LC3555" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3556" class="css-a4x74f"><span>3556</span></td><td id="LC3556" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3557" class="css-a4x74f"><span>3557</span></td><td id="LC3557" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> error; </code></td></tr><tr><td id="L3558" class="css-a4x74f"><span>3558</span></td><td id="LC3558" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3559" class="css-a4x74f"><span>3559</span></td><td id="LC3559" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3560" class="css-a4x74f"><span>3560</span></td><td id="LC3560" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _SyntaxError = <span class="code-built_in">SyntaxError</span>$<span class="code-number">1</span>; </code></td></tr><tr><td id="L3561" class="css-a4x74f"><span>3561</span></td><td id="LC3561" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3562" class="css-a4x74f"><span>3562</span></td><td id="LC3562" class="css-1dcdqdg"><code> <span class="code-comment">// CSS Syntax Module Level 3</span> </code></td></tr><tr><td id="L3563" class="css-a4x74f"><span>3563</span></td><td id="LC3563" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css-syntax-3/</span> </code></td></tr><tr><td id="L3564" class="css-a4x74f"><span>3564</span></td><td id="LC3564" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE = { </code></td></tr><tr><td id="L3565" class="css-a4x74f"><span>3565</span></td><td id="LC3565" class="css-1dcdqdg"><code> EOF: <span class="code-number">0</span>, <span class="code-comment">// <EOF-token></span> </code></td></tr><tr><td id="L3566" class="css-a4x74f"><span>3566</span></td><td id="LC3566" class="css-1dcdqdg"><code> Ident: <span class="code-number">1</span>, <span class="code-comment">// <ident-token></span> </code></td></tr><tr><td id="L3567" class="css-a4x74f"><span>3567</span></td><td id="LC3567" class="css-1dcdqdg"><code> <span class="code-built_in">Function</span>: <span class="code-number">2</span>, <span class="code-comment">// <function-token></span> </code></td></tr><tr><td id="L3568" class="css-a4x74f"><span>3568</span></td><td id="LC3568" class="css-1dcdqdg"><code> AtKeyword: <span class="code-number">3</span>, <span class="code-comment">// <at-keyword-token></span> </code></td></tr><tr><td id="L3569" class="css-a4x74f"><span>3569</span></td><td id="LC3569" class="css-1dcdqdg"><code> Hash: <span class="code-number">4</span>, <span class="code-comment">// <hash-token></span> </code></td></tr><tr><td id="L3570" class="css-a4x74f"><span>3570</span></td><td id="LC3570" class="css-1dcdqdg"><code> <span class="code-built_in">String</span>: <span class="code-number">5</span>, <span class="code-comment">// <string-token></span> </code></td></tr><tr><td id="L3571" class="css-a4x74f"><span>3571</span></td><td id="LC3571" class="css-1dcdqdg"><code> BadString: <span class="code-number">6</span>, <span class="code-comment">// <bad-string-token></span> </code></td></tr><tr><td id="L3572" class="css-a4x74f"><span>3572</span></td><td id="LC3572" class="css-1dcdqdg"><code> Url: <span class="code-number">7</span>, <span class="code-comment">// <url-token></span> </code></td></tr><tr><td id="L3573" class="css-a4x74f"><span>3573</span></td><td id="LC3573" class="css-1dcdqdg"><code> BadUrl: <span class="code-number">8</span>, <span class="code-comment">// <bad-url-token></span> </code></td></tr><tr><td id="L3574" class="css-a4x74f"><span>3574</span></td><td id="LC3574" class="css-1dcdqdg"><code> Delim: <span class="code-number">9</span>, <span class="code-comment">// <delim-token></span> </code></td></tr><tr><td id="L3575" class="css-a4x74f"><span>3575</span></td><td id="LC3575" class="css-1dcdqdg"><code> <span class="code-built_in">Number</span>: <span class="code-number">10</span>, <span class="code-comment">// <number-token></span> </code></td></tr><tr><td id="L3576" class="css-a4x74f"><span>3576</span></td><td id="LC3576" class="css-1dcdqdg"><code> Percentage: <span class="code-number">11</span>, <span class="code-comment">// <percentage-token></span> </code></td></tr><tr><td id="L3577" class="css-a4x74f"><span>3577</span></td><td id="LC3577" class="css-1dcdqdg"><code> Dimension: <span class="code-number">12</span>, <span class="code-comment">// <dimension-token></span> </code></td></tr><tr><td id="L3578" class="css-a4x74f"><span>3578</span></td><td id="LC3578" class="css-1dcdqdg"><code> WhiteSpace: <span class="code-number">13</span>, <span class="code-comment">// <whitespace-token></span> </code></td></tr><tr><td id="L3579" class="css-a4x74f"><span>3579</span></td><td id="LC3579" class="css-1dcdqdg"><code> CDO: <span class="code-number">14</span>, <span class="code-comment">// <CDO-token></span> </code></td></tr><tr><td id="L3580" class="css-a4x74f"><span>3580</span></td><td id="LC3580" class="css-1dcdqdg"><code> CDC: <span class="code-number">15</span>, <span class="code-comment">// <CDC-token></span> </code></td></tr><tr><td id="L3581" class="css-a4x74f"><span>3581</span></td><td id="LC3581" class="css-1dcdqdg"><code> Colon: <span class="code-number">16</span>, <span class="code-comment">// <colon-token> :</span> </code></td></tr><tr><td id="L3582" class="css-a4x74f"><span>3582</span></td><td id="LC3582" class="css-1dcdqdg"><code> Semicolon: <span class="code-number">17</span>, <span class="code-comment">// <semicolon-token> ;</span> </code></td></tr><tr><td id="L3583" class="css-a4x74f"><span>3583</span></td><td id="LC3583" class="css-1dcdqdg"><code> Comma: <span class="code-number">18</span>, <span class="code-comment">// <comma-token> ,</span> </code></td></tr><tr><td id="L3584" class="css-a4x74f"><span>3584</span></td><td id="LC3584" class="css-1dcdqdg"><code> LeftSquareBracket: <span class="code-number">19</span>, <span class="code-comment">// <[-token></span> </code></td></tr><tr><td id="L3585" class="css-a4x74f"><span>3585</span></td><td id="LC3585" class="css-1dcdqdg"><code> RightSquareBracket: <span class="code-number">20</span>, <span class="code-comment">// <]-token></span> </code></td></tr><tr><td id="L3586" class="css-a4x74f"><span>3586</span></td><td id="LC3586" class="css-1dcdqdg"><code> LeftParenthesis: <span class="code-number">21</span>, <span class="code-comment">// <(-token></span> </code></td></tr><tr><td id="L3587" class="css-a4x74f"><span>3587</span></td><td id="LC3587" class="css-1dcdqdg"><code> RightParenthesis: <span class="code-number">22</span>, <span class="code-comment">// <)-token></span> </code></td></tr><tr><td id="L3588" class="css-a4x74f"><span>3588</span></td><td id="LC3588" class="css-1dcdqdg"><code> LeftCurlyBracket: <span class="code-number">23</span>, <span class="code-comment">// <{-token></span> </code></td></tr><tr><td id="L3589" class="css-a4x74f"><span>3589</span></td><td id="LC3589" class="css-1dcdqdg"><code> RightCurlyBracket: <span class="code-number">24</span>, <span class="code-comment">// <}-token></span> </code></td></tr><tr><td id="L3590" class="css-a4x74f"><span>3590</span></td><td id="LC3590" class="css-1dcdqdg"><code> Comment: <span class="code-number">25</span> </code></td></tr><tr><td id="L3591" class="css-a4x74f"><span>3591</span></td><td id="LC3591" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3592" class="css-a4x74f"><span>3592</span></td><td id="LC3592" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3593" class="css-a4x74f"><span>3593</span></td><td id="LC3593" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NAME = <span class="code-built_in">Object</span>.keys(TYPE).reduce(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">result, key</span>) </span>{ </code></td></tr><tr><td id="L3594" class="css-a4x74f"><span>3594</span></td><td id="LC3594" class="css-1dcdqdg"><code> result[TYPE[key]] = key; </code></td></tr><tr><td id="L3595" class="css-a4x74f"><span>3595</span></td><td id="LC3595" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L3596" class="css-a4x74f"><span>3596</span></td><td id="LC3596" class="css-1dcdqdg"><code> }, {}); </code></td></tr><tr><td id="L3597" class="css-a4x74f"><span>3597</span></td><td id="LC3597" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3598" class="css-a4x74f"><span>3598</span></td><td id="LC3598" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _const = { </code></td></tr><tr><td id="L3599" class="css-a4x74f"><span>3599</span></td><td id="LC3599" class="css-1dcdqdg"><code> TYPE: TYPE, </code></td></tr><tr><td id="L3600" class="css-a4x74f"><span>3600</span></td><td id="LC3600" class="css-1dcdqdg"><code> NAME: NAME </code></td></tr><tr><td id="L3601" class="css-a4x74f"><span>3601</span></td><td id="LC3601" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3602" class="css-a4x74f"><span>3602</span></td><td id="LC3602" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3603" class="css-a4x74f"><span>3603</span></td><td id="LC3603" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EOF = <span class="code-number">0</span>; </code></td></tr><tr><td id="L3604" class="css-a4x74f"><span>3604</span></td><td id="LC3604" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3605" class="css-a4x74f"><span>3605</span></td><td id="LC3605" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax-3/</span> </code></td></tr><tr><td id="L3606" class="css-a4x74f"><span>3606</span></td><td id="LC3606" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.2. Definitions</span> </code></td></tr><tr><td id="L3607" class="css-a4x74f"><span>3607</span></td><td id="LC3607" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3608" class="css-a4x74f"><span>3608</span></td><td id="LC3608" class="css-1dcdqdg"><code> <span class="code-comment">// digit</span> </code></td></tr><tr><td id="L3609" class="css-a4x74f"><span>3609</span></td><td id="LC3609" class="css-1dcdqdg"><code> <span class="code-comment">// A code point between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9).</span> </code></td></tr><tr><td id="L3610" class="css-a4x74f"><span>3610</span></td><td id="LC3610" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isDigit</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3611" class="css-a4x74f"><span>3611</span></td><td id="LC3611" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code >= <span class="code-number">0x0030</span> && code <= <span class="code-number">0x0039</span>; </code></td></tr><tr><td id="L3612" class="css-a4x74f"><span>3612</span></td><td id="LC3612" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3613" class="css-a4x74f"><span>3613</span></td><td id="LC3613" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3614" class="css-a4x74f"><span>3614</span></td><td id="LC3614" class="css-1dcdqdg"><code> <span class="code-comment">// hex digit</span> </code></td></tr><tr><td id="L3615" class="css-a4x74f"><span>3615</span></td><td id="LC3615" class="css-1dcdqdg"><code> <span class="code-comment">// A digit, or a code point between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F),</span> </code></td></tr><tr><td id="L3616" class="css-a4x74f"><span>3616</span></td><td id="LC3616" class="css-1dcdqdg"><code> <span class="code-comment">// or a code point between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f).</span> </code></td></tr><tr><td id="L3617" class="css-a4x74f"><span>3617</span></td><td id="LC3617" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isHexDigit</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3618" class="css-a4x74f"><span>3618</span></td><td id="LC3618" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L3619" class="css-a4x74f"><span>3619</span></td><td id="LC3619" class="css-1dcdqdg"><code> isDigit(code) || <span class="code-comment">// 0 .. 9</span> </code></td></tr><tr><td id="L3620" class="css-a4x74f"><span>3620</span></td><td id="LC3620" class="css-1dcdqdg"><code> (code >= <span class="code-number">0x0041</span> && code <= <span class="code-number">0x0046</span>) || <span class="code-comment">// A .. F</span> </code></td></tr><tr><td id="L3621" class="css-a4x74f"><span>3621</span></td><td id="LC3621" class="css-1dcdqdg"><code> (code >= <span class="code-number">0x0061</span> && code <= <span class="code-number">0x0066</span>) <span class="code-comment">// a .. f</span> </code></td></tr><tr><td id="L3622" class="css-a4x74f"><span>3622</span></td><td id="LC3622" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L3623" class="css-a4x74f"><span>3623</span></td><td id="LC3623" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3624" class="css-a4x74f"><span>3624</span></td><td id="LC3624" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3625" class="css-a4x74f"><span>3625</span></td><td id="LC3625" class="css-1dcdqdg"><code> <span class="code-comment">// uppercase letter</span> </code></td></tr><tr><td id="L3626" class="css-a4x74f"><span>3626</span></td><td id="LC3626" class="css-1dcdqdg"><code> <span class="code-comment">// A code point between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z).</span> </code></td></tr><tr><td id="L3627" class="css-a4x74f"><span>3627</span></td><td id="LC3627" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isUppercaseLetter</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3628" class="css-a4x74f"><span>3628</span></td><td id="LC3628" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code >= <span class="code-number">0x0041</span> && code <= <span class="code-number">0x005A</span>; </code></td></tr><tr><td id="L3629" class="css-a4x74f"><span>3629</span></td><td id="LC3629" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3630" class="css-a4x74f"><span>3630</span></td><td id="LC3630" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3631" class="css-a4x74f"><span>3631</span></td><td id="LC3631" class="css-1dcdqdg"><code> <span class="code-comment">// lowercase letter</span> </code></td></tr><tr><td id="L3632" class="css-a4x74f"><span>3632</span></td><td id="LC3632" class="css-1dcdqdg"><code> <span class="code-comment">// A code point between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z).</span> </code></td></tr><tr><td id="L3633" class="css-a4x74f"><span>3633</span></td><td id="LC3633" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isLowercaseLetter</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3634" class="css-a4x74f"><span>3634</span></td><td id="LC3634" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code >= <span class="code-number">0x0061</span> && code <= <span class="code-number">0x007A</span>; </code></td></tr><tr><td id="L3635" class="css-a4x74f"><span>3635</span></td><td id="LC3635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3636" class="css-a4x74f"><span>3636</span></td><td id="LC3636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3637" class="css-a4x74f"><span>3637</span></td><td id="LC3637" class="css-1dcdqdg"><code> <span class="code-comment">// letter</span> </code></td></tr><tr><td id="L3638" class="css-a4x74f"><span>3638</span></td><td id="LC3638" class="css-1dcdqdg"><code> <span class="code-comment">// An uppercase letter or a lowercase letter.</span> </code></td></tr><tr><td id="L3639" class="css-a4x74f"><span>3639</span></td><td id="LC3639" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isLetter</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3640" class="css-a4x74f"><span>3640</span></td><td id="LC3640" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isUppercaseLetter(code) || isLowercaseLetter(code); </code></td></tr><tr><td id="L3641" class="css-a4x74f"><span>3641</span></td><td id="LC3641" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3642" class="css-a4x74f"><span>3642</span></td><td id="LC3642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3643" class="css-a4x74f"><span>3643</span></td><td id="LC3643" class="css-1dcdqdg"><code> <span class="code-comment">// non-ASCII code point</span> </code></td></tr><tr><td id="L3644" class="css-a4x74f"><span>3644</span></td><td id="LC3644" class="css-1dcdqdg"><code> <span class="code-comment">// A code point with a value equal to or greater than U+0080 <control>.</span> </code></td></tr><tr><td id="L3645" class="css-a4x74f"><span>3645</span></td><td id="LC3645" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isNonAscii</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3646" class="css-a4x74f"><span>3646</span></td><td id="LC3646" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code >= <span class="code-number">0x0080</span>; </code></td></tr><tr><td id="L3647" class="css-a4x74f"><span>3647</span></td><td id="LC3647" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3648" class="css-a4x74f"><span>3648</span></td><td id="LC3648" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3649" class="css-a4x74f"><span>3649</span></td><td id="LC3649" class="css-1dcdqdg"><code> <span class="code-comment">// name-start code point</span> </code></td></tr><tr><td id="L3650" class="css-a4x74f"><span>3650</span></td><td id="LC3650" class="css-1dcdqdg"><code> <span class="code-comment">// A letter, a non-ASCII code point, or U+005F LOW LINE (_).</span> </code></td></tr><tr><td id="L3651" class="css-a4x74f"><span>3651</span></td><td id="LC3651" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isNameStart</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3652" class="css-a4x74f"><span>3652</span></td><td id="LC3652" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isLetter(code) || isNonAscii(code) || code === <span class="code-number">0x005F</span>; </code></td></tr><tr><td id="L3653" class="css-a4x74f"><span>3653</span></td><td id="LC3653" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3654" class="css-a4x74f"><span>3654</span></td><td id="LC3654" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3655" class="css-a4x74f"><span>3655</span></td><td id="LC3655" class="css-1dcdqdg"><code> <span class="code-comment">// name code point</span> </code></td></tr><tr><td id="L3656" class="css-a4x74f"><span>3656</span></td><td id="LC3656" class="css-1dcdqdg"><code> <span class="code-comment">// A name-start code point, a digit, or U+002D HYPHEN-MINUS (-).</span> </code></td></tr><tr><td id="L3657" class="css-a4x74f"><span>3657</span></td><td id="LC3657" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isName</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3658" class="css-a4x74f"><span>3658</span></td><td id="LC3658" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isNameStart(code) || isDigit(code) || code === <span class="code-number">0x002D</span>; </code></td></tr><tr><td id="L3659" class="css-a4x74f"><span>3659</span></td><td id="LC3659" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3660" class="css-a4x74f"><span>3660</span></td><td id="LC3660" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3661" class="css-a4x74f"><span>3661</span></td><td id="LC3661" class="css-1dcdqdg"><code> <span class="code-comment">// non-printable code point</span> </code></td></tr><tr><td id="L3662" class="css-a4x74f"><span>3662</span></td><td id="LC3662" class="css-1dcdqdg"><code> <span class="code-comment">// A code point between U+0000 NULL and U+0008 BACKSPACE, or U+000B LINE TABULATION,</span> </code></td></tr><tr><td id="L3663" class="css-a4x74f"><span>3663</span></td><td id="LC3663" class="css-1dcdqdg"><code> <span class="code-comment">// or a code point between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE, or U+007F DELETE.</span> </code></td></tr><tr><td id="L3664" class="css-a4x74f"><span>3664</span></td><td id="LC3664" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isNonPrintable</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3665" class="css-a4x74f"><span>3665</span></td><td id="LC3665" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L3666" class="css-a4x74f"><span>3666</span></td><td id="LC3666" class="css-1dcdqdg"><code> (code >= <span class="code-number">0x0000</span> && code <= <span class="code-number">0x0008</span>) || </code></td></tr><tr><td id="L3667" class="css-a4x74f"><span>3667</span></td><td id="LC3667" class="css-1dcdqdg"><code> (code === <span class="code-number">0x000B</span>) || </code></td></tr><tr><td id="L3668" class="css-a4x74f"><span>3668</span></td><td id="LC3668" class="css-1dcdqdg"><code> (code >= <span class="code-number">0x000E</span> && code <= <span class="code-number">0x001F</span>) || </code></td></tr><tr><td id="L3669" class="css-a4x74f"><span>3669</span></td><td id="LC3669" class="css-1dcdqdg"><code> (code === <span class="code-number">0x007F</span>) </code></td></tr><tr><td id="L3670" class="css-a4x74f"><span>3670</span></td><td id="LC3670" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L3671" class="css-a4x74f"><span>3671</span></td><td id="LC3671" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3672" class="css-a4x74f"><span>3672</span></td><td id="LC3672" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3673" class="css-a4x74f"><span>3673</span></td><td id="LC3673" class="css-1dcdqdg"><code> <span class="code-comment">// newline</span> </code></td></tr><tr><td id="L3674" class="css-a4x74f"><span>3674</span></td><td id="LC3674" class="css-1dcdqdg"><code> <span class="code-comment">// U+000A LINE FEED. Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition,</span> </code></td></tr><tr><td id="L3675" class="css-a4x74f"><span>3675</span></td><td id="LC3675" class="css-1dcdqdg"><code> <span class="code-comment">// as they are converted to U+000A LINE FEED during preprocessing.</span> </code></td></tr><tr><td id="L3676" class="css-a4x74f"><span>3676</span></td><td id="LC3676" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> we doesn't do a preprocessing, so check a code point for U+000D CARRIAGE RETURN and U+000C FORM FEED</span> </code></td></tr><tr><td id="L3677" class="css-a4x74f"><span>3677</span></td><td id="LC3677" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isNewline</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3678" class="css-a4x74f"><span>3678</span></td><td id="LC3678" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code === <span class="code-number">0x000A</span> || code === <span class="code-number">0x000D</span> || code === <span class="code-number">0x000C</span>; </code></td></tr><tr><td id="L3679" class="css-a4x74f"><span>3679</span></td><td id="LC3679" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3680" class="css-a4x74f"><span>3680</span></td><td id="LC3680" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3681" class="css-a4x74f"><span>3681</span></td><td id="LC3681" class="css-1dcdqdg"><code> <span class="code-comment">// whitespace</span> </code></td></tr><tr><td id="L3682" class="css-a4x74f"><span>3682</span></td><td id="LC3682" class="css-1dcdqdg"><code> <span class="code-comment">// A newline, U+0009 CHARACTER TABULATION, or U+0020 SPACE.</span> </code></td></tr><tr><td id="L3683" class="css-a4x74f"><span>3683</span></td><td id="LC3683" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isWhiteSpace</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3684" class="css-a4x74f"><span>3684</span></td><td id="LC3684" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isNewline(code) || code === <span class="code-number">0x0020</span> || code === <span class="code-number">0x0009</span>; </code></td></tr><tr><td id="L3685" class="css-a4x74f"><span>3685</span></td><td id="LC3685" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3686" class="css-a4x74f"><span>3686</span></td><td id="LC3686" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3687" class="css-a4x74f"><span>3687</span></td><td id="LC3687" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.8. Check if two code points are a valid escape</span> </code></td></tr><tr><td id="L3688" class="css-a4x74f"><span>3688</span></td><td id="LC3688" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isValidEscape</span>(<span class="code-params">first, second</span>) </span>{ </code></td></tr><tr><td id="L3689" class="css-a4x74f"><span>3689</span></td><td id="LC3689" class="css-1dcdqdg"><code> <span class="code-comment">// If the first code point is not U+005C REVERSE SOLIDUS (\), return false.</span> </code></td></tr><tr><td id="L3690" class="css-a4x74f"><span>3690</span></td><td id="LC3690" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (first !== <span class="code-number">0x005C</span>) { </code></td></tr><tr><td id="L3691" class="css-a4x74f"><span>3691</span></td><td id="LC3691" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3692" class="css-a4x74f"><span>3692</span></td><td id="LC3692" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3693" class="css-a4x74f"><span>3693</span></td><td id="LC3693" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3694" class="css-a4x74f"><span>3694</span></td><td id="LC3694" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the second code point is a newline or EOF, return false.</span> </code></td></tr><tr><td id="L3695" class="css-a4x74f"><span>3695</span></td><td id="LC3695" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNewline(second) || second === EOF) { </code></td></tr><tr><td id="L3696" class="css-a4x74f"><span>3696</span></td><td id="LC3696" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3697" class="css-a4x74f"><span>3697</span></td><td id="LC3697" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3698" class="css-a4x74f"><span>3698</span></td><td id="LC3698" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3699" class="css-a4x74f"><span>3699</span></td><td id="LC3699" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return true.</span> </code></td></tr><tr><td id="L3700" class="css-a4x74f"><span>3700</span></td><td id="LC3700" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L3701" class="css-a4x74f"><span>3701</span></td><td id="LC3701" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3702" class="css-a4x74f"><span>3702</span></td><td id="LC3702" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3703" class="css-a4x74f"><span>3703</span></td><td id="LC3703" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.9. Check if three code points would start an identifier</span> </code></td></tr><tr><td id="L3704" class="css-a4x74f"><span>3704</span></td><td id="LC3704" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isIdentifierStart</span>(<span class="code-params">first, second, third</span>) </span>{ </code></td></tr><tr><td id="L3705" class="css-a4x74f"><span>3705</span></td><td id="LC3705" class="css-1dcdqdg"><code> <span class="code-comment">// Look at the first code point:</span> </code></td></tr><tr><td id="L3706" class="css-a4x74f"><span>3706</span></td><td id="LC3706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3707" class="css-a4x74f"><span>3707</span></td><td id="LC3707" class="css-1dcdqdg"><code> <span class="code-comment">// U+002D HYPHEN-MINUS</span> </code></td></tr><tr><td id="L3708" class="css-a4x74f"><span>3708</span></td><td id="LC3708" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (first === <span class="code-number">0x002D</span>) { </code></td></tr><tr><td id="L3709" class="css-a4x74f"><span>3709</span></td><td id="LC3709" class="css-1dcdqdg"><code> <span class="code-comment">// If the second code point is a name-start code point or a U+002D HYPHEN-MINUS,</span> </code></td></tr><tr><td id="L3710" class="css-a4x74f"><span>3710</span></td><td id="LC3710" class="css-1dcdqdg"><code> <span class="code-comment">// or the second and third code points are a valid escape, return true. Otherwise, return false.</span> </code></td></tr><tr><td id="L3711" class="css-a4x74f"><span>3711</span></td><td id="LC3711" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L3712" class="css-a4x74f"><span>3712</span></td><td id="LC3712" class="css-1dcdqdg"><code> isNameStart(second) || </code></td></tr><tr><td id="L3713" class="css-a4x74f"><span>3713</span></td><td id="LC3713" class="css-1dcdqdg"><code> second === <span class="code-number">0x002D</span> || </code></td></tr><tr><td id="L3714" class="css-a4x74f"><span>3714</span></td><td id="LC3714" class="css-1dcdqdg"><code> isValidEscape(second, third) </code></td></tr><tr><td id="L3715" class="css-a4x74f"><span>3715</span></td><td id="LC3715" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L3716" class="css-a4x74f"><span>3716</span></td><td id="LC3716" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3717" class="css-a4x74f"><span>3717</span></td><td id="LC3717" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3718" class="css-a4x74f"><span>3718</span></td><td id="LC3718" class="css-1dcdqdg"><code> <span class="code-comment">// name-start code point</span> </code></td></tr><tr><td id="L3719" class="css-a4x74f"><span>3719</span></td><td id="LC3719" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNameStart(first)) { </code></td></tr><tr><td id="L3720" class="css-a4x74f"><span>3720</span></td><td id="LC3720" class="css-1dcdqdg"><code> <span class="code-comment">// Return true.</span> </code></td></tr><tr><td id="L3721" class="css-a4x74f"><span>3721</span></td><td id="LC3721" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L3722" class="css-a4x74f"><span>3722</span></td><td id="LC3722" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3723" class="css-a4x74f"><span>3723</span></td><td id="LC3723" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3724" class="css-a4x74f"><span>3724</span></td><td id="LC3724" class="css-1dcdqdg"><code> <span class="code-comment">// U+005C REVERSE SOLIDUS (\)</span> </code></td></tr><tr><td id="L3725" class="css-a4x74f"><span>3725</span></td><td id="LC3725" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (first === <span class="code-number">0x005C</span>) { </code></td></tr><tr><td id="L3726" class="css-a4x74f"><span>3726</span></td><td id="LC3726" class="css-1dcdqdg"><code> <span class="code-comment">// If the first and second code points are a valid escape, return true. Otherwise, return false.</span> </code></td></tr><tr><td id="L3727" class="css-a4x74f"><span>3727</span></td><td id="LC3727" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isValidEscape(first, second); </code></td></tr><tr><td id="L3728" class="css-a4x74f"><span>3728</span></td><td id="LC3728" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3729" class="css-a4x74f"><span>3729</span></td><td id="LC3729" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3730" class="css-a4x74f"><span>3730</span></td><td id="LC3730" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L3731" class="css-a4x74f"><span>3731</span></td><td id="LC3731" class="css-1dcdqdg"><code> <span class="code-comment">// Return false.</span> </code></td></tr><tr><td id="L3732" class="css-a4x74f"><span>3732</span></td><td id="LC3732" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3733" class="css-a4x74f"><span>3733</span></td><td id="LC3733" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3734" class="css-a4x74f"><span>3734</span></td><td id="LC3734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3735" class="css-a4x74f"><span>3735</span></td><td id="LC3735" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.10. Check if three code points would start a number</span> </code></td></tr><tr><td id="L3736" class="css-a4x74f"><span>3736</span></td><td id="LC3736" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isNumberStart</span>(<span class="code-params">first, second, third</span>) </span>{ </code></td></tr><tr><td id="L3737" class="css-a4x74f"><span>3737</span></td><td id="LC3737" class="css-1dcdqdg"><code> <span class="code-comment">// Look at the first code point:</span> </code></td></tr><tr><td id="L3738" class="css-a4x74f"><span>3738</span></td><td id="LC3738" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3739" class="css-a4x74f"><span>3739</span></td><td id="LC3739" class="css-1dcdqdg"><code> <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L3740" class="css-a4x74f"><span>3740</span></td><td id="LC3740" class="css-1dcdqdg"><code> <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L3741" class="css-a4x74f"><span>3741</span></td><td id="LC3741" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (first === <span class="code-number">0x002B</span> || first === <span class="code-number">0x002D</span>) { </code></td></tr><tr><td id="L3742" class="css-a4x74f"><span>3742</span></td><td id="LC3742" class="css-1dcdqdg"><code> <span class="code-comment">// If the second code point is a digit, return true.</span> </code></td></tr><tr><td id="L3743" class="css-a4x74f"><span>3743</span></td><td id="LC3743" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDigit(second)) { </code></td></tr><tr><td id="L3744" class="css-a4x74f"><span>3744</span></td><td id="LC3744" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">2</span>; </code></td></tr><tr><td id="L3745" class="css-a4x74f"><span>3745</span></td><td id="LC3745" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3746" class="css-a4x74f"><span>3746</span></td><td id="LC3746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3747" class="css-a4x74f"><span>3747</span></td><td id="LC3747" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the second code point is a U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L3748" class="css-a4x74f"><span>3748</span></td><td id="LC3748" class="css-1dcdqdg"><code> <span class="code-comment">// and the third code point is a digit, return true.</span> </code></td></tr><tr><td id="L3749" class="css-a4x74f"><span>3749</span></td><td id="LC3749" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return false.</span> </code></td></tr><tr><td id="L3750" class="css-a4x74f"><span>3750</span></td><td id="LC3750" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> second === <span class="code-number">0x002E</span> && isDigit(third) ? <span class="code-number">3</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L3751" class="css-a4x74f"><span>3751</span></td><td id="LC3751" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3752" class="css-a4x74f"><span>3752</span></td><td id="LC3752" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3753" class="css-a4x74f"><span>3753</span></td><td id="LC3753" class="css-1dcdqdg"><code> <span class="code-comment">// U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L3754" class="css-a4x74f"><span>3754</span></td><td id="LC3754" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (first === <span class="code-number">0x002E</span>) { </code></td></tr><tr><td id="L3755" class="css-a4x74f"><span>3755</span></td><td id="LC3755" class="css-1dcdqdg"><code> <span class="code-comment">// If the second code point is a digit, return true. Otherwise, return false.</span> </code></td></tr><tr><td id="L3756" class="css-a4x74f"><span>3756</span></td><td id="LC3756" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isDigit(second) ? <span class="code-number">2</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L3757" class="css-a4x74f"><span>3757</span></td><td id="LC3757" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3758" class="css-a4x74f"><span>3758</span></td><td id="LC3758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3759" class="css-a4x74f"><span>3759</span></td><td id="LC3759" class="css-1dcdqdg"><code> <span class="code-comment">// digit</span> </code></td></tr><tr><td id="L3760" class="css-a4x74f"><span>3760</span></td><td id="LC3760" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDigit(first)) { </code></td></tr><tr><td id="L3761" class="css-a4x74f"><span>3761</span></td><td id="LC3761" class="css-1dcdqdg"><code> <span class="code-comment">// Return true.</span> </code></td></tr><tr><td id="L3762" class="css-a4x74f"><span>3762</span></td><td id="LC3762" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L3763" class="css-a4x74f"><span>3763</span></td><td id="LC3763" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3764" class="css-a4x74f"><span>3764</span></td><td id="LC3764" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3765" class="css-a4x74f"><span>3765</span></td><td id="LC3765" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L3766" class="css-a4x74f"><span>3766</span></td><td id="LC3766" class="css-1dcdqdg"><code> <span class="code-comment">// Return false.</span> </code></td></tr><tr><td id="L3767" class="css-a4x74f"><span>3767</span></td><td id="LC3767" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L3768" class="css-a4x74f"><span>3768</span></td><td id="LC3768" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3769" class="css-a4x74f"><span>3769</span></td><td id="LC3769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3770" class="css-a4x74f"><span>3770</span></td><td id="LC3770" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L3771" class="css-a4x74f"><span>3771</span></td><td id="LC3771" class="css-1dcdqdg"><code> <span class="code-comment">// Misc</span> </code></td></tr><tr><td id="L3772" class="css-a4x74f"><span>3772</span></td><td id="LC3772" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L3773" class="css-a4x74f"><span>3773</span></td><td id="LC3773" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3774" class="css-a4x74f"><span>3774</span></td><td id="LC3774" class="css-1dcdqdg"><code> <span class="code-comment">// detect BOM (https://en.wikipedia.org/wiki/Byte_order_mark)</span> </code></td></tr><tr><td id="L3775" class="css-a4x74f"><span>3775</span></td><td id="LC3775" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isBOM</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3776" class="css-a4x74f"><span>3776</span></td><td id="LC3776" class="css-1dcdqdg"><code> <span class="code-comment">// UTF-16BE</span> </code></td></tr><tr><td id="L3777" class="css-a4x74f"><span>3777</span></td><td id="LC3777" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0xFEFF</span>) { </code></td></tr><tr><td id="L3778" class="css-a4x74f"><span>3778</span></td><td id="LC3778" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L3779" class="css-a4x74f"><span>3779</span></td><td id="LC3779" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3780" class="css-a4x74f"><span>3780</span></td><td id="LC3780" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3781" class="css-a4x74f"><span>3781</span></td><td id="LC3781" class="css-1dcdqdg"><code> <span class="code-comment">// UTF-16LE</span> </code></td></tr><tr><td id="L3782" class="css-a4x74f"><span>3782</span></td><td id="LC3782" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0xFFFE</span>) { </code></td></tr><tr><td id="L3783" class="css-a4x74f"><span>3783</span></td><td id="LC3783" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L3784" class="css-a4x74f"><span>3784</span></td><td id="LC3784" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3785" class="css-a4x74f"><span>3785</span></td><td id="LC3785" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3786" class="css-a4x74f"><span>3786</span></td><td id="LC3786" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L3787" class="css-a4x74f"><span>3787</span></td><td id="LC3787" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3788" class="css-a4x74f"><span>3788</span></td><td id="LC3788" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3789" class="css-a4x74f"><span>3789</span></td><td id="LC3789" class="css-1dcdqdg"><code> <span class="code-comment">// Fast code category</span> </code></td></tr><tr><td id="L3790" class="css-a4x74f"><span>3790</span></td><td id="LC3790" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L3791" class="css-a4x74f"><span>3791</span></td><td id="LC3791" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#tokenizer-definitions</span> </code></td></tr><tr><td id="L3792" class="css-a4x74f"><span>3792</span></td><td id="LC3792" class="css-1dcdqdg"><code> <span class="code-comment">// > non-ASCII code point</span> </code></td></tr><tr><td id="L3793" class="css-a4x74f"><span>3793</span></td><td id="LC3793" class="css-1dcdqdg"><code> <span class="code-comment">// > A code point with a value equal to or greater than U+0080 <control></span> </code></td></tr><tr><td id="L3794" class="css-a4x74f"><span>3794</span></td><td id="LC3794" class="css-1dcdqdg"><code> <span class="code-comment">// > name-start code point</span> </code></td></tr><tr><td id="L3795" class="css-a4x74f"><span>3795</span></td><td id="LC3795" class="css-1dcdqdg"><code> <span class="code-comment">// > A letter, a non-ASCII code point, or U+005F LOW LINE (_).</span> </code></td></tr><tr><td id="L3796" class="css-a4x74f"><span>3796</span></td><td id="LC3796" class="css-1dcdqdg"><code> <span class="code-comment">// > name code point</span> </code></td></tr><tr><td id="L3797" class="css-a4x74f"><span>3797</span></td><td id="LC3797" class="css-1dcdqdg"><code> <span class="code-comment">// > A name-start code point, a digit, or U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L3798" class="css-a4x74f"><span>3798</span></td><td id="LC3798" class="css-1dcdqdg"><code> <span class="code-comment">// That means only ASCII code points has a special meaning and we define a maps for 0..127 codes only</span> </code></td></tr><tr><td id="L3799" class="css-a4x74f"><span>3799</span></td><td id="LC3799" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CATEGORY = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(<span class="code-number">0x80</span>); </code></td></tr><tr><td id="L3800" class="css-a4x74f"><span>3800</span></td><td id="LC3800" class="css-1dcdqdg"><code> charCodeCategory.Eof = <span class="code-number">0x80</span>; </code></td></tr><tr><td id="L3801" class="css-a4x74f"><span>3801</span></td><td id="LC3801" class="css-1dcdqdg"><code> charCodeCategory.WhiteSpace = <span class="code-number">0x82</span>; </code></td></tr><tr><td id="L3802" class="css-a4x74f"><span>3802</span></td><td id="LC3802" class="css-1dcdqdg"><code> charCodeCategory.Digit = <span class="code-number">0x83</span>; </code></td></tr><tr><td id="L3803" class="css-a4x74f"><span>3803</span></td><td id="LC3803" class="css-1dcdqdg"><code> charCodeCategory.NameStart = <span class="code-number">0x84</span>; </code></td></tr><tr><td id="L3804" class="css-a4x74f"><span>3804</span></td><td id="LC3804" class="css-1dcdqdg"><code> charCodeCategory.NonPrintable = <span class="code-number">0x85</span>; </code></td></tr><tr><td id="L3805" class="css-a4x74f"><span>3805</span></td><td id="LC3805" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3806" class="css-a4x74f"><span>3806</span></td><td id="LC3806" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < CATEGORY.length; i++) { </code></td></tr><tr><td id="L3807" class="css-a4x74f"><span>3807</span></td><td id="LC3807" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-literal">true</span>) { </code></td></tr><tr><td id="L3808" class="css-a4x74f"><span>3808</span></td><td id="LC3808" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> isWhiteSpace(i): </code></td></tr><tr><td id="L3809" class="css-a4x74f"><span>3809</span></td><td id="LC3809" class="css-1dcdqdg"><code> CATEGORY[i] = charCodeCategory.WhiteSpace; </code></td></tr><tr><td id="L3810" class="css-a4x74f"><span>3810</span></td><td id="LC3810" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3811" class="css-a4x74f"><span>3811</span></td><td id="LC3811" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3812" class="css-a4x74f"><span>3812</span></td><td id="LC3812" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> isDigit(i): </code></td></tr><tr><td id="L3813" class="css-a4x74f"><span>3813</span></td><td id="LC3813" class="css-1dcdqdg"><code> CATEGORY[i] = charCodeCategory.Digit; </code></td></tr><tr><td id="L3814" class="css-a4x74f"><span>3814</span></td><td id="LC3814" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3815" class="css-a4x74f"><span>3815</span></td><td id="LC3815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3816" class="css-a4x74f"><span>3816</span></td><td id="LC3816" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> isNameStart(i): </code></td></tr><tr><td id="L3817" class="css-a4x74f"><span>3817</span></td><td id="LC3817" class="css-1dcdqdg"><code> CATEGORY[i] = charCodeCategory.NameStart; </code></td></tr><tr><td id="L3818" class="css-a4x74f"><span>3818</span></td><td id="LC3818" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3819" class="css-a4x74f"><span>3819</span></td><td id="LC3819" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3820" class="css-a4x74f"><span>3820</span></td><td id="LC3820" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> isNonPrintable(i): </code></td></tr><tr><td id="L3821" class="css-a4x74f"><span>3821</span></td><td id="LC3821" class="css-1dcdqdg"><code> CATEGORY[i] = charCodeCategory.NonPrintable; </code></td></tr><tr><td id="L3822" class="css-a4x74f"><span>3822</span></td><td id="LC3822" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3823" class="css-a4x74f"><span>3823</span></td><td id="LC3823" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3824" class="css-a4x74f"><span>3824</span></td><td id="LC3824" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L3825" class="css-a4x74f"><span>3825</span></td><td id="LC3825" class="css-1dcdqdg"><code> CATEGORY[i] = i || charCodeCategory.Eof; </code></td></tr><tr><td id="L3826" class="css-a4x74f"><span>3826</span></td><td id="LC3826" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3827" class="css-a4x74f"><span>3827</span></td><td id="LC3827" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3828" class="css-a4x74f"><span>3828</span></td><td id="LC3828" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3829" class="css-a4x74f"><span>3829</span></td><td id="LC3829" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">charCodeCategory</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L3830" class="css-a4x74f"><span>3830</span></td><td id="LC3830" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code < <span class="code-number">0x80</span> ? CATEGORY[code] : charCodeCategory.NameStart; </code></td></tr><tr><td id="L3831" class="css-a4x74f"><span>3831</span></td><td id="LC3831" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3832" class="css-a4x74f"><span>3832</span></td><td id="LC3832" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> charCodeDefinitions = { </code></td></tr><tr><td id="L3833" class="css-a4x74f"><span>3833</span></td><td id="LC3833" class="css-1dcdqdg"><code> isDigit: isDigit, </code></td></tr><tr><td id="L3834" class="css-a4x74f"><span>3834</span></td><td id="LC3834" class="css-1dcdqdg"><code> isHexDigit: isHexDigit, </code></td></tr><tr><td id="L3835" class="css-a4x74f"><span>3835</span></td><td id="LC3835" class="css-1dcdqdg"><code> isUppercaseLetter: isUppercaseLetter, </code></td></tr><tr><td id="L3836" class="css-a4x74f"><span>3836</span></td><td id="LC3836" class="css-1dcdqdg"><code> isLowercaseLetter: isLowercaseLetter, </code></td></tr><tr><td id="L3837" class="css-a4x74f"><span>3837</span></td><td id="LC3837" class="css-1dcdqdg"><code> isLetter: isLetter, </code></td></tr><tr><td id="L3838" class="css-a4x74f"><span>3838</span></td><td id="LC3838" class="css-1dcdqdg"><code> isNonAscii: isNonAscii, </code></td></tr><tr><td id="L3839" class="css-a4x74f"><span>3839</span></td><td id="LC3839" class="css-1dcdqdg"><code> isNameStart: isNameStart, </code></td></tr><tr><td id="L3840" class="css-a4x74f"><span>3840</span></td><td id="LC3840" class="css-1dcdqdg"><code> isName: isName, </code></td></tr><tr><td id="L3841" class="css-a4x74f"><span>3841</span></td><td id="LC3841" class="css-1dcdqdg"><code> isNonPrintable: isNonPrintable, </code></td></tr><tr><td id="L3842" class="css-a4x74f"><span>3842</span></td><td id="LC3842" class="css-1dcdqdg"><code> isNewline: isNewline, </code></td></tr><tr><td id="L3843" class="css-a4x74f"><span>3843</span></td><td id="LC3843" class="css-1dcdqdg"><code> isWhiteSpace: isWhiteSpace, </code></td></tr><tr><td id="L3844" class="css-a4x74f"><span>3844</span></td><td id="LC3844" class="css-1dcdqdg"><code> isValidEscape: isValidEscape, </code></td></tr><tr><td id="L3845" class="css-a4x74f"><span>3845</span></td><td id="LC3845" class="css-1dcdqdg"><code> isIdentifierStart: isIdentifierStart, </code></td></tr><tr><td id="L3846" class="css-a4x74f"><span>3846</span></td><td id="LC3846" class="css-1dcdqdg"><code> isNumberStart: isNumberStart, </code></td></tr><tr><td id="L3847" class="css-a4x74f"><span>3847</span></td><td id="LC3847" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3848" class="css-a4x74f"><span>3848</span></td><td id="LC3848" class="css-1dcdqdg"><code> isBOM: isBOM, </code></td></tr><tr><td id="L3849" class="css-a4x74f"><span>3849</span></td><td id="LC3849" class="css-1dcdqdg"><code> charCodeCategory: charCodeCategory </code></td></tr><tr><td id="L3850" class="css-a4x74f"><span>3850</span></td><td id="LC3850" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L3851" class="css-a4x74f"><span>3851</span></td><td id="LC3851" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3852" class="css-a4x74f"><span>3852</span></td><td id="LC3852" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDigit$<span class="code-number">1</span> = charCodeDefinitions.isDigit; </code></td></tr><tr><td id="L3853" class="css-a4x74f"><span>3853</span></td><td id="LC3853" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isHexDigit$<span class="code-number">1</span> = charCodeDefinitions.isHexDigit; </code></td></tr><tr><td id="L3854" class="css-a4x74f"><span>3854</span></td><td id="LC3854" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isUppercaseLetter$<span class="code-number">1</span> = charCodeDefinitions.isUppercaseLetter; </code></td></tr><tr><td id="L3855" class="css-a4x74f"><span>3855</span></td><td id="LC3855" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isName$<span class="code-number">1</span> = charCodeDefinitions.isName; </code></td></tr><tr><td id="L3856" class="css-a4x74f"><span>3856</span></td><td id="LC3856" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isWhiteSpace$<span class="code-number">1</span> = charCodeDefinitions.isWhiteSpace; </code></td></tr><tr><td id="L3857" class="css-a4x74f"><span>3857</span></td><td id="LC3857" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isValidEscape$<span class="code-number">1</span> = charCodeDefinitions.isValidEscape; </code></td></tr><tr><td id="L3858" class="css-a4x74f"><span>3858</span></td><td id="LC3858" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3859" class="css-a4x74f"><span>3859</span></td><td id="LC3859" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getCharCode</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3860" class="css-a4x74f"><span>3860</span></td><td id="LC3860" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset < source.length ? source.charCodeAt(offset) : <span class="code-number">0</span>; </code></td></tr><tr><td id="L3861" class="css-a4x74f"><span>3861</span></td><td id="LC3861" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3862" class="css-a4x74f"><span>3862</span></td><td id="LC3862" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3863" class="css-a4x74f"><span>3863</span></td><td id="LC3863" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getNewlineLength</span>(<span class="code-params">source, offset, code</span>) </span>{ </code></td></tr><tr><td id="L3864" class="css-a4x74f"><span>3864</span></td><td id="LC3864" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">13</span> <span class="code-comment">/* \r */</span> && getCharCode(source, offset + <span class="code-number">1</span>) === <span class="code-number">10</span> <span class="code-comment">/* \n */</span>) { </code></td></tr><tr><td id="L3865" class="css-a4x74f"><span>3865</span></td><td id="LC3865" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">2</span>; </code></td></tr><tr><td id="L3866" class="css-a4x74f"><span>3866</span></td><td id="LC3866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3867" class="css-a4x74f"><span>3867</span></td><td id="LC3867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3868" class="css-a4x74f"><span>3868</span></td><td id="LC3868" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L3869" class="css-a4x74f"><span>3869</span></td><td id="LC3869" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3870" class="css-a4x74f"><span>3870</span></td><td id="LC3870" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3871" class="css-a4x74f"><span>3871</span></td><td id="LC3871" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cmpChar</span>(<span class="code-params">testStr, offset, referenceCode</span>) </span>{ </code></td></tr><tr><td id="L3872" class="css-a4x74f"><span>3872</span></td><td id="LC3872" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = testStr.charCodeAt(offset); </code></td></tr><tr><td id="L3873" class="css-a4x74f"><span>3873</span></td><td id="LC3873" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3874" class="css-a4x74f"><span>3874</span></td><td id="LC3874" class="css-1dcdqdg"><code> <span class="code-comment">// code.toLowerCase() for A..Z</span> </code></td></tr><tr><td id="L3875" class="css-a4x74f"><span>3875</span></td><td id="LC3875" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isUppercaseLetter$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L3876" class="css-a4x74f"><span>3876</span></td><td id="LC3876" class="css-1dcdqdg"><code> code = code | <span class="code-number">32</span>; </code></td></tr><tr><td id="L3877" class="css-a4x74f"><span>3877</span></td><td id="LC3877" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3878" class="css-a4x74f"><span>3878</span></td><td id="LC3878" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3879" class="css-a4x74f"><span>3879</span></td><td id="LC3879" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> code === referenceCode; </code></td></tr><tr><td id="L3880" class="css-a4x74f"><span>3880</span></td><td id="LC3880" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3881" class="css-a4x74f"><span>3881</span></td><td id="LC3881" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3882" class="css-a4x74f"><span>3882</span></td><td id="LC3882" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cmpStr</span>(<span class="code-params">testStr, start, end, referenceStr</span>) </span>{ </code></td></tr><tr><td id="L3883" class="css-a4x74f"><span>3883</span></td><td id="LC3883" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (end - start !== referenceStr.length) { </code></td></tr><tr><td id="L3884" class="css-a4x74f"><span>3884</span></td><td id="LC3884" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3885" class="css-a4x74f"><span>3885</span></td><td id="LC3885" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3886" class="css-a4x74f"><span>3886</span></td><td id="LC3886" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3887" class="css-a4x74f"><span>3887</span></td><td id="LC3887" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (start < <span class="code-number">0</span> || end > testStr.length) { </code></td></tr><tr><td id="L3888" class="css-a4x74f"><span>3888</span></td><td id="LC3888" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3889" class="css-a4x74f"><span>3889</span></td><td id="LC3889" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3890" class="css-a4x74f"><span>3890</span></td><td id="LC3890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3891" class="css-a4x74f"><span>3891</span></td><td id="LC3891" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = start; i < end; i++) { </code></td></tr><tr><td id="L3892" class="css-a4x74f"><span>3892</span></td><td id="LC3892" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> testCode = testStr.charCodeAt(i); </code></td></tr><tr><td id="L3893" class="css-a4x74f"><span>3893</span></td><td id="LC3893" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> referenceCode = referenceStr.charCodeAt(i - start); </code></td></tr><tr><td id="L3894" class="css-a4x74f"><span>3894</span></td><td id="LC3894" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3895" class="css-a4x74f"><span>3895</span></td><td id="LC3895" class="css-1dcdqdg"><code> <span class="code-comment">// testCode.toLowerCase() for A..Z</span> </code></td></tr><tr><td id="L3896" class="css-a4x74f"><span>3896</span></td><td id="LC3896" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isUppercaseLetter$<span class="code-number">1</span>(testCode)) { </code></td></tr><tr><td id="L3897" class="css-a4x74f"><span>3897</span></td><td id="LC3897" class="css-1dcdqdg"><code> testCode = testCode | <span class="code-number">32</span>; </code></td></tr><tr><td id="L3898" class="css-a4x74f"><span>3898</span></td><td id="LC3898" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3899" class="css-a4x74f"><span>3899</span></td><td id="LC3899" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3900" class="css-a4x74f"><span>3900</span></td><td id="LC3900" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (testCode !== referenceCode) { </code></td></tr><tr><td id="L3901" class="css-a4x74f"><span>3901</span></td><td id="LC3901" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L3902" class="css-a4x74f"><span>3902</span></td><td id="LC3902" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3903" class="css-a4x74f"><span>3903</span></td><td id="LC3903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3904" class="css-a4x74f"><span>3904</span></td><td id="LC3904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3905" class="css-a4x74f"><span>3905</span></td><td id="LC3905" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L3906" class="css-a4x74f"><span>3906</span></td><td id="LC3906" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3907" class="css-a4x74f"><span>3907</span></td><td id="LC3907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3908" class="css-a4x74f"><span>3908</span></td><td id="LC3908" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findWhiteSpaceStart</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3909" class="css-a4x74f"><span>3909</span></td><td id="LC3909" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset >= <span class="code-number">0</span>; offset--) { </code></td></tr><tr><td id="L3910" class="css-a4x74f"><span>3910</span></td><td id="LC3910" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isWhiteSpace$<span class="code-number">1</span>(source.charCodeAt(offset))) { </code></td></tr><tr><td id="L3911" class="css-a4x74f"><span>3911</span></td><td id="LC3911" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3912" class="css-a4x74f"><span>3912</span></td><td id="LC3912" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3913" class="css-a4x74f"><span>3913</span></td><td id="LC3913" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3914" class="css-a4x74f"><span>3914</span></td><td id="LC3914" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3915" class="css-a4x74f"><span>3915</span></td><td id="LC3915" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset + <span class="code-number">1</span>; </code></td></tr><tr><td id="L3916" class="css-a4x74f"><span>3916</span></td><td id="LC3916" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3917" class="css-a4x74f"><span>3917</span></td><td id="LC3917" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3918" class="css-a4x74f"><span>3918</span></td><td id="LC3918" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findWhiteSpaceEnd</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3919" class="css-a4x74f"><span>3919</span></td><td id="LC3919" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L3920" class="css-a4x74f"><span>3920</span></td><td id="LC3920" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isWhiteSpace$<span class="code-number">1</span>(source.charCodeAt(offset))) { </code></td></tr><tr><td id="L3921" class="css-a4x74f"><span>3921</span></td><td id="LC3921" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3922" class="css-a4x74f"><span>3922</span></td><td id="LC3922" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3923" class="css-a4x74f"><span>3923</span></td><td id="LC3923" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3924" class="css-a4x74f"><span>3924</span></td><td id="LC3924" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3925" class="css-a4x74f"><span>3925</span></td><td id="LC3925" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L3926" class="css-a4x74f"><span>3926</span></td><td id="LC3926" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3927" class="css-a4x74f"><span>3927</span></td><td id="LC3927" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3928" class="css-a4x74f"><span>3928</span></td><td id="LC3928" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findDecimalNumberEnd</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3929" class="css-a4x74f"><span>3929</span></td><td id="LC3929" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L3930" class="css-a4x74f"><span>3930</span></td><td id="LC3930" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">1</span>(source.charCodeAt(offset))) { </code></td></tr><tr><td id="L3931" class="css-a4x74f"><span>3931</span></td><td id="LC3931" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3932" class="css-a4x74f"><span>3932</span></td><td id="LC3932" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3933" class="css-a4x74f"><span>3933</span></td><td id="LC3933" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3934" class="css-a4x74f"><span>3934</span></td><td id="LC3934" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3935" class="css-a4x74f"><span>3935</span></td><td id="LC3935" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L3936" class="css-a4x74f"><span>3936</span></td><td id="LC3936" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3937" class="css-a4x74f"><span>3937</span></td><td id="LC3937" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3938" class="css-a4x74f"><span>3938</span></td><td id="LC3938" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.7. Consume an escaped code point</span> </code></td></tr><tr><td id="L3939" class="css-a4x74f"><span>3939</span></td><td id="LC3939" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeEscaped</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3940" class="css-a4x74f"><span>3940</span></td><td id="LC3940" class="css-1dcdqdg"><code> <span class="code-comment">// It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed and</span> </code></td></tr><tr><td id="L3941" class="css-a4x74f"><span>3941</span></td><td id="LC3941" class="css-1dcdqdg"><code> <span class="code-comment">// that the next input code point has already been verified to be part of a valid escape.</span> </code></td></tr><tr><td id="L3942" class="css-a4x74f"><span>3942</span></td><td id="LC3942" class="css-1dcdqdg"><code> offset += <span class="code-number">2</span>; </code></td></tr><tr><td id="L3943" class="css-a4x74f"><span>3943</span></td><td id="LC3943" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3944" class="css-a4x74f"><span>3944</span></td><td id="LC3944" class="css-1dcdqdg"><code> <span class="code-comment">// hex digit</span> </code></td></tr><tr><td id="L3945" class="css-a4x74f"><span>3945</span></td><td id="LC3945" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isHexDigit$<span class="code-number">1</span>(getCharCode(source, offset - <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L3946" class="css-a4x74f"><span>3946</span></td><td id="LC3946" class="css-1dcdqdg"><code> <span class="code-comment">// Consume as many hex digits as possible, but no more than 5.</span> </code></td></tr><tr><td id="L3947" class="css-a4x74f"><span>3947</span></td><td id="LC3947" class="css-1dcdqdg"><code> <span class="code-comment">// Note that this means 1-6 hex digits have been consumed in total.</span> </code></td></tr><tr><td id="L3948" class="css-a4x74f"><span>3948</span></td><td id="LC3948" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> maxOffset = <span class="code-built_in">Math</span>.min(source.length, offset + <span class="code-number">5</span>); offset < maxOffset; offset++) { </code></td></tr><tr><td id="L3949" class="css-a4x74f"><span>3949</span></td><td id="LC3949" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHexDigit$<span class="code-number">1</span>(getCharCode(source, offset))) { </code></td></tr><tr><td id="L3950" class="css-a4x74f"><span>3950</span></td><td id="LC3950" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3951" class="css-a4x74f"><span>3951</span></td><td id="LC3951" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3952" class="css-a4x74f"><span>3952</span></td><td id="LC3952" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3953" class="css-a4x74f"><span>3953</span></td><td id="LC3953" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3954" class="css-a4x74f"><span>3954</span></td><td id="LC3954" class="css-1dcdqdg"><code> <span class="code-comment">// If the next input code point is whitespace, consume it as well.</span> </code></td></tr><tr><td id="L3955" class="css-a4x74f"><span>3955</span></td><td id="LC3955" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = getCharCode(source, offset); </code></td></tr><tr><td id="L3956" class="css-a4x74f"><span>3956</span></td><td id="LC3956" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isWhiteSpace$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L3957" class="css-a4x74f"><span>3957</span></td><td id="LC3957" class="css-1dcdqdg"><code> offset += getNewlineLength(source, offset, code); </code></td></tr><tr><td id="L3958" class="css-a4x74f"><span>3958</span></td><td id="LC3958" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3959" class="css-a4x74f"><span>3959</span></td><td id="LC3959" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3960" class="css-a4x74f"><span>3960</span></td><td id="LC3960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3961" class="css-a4x74f"><span>3961</span></td><td id="LC3961" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L3962" class="css-a4x74f"><span>3962</span></td><td id="LC3962" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3963" class="css-a4x74f"><span>3963</span></td><td id="LC3963" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3964" class="css-a4x74f"><span>3964</span></td><td id="LC3964" class="css-1dcdqdg"><code> <span class="code-comment">// §4.3.11. Consume a name</span> </code></td></tr><tr><td id="L3965" class="css-a4x74f"><span>3965</span></td><td id="LC3965" class="css-1dcdqdg"><code> <span class="code-comment">// Note: This algorithm does not do the verification of the first few code points that are necessary</span> </code></td></tr><tr><td id="L3966" class="css-a4x74f"><span>3966</span></td><td id="LC3966" class="css-1dcdqdg"><code> <span class="code-comment">// to ensure the returned code points would constitute an <ident-token>. If that is the intended use,</span> </code></td></tr><tr><td id="L3967" class="css-a4x74f"><span>3967</span></td><td id="LC3967" class="css-1dcdqdg"><code> <span class="code-comment">// ensure that the stream starts with an identifier before calling this algorithm.</span> </code></td></tr><tr><td id="L3968" class="css-a4x74f"><span>3968</span></td><td id="LC3968" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeName</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3969" class="css-a4x74f"><span>3969</span></td><td id="LC3969" class="css-1dcdqdg"><code> <span class="code-comment">// Let result initially be an empty string.</span> </code></td></tr><tr><td id="L3970" class="css-a4x74f"><span>3970</span></td><td id="LC3970" class="css-1dcdqdg"><code> <span class="code-comment">// Repeatedly consume the next input code point from the stream:</span> </code></td></tr><tr><td id="L3971" class="css-a4x74f"><span>3971</span></td><td id="LC3971" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L3972" class="css-a4x74f"><span>3972</span></td><td id="LC3972" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L3973" class="css-a4x74f"><span>3973</span></td><td id="LC3973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3974" class="css-a4x74f"><span>3974</span></td><td id="LC3974" class="css-1dcdqdg"><code> <span class="code-comment">// name code point</span> </code></td></tr><tr><td id="L3975" class="css-a4x74f"><span>3975</span></td><td id="LC3975" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isName$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L3976" class="css-a4x74f"><span>3976</span></td><td id="LC3976" class="css-1dcdqdg"><code> <span class="code-comment">// Append the code point to result.</span> </code></td></tr><tr><td id="L3977" class="css-a4x74f"><span>3977</span></td><td id="LC3977" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L3978" class="css-a4x74f"><span>3978</span></td><td id="LC3978" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3979" class="css-a4x74f"><span>3979</span></td><td id="LC3979" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3980" class="css-a4x74f"><span>3980</span></td><td id="LC3980" class="css-1dcdqdg"><code> <span class="code-comment">// the stream starts with a valid escape</span> </code></td></tr><tr><td id="L3981" class="css-a4x74f"><span>3981</span></td><td id="LC3981" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isValidEscape$<span class="code-number">1</span>(code, getCharCode(source, offset + <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L3982" class="css-a4x74f"><span>3982</span></td><td id="LC3982" class="css-1dcdqdg"><code> <span class="code-comment">// Consume an escaped code point. Append the returned code point to result.</span> </code></td></tr><tr><td id="L3983" class="css-a4x74f"><span>3983</span></td><td id="LC3983" class="css-1dcdqdg"><code> offset = consumeEscaped(source, offset) - <span class="code-number">1</span>; </code></td></tr><tr><td id="L3984" class="css-a4x74f"><span>3984</span></td><td id="LC3984" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L3985" class="css-a4x74f"><span>3985</span></td><td id="LC3985" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3986" class="css-a4x74f"><span>3986</span></td><td id="LC3986" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3987" class="css-a4x74f"><span>3987</span></td><td id="LC3987" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L3988" class="css-a4x74f"><span>3988</span></td><td id="LC3988" class="css-1dcdqdg"><code> <span class="code-comment">// Reconsume the current input code point. Return result.</span> </code></td></tr><tr><td id="L3989" class="css-a4x74f"><span>3989</span></td><td id="LC3989" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L3990" class="css-a4x74f"><span>3990</span></td><td id="LC3990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3991" class="css-a4x74f"><span>3991</span></td><td id="LC3991" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3992" class="css-a4x74f"><span>3992</span></td><td id="LC3992" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L3993" class="css-a4x74f"><span>3993</span></td><td id="LC3993" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L3994" class="css-a4x74f"><span>3994</span></td><td id="LC3994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3995" class="css-a4x74f"><span>3995</span></td><td id="LC3995" class="css-1dcdqdg"><code> <span class="code-comment">// §4.3.12. Consume a number</span> </code></td></tr><tr><td id="L3996" class="css-a4x74f"><span>3996</span></td><td id="LC3996" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeNumber</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L3997" class="css-a4x74f"><span>3997</span></td><td id="LC3997" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L3998" class="css-a4x74f"><span>3998</span></td><td id="LC3998" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L3999" class="css-a4x74f"><span>3999</span></td><td id="LC3999" class="css-1dcdqdg"><code> <span class="code-comment">// 2. If the next input code point is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-),</span> </code></td></tr><tr><td id="L4000" class="css-a4x74f"><span>4000</span></td><td id="LC4000" class="css-1dcdqdg"><code> <span class="code-comment">// consume it and append it to repr.</span> </code></td></tr><tr><td id="L4001" class="css-a4x74f"><span>4001</span></td><td id="LC4001" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0x002B</span> || code === <span class="code-number">0x002D</span>) { </code></td></tr><tr><td id="L4002" class="css-a4x74f"><span>4002</span></td><td id="LC4002" class="css-1dcdqdg"><code> code = source.charCodeAt(offset += <span class="code-number">1</span>); </code></td></tr><tr><td id="L4003" class="css-a4x74f"><span>4003</span></td><td id="LC4003" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4004" class="css-a4x74f"><span>4004</span></td><td id="LC4004" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4005" class="css-a4x74f"><span>4005</span></td><td id="LC4005" class="css-1dcdqdg"><code> <span class="code-comment">// 3. While the next input code point is a digit, consume it and append it to repr.</span> </code></td></tr><tr><td id="L4006" class="css-a4x74f"><span>4006</span></td><td id="LC4006" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDigit$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4007" class="css-a4x74f"><span>4007</span></td><td id="LC4007" class="css-1dcdqdg"><code> offset = findDecimalNumberEnd(source, offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4008" class="css-a4x74f"><span>4008</span></td><td id="LC4008" class="css-1dcdqdg"><code> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L4009" class="css-a4x74f"><span>4009</span></td><td id="LC4009" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4010" class="css-a4x74f"><span>4010</span></td><td id="LC4010" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4011" class="css-a4x74f"><span>4011</span></td><td id="LC4011" class="css-1dcdqdg"><code> <span class="code-comment">// 4. If the next 2 input code points are U+002E FULL STOP (.) followed by a digit, then:</span> </code></td></tr><tr><td id="L4012" class="css-a4x74f"><span>4012</span></td><td id="LC4012" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0x002E</span> && isDigit$<span class="code-number">1</span>(source.charCodeAt(offset + <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L4013" class="css-a4x74f"><span>4013</span></td><td id="LC4013" class="css-1dcdqdg"><code> <span class="code-comment">// 4.1 Consume them.</span> </code></td></tr><tr><td id="L4014" class="css-a4x74f"><span>4014</span></td><td id="LC4014" class="css-1dcdqdg"><code> <span class="code-comment">// 4.2 Append them to repr.</span> </code></td></tr><tr><td id="L4015" class="css-a4x74f"><span>4015</span></td><td id="LC4015" class="css-1dcdqdg"><code> code = source.charCodeAt(offset += <span class="code-number">2</span>); </code></td></tr><tr><td id="L4016" class="css-a4x74f"><span>4016</span></td><td id="LC4016" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4017" class="css-a4x74f"><span>4017</span></td><td id="LC4017" class="css-1dcdqdg"><code> <span class="code-comment">// 4.3 Set type to "number".</span> </code></td></tr><tr><td id="L4018" class="css-a4x74f"><span>4018</span></td><td id="LC4018" class="css-1dcdqdg"><code> <span class="code-comment">// TODO</span> </code></td></tr><tr><td id="L4019" class="css-a4x74f"><span>4019</span></td><td id="LC4019" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4020" class="css-a4x74f"><span>4020</span></td><td id="LC4020" class="css-1dcdqdg"><code> <span class="code-comment">// 4.4 While the next input code point is a digit, consume it and append it to repr.</span> </code></td></tr><tr><td id="L4021" class="css-a4x74f"><span>4021</span></td><td id="LC4021" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4022" class="css-a4x74f"><span>4022</span></td><td id="LC4022" class="css-1dcdqdg"><code> offset = findDecimalNumberEnd(source, offset); </code></td></tr><tr><td id="L4023" class="css-a4x74f"><span>4023</span></td><td id="LC4023" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4024" class="css-a4x74f"><span>4024</span></td><td id="LC4024" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4025" class="css-a4x74f"><span>4025</span></td><td id="LC4025" class="css-1dcdqdg"><code> <span class="code-comment">// 5. If the next 2 or 3 input code points are U+0045 LATIN CAPITAL LETTER E (E)</span> </code></td></tr><tr><td id="L4026" class="css-a4x74f"><span>4026</span></td><td id="LC4026" class="css-1dcdqdg"><code> <span class="code-comment">// or U+0065 LATIN SMALL LETTER E (e), ... , followed by a digit, then:</span> </code></td></tr><tr><td id="L4027" class="css-a4x74f"><span>4027</span></td><td id="LC4027" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmpChar(source, offset, <span class="code-number">101</span> <span class="code-comment">/* e */</span>)) { </code></td></tr><tr><td id="L4028" class="css-a4x74f"><span>4028</span></td><td id="LC4028" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4029" class="css-a4x74f"><span>4029</span></td><td id="LC4029" class="css-1dcdqdg"><code> code = source.charCodeAt(offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4030" class="css-a4x74f"><span>4030</span></td><td id="LC4030" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4031" class="css-a4x74f"><span>4031</span></td><td id="LC4031" class="css-1dcdqdg"><code> <span class="code-comment">// ... optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+) ...</span> </code></td></tr><tr><td id="L4032" class="css-a4x74f"><span>4032</span></td><td id="LC4032" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0x002D</span> || code === <span class="code-number">0x002B</span>) { </code></td></tr><tr><td id="L4033" class="css-a4x74f"><span>4033</span></td><td id="LC4033" class="css-1dcdqdg"><code> sign = <span class="code-number">1</span>; </code></td></tr><tr><td id="L4034" class="css-a4x74f"><span>4034</span></td><td id="LC4034" class="css-1dcdqdg"><code> code = source.charCodeAt(offset + <span class="code-number">2</span>); </code></td></tr><tr><td id="L4035" class="css-a4x74f"><span>4035</span></td><td id="LC4035" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4036" class="css-a4x74f"><span>4036</span></td><td id="LC4036" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4037" class="css-a4x74f"><span>4037</span></td><td id="LC4037" class="css-1dcdqdg"><code> <span class="code-comment">// ... followed by a digit</span> </code></td></tr><tr><td id="L4038" class="css-a4x74f"><span>4038</span></td><td id="LC4038" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDigit$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4039" class="css-a4x74f"><span>4039</span></td><td id="LC4039" class="css-1dcdqdg"><code> <span class="code-comment">// 5.1 Consume them.</span> </code></td></tr><tr><td id="L4040" class="css-a4x74f"><span>4040</span></td><td id="LC4040" class="css-1dcdqdg"><code> <span class="code-comment">// 5.2 Append them to repr.</span> </code></td></tr><tr><td id="L4041" class="css-a4x74f"><span>4041</span></td><td id="LC4041" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4042" class="css-a4x74f"><span>4042</span></td><td id="LC4042" class="css-1dcdqdg"><code> <span class="code-comment">// 5.3 Set type to "number".</span> </code></td></tr><tr><td id="L4043" class="css-a4x74f"><span>4043</span></td><td id="LC4043" class="css-1dcdqdg"><code> <span class="code-comment">// TODO</span> </code></td></tr><tr><td id="L4044" class="css-a4x74f"><span>4044</span></td><td id="LC4044" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4045" class="css-a4x74f"><span>4045</span></td><td id="LC4045" class="css-1dcdqdg"><code> <span class="code-comment">// 5.4 While the next input code point is a digit, consume it and append it to repr.</span> </code></td></tr><tr><td id="L4046" class="css-a4x74f"><span>4046</span></td><td id="LC4046" class="css-1dcdqdg"><code> offset = findDecimalNumberEnd(source, offset + <span class="code-number">1</span> + sign + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4047" class="css-a4x74f"><span>4047</span></td><td id="LC4047" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4048" class="css-a4x74f"><span>4048</span></td><td id="LC4048" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4049" class="css-a4x74f"><span>4049</span></td><td id="LC4049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4050" class="css-a4x74f"><span>4050</span></td><td id="LC4050" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L4051" class="css-a4x74f"><span>4051</span></td><td id="LC4051" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4052" class="css-a4x74f"><span>4052</span></td><td id="LC4052" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4053" class="css-a4x74f"><span>4053</span></td><td id="LC4053" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.14. Consume the remnants of a bad url</span> </code></td></tr><tr><td id="L4054" class="css-a4x74f"><span>4054</span></td><td id="LC4054" class="css-1dcdqdg"><code> <span class="code-comment">// ... its sole use is to consume enough of the input stream to reach a recovery point</span> </code></td></tr><tr><td id="L4055" class="css-a4x74f"><span>4055</span></td><td id="LC4055" class="css-1dcdqdg"><code> <span class="code-comment">// where normal tokenizing can resume.</span> </code></td></tr><tr><td id="L4056" class="css-a4x74f"><span>4056</span></td><td id="LC4056" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeBadUrlRemnants</span>(<span class="code-params">source, offset</span>) </span>{ </code></td></tr><tr><td id="L4057" class="css-a4x74f"><span>4057</span></td><td id="LC4057" class="css-1dcdqdg"><code> <span class="code-comment">// Repeatedly consume the next input code point from the stream:</span> </code></td></tr><tr><td id="L4058" class="css-a4x74f"><span>4058</span></td><td id="LC4058" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L4059" class="css-a4x74f"><span>4059</span></td><td id="LC4059" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L4060" class="css-a4x74f"><span>4060</span></td><td id="LC4060" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4061" class="css-a4x74f"><span>4061</span></td><td id="LC4061" class="css-1dcdqdg"><code> <span class="code-comment">// U+0029 RIGHT PARENTHESIS ())</span> </code></td></tr><tr><td id="L4062" class="css-a4x74f"><span>4062</span></td><td id="LC4062" class="css-1dcdqdg"><code> <span class="code-comment">// EOF</span> </code></td></tr><tr><td id="L4063" class="css-a4x74f"><span>4063</span></td><td id="LC4063" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === <span class="code-number">0x0029</span>) { </code></td></tr><tr><td id="L4064" class="css-a4x74f"><span>4064</span></td><td id="LC4064" class="css-1dcdqdg"><code> <span class="code-comment">// Return.</span> </code></td></tr><tr><td id="L4065" class="css-a4x74f"><span>4065</span></td><td id="LC4065" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4066" class="css-a4x74f"><span>4066</span></td><td id="LC4066" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4067" class="css-a4x74f"><span>4067</span></td><td id="LC4067" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4068" class="css-a4x74f"><span>4068</span></td><td id="LC4068" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4069" class="css-a4x74f"><span>4069</span></td><td id="LC4069" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isValidEscape$<span class="code-number">1</span>(code, getCharCode(source, offset + <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L4070" class="css-a4x74f"><span>4070</span></td><td id="LC4070" class="css-1dcdqdg"><code> <span class="code-comment">// Consume an escaped code point.</span> </code></td></tr><tr><td id="L4071" class="css-a4x74f"><span>4071</span></td><td id="LC4071" class="css-1dcdqdg"><code> <span class="code-comment">// Note: This allows an escaped right parenthesis ("\)") to be encountered</span> </code></td></tr><tr><td id="L4072" class="css-a4x74f"><span>4072</span></td><td id="LC4072" class="css-1dcdqdg"><code> <span class="code-comment">// without ending the <bad-url-token>. This is otherwise identical to</span> </code></td></tr><tr><td id="L4073" class="css-a4x74f"><span>4073</span></td><td id="LC4073" class="css-1dcdqdg"><code> <span class="code-comment">// the "anything else" clause.</span> </code></td></tr><tr><td id="L4074" class="css-a4x74f"><span>4074</span></td><td id="LC4074" class="css-1dcdqdg"><code> offset = consumeEscaped(source, offset); </code></td></tr><tr><td id="L4075" class="css-a4x74f"><span>4075</span></td><td id="LC4075" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4076" class="css-a4x74f"><span>4076</span></td><td id="LC4076" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4077" class="css-a4x74f"><span>4077</span></td><td id="LC4077" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4078" class="css-a4x74f"><span>4078</span></td><td id="LC4078" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L4079" class="css-a4x74f"><span>4079</span></td><td id="LC4079" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4080" class="css-a4x74f"><span>4080</span></td><td id="LC4080" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4081" class="css-a4x74f"><span>4081</span></td><td id="LC4081" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> utils = { </code></td></tr><tr><td id="L4082" class="css-a4x74f"><span>4082</span></td><td id="LC4082" class="css-1dcdqdg"><code> consumeEscaped: consumeEscaped, </code></td></tr><tr><td id="L4083" class="css-a4x74f"><span>4083</span></td><td id="LC4083" class="css-1dcdqdg"><code> consumeName: consumeName, </code></td></tr><tr><td id="L4084" class="css-a4x74f"><span>4084</span></td><td id="LC4084" class="css-1dcdqdg"><code> consumeNumber: consumeNumber, </code></td></tr><tr><td id="L4085" class="css-a4x74f"><span>4085</span></td><td id="LC4085" class="css-1dcdqdg"><code> consumeBadUrlRemnants: consumeBadUrlRemnants, </code></td></tr><tr><td id="L4086" class="css-a4x74f"><span>4086</span></td><td id="LC4086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4087" class="css-a4x74f"><span>4087</span></td><td id="LC4087" class="css-1dcdqdg"><code> cmpChar: cmpChar, </code></td></tr><tr><td id="L4088" class="css-a4x74f"><span>4088</span></td><td id="LC4088" class="css-1dcdqdg"><code> cmpStr: cmpStr, </code></td></tr><tr><td id="L4089" class="css-a4x74f"><span>4089</span></td><td id="LC4089" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4090" class="css-a4x74f"><span>4090</span></td><td id="LC4090" class="css-1dcdqdg"><code> getNewlineLength: getNewlineLength, </code></td></tr><tr><td id="L4091" class="css-a4x74f"><span>4091</span></td><td id="LC4091" class="css-1dcdqdg"><code> findWhiteSpaceStart: findWhiteSpaceStart, </code></td></tr><tr><td id="L4092" class="css-a4x74f"><span>4092</span></td><td id="LC4092" class="css-1dcdqdg"><code> findWhiteSpaceEnd: findWhiteSpaceEnd </code></td></tr><tr><td id="L4093" class="css-a4x74f"><span>4093</span></td><td id="LC4093" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4094" class="css-a4x74f"><span>4094</span></td><td id="LC4094" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4095" class="css-a4x74f"><span>4095</span></td><td id="LC4095" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">1</span> = _const.TYPE; </code></td></tr><tr><td id="L4096" class="css-a4x74f"><span>4096</span></td><td id="LC4096" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NAME$<span class="code-number">1</span> = _const.NAME; </code></td></tr><tr><td id="L4097" class="css-a4x74f"><span>4097</span></td><td id="LC4097" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4098" class="css-a4x74f"><span>4098</span></td><td id="LC4098" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4099" class="css-a4x74f"><span>4099</span></td><td id="LC4099" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpStr$<span class="code-number">1</span> = utils.cmpStr; </code></td></tr><tr><td id="L4100" class="css-a4x74f"><span>4100</span></td><td id="LC4100" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4101" class="css-a4x74f"><span>4101</span></td><td id="LC4101" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EOF$<span class="code-number">1</span> = TYPE$<span class="code-number">1.</span>EOF; </code></td></tr><tr><td id="L4102" class="css-a4x74f"><span>4102</span></td><td id="LC4102" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE = TYPE$<span class="code-number">1.</span>WhiteSpace; </code></td></tr><tr><td id="L4103" class="css-a4x74f"><span>4103</span></td><td id="LC4103" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT = TYPE$<span class="code-number">1.</span>Comment; </code></td></tr><tr><td id="L4104" class="css-a4x74f"><span>4104</span></td><td id="LC4104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4105" class="css-a4x74f"><span>4105</span></td><td id="LC4105" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OFFSET_MASK = <span class="code-number">0x00FFFFFF</span>; </code></td></tr><tr><td id="L4106" class="css-a4x74f"><span>4106</span></td><td id="LC4106" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE_SHIFT = <span class="code-number">24</span>; </code></td></tr><tr><td id="L4107" class="css-a4x74f"><span>4107</span></td><td id="LC4107" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4108" class="css-a4x74f"><span>4108</span></td><td id="LC4108" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TokenStream = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4109" class="css-a4x74f"><span>4109</span></td><td id="LC4109" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.offsetAndType = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L4110" class="css-a4x74f"><span>4110</span></td><td id="LC4110" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.balance = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L4111" class="css-a4x74f"><span>4111</span></td><td id="LC4111" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4112" class="css-a4x74f"><span>4112</span></td><td id="LC4112" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.reset(); </code></td></tr><tr><td id="L4113" class="css-a4x74f"><span>4113</span></td><td id="LC4113" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4114" class="css-a4x74f"><span>4114</span></td><td id="LC4114" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4115" class="css-a4x74f"><span>4115</span></td><td id="LC4115" class="css-1dcdqdg"><code> TokenStream.prototype = { </code></td></tr><tr><td id="L4116" class="css-a4x74f"><span>4116</span></td><td id="LC4116" class="css-1dcdqdg"><code> reset: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4117" class="css-a4x74f"><span>4117</span></td><td id="LC4117" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eof = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L4118" class="css-a4x74f"><span>4118</span></td><td id="LC4118" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenIndex = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L4119" class="css-a4x74f"><span>4119</span></td><td id="LC4119" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenType = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4120" class="css-a4x74f"><span>4120</span></td><td id="LC4120" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenStart = <span class="code-keyword">this</span>.firstCharOffset; </code></td></tr><tr><td id="L4121" class="css-a4x74f"><span>4121</span></td><td id="LC4121" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenEnd = <span class="code-keyword">this</span>.firstCharOffset; </code></td></tr><tr><td id="L4122" class="css-a4x74f"><span>4122</span></td><td id="LC4122" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4123" class="css-a4x74f"><span>4123</span></td><td id="LC4123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4124" class="css-a4x74f"><span>4124</span></td><td id="LC4124" class="css-1dcdqdg"><code> lookupType: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">offset</span>) </span>{ </code></td></tr><tr><td id="L4125" class="css-a4x74f"><span>4125</span></td><td id="LC4125" class="css-1dcdqdg"><code> offset += <span class="code-keyword">this</span>.tokenIndex; </code></td></tr><tr><td id="L4126" class="css-a4x74f"><span>4126</span></td><td id="LC4126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4127" class="css-a4x74f"><span>4127</span></td><td id="LC4127" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset < <span class="code-keyword">this</span>.tokenCount) { </code></td></tr><tr><td id="L4128" class="css-a4x74f"><span>4128</span></td><td id="LC4128" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.offsetAndType[offset] >> TYPE_SHIFT; </code></td></tr><tr><td id="L4129" class="css-a4x74f"><span>4129</span></td><td id="LC4129" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4130" class="css-a4x74f"><span>4130</span></td><td id="LC4130" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4131" class="css-a4x74f"><span>4131</span></td><td id="LC4131" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> EOF$<span class="code-number">1</span>; </code></td></tr><tr><td id="L4132" class="css-a4x74f"><span>4132</span></td><td id="LC4132" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4133" class="css-a4x74f"><span>4133</span></td><td id="LC4133" class="css-1dcdqdg"><code> lookupOffset: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">offset</span>) </span>{ </code></td></tr><tr><td id="L4134" class="css-a4x74f"><span>4134</span></td><td id="LC4134" class="css-1dcdqdg"><code> offset += <span class="code-keyword">this</span>.tokenIndex; </code></td></tr><tr><td id="L4135" class="css-a4x74f"><span>4135</span></td><td id="LC4135" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4136" class="css-a4x74f"><span>4136</span></td><td id="LC4136" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset < <span class="code-keyword">this</span>.tokenCount) { </code></td></tr><tr><td id="L4137" class="css-a4x74f"><span>4137</span></td><td id="LC4137" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.offsetAndType[offset - <span class="code-number">1</span>] & OFFSET_MASK; </code></td></tr><tr><td id="L4138" class="css-a4x74f"><span>4138</span></td><td id="LC4138" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4139" class="css-a4x74f"><span>4139</span></td><td id="LC4139" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4140" class="css-a4x74f"><span>4140</span></td><td id="LC4140" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.source.length; </code></td></tr><tr><td id="L4141" class="css-a4x74f"><span>4141</span></td><td id="LC4141" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4142" class="css-a4x74f"><span>4142</span></td><td id="LC4142" class="css-1dcdqdg"><code> lookupValue: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">offset, referenceStr</span>) </span>{ </code></td></tr><tr><td id="L4143" class="css-a4x74f"><span>4143</span></td><td id="LC4143" class="css-1dcdqdg"><code> offset += <span class="code-keyword">this</span>.tokenIndex; </code></td></tr><tr><td id="L4144" class="css-a4x74f"><span>4144</span></td><td id="LC4144" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4145" class="css-a4x74f"><span>4145</span></td><td id="LC4145" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset < <span class="code-keyword">this</span>.tokenCount) { </code></td></tr><tr><td id="L4146" class="css-a4x74f"><span>4146</span></td><td id="LC4146" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmpStr$<span class="code-number">1</span>( </code></td></tr><tr><td id="L4147" class="css-a4x74f"><span>4147</span></td><td id="LC4147" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.source, </code></td></tr><tr><td id="L4148" class="css-a4x74f"><span>4148</span></td><td id="LC4148" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.offsetAndType[offset - <span class="code-number">1</span>] & OFFSET_MASK, </code></td></tr><tr><td id="L4149" class="css-a4x74f"><span>4149</span></td><td id="LC4149" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.offsetAndType[offset] & OFFSET_MASK, </code></td></tr><tr><td id="L4150" class="css-a4x74f"><span>4150</span></td><td id="LC4150" class="css-1dcdqdg"><code> referenceStr </code></td></tr><tr><td id="L4151" class="css-a4x74f"><span>4151</span></td><td id="LC4151" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4152" class="css-a4x74f"><span>4152</span></td><td id="LC4152" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4153" class="css-a4x74f"><span>4153</span></td><td id="LC4153" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4154" class="css-a4x74f"><span>4154</span></td><td id="LC4154" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L4155" class="css-a4x74f"><span>4155</span></td><td id="LC4155" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4156" class="css-a4x74f"><span>4156</span></td><td id="LC4156" class="css-1dcdqdg"><code> getTokenStart: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">tokenIndex</span>) </span>{ </code></td></tr><tr><td id="L4157" class="css-a4x74f"><span>4157</span></td><td id="LC4157" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenIndex === <span class="code-keyword">this</span>.tokenIndex) { </code></td></tr><tr><td id="L4158" class="css-a4x74f"><span>4158</span></td><td id="LC4158" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.tokenStart; </code></td></tr><tr><td id="L4159" class="css-a4x74f"><span>4159</span></td><td id="LC4159" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4160" class="css-a4x74f"><span>4160</span></td><td id="LC4160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4161" class="css-a4x74f"><span>4161</span></td><td id="LC4161" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenIndex > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L4162" class="css-a4x74f"><span>4162</span></td><td id="LC4162" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenIndex < <span class="code-keyword">this</span>.tokenCount </code></td></tr><tr><td id="L4163" class="css-a4x74f"><span>4163</span></td><td id="LC4163" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.offsetAndType[tokenIndex - <span class="code-number">1</span>] & OFFSET_MASK </code></td></tr><tr><td id="L4164" class="css-a4x74f"><span>4164</span></td><td id="LC4164" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.offsetAndType[<span class="code-keyword">this</span>.tokenCount] & OFFSET_MASK; </code></td></tr><tr><td id="L4165" class="css-a4x74f"><span>4165</span></td><td id="LC4165" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4166" class="css-a4x74f"><span>4166</span></td><td id="LC4166" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4167" class="css-a4x74f"><span>4167</span></td><td id="LC4167" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.firstCharOffset; </code></td></tr><tr><td id="L4168" class="css-a4x74f"><span>4168</span></td><td id="LC4168" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4169" class="css-a4x74f"><span>4169</span></td><td id="LC4169" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4170" class="css-a4x74f"><span>4170</span></td><td id="LC4170" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> -> skipUntilBalanced</span> </code></td></tr><tr><td id="L4171" class="css-a4x74f"><span>4171</span></td><td id="LC4171" class="css-1dcdqdg"><code> getRawLength: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">startToken, mode</span>) </span>{ </code></td></tr><tr><td id="L4172" class="css-a4x74f"><span>4172</span></td><td id="LC4172" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = startToken; </code></td></tr><tr><td id="L4173" class="css-a4x74f"><span>4173</span></td><td id="LC4173" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> balanceEnd; </code></td></tr><tr><td id="L4174" class="css-a4x74f"><span>4174</span></td><td id="LC4174" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = <span class="code-keyword">this</span>.offsetAndType[<span class="code-built_in">Math</span>.max(cursor - <span class="code-number">1</span>, <span class="code-number">0</span>)] & OFFSET_MASK; </code></td></tr><tr><td id="L4175" class="css-a4x74f"><span>4175</span></td><td id="LC4175" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> type; </code></td></tr><tr><td id="L4176" class="css-a4x74f"><span>4176</span></td><td id="LC4176" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4177" class="css-a4x74f"><span>4177</span></td><td id="LC4177" class="css-1dcdqdg"><code> loop: </code></td></tr><tr><td id="L4178" class="css-a4x74f"><span>4178</span></td><td id="LC4178" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; cursor < <span class="code-keyword">this</span>.tokenCount; cursor++) { </code></td></tr><tr><td id="L4179" class="css-a4x74f"><span>4179</span></td><td id="LC4179" class="css-1dcdqdg"><code> balanceEnd = <span class="code-keyword">this</span>.balance[cursor]; </code></td></tr><tr><td id="L4180" class="css-a4x74f"><span>4180</span></td><td id="LC4180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4181" class="css-a4x74f"><span>4181</span></td><td id="LC4181" class="css-1dcdqdg"><code> <span class="code-comment">// stop scanning on balance edge that points to offset before start token</span> </code></td></tr><tr><td id="L4182" class="css-a4x74f"><span>4182</span></td><td id="LC4182" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (balanceEnd < startToken) { </code></td></tr><tr><td id="L4183" class="css-a4x74f"><span>4183</span></td><td id="LC4183" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> loop; </code></td></tr><tr><td id="L4184" class="css-a4x74f"><span>4184</span></td><td id="LC4184" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4185" class="css-a4x74f"><span>4185</span></td><td id="LC4185" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4186" class="css-a4x74f"><span>4186</span></td><td id="LC4186" class="css-1dcdqdg"><code> type = <span class="code-keyword">this</span>.offsetAndType[cursor] >> TYPE_SHIFT; </code></td></tr><tr><td id="L4187" class="css-a4x74f"><span>4187</span></td><td id="LC4187" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4188" class="css-a4x74f"><span>4188</span></td><td id="LC4188" class="css-1dcdqdg"><code> <span class="code-comment">// check token is stop type</span> </code></td></tr><tr><td id="L4189" class="css-a4x74f"><span>4189</span></td><td id="LC4189" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (mode(type, <span class="code-keyword">this</span>.source, offset)) { </code></td></tr><tr><td id="L4190" class="css-a4x74f"><span>4190</span></td><td id="LC4190" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">1</span>: </code></td></tr><tr><td id="L4191" class="css-a4x74f"><span>4191</span></td><td id="LC4191" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> loop; </code></td></tr><tr><td id="L4192" class="css-a4x74f"><span>4192</span></td><td id="LC4192" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4193" class="css-a4x74f"><span>4193</span></td><td id="LC4193" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L4194" class="css-a4x74f"><span>4194</span></td><td id="LC4194" class="css-1dcdqdg"><code> cursor++; </code></td></tr><tr><td id="L4195" class="css-a4x74f"><span>4195</span></td><td id="LC4195" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> loop; </code></td></tr><tr><td id="L4196" class="css-a4x74f"><span>4196</span></td><td id="LC4196" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4197" class="css-a4x74f"><span>4197</span></td><td id="LC4197" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L4198" class="css-a4x74f"><span>4198</span></td><td id="LC4198" class="css-1dcdqdg"><code> offset = <span class="code-keyword">this</span>.offsetAndType[cursor] & OFFSET_MASK; </code></td></tr><tr><td id="L4199" class="css-a4x74f"><span>4199</span></td><td id="LC4199" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4200" class="css-a4x74f"><span>4200</span></td><td id="LC4200" class="css-1dcdqdg"><code> <span class="code-comment">// fast forward to the end of balanced block</span> </code></td></tr><tr><td id="L4201" class="css-a4x74f"><span>4201</span></td><td id="LC4201" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.balance[balanceEnd] === cursor) { </code></td></tr><tr><td id="L4202" class="css-a4x74f"><span>4202</span></td><td id="LC4202" class="css-1dcdqdg"><code> cursor = balanceEnd; </code></td></tr><tr><td id="L4203" class="css-a4x74f"><span>4203</span></td><td id="LC4203" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4204" class="css-a4x74f"><span>4204</span></td><td id="LC4204" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4205" class="css-a4x74f"><span>4205</span></td><td id="LC4205" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4206" class="css-a4x74f"><span>4206</span></td><td id="LC4206" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4207" class="css-a4x74f"><span>4207</span></td><td id="LC4207" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cursor - <span class="code-keyword">this</span>.tokenIndex; </code></td></tr><tr><td id="L4208" class="css-a4x74f"><span>4208</span></td><td id="LC4208" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4209" class="css-a4x74f"><span>4209</span></td><td id="LC4209" class="css-1dcdqdg"><code> isBalanceEdge: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">pos</span>) </span>{ </code></td></tr><tr><td id="L4210" class="css-a4x74f"><span>4210</span></td><td id="LC4210" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.balance[<span class="code-keyword">this</span>.tokenIndex] < pos; </code></td></tr><tr><td id="L4211" class="css-a4x74f"><span>4211</span></td><td id="LC4211" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4212" class="css-a4x74f"><span>4212</span></td><td id="LC4212" class="css-1dcdqdg"><code> isDelim: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">code, offset</span>) </span>{ </code></td></tr><tr><td id="L4213" class="css-a4x74f"><span>4213</span></td><td id="LC4213" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset) { </code></td></tr><tr><td id="L4214" class="css-a4x74f"><span>4214</span></td><td id="LC4214" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L4215" class="css-a4x74f"><span>4215</span></td><td id="LC4215" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.lookupType(offset) === TYPE$<span class="code-number">1.</span>Delim && </code></td></tr><tr><td id="L4216" class="css-a4x74f"><span>4216</span></td><td id="LC4216" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.source.charCodeAt(<span class="code-keyword">this</span>.lookupOffset(offset)) === code </code></td></tr><tr><td id="L4217" class="css-a4x74f"><span>4217</span></td><td id="LC4217" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4218" class="css-a4x74f"><span>4218</span></td><td id="LC4218" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4219" class="css-a4x74f"><span>4219</span></td><td id="LC4219" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4220" class="css-a4x74f"><span>4220</span></td><td id="LC4220" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L4221" class="css-a4x74f"><span>4221</span></td><td id="LC4221" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenType === TYPE$<span class="code-number">1.</span>Delim && </code></td></tr><tr><td id="L4222" class="css-a4x74f"><span>4222</span></td><td id="LC4222" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.source.charCodeAt(<span class="code-keyword">this</span>.tokenStart) === code </code></td></tr><tr><td id="L4223" class="css-a4x74f"><span>4223</span></td><td id="LC4223" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4224" class="css-a4x74f"><span>4224</span></td><td id="LC4224" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4225" class="css-a4x74f"><span>4225</span></td><td id="LC4225" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4226" class="css-a4x74f"><span>4226</span></td><td id="LC4226" class="css-1dcdqdg"><code> getTokenValue: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4227" class="css-a4x74f"><span>4227</span></td><td id="LC4227" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.source.substring(<span class="code-keyword">this</span>.tokenStart, <span class="code-keyword">this</span>.tokenEnd); </code></td></tr><tr><td id="L4228" class="css-a4x74f"><span>4228</span></td><td id="LC4228" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4229" class="css-a4x74f"><span>4229</span></td><td id="LC4229" class="css-1dcdqdg"><code> getTokenLength: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4230" class="css-a4x74f"><span>4230</span></td><td id="LC4230" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.tokenEnd - <span class="code-keyword">this</span>.tokenStart; </code></td></tr><tr><td id="L4231" class="css-a4x74f"><span>4231</span></td><td id="LC4231" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4232" class="css-a4x74f"><span>4232</span></td><td id="LC4232" class="css-1dcdqdg"><code> substrToCursor: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">start</span>) </span>{ </code></td></tr><tr><td id="L4233" class="css-a4x74f"><span>4233</span></td><td id="LC4233" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.source.substring(start, <span class="code-keyword">this</span>.tokenStart); </code></td></tr><tr><td id="L4234" class="css-a4x74f"><span>4234</span></td><td id="LC4234" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4235" class="css-a4x74f"><span>4235</span></td><td id="LC4235" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4236" class="css-a4x74f"><span>4236</span></td><td id="LC4236" class="css-1dcdqdg"><code> skipWS: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4237" class="css-a4x74f"><span>4237</span></td><td id="LC4237" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-keyword">this</span>.tokenIndex, skipTokenCount = <span class="code-number">0</span>; i < <span class="code-keyword">this</span>.tokenCount; i++, skipTokenCount++) { </code></td></tr><tr><td id="L4238" class="css-a4x74f"><span>4238</span></td><td id="LC4238" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((<span class="code-keyword">this</span>.offsetAndType[i] >> TYPE_SHIFT) !== WHITESPACE) { </code></td></tr><tr><td id="L4239" class="css-a4x74f"><span>4239</span></td><td id="LC4239" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4240" class="css-a4x74f"><span>4240</span></td><td id="LC4240" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4241" class="css-a4x74f"><span>4241</span></td><td id="LC4241" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4242" class="css-a4x74f"><span>4242</span></td><td id="LC4242" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4243" class="css-a4x74f"><span>4243</span></td><td id="LC4243" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (skipTokenCount > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L4244" class="css-a4x74f"><span>4244</span></td><td id="LC4244" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.skip(skipTokenCount); </code></td></tr><tr><td id="L4245" class="css-a4x74f"><span>4245</span></td><td id="LC4245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4246" class="css-a4x74f"><span>4246</span></td><td id="LC4246" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4247" class="css-a4x74f"><span>4247</span></td><td id="LC4247" class="css-1dcdqdg"><code> skipSC: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4248" class="css-a4x74f"><span>4248</span></td><td id="LC4248" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (<span class="code-keyword">this</span>.tokenType === WHITESPACE || <span class="code-keyword">this</span>.tokenType === COMMENT) { </code></td></tr><tr><td id="L4249" class="css-a4x74f"><span>4249</span></td><td id="LC4249" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.next(); </code></td></tr><tr><td id="L4250" class="css-a4x74f"><span>4250</span></td><td id="LC4250" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4251" class="css-a4x74f"><span>4251</span></td><td id="LC4251" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4252" class="css-a4x74f"><span>4252</span></td><td id="LC4252" class="css-1dcdqdg"><code> skip: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">tokenCount</span>) </span>{ </code></td></tr><tr><td id="L4253" class="css-a4x74f"><span>4253</span></td><td id="LC4253" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> next = <span class="code-keyword">this</span>.tokenIndex + tokenCount; </code></td></tr><tr><td id="L4254" class="css-a4x74f"><span>4254</span></td><td id="LC4254" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4255" class="css-a4x74f"><span>4255</span></td><td id="LC4255" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (next < <span class="code-keyword">this</span>.tokenCount) { </code></td></tr><tr><td id="L4256" class="css-a4x74f"><span>4256</span></td><td id="LC4256" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenIndex = next; </code></td></tr><tr><td id="L4257" class="css-a4x74f"><span>4257</span></td><td id="LC4257" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenStart = <span class="code-keyword">this</span>.offsetAndType[next - <span class="code-number">1</span>] & OFFSET_MASK; </code></td></tr><tr><td id="L4258" class="css-a4x74f"><span>4258</span></td><td id="LC4258" class="css-1dcdqdg"><code> next = <span class="code-keyword">this</span>.offsetAndType[next]; </code></td></tr><tr><td id="L4259" class="css-a4x74f"><span>4259</span></td><td id="LC4259" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenType = next >> TYPE_SHIFT; </code></td></tr><tr><td id="L4260" class="css-a4x74f"><span>4260</span></td><td id="LC4260" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenEnd = next & OFFSET_MASK; </code></td></tr><tr><td id="L4261" class="css-a4x74f"><span>4261</span></td><td id="LC4261" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4262" class="css-a4x74f"><span>4262</span></td><td id="LC4262" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenIndex = <span class="code-keyword">this</span>.tokenCount; </code></td></tr><tr><td id="L4263" class="css-a4x74f"><span>4263</span></td><td id="LC4263" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.next(); </code></td></tr><tr><td id="L4264" class="css-a4x74f"><span>4264</span></td><td id="LC4264" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4265" class="css-a4x74f"><span>4265</span></td><td id="LC4265" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4266" class="css-a4x74f"><span>4266</span></td><td id="LC4266" class="css-1dcdqdg"><code> next: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4267" class="css-a4x74f"><span>4267</span></td><td id="LC4267" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> next = <span class="code-keyword">this</span>.tokenIndex + <span class="code-number">1</span>; </code></td></tr><tr><td id="L4268" class="css-a4x74f"><span>4268</span></td><td id="LC4268" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4269" class="css-a4x74f"><span>4269</span></td><td id="LC4269" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (next < <span class="code-keyword">this</span>.tokenCount) { </code></td></tr><tr><td id="L4270" class="css-a4x74f"><span>4270</span></td><td id="LC4270" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenIndex = next; </code></td></tr><tr><td id="L4271" class="css-a4x74f"><span>4271</span></td><td id="LC4271" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenStart = <span class="code-keyword">this</span>.tokenEnd; </code></td></tr><tr><td id="L4272" class="css-a4x74f"><span>4272</span></td><td id="LC4272" class="css-1dcdqdg"><code> next = <span class="code-keyword">this</span>.offsetAndType[next]; </code></td></tr><tr><td id="L4273" class="css-a4x74f"><span>4273</span></td><td id="LC4273" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenType = next >> TYPE_SHIFT; </code></td></tr><tr><td id="L4274" class="css-a4x74f"><span>4274</span></td><td id="LC4274" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenEnd = next & OFFSET_MASK; </code></td></tr><tr><td id="L4275" class="css-a4x74f"><span>4275</span></td><td id="LC4275" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4276" class="css-a4x74f"><span>4276</span></td><td id="LC4276" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenIndex = <span class="code-keyword">this</span>.tokenCount; </code></td></tr><tr><td id="L4277" class="css-a4x74f"><span>4277</span></td><td id="LC4277" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eof = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L4278" class="css-a4x74f"><span>4278</span></td><td id="LC4278" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenType = EOF$<span class="code-number">1</span>; </code></td></tr><tr><td id="L4279" class="css-a4x74f"><span>4279</span></td><td id="LC4279" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.tokenStart = <span class="code-keyword">this</span>.tokenEnd = <span class="code-keyword">this</span>.source.length; </code></td></tr><tr><td id="L4280" class="css-a4x74f"><span>4280</span></td><td id="LC4280" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4281" class="css-a4x74f"><span>4281</span></td><td id="LC4281" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L4282" class="css-a4x74f"><span>4282</span></td><td id="LC4282" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4283" class="css-a4x74f"><span>4283</span></td><td id="LC4283" class="css-1dcdqdg"><code> dump: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4284" class="css-a4x74f"><span>4284</span></td><td id="LC4284" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = <span class="code-keyword">this</span>.firstCharOffset; </code></td></tr><tr><td id="L4285" class="css-a4x74f"><span>4285</span></td><td id="LC4285" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4286" class="css-a4x74f"><span>4286</span></td><td id="LC4286" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Array</span>.prototype.slice.call(<span class="code-keyword">this</span>.offsetAndType, <span class="code-number">0</span>, <span class="code-keyword">this</span>.tokenCount).map(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">item, idx</span>) </span>{ </code></td></tr><tr><td id="L4287" class="css-a4x74f"><span>4287</span></td><td id="LC4287" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = offset; </code></td></tr><tr><td id="L4288" class="css-a4x74f"><span>4288</span></td><td id="LC4288" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = item & OFFSET_MASK; </code></td></tr><tr><td id="L4289" class="css-a4x74f"><span>4289</span></td><td id="LC4289" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4290" class="css-a4x74f"><span>4290</span></td><td id="LC4290" class="css-1dcdqdg"><code> offset = end; </code></td></tr><tr><td id="L4291" class="css-a4x74f"><span>4291</span></td><td id="LC4291" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4292" class="css-a4x74f"><span>4292</span></td><td id="LC4292" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L4293" class="css-a4x74f"><span>4293</span></td><td id="LC4293" class="css-1dcdqdg"><code> idx: idx, </code></td></tr><tr><td id="L4294" class="css-a4x74f"><span>4294</span></td><td id="LC4294" class="css-1dcdqdg"><code> type: NAME$<span class="code-number">1</span>[item >> TYPE_SHIFT], </code></td></tr><tr><td id="L4295" class="css-a4x74f"><span>4295</span></td><td id="LC4295" class="css-1dcdqdg"><code> chunk: <span class="code-keyword">this</span>.source.substring(start, end), </code></td></tr><tr><td id="L4296" class="css-a4x74f"><span>4296</span></td><td id="LC4296" class="css-1dcdqdg"><code> balance: <span class="code-keyword">this</span>.balance[idx] </code></td></tr><tr><td id="L4297" class="css-a4x74f"><span>4297</span></td><td id="LC4297" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4298" class="css-a4x74f"><span>4298</span></td><td id="LC4298" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L4299" class="css-a4x74f"><span>4299</span></td><td id="LC4299" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4300" class="css-a4x74f"><span>4300</span></td><td id="LC4300" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4301" class="css-a4x74f"><span>4301</span></td><td id="LC4301" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4302" class="css-a4x74f"><span>4302</span></td><td id="LC4302" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TokenStream_1 = TokenStream; </code></td></tr><tr><td id="L4303" class="css-a4x74f"><span>4303</span></td><td id="LC4303" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4304" class="css-a4x74f"><span>4304</span></td><td id="LC4304" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">noop$1</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L4305" class="css-a4x74f"><span>4305</span></td><td id="LC4305" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L4306" class="css-a4x74f"><span>4306</span></td><td id="LC4306" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4307" class="css-a4x74f"><span>4307</span></td><td id="LC4307" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4308" class="css-a4x74f"><span>4308</span></td><td id="LC4308" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generateMultiplier</span>(<span class="code-params">multiplier</span>) </span>{ </code></td></tr><tr><td id="L4309" class="css-a4x74f"><span>4309</span></td><td id="LC4309" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (multiplier.min === <span class="code-number">0</span> && multiplier.max === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L4310" class="css-a4x74f"><span>4310</span></td><td id="LC4310" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">'*'</span>; </code></td></tr><tr><td id="L4311" class="css-a4x74f"><span>4311</span></td><td id="LC4311" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4312" class="css-a4x74f"><span>4312</span></td><td id="LC4312" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4313" class="css-a4x74f"><span>4313</span></td><td id="LC4313" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (multiplier.min === <span class="code-number">0</span> && multiplier.max === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L4314" class="css-a4x74f"><span>4314</span></td><td id="LC4314" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">'?'</span>; </code></td></tr><tr><td id="L4315" class="css-a4x74f"><span>4315</span></td><td id="LC4315" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4316" class="css-a4x74f"><span>4316</span></td><td id="LC4316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4317" class="css-a4x74f"><span>4317</span></td><td id="LC4317" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (multiplier.min === <span class="code-number">1</span> && multiplier.max === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L4318" class="css-a4x74f"><span>4318</span></td><td id="LC4318" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> multiplier.comma ? <span class="code-string">'#'</span> : <span class="code-string">'+'</span>; </code></td></tr><tr><td id="L4319" class="css-a4x74f"><span>4319</span></td><td id="LC4319" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4320" class="css-a4x74f"><span>4320</span></td><td id="LC4320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4321" class="css-a4x74f"><span>4321</span></td><td id="LC4321" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (multiplier.min === <span class="code-number">1</span> && multiplier.max === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L4322" class="css-a4x74f"><span>4322</span></td><td id="LC4322" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">''</span>; </code></td></tr><tr><td id="L4323" class="css-a4x74f"><span>4323</span></td><td id="LC4323" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4324" class="css-a4x74f"><span>4324</span></td><td id="LC4324" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4325" class="css-a4x74f"><span>4325</span></td><td id="LC4325" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L4326" class="css-a4x74f"><span>4326</span></td><td id="LC4326" class="css-1dcdqdg"><code> (multiplier.comma ? <span class="code-string">'#'</span> : <span class="code-string">''</span>) + </code></td></tr><tr><td id="L4327" class="css-a4x74f"><span>4327</span></td><td id="LC4327" class="css-1dcdqdg"><code> (multiplier.min === multiplier.max </code></td></tr><tr><td id="L4328" class="css-a4x74f"><span>4328</span></td><td id="LC4328" class="css-1dcdqdg"><code> ? <span class="code-string">'{'</span> + multiplier.min + <span class="code-string">'}'</span> </code></td></tr><tr><td id="L4329" class="css-a4x74f"><span>4329</span></td><td id="LC4329" class="css-1dcdqdg"><code> : <span class="code-string">'{'</span> + multiplier.min + <span class="code-string">','</span> + (multiplier.max !== <span class="code-number">0</span> ? multiplier.max : <span class="code-string">''</span>) + <span class="code-string">'}'</span> </code></td></tr><tr><td id="L4330" class="css-a4x74f"><span>4330</span></td><td id="LC4330" class="css-1dcdqdg"><code> ) </code></td></tr><tr><td id="L4331" class="css-a4x74f"><span>4331</span></td><td id="LC4331" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4332" class="css-a4x74f"><span>4332</span></td><td id="LC4332" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4333" class="css-a4x74f"><span>4333</span></td><td id="LC4333" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4334" class="css-a4x74f"><span>4334</span></td><td id="LC4334" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generateTypeOpts</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L4335" class="css-a4x74f"><span>4335</span></td><td id="LC4335" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L4336" class="css-a4x74f"><span>4336</span></td><td id="LC4336" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Range'</span>: </code></td></tr><tr><td id="L4337" class="css-a4x74f"><span>4337</span></td><td id="LC4337" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L4338" class="css-a4x74f"><span>4338</span></td><td id="LC4338" class="css-1dcdqdg"><code> <span class="code-string">' ['</span> + </code></td></tr><tr><td id="L4339" class="css-a4x74f"><span>4339</span></td><td id="LC4339" class="css-1dcdqdg"><code> (node.min === <span class="code-literal">null</span> ? <span class="code-string">'-∞'</span> : node.min) + </code></td></tr><tr><td id="L4340" class="css-a4x74f"><span>4340</span></td><td id="LC4340" class="css-1dcdqdg"><code> <span class="code-string">','</span> + </code></td></tr><tr><td id="L4341" class="css-a4x74f"><span>4341</span></td><td id="LC4341" class="css-1dcdqdg"><code> (node.max === <span class="code-literal">null</span> ? <span class="code-string">'∞'</span> : node.max) + </code></td></tr><tr><td id="L4342" class="css-a4x74f"><span>4342</span></td><td id="LC4342" class="css-1dcdqdg"><code> <span class="code-string">']'</span> </code></td></tr><tr><td id="L4343" class="css-a4x74f"><span>4343</span></td><td id="LC4343" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4344" class="css-a4x74f"><span>4344</span></td><td id="LC4344" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4345" class="css-a4x74f"><span>4345</span></td><td id="LC4345" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L4346" class="css-a4x74f"><span>4346</span></td><td id="LC4346" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown node type `'</span> + node.type + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L4347" class="css-a4x74f"><span>4347</span></td><td id="LC4347" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4348" class="css-a4x74f"><span>4348</span></td><td id="LC4348" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4349" class="css-a4x74f"><span>4349</span></td><td id="LC4349" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4350" class="css-a4x74f"><span>4350</span></td><td id="LC4350" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generateSequence</span>(<span class="code-params">node, decorate, forceBraces, compact</span>) </span>{ </code></td></tr><tr><td id="L4351" class="css-a4x74f"><span>4351</span></td><td id="LC4351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> combinator = node.combinator === <span class="code-string">' '</span> || compact ? node.combinator : <span class="code-string">' '</span> + node.combinator + <span class="code-string">' '</span>; </code></td></tr><tr><td id="L4352" class="css-a4x74f"><span>4352</span></td><td id="LC4352" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = node.terms.map(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">term</span>) </span>{ </code></td></tr><tr><td id="L4353" class="css-a4x74f"><span>4353</span></td><td id="LC4353" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> generate(term, decorate, forceBraces, compact); </code></td></tr><tr><td id="L4354" class="css-a4x74f"><span>4354</span></td><td id="LC4354" class="css-1dcdqdg"><code> }).join(combinator); </code></td></tr><tr><td id="L4355" class="css-a4x74f"><span>4355</span></td><td id="LC4355" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4356" class="css-a4x74f"><span>4356</span></td><td id="LC4356" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.explicit || forceBraces) { </code></td></tr><tr><td id="L4357" class="css-a4x74f"><span>4357</span></td><td id="LC4357" class="css-1dcdqdg"><code> result = (compact || result[<span class="code-number">0</span>] === <span class="code-string">','</span> ? <span class="code-string">'['</span> : <span class="code-string">'[ '</span>) + result + (compact ? <span class="code-string">']'</span> : <span class="code-string">' ]'</span>); </code></td></tr><tr><td id="L4358" class="css-a4x74f"><span>4358</span></td><td id="LC4358" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4359" class="css-a4x74f"><span>4359</span></td><td id="LC4359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4360" class="css-a4x74f"><span>4360</span></td><td id="LC4360" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L4361" class="css-a4x74f"><span>4361</span></td><td id="LC4361" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4362" class="css-a4x74f"><span>4362</span></td><td id="LC4362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4363" class="css-a4x74f"><span>4363</span></td><td id="LC4363" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generate</span>(<span class="code-params">node, decorate, forceBraces, compact</span>) </span>{ </code></td></tr><tr><td id="L4364" class="css-a4x74f"><span>4364</span></td><td id="LC4364" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result; </code></td></tr><tr><td id="L4365" class="css-a4x74f"><span>4365</span></td><td id="LC4365" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4366" class="css-a4x74f"><span>4366</span></td><td id="LC4366" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L4367" class="css-a4x74f"><span>4367</span></td><td id="LC4367" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Group'</span>: </code></td></tr><tr><td id="L4368" class="css-a4x74f"><span>4368</span></td><td id="LC4368" class="css-1dcdqdg"><code> result = </code></td></tr><tr><td id="L4369" class="css-a4x74f"><span>4369</span></td><td id="LC4369" class="css-1dcdqdg"><code> generateSequence(node, decorate, forceBraces, compact) + </code></td></tr><tr><td id="L4370" class="css-a4x74f"><span>4370</span></td><td id="LC4370" class="css-1dcdqdg"><code> (node.disallowEmpty ? <span class="code-string">'!'</span> : <span class="code-string">''</span>); </code></td></tr><tr><td id="L4371" class="css-a4x74f"><span>4371</span></td><td id="LC4371" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4372" class="css-a4x74f"><span>4372</span></td><td id="LC4372" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4373" class="css-a4x74f"><span>4373</span></td><td id="LC4373" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Multiplier'</span>: </code></td></tr><tr><td id="L4374" class="css-a4x74f"><span>4374</span></td><td id="LC4374" class="css-1dcdqdg"><code> <span class="code-comment">// return since node is a composition</span> </code></td></tr><tr><td id="L4375" class="css-a4x74f"><span>4375</span></td><td id="LC4375" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L4376" class="css-a4x74f"><span>4376</span></td><td id="LC4376" class="css-1dcdqdg"><code> generate(node.term, decorate, forceBraces, compact) + </code></td></tr><tr><td id="L4377" class="css-a4x74f"><span>4377</span></td><td id="LC4377" class="css-1dcdqdg"><code> decorate(generateMultiplier(node), node) </code></td></tr><tr><td id="L4378" class="css-a4x74f"><span>4378</span></td><td id="LC4378" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4379" class="css-a4x74f"><span>4379</span></td><td id="LC4379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4380" class="css-a4x74f"><span>4380</span></td><td id="LC4380" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Type'</span>: </code></td></tr><tr><td id="L4381" class="css-a4x74f"><span>4381</span></td><td id="LC4381" class="css-1dcdqdg"><code> result = <span class="code-string">'<'</span> + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : <span class="code-string">''</span>) + <span class="code-string">'>'</span>; </code></td></tr><tr><td id="L4382" class="css-a4x74f"><span>4382</span></td><td id="LC4382" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4383" class="css-a4x74f"><span>4383</span></td><td id="LC4383" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4384" class="css-a4x74f"><span>4384</span></td><td id="LC4384" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Property'</span>: </code></td></tr><tr><td id="L4385" class="css-a4x74f"><span>4385</span></td><td id="LC4385" class="css-1dcdqdg"><code> result = <span class="code-string">'<\''</span> + node.name + <span class="code-string">'\'>'</span>; </code></td></tr><tr><td id="L4386" class="css-a4x74f"><span>4386</span></td><td id="LC4386" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4387" class="css-a4x74f"><span>4387</span></td><td id="LC4387" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4388" class="css-a4x74f"><span>4388</span></td><td id="LC4388" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Keyword'</span>: </code></td></tr><tr><td id="L4389" class="css-a4x74f"><span>4389</span></td><td id="LC4389" class="css-1dcdqdg"><code> result = node.name; </code></td></tr><tr><td id="L4390" class="css-a4x74f"><span>4390</span></td><td id="LC4390" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4391" class="css-a4x74f"><span>4391</span></td><td id="LC4391" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4392" class="css-a4x74f"><span>4392</span></td><td id="LC4392" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'AtKeyword'</span>: </code></td></tr><tr><td id="L4393" class="css-a4x74f"><span>4393</span></td><td id="LC4393" class="css-1dcdqdg"><code> result = <span class="code-string">'@'</span> + node.name; </code></td></tr><tr><td id="L4394" class="css-a4x74f"><span>4394</span></td><td id="LC4394" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4395" class="css-a4x74f"><span>4395</span></td><td id="LC4395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4396" class="css-a4x74f"><span>4396</span></td><td id="LC4396" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Function'</span>: </code></td></tr><tr><td id="L4397" class="css-a4x74f"><span>4397</span></td><td id="LC4397" class="css-1dcdqdg"><code> result = node.name + <span class="code-string">'('</span>; </code></td></tr><tr><td id="L4398" class="css-a4x74f"><span>4398</span></td><td id="LC4398" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4399" class="css-a4x74f"><span>4399</span></td><td id="LC4399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4400" class="css-a4x74f"><span>4400</span></td><td id="LC4400" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'String'</span>: </code></td></tr><tr><td id="L4401" class="css-a4x74f"><span>4401</span></td><td id="LC4401" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Token'</span>: </code></td></tr><tr><td id="L4402" class="css-a4x74f"><span>4402</span></td><td id="LC4402" class="css-1dcdqdg"><code> result = node.value; </code></td></tr><tr><td id="L4403" class="css-a4x74f"><span>4403</span></td><td id="LC4403" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4404" class="css-a4x74f"><span>4404</span></td><td id="LC4404" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4405" class="css-a4x74f"><span>4405</span></td><td id="LC4405" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Comma'</span>: </code></td></tr><tr><td id="L4406" class="css-a4x74f"><span>4406</span></td><td id="LC4406" class="css-1dcdqdg"><code> result = <span class="code-string">','</span>; </code></td></tr><tr><td id="L4407" class="css-a4x74f"><span>4407</span></td><td id="LC4407" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4408" class="css-a4x74f"><span>4408</span></td><td id="LC4408" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4409" class="css-a4x74f"><span>4409</span></td><td id="LC4409" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L4410" class="css-a4x74f"><span>4410</span></td><td id="LC4410" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown node type `'</span> + node.type + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L4411" class="css-a4x74f"><span>4411</span></td><td id="LC4411" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4412" class="css-a4x74f"><span>4412</span></td><td id="LC4412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4413" class="css-a4x74f"><span>4413</span></td><td id="LC4413" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> decorate(result, node); </code></td></tr><tr><td id="L4414" class="css-a4x74f"><span>4414</span></td><td id="LC4414" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4415" class="css-a4x74f"><span>4415</span></td><td id="LC4415" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4416" class="css-a4x74f"><span>4416</span></td><td id="LC4416" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generate_1 = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, options</span>) </span>{ </code></td></tr><tr><td id="L4417" class="css-a4x74f"><span>4417</span></td><td id="LC4417" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> decorate = noop$<span class="code-number">1</span>; </code></td></tr><tr><td id="L4418" class="css-a4x74f"><span>4418</span></td><td id="LC4418" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> forceBraces = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L4419" class="css-a4x74f"><span>4419</span></td><td id="LC4419" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> compact = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L4420" class="css-a4x74f"><span>4420</span></td><td id="LC4420" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4421" class="css-a4x74f"><span>4421</span></td><td id="LC4421" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> options === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L4422" class="css-a4x74f"><span>4422</span></td><td id="LC4422" class="css-1dcdqdg"><code> decorate = options; </code></td></tr><tr><td id="L4423" class="css-a4x74f"><span>4423</span></td><td id="LC4423" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (options) { </code></td></tr><tr><td id="L4424" class="css-a4x74f"><span>4424</span></td><td id="LC4424" class="css-1dcdqdg"><code> forceBraces = <span class="code-built_in">Boolean</span>(options.forceBraces); </code></td></tr><tr><td id="L4425" class="css-a4x74f"><span>4425</span></td><td id="LC4425" class="css-1dcdqdg"><code> compact = <span class="code-built_in">Boolean</span>(options.compact); </code></td></tr><tr><td id="L4426" class="css-a4x74f"><span>4426</span></td><td id="LC4426" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> options.decorate === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L4427" class="css-a4x74f"><span>4427</span></td><td id="LC4427" class="css-1dcdqdg"><code> decorate = options.decorate; </code></td></tr><tr><td id="L4428" class="css-a4x74f"><span>4428</span></td><td id="LC4428" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4429" class="css-a4x74f"><span>4429</span></td><td id="LC4429" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4430" class="css-a4x74f"><span>4430</span></td><td id="LC4430" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4431" class="css-a4x74f"><span>4431</span></td><td id="LC4431" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> generate(node, decorate, forceBraces, compact); </code></td></tr><tr><td id="L4432" class="css-a4x74f"><span>4432</span></td><td id="LC4432" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4433" class="css-a4x74f"><span>4433</span></td><td id="LC4433" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4434" class="css-a4x74f"><span>4434</span></td><td id="LC4434" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">fromMatchResult</span>(<span class="code-params">matchResult</span>) </span>{ </code></td></tr><tr><td id="L4435" class="css-a4x74f"><span>4435</span></td><td id="LC4435" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokens = matchResult.tokens; </code></td></tr><tr><td id="L4436" class="css-a4x74f"><span>4436</span></td><td id="LC4436" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> longestMatch = matchResult.longestMatch; </code></td></tr><tr><td id="L4437" class="css-a4x74f"><span>4437</span></td><td id="LC4437" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> node = longestMatch < tokens.length ? tokens[longestMatch].node : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L4438" class="css-a4x74f"><span>4438</span></td><td id="LC4438" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mismatchOffset = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L4439" class="css-a4x74f"><span>4439</span></td><td id="LC4439" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> entries = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4440" class="css-a4x74f"><span>4440</span></td><td id="LC4440" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> css = <span class="code-string">''</span>; </code></td></tr><tr><td id="L4441" class="css-a4x74f"><span>4441</span></td><td id="LC4441" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4442" class="css-a4x74f"><span>4442</span></td><td id="LC4442" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < tokens.length; i++) { </code></td></tr><tr><td id="L4443" class="css-a4x74f"><span>4443</span></td><td id="LC4443" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i === longestMatch) { </code></td></tr><tr><td id="L4444" class="css-a4x74f"><span>4444</span></td><td id="LC4444" class="css-1dcdqdg"><code> mismatchOffset = css.length; </code></td></tr><tr><td id="L4445" class="css-a4x74f"><span>4445</span></td><td id="LC4445" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4446" class="css-a4x74f"><span>4446</span></td><td id="LC4446" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4447" class="css-a4x74f"><span>4447</span></td><td id="LC4447" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node !== <span class="code-literal">null</span> && tokens[i].node === node) { </code></td></tr><tr><td id="L4448" class="css-a4x74f"><span>4448</span></td><td id="LC4448" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i <= longestMatch) { </code></td></tr><tr><td id="L4449" class="css-a4x74f"><span>4449</span></td><td id="LC4449" class="css-1dcdqdg"><code> entries++; </code></td></tr><tr><td id="L4450" class="css-a4x74f"><span>4450</span></td><td id="LC4450" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4451" class="css-a4x74f"><span>4451</span></td><td id="LC4451" class="css-1dcdqdg"><code> entries = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4452" class="css-a4x74f"><span>4452</span></td><td id="LC4452" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4453" class="css-a4x74f"><span>4453</span></td><td id="LC4453" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4454" class="css-a4x74f"><span>4454</span></td><td id="LC4454" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4455" class="css-a4x74f"><span>4455</span></td><td id="LC4455" class="css-1dcdqdg"><code> css += tokens[i].value; </code></td></tr><tr><td id="L4456" class="css-a4x74f"><span>4456</span></td><td id="LC4456" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4457" class="css-a4x74f"><span>4457</span></td><td id="LC4457" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4458" class="css-a4x74f"><span>4458</span></td><td id="LC4458" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L4459" class="css-a4x74f"><span>4459</span></td><td id="LC4459" class="css-1dcdqdg"><code> node: node, </code></td></tr><tr><td id="L4460" class="css-a4x74f"><span>4460</span></td><td id="LC4460" class="css-1dcdqdg"><code> css: css, </code></td></tr><tr><td id="L4461" class="css-a4x74f"><span>4461</span></td><td id="LC4461" class="css-1dcdqdg"><code> mismatchOffset: mismatchOffset === <span class="code-number">-1</span> ? css.length : mismatchOffset, </code></td></tr><tr><td id="L4462" class="css-a4x74f"><span>4462</span></td><td id="LC4462" class="css-1dcdqdg"><code> last: node === <span class="code-literal">null</span> || entries > <span class="code-number">1</span> </code></td></tr><tr><td id="L4463" class="css-a4x74f"><span>4463</span></td><td id="LC4463" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4464" class="css-a4x74f"><span>4464</span></td><td id="LC4464" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4465" class="css-a4x74f"><span>4465</span></td><td id="LC4465" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4466" class="css-a4x74f"><span>4466</span></td><td id="LC4466" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getLocation</span>(<span class="code-params">node, point</span>) </span>{ </code></td></tr><tr><td id="L4467" class="css-a4x74f"><span>4467</span></td><td id="LC4467" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> loc = node && node.loc && node.loc[point]; </code></td></tr><tr><td id="L4468" class="css-a4x74f"><span>4468</span></td><td id="LC4468" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4469" class="css-a4x74f"><span>4469</span></td><td id="LC4469" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (loc) { </code></td></tr><tr><td id="L4470" class="css-a4x74f"><span>4470</span></td><td id="LC4470" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L4471" class="css-a4x74f"><span>4471</span></td><td id="LC4471" class="css-1dcdqdg"><code> offset: loc.offset, </code></td></tr><tr><td id="L4472" class="css-a4x74f"><span>4472</span></td><td id="LC4472" class="css-1dcdqdg"><code> line: loc.line, </code></td></tr><tr><td id="L4473" class="css-a4x74f"><span>4473</span></td><td id="LC4473" class="css-1dcdqdg"><code> column: loc.column </code></td></tr><tr><td id="L4474" class="css-a4x74f"><span>4474</span></td><td id="LC4474" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4475" class="css-a4x74f"><span>4475</span></td><td id="LC4475" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4476" class="css-a4x74f"><span>4476</span></td><td id="LC4476" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4477" class="css-a4x74f"><span>4477</span></td><td id="LC4477" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L4478" class="css-a4x74f"><span>4478</span></td><td id="LC4478" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4479" class="css-a4x74f"><span>4479</span></td><td id="LC4479" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4480" class="css-a4x74f"><span>4480</span></td><td id="LC4480" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SyntaxReferenceError = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">type, referenceName</span>) </span>{ </code></td></tr><tr><td id="L4481" class="css-a4x74f"><span>4481</span></td><td id="LC4481" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = createCustomError( </code></td></tr><tr><td id="L4482" class="css-a4x74f"><span>4482</span></td><td id="LC4482" class="css-1dcdqdg"><code> <span class="code-string">'SyntaxReferenceError'</span>, </code></td></tr><tr><td id="L4483" class="css-a4x74f"><span>4483</span></td><td id="LC4483" class="css-1dcdqdg"><code> type + (referenceName ? <span class="code-string">' `'</span> + referenceName + <span class="code-string">'`'</span> : <span class="code-string">''</span>) </code></td></tr><tr><td id="L4484" class="css-a4x74f"><span>4484</span></td><td id="LC4484" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L4485" class="css-a4x74f"><span>4485</span></td><td id="LC4485" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4486" class="css-a4x74f"><span>4486</span></td><td id="LC4486" class="css-1dcdqdg"><code> error.reference = referenceName; </code></td></tr><tr><td id="L4487" class="css-a4x74f"><span>4487</span></td><td id="LC4487" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4488" class="css-a4x74f"><span>4488</span></td><td id="LC4488" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> error; </code></td></tr><tr><td id="L4489" class="css-a4x74f"><span>4489</span></td><td id="LC4489" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4490" class="css-a4x74f"><span>4490</span></td><td id="LC4490" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4491" class="css-a4x74f"><span>4491</span></td><td id="LC4491" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MatchError = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">message, syntax, node, matchResult</span>) </span>{ </code></td></tr><tr><td id="L4492" class="css-a4x74f"><span>4492</span></td><td id="LC4492" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = createCustomError(<span class="code-string">'SyntaxMatchError'</span>, message); </code></td></tr><tr><td id="L4493" class="css-a4x74f"><span>4493</span></td><td id="LC4493" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> details = fromMatchResult(matchResult); </code></td></tr><tr><td id="L4494" class="css-a4x74f"><span>4494</span></td><td id="LC4494" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mismatchOffset = details.mismatchOffset || <span class="code-number">0</span>; </code></td></tr><tr><td id="L4495" class="css-a4x74f"><span>4495</span></td><td id="LC4495" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> badNode = details.node || node; </code></td></tr><tr><td id="L4496" class="css-a4x74f"><span>4496</span></td><td id="LC4496" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = getLocation(badNode, <span class="code-string">'end'</span>); </code></td></tr><tr><td id="L4497" class="css-a4x74f"><span>4497</span></td><td id="LC4497" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = details.last ? end : getLocation(badNode, <span class="code-string">'start'</span>); </code></td></tr><tr><td id="L4498" class="css-a4x74f"><span>4498</span></td><td id="LC4498" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> css = details.css; </code></td></tr><tr><td id="L4499" class="css-a4x74f"><span>4499</span></td><td id="LC4499" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4500" class="css-a4x74f"><span>4500</span></td><td id="LC4500" class="css-1dcdqdg"><code> error.rawMessage = message; </code></td></tr><tr><td id="L4501" class="css-a4x74f"><span>4501</span></td><td id="LC4501" class="css-1dcdqdg"><code> error.syntax = syntax ? generate_1(syntax) : <span class="code-string">'<generic>'</span>; </code></td></tr><tr><td id="L4502" class="css-a4x74f"><span>4502</span></td><td id="LC4502" class="css-1dcdqdg"><code> error.css = css; </code></td></tr><tr><td id="L4503" class="css-a4x74f"><span>4503</span></td><td id="LC4503" class="css-1dcdqdg"><code> error.mismatchOffset = mismatchOffset; </code></td></tr><tr><td id="L4504" class="css-a4x74f"><span>4504</span></td><td id="LC4504" class="css-1dcdqdg"><code> error.loc = { </code></td></tr><tr><td id="L4505" class="css-a4x74f"><span>4505</span></td><td id="LC4505" class="css-1dcdqdg"><code> source: (badNode && badNode.loc && badNode.loc.source) || <span class="code-string">'<unknown>'</span>, </code></td></tr><tr><td id="L4506" class="css-a4x74f"><span>4506</span></td><td id="LC4506" class="css-1dcdqdg"><code> start: start, </code></td></tr><tr><td id="L4507" class="css-a4x74f"><span>4507</span></td><td id="LC4507" class="css-1dcdqdg"><code> end: end </code></td></tr><tr><td id="L4508" class="css-a4x74f"><span>4508</span></td><td id="LC4508" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4509" class="css-a4x74f"><span>4509</span></td><td id="LC4509" class="css-1dcdqdg"><code> error.line = start ? start.line : <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L4510" class="css-a4x74f"><span>4510</span></td><td id="LC4510" class="css-1dcdqdg"><code> error.column = start ? start.column : <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L4511" class="css-a4x74f"><span>4511</span></td><td id="LC4511" class="css-1dcdqdg"><code> error.offset = start ? start.offset : <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L4512" class="css-a4x74f"><span>4512</span></td><td id="LC4512" class="css-1dcdqdg"><code> error.message = message + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L4513" class="css-a4x74f"><span>4513</span></td><td id="LC4513" class="css-1dcdqdg"><code> <span class="code-string">' syntax: '</span> + error.syntax + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L4514" class="css-a4x74f"><span>4514</span></td><td id="LC4514" class="css-1dcdqdg"><code> <span class="code-string">' value: '</span> + (error.css || <span class="code-string">'<empty string>'</span>) + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L4515" class="css-a4x74f"><span>4515</span></td><td id="LC4515" class="css-1dcdqdg"><code> <span class="code-string">' --------'</span> + <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(error.mismatchOffset + <span class="code-number">1</span>).join(<span class="code-string">'-'</span>) + <span class="code-string">'^'</span>; </code></td></tr><tr><td id="L4516" class="css-a4x74f"><span>4516</span></td><td id="LC4516" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4517" class="css-a4x74f"><span>4517</span></td><td id="LC4517" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> error; </code></td></tr><tr><td id="L4518" class="css-a4x74f"><span>4518</span></td><td id="LC4518" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4519" class="css-a4x74f"><span>4519</span></td><td id="LC4519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4520" class="css-a4x74f"><span>4520</span></td><td id="LC4520" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = { </code></td></tr><tr><td id="L4521" class="css-a4x74f"><span>4521</span></td><td id="LC4521" class="css-1dcdqdg"><code> SyntaxReferenceError: SyntaxReferenceError, </code></td></tr><tr><td id="L4522" class="css-a4x74f"><span>4522</span></td><td id="LC4522" class="css-1dcdqdg"><code> MatchError: MatchError </code></td></tr><tr><td id="L4523" class="css-a4x74f"><span>4523</span></td><td id="LC4523" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4524" class="css-a4x74f"><span>4524</span></td><td id="LC4524" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4525" class="css-a4x74f"><span>4525</span></td><td id="LC4525" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L4526" class="css-a4x74f"><span>4526</span></td><td id="LC4526" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> keywords = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L4527" class="css-a4x74f"><span>4527</span></td><td id="LC4527" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> properties = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L4528" class="css-a4x74f"><span>4528</span></td><td id="LC4528" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS = <span class="code-number">45</span>; <span class="code-comment">// '-'.charCodeAt()</span> </code></td></tr><tr><td id="L4529" class="css-a4x74f"><span>4529</span></td><td id="LC4529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4530" class="css-a4x74f"><span>4530</span></td><td id="LC4530" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isCustomProperty</span>(<span class="code-params">str, offset</span>) </span>{ </code></td></tr><tr><td id="L4531" class="css-a4x74f"><span>4531</span></td><td id="LC4531" class="css-1dcdqdg"><code> offset = offset || <span class="code-number">0</span>; </code></td></tr><tr><td id="L4532" class="css-a4x74f"><span>4532</span></td><td id="LC4532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4533" class="css-a4x74f"><span>4533</span></td><td id="LC4533" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> str.length - offset >= <span class="code-number">2</span> && </code></td></tr><tr><td id="L4534" class="css-a4x74f"><span>4534</span></td><td id="LC4534" class="css-1dcdqdg"><code> str.charCodeAt(offset) === HYPHENMINUS && </code></td></tr><tr><td id="L4535" class="css-a4x74f"><span>4535</span></td><td id="LC4535" class="css-1dcdqdg"><code> str.charCodeAt(offset + <span class="code-number">1</span>) === HYPHENMINUS; </code></td></tr><tr><td id="L4536" class="css-a4x74f"><span>4536</span></td><td id="LC4536" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4537" class="css-a4x74f"><span>4537</span></td><td id="LC4537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4538" class="css-a4x74f"><span>4538</span></td><td id="LC4538" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getVendorPrefix</span>(<span class="code-params">str, offset</span>) </span>{ </code></td></tr><tr><td id="L4539" class="css-a4x74f"><span>4539</span></td><td id="LC4539" class="css-1dcdqdg"><code> offset = offset || <span class="code-number">0</span>; </code></td></tr><tr><td id="L4540" class="css-a4x74f"><span>4540</span></td><td id="LC4540" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4541" class="css-a4x74f"><span>4541</span></td><td id="LC4541" class="css-1dcdqdg"><code> <span class="code-comment">// verdor prefix should be at least 3 chars length</span> </code></td></tr><tr><td id="L4542" class="css-a4x74f"><span>4542</span></td><td id="LC4542" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (str.length - offset >= <span class="code-number">3</span>) { </code></td></tr><tr><td id="L4543" class="css-a4x74f"><span>4543</span></td><td id="LC4543" class="css-1dcdqdg"><code> <span class="code-comment">// vendor prefix starts with hyper minus following non-hyper minus</span> </code></td></tr><tr><td id="L4544" class="css-a4x74f"><span>4544</span></td><td id="LC4544" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (str.charCodeAt(offset) === HYPHENMINUS && </code></td></tr><tr><td id="L4545" class="css-a4x74f"><span>4545</span></td><td id="LC4545" class="css-1dcdqdg"><code> str.charCodeAt(offset + <span class="code-number">1</span>) !== HYPHENMINUS) { </code></td></tr><tr><td id="L4546" class="css-a4x74f"><span>4546</span></td><td id="LC4546" class="css-1dcdqdg"><code> <span class="code-comment">// vendor prefix should contain a hyper minus at the ending</span> </code></td></tr><tr><td id="L4547" class="css-a4x74f"><span>4547</span></td><td id="LC4547" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> secondDashIndex = str.indexOf(<span class="code-string">'-'</span>, offset + <span class="code-number">2</span>); </code></td></tr><tr><td id="L4548" class="css-a4x74f"><span>4548</span></td><td id="LC4548" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4549" class="css-a4x74f"><span>4549</span></td><td id="LC4549" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (secondDashIndex !== <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L4550" class="css-a4x74f"><span>4550</span></td><td id="LC4550" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> str.substring(offset, secondDashIndex + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4551" class="css-a4x74f"><span>4551</span></td><td id="LC4551" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4552" class="css-a4x74f"><span>4552</span></td><td id="LC4552" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4553" class="css-a4x74f"><span>4553</span></td><td id="LC4553" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4554" class="css-a4x74f"><span>4554</span></td><td id="LC4554" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4555" class="css-a4x74f"><span>4555</span></td><td id="LC4555" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">''</span>; </code></td></tr><tr><td id="L4556" class="css-a4x74f"><span>4556</span></td><td id="LC4556" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4557" class="css-a4x74f"><span>4557</span></td><td id="LC4557" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4558" class="css-a4x74f"><span>4558</span></td><td id="LC4558" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getKeywordDescriptor</span>(<span class="code-params">keyword</span>) </span>{ </code></td></tr><tr><td id="L4559" class="css-a4x74f"><span>4559</span></td><td id="LC4559" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty.call(keywords, keyword)) { </code></td></tr><tr><td id="L4560" class="css-a4x74f"><span>4560</span></td><td id="LC4560" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> keywords[keyword]; </code></td></tr><tr><td id="L4561" class="css-a4x74f"><span>4561</span></td><td id="LC4561" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4562" class="css-a4x74f"><span>4562</span></td><td id="LC4562" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4563" class="css-a4x74f"><span>4563</span></td><td id="LC4563" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = keyword.toLowerCase(); </code></td></tr><tr><td id="L4564" class="css-a4x74f"><span>4564</span></td><td id="LC4564" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4565" class="css-a4x74f"><span>4565</span></td><td id="LC4565" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty.call(keywords, name)) { </code></td></tr><tr><td id="L4566" class="css-a4x74f"><span>4566</span></td><td id="LC4566" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> keywords[keyword] = keywords[name]; </code></td></tr><tr><td id="L4567" class="css-a4x74f"><span>4567</span></td><td id="LC4567" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4568" class="css-a4x74f"><span>4568</span></td><td id="LC4568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4569" class="css-a4x74f"><span>4569</span></td><td id="LC4569" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> custom = isCustomProperty(name, <span class="code-number">0</span>); </code></td></tr><tr><td id="L4570" class="css-a4x74f"><span>4570</span></td><td id="LC4570" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> vendor = !custom ? getVendorPrefix(name, <span class="code-number">0</span>) : <span class="code-string">''</span>; </code></td></tr><tr><td id="L4571" class="css-a4x74f"><span>4571</span></td><td id="LC4571" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4572" class="css-a4x74f"><span>4572</span></td><td id="LC4572" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> keywords[keyword] = <span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L4573" class="css-a4x74f"><span>4573</span></td><td id="LC4573" class="css-1dcdqdg"><code> basename: name.substr(vendor.length), </code></td></tr><tr><td id="L4574" class="css-a4x74f"><span>4574</span></td><td id="LC4574" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L4575" class="css-a4x74f"><span>4575</span></td><td id="LC4575" class="css-1dcdqdg"><code> vendor: vendor, </code></td></tr><tr><td id="L4576" class="css-a4x74f"><span>4576</span></td><td id="LC4576" class="css-1dcdqdg"><code> prefix: vendor, </code></td></tr><tr><td id="L4577" class="css-a4x74f"><span>4577</span></td><td id="LC4577" class="css-1dcdqdg"><code> custom: custom </code></td></tr><tr><td id="L4578" class="css-a4x74f"><span>4578</span></td><td id="LC4578" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L4579" class="css-a4x74f"><span>4579</span></td><td id="LC4579" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4580" class="css-a4x74f"><span>4580</span></td><td id="LC4580" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4581" class="css-a4x74f"><span>4581</span></td><td id="LC4581" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getPropertyDescriptor</span>(<span class="code-params">property</span>) </span>{ </code></td></tr><tr><td id="L4582" class="css-a4x74f"><span>4582</span></td><td id="LC4582" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty.call(properties, property)) { </code></td></tr><tr><td id="L4583" class="css-a4x74f"><span>4583</span></td><td id="LC4583" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> properties[property]; </code></td></tr><tr><td id="L4584" class="css-a4x74f"><span>4584</span></td><td id="LC4584" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4585" class="css-a4x74f"><span>4585</span></td><td id="LC4585" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4586" class="css-a4x74f"><span>4586</span></td><td id="LC4586" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = property; </code></td></tr><tr><td id="L4587" class="css-a4x74f"><span>4587</span></td><td id="LC4587" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hack = property[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L4588" class="css-a4x74f"><span>4588</span></td><td id="LC4588" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4589" class="css-a4x74f"><span>4589</span></td><td id="LC4589" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hack === <span class="code-string">'/'</span>) { </code></td></tr><tr><td id="L4590" class="css-a4x74f"><span>4590</span></td><td id="LC4590" class="css-1dcdqdg"><code> hack = property[<span class="code-number">1</span>] === <span class="code-string">'/'</span> ? <span class="code-string">'//'</span> : <span class="code-string">'/'</span>; </code></td></tr><tr><td id="L4591" class="css-a4x74f"><span>4591</span></td><td id="LC4591" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (hack !== <span class="code-string">'_'</span> && </code></td></tr><tr><td id="L4592" class="css-a4x74f"><span>4592</span></td><td id="LC4592" class="css-1dcdqdg"><code> hack !== <span class="code-string">'*'</span> && </code></td></tr><tr><td id="L4593" class="css-a4x74f"><span>4593</span></td><td id="LC4593" class="css-1dcdqdg"><code> hack !== <span class="code-string">'$'</span> && </code></td></tr><tr><td id="L4594" class="css-a4x74f"><span>4594</span></td><td id="LC4594" class="css-1dcdqdg"><code> hack !== <span class="code-string">'#'</span> && </code></td></tr><tr><td id="L4595" class="css-a4x74f"><span>4595</span></td><td id="LC4595" class="css-1dcdqdg"><code> hack !== <span class="code-string">'+'</span> && </code></td></tr><tr><td id="L4596" class="css-a4x74f"><span>4596</span></td><td id="LC4596" class="css-1dcdqdg"><code> hack !== <span class="code-string">'&'</span>) { </code></td></tr><tr><td id="L4597" class="css-a4x74f"><span>4597</span></td><td id="LC4597" class="css-1dcdqdg"><code> hack = <span class="code-string">''</span>; </code></td></tr><tr><td id="L4598" class="css-a4x74f"><span>4598</span></td><td id="LC4598" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4599" class="css-a4x74f"><span>4599</span></td><td id="LC4599" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4600" class="css-a4x74f"><span>4600</span></td><td id="LC4600" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> custom = isCustomProperty(name, hack.length); </code></td></tr><tr><td id="L4601" class="css-a4x74f"><span>4601</span></td><td id="LC4601" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4602" class="css-a4x74f"><span>4602</span></td><td id="LC4602" class="css-1dcdqdg"><code> <span class="code-comment">// re-use result when possible (the same as for lower case)</span> </code></td></tr><tr><td id="L4603" class="css-a4x74f"><span>4603</span></td><td id="LC4603" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!custom) { </code></td></tr><tr><td id="L4604" class="css-a4x74f"><span>4604</span></td><td id="LC4604" class="css-1dcdqdg"><code> name = name.toLowerCase(); </code></td></tr><tr><td id="L4605" class="css-a4x74f"><span>4605</span></td><td id="LC4605" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty.call(properties, name)) { </code></td></tr><tr><td id="L4606" class="css-a4x74f"><span>4606</span></td><td id="LC4606" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> properties[property] = properties[name]; </code></td></tr><tr><td id="L4607" class="css-a4x74f"><span>4607</span></td><td id="LC4607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4608" class="css-a4x74f"><span>4608</span></td><td id="LC4608" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4609" class="css-a4x74f"><span>4609</span></td><td id="LC4609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4610" class="css-a4x74f"><span>4610</span></td><td id="LC4610" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> vendor = !custom ? getVendorPrefix(name, hack.length) : <span class="code-string">''</span>; </code></td></tr><tr><td id="L4611" class="css-a4x74f"><span>4611</span></td><td id="LC4611" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prefix = name.substr(<span class="code-number">0</span>, hack.length + vendor.length); </code></td></tr><tr><td id="L4612" class="css-a4x74f"><span>4612</span></td><td id="LC4612" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4613" class="css-a4x74f"><span>4613</span></td><td id="LC4613" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> properties[property] = <span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L4614" class="css-a4x74f"><span>4614</span></td><td id="LC4614" class="css-1dcdqdg"><code> basename: name.substr(prefix.length), </code></td></tr><tr><td id="L4615" class="css-a4x74f"><span>4615</span></td><td id="LC4615" class="css-1dcdqdg"><code> name: name.substr(hack.length), </code></td></tr><tr><td id="L4616" class="css-a4x74f"><span>4616</span></td><td id="LC4616" class="css-1dcdqdg"><code> hack: hack, </code></td></tr><tr><td id="L4617" class="css-a4x74f"><span>4617</span></td><td id="LC4617" class="css-1dcdqdg"><code> vendor: vendor, </code></td></tr><tr><td id="L4618" class="css-a4x74f"><span>4618</span></td><td id="LC4618" class="css-1dcdqdg"><code> prefix: prefix, </code></td></tr><tr><td id="L4619" class="css-a4x74f"><span>4619</span></td><td id="LC4619" class="css-1dcdqdg"><code> custom: custom </code></td></tr><tr><td id="L4620" class="css-a4x74f"><span>4620</span></td><td id="LC4620" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L4621" class="css-a4x74f"><span>4621</span></td><td id="LC4621" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4622" class="css-a4x74f"><span>4622</span></td><td id="LC4622" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4623" class="css-a4x74f"><span>4623</span></td><td id="LC4623" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> names = { </code></td></tr><tr><td id="L4624" class="css-a4x74f"><span>4624</span></td><td id="LC4624" class="css-1dcdqdg"><code> keyword: getKeywordDescriptor, </code></td></tr><tr><td id="L4625" class="css-a4x74f"><span>4625</span></td><td id="LC4625" class="css-1dcdqdg"><code> property: getPropertyDescriptor, </code></td></tr><tr><td id="L4626" class="css-a4x74f"><span>4626</span></td><td id="LC4626" class="css-1dcdqdg"><code> isCustomProperty: isCustomProperty, </code></td></tr><tr><td id="L4627" class="css-a4x74f"><span>4627</span></td><td id="LC4627" class="css-1dcdqdg"><code> vendorPrefix: getVendorPrefix </code></td></tr><tr><td id="L4628" class="css-a4x74f"><span>4628</span></td><td id="LC4628" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4629" class="css-a4x74f"><span>4629</span></td><td id="LC4629" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4630" class="css-a4x74f"><span>4630</span></td><td id="LC4630" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MIN_SIZE = <span class="code-number">16</span> * <span class="code-number">1024</span>; </code></td></tr><tr><td id="L4631" class="css-a4x74f"><span>4631</span></td><td id="LC4631" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SafeUint32Array = <span class="code-keyword">typeof</span> <span class="code-built_in">Uint32Array</span> !== <span class="code-string">'undefined'</span> ? <span class="code-built_in">Uint32Array</span> : <span class="code-built_in">Array</span>; <span class="code-comment">// fallback on Array when TypedArray is not supported</span> </code></td></tr><tr><td id="L4632" class="css-a4x74f"><span>4632</span></td><td id="LC4632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4633" class="css-a4x74f"><span>4633</span></td><td id="LC4633" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> adoptBuffer = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">adoptBuffer</span>(<span class="code-params">buffer, size</span>) </span>{ </code></td></tr><tr><td id="L4634" class="css-a4x74f"><span>4634</span></td><td id="LC4634" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (buffer === <span class="code-literal">null</span> || buffer.length < size) { </code></td></tr><tr><td id="L4635" class="css-a4x74f"><span>4635</span></td><td id="LC4635" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> SafeUint32Array(<span class="code-built_in">Math</span>.max(size + <span class="code-number">1024</span>, MIN_SIZE)); </code></td></tr><tr><td id="L4636" class="css-a4x74f"><span>4636</span></td><td id="LC4636" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4637" class="css-a4x74f"><span>4637</span></td><td id="LC4637" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4638" class="css-a4x74f"><span>4638</span></td><td id="LC4638" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buffer; </code></td></tr><tr><td id="L4639" class="css-a4x74f"><span>4639</span></td><td id="LC4639" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L4640" class="css-a4x74f"><span>4640</span></td><td id="LC4640" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4641" class="css-a4x74f"><span>4641</span></td><td id="LC4641" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">2</span> = _const.TYPE; </code></td></tr><tr><td id="L4642" class="css-a4x74f"><span>4642</span></td><td id="LC4642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4643" class="css-a4x74f"><span>4643</span></td><td id="LC4643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4644" class="css-a4x74f"><span>4644</span></td><td id="LC4644" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isNewline$<span class="code-number">1</span> = charCodeDefinitions.isNewline; </code></td></tr><tr><td id="L4645" class="css-a4x74f"><span>4645</span></td><td id="LC4645" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isName$<span class="code-number">2</span> = charCodeDefinitions.isName; </code></td></tr><tr><td id="L4646" class="css-a4x74f"><span>4646</span></td><td id="LC4646" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isValidEscape$<span class="code-number">2</span> = charCodeDefinitions.isValidEscape; </code></td></tr><tr><td id="L4647" class="css-a4x74f"><span>4647</span></td><td id="LC4647" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isNumberStart$<span class="code-number">1</span> = charCodeDefinitions.isNumberStart; </code></td></tr><tr><td id="L4648" class="css-a4x74f"><span>4648</span></td><td id="LC4648" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isIdentifierStart$<span class="code-number">1</span> = charCodeDefinitions.isIdentifierStart; </code></td></tr><tr><td id="L4649" class="css-a4x74f"><span>4649</span></td><td id="LC4649" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> charCodeCategory$<span class="code-number">1</span> = charCodeDefinitions.charCodeCategory; </code></td></tr><tr><td id="L4650" class="css-a4x74f"><span>4650</span></td><td id="LC4650" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isBOM$<span class="code-number">1</span> = charCodeDefinitions.isBOM; </code></td></tr><tr><td id="L4651" class="css-a4x74f"><span>4651</span></td><td id="LC4651" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4652" class="css-a4x74f"><span>4652</span></td><td id="LC4652" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4653" class="css-a4x74f"><span>4653</span></td><td id="LC4653" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpStr$<span class="code-number">2</span> = utils.cmpStr; </code></td></tr><tr><td id="L4654" class="css-a4x74f"><span>4654</span></td><td id="LC4654" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> getNewlineLength$<span class="code-number">1</span> = utils.getNewlineLength; </code></td></tr><tr><td id="L4655" class="css-a4x74f"><span>4655</span></td><td id="LC4655" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> findWhiteSpaceEnd$<span class="code-number">1</span> = utils.findWhiteSpaceEnd; </code></td></tr><tr><td id="L4656" class="css-a4x74f"><span>4656</span></td><td id="LC4656" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeEscaped$<span class="code-number">1</span> = utils.consumeEscaped; </code></td></tr><tr><td id="L4657" class="css-a4x74f"><span>4657</span></td><td id="LC4657" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeName$<span class="code-number">1</span> = utils.consumeName; </code></td></tr><tr><td id="L4658" class="css-a4x74f"><span>4658</span></td><td id="LC4658" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeNumber$<span class="code-number">1</span> = utils.consumeNumber; </code></td></tr><tr><td id="L4659" class="css-a4x74f"><span>4659</span></td><td id="LC4659" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeBadUrlRemnants$<span class="code-number">1</span> = utils.consumeBadUrlRemnants; </code></td></tr><tr><td id="L4660" class="css-a4x74f"><span>4660</span></td><td id="LC4660" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4661" class="css-a4x74f"><span>4661</span></td><td id="LC4661" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OFFSET_MASK$<span class="code-number">1</span> = <span class="code-number">0x00FFFFFF</span>; </code></td></tr><tr><td id="L4662" class="css-a4x74f"><span>4662</span></td><td id="LC4662" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE_SHIFT$<span class="code-number">1</span> = <span class="code-number">24</span>; </code></td></tr><tr><td id="L4663" class="css-a4x74f"><span>4663</span></td><td id="LC4663" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4664" class="css-a4x74f"><span>4664</span></td><td id="LC4664" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">tokenize</span>(<span class="code-params">source, stream</span>) </span>{ </code></td></tr><tr><td id="L4665" class="css-a4x74f"><span>4665</span></td><td id="LC4665" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getCharCode</span>(<span class="code-params">offset</span>) </span>{ </code></td></tr><tr><td id="L4666" class="css-a4x74f"><span>4666</span></td><td id="LC4666" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset < sourceLength ? source.charCodeAt(offset) : <span class="code-number">0</span>; </code></td></tr><tr><td id="L4667" class="css-a4x74f"><span>4667</span></td><td id="LC4667" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4668" class="css-a4x74f"><span>4668</span></td><td id="LC4668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4669" class="css-a4x74f"><span>4669</span></td><td id="LC4669" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.3. Consume a numeric token</span> </code></td></tr><tr><td id="L4670" class="css-a4x74f"><span>4670</span></td><td id="LC4670" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeNumericToken</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4671" class="css-a4x74f"><span>4671</span></td><td id="LC4671" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a number and let number be the result.</span> </code></td></tr><tr><td id="L4672" class="css-a4x74f"><span>4672</span></td><td id="LC4672" class="css-1dcdqdg"><code> offset = consumeNumber$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4673" class="css-a4x74f"><span>4673</span></td><td id="LC4673" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4674" class="css-a4x74f"><span>4674</span></td><td id="LC4674" class="css-1dcdqdg"><code> <span class="code-comment">// If the next 3 input code points would start an identifier, then:</span> </code></td></tr><tr><td id="L4675" class="css-a4x74f"><span>4675</span></td><td id="LC4675" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isIdentifierStart$<span class="code-number">1</span>(getCharCode(offset), getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L4676" class="css-a4x74f"><span>4676</span></td><td id="LC4676" class="css-1dcdqdg"><code> <span class="code-comment">// Create a <dimension-token> with the same value and type flag as number, and a unit set initially to the empty string.</span> </code></td></tr><tr><td id="L4677" class="css-a4x74f"><span>4677</span></td><td id="LC4677" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a name. Set the <dimension-token>’s unit to the returned value.</span> </code></td></tr><tr><td id="L4678" class="css-a4x74f"><span>4678</span></td><td id="LC4678" class="css-1dcdqdg"><code> <span class="code-comment">// Return the <dimension-token>.</span> </code></td></tr><tr><td id="L4679" class="css-a4x74f"><span>4679</span></td><td id="LC4679" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Dimension; </code></td></tr><tr><td id="L4680" class="css-a4x74f"><span>4680</span></td><td id="LC4680" class="css-1dcdqdg"><code> offset = consumeName$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4681" class="css-a4x74f"><span>4681</span></td><td id="LC4681" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4682" class="css-a4x74f"><span>4682</span></td><td id="LC4682" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4683" class="css-a4x74f"><span>4683</span></td><td id="LC4683" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4684" class="css-a4x74f"><span>4684</span></td><td id="LC4684" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the next input code point is U+0025 PERCENTAGE SIGN (%), consume it.</span> </code></td></tr><tr><td id="L4685" class="css-a4x74f"><span>4685</span></td><td id="LC4685" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset) === <span class="code-number">0x0025</span>) { </code></td></tr><tr><td id="L4686" class="css-a4x74f"><span>4686</span></td><td id="LC4686" class="css-1dcdqdg"><code> <span class="code-comment">// Create a <percentage-token> with the same value as number, and return it.</span> </code></td></tr><tr><td id="L4687" class="css-a4x74f"><span>4687</span></td><td id="LC4687" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Percentage; </code></td></tr><tr><td id="L4688" class="css-a4x74f"><span>4688</span></td><td id="LC4688" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4689" class="css-a4x74f"><span>4689</span></td><td id="LC4689" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4690" class="css-a4x74f"><span>4690</span></td><td id="LC4690" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4691" class="css-a4x74f"><span>4691</span></td><td id="LC4691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4692" class="css-a4x74f"><span>4692</span></td><td id="LC4692" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, create a <number-token> with the same value and type flag as number, and return it.</span> </code></td></tr><tr><td id="L4693" class="css-a4x74f"><span>4693</span></td><td id="LC4693" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span><span class="code-built_in">Number</span>; </code></td></tr><tr><td id="L4694" class="css-a4x74f"><span>4694</span></td><td id="LC4694" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4695" class="css-a4x74f"><span>4695</span></td><td id="LC4695" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4696" class="css-a4x74f"><span>4696</span></td><td id="LC4696" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.4. Consume an ident-like token</span> </code></td></tr><tr><td id="L4697" class="css-a4x74f"><span>4697</span></td><td id="LC4697" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeIdentLikeToken</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4698" class="css-a4x74f"><span>4698</span></td><td id="LC4698" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> nameStartOffset = offset; </code></td></tr><tr><td id="L4699" class="css-a4x74f"><span>4699</span></td><td id="LC4699" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4700" class="css-a4x74f"><span>4700</span></td><td id="LC4700" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a name, and let string be the result.</span> </code></td></tr><tr><td id="L4701" class="css-a4x74f"><span>4701</span></td><td id="LC4701" class="css-1dcdqdg"><code> offset = consumeName$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4702" class="css-a4x74f"><span>4702</span></td><td id="LC4702" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4703" class="css-a4x74f"><span>4703</span></td><td id="LC4703" class="css-1dcdqdg"><code> <span class="code-comment">// If string’s value is an ASCII case-insensitive match for "url",</span> </code></td></tr><tr><td id="L4704" class="css-a4x74f"><span>4704</span></td><td id="LC4704" class="css-1dcdqdg"><code> <span class="code-comment">// and the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.</span> </code></td></tr><tr><td id="L4705" class="css-a4x74f"><span>4705</span></td><td id="LC4705" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmpStr$<span class="code-number">2</span>(source, nameStartOffset, offset, <span class="code-string">'url'</span>) && getCharCode(offset) === <span class="code-number">0x0028</span>) { </code></td></tr><tr><td id="L4706" class="css-a4x74f"><span>4706</span></td><td id="LC4706" class="css-1dcdqdg"><code> <span class="code-comment">// While the next two input code points are whitespace, consume the next input code point.</span> </code></td></tr><tr><td id="L4707" class="css-a4x74f"><span>4707</span></td><td id="LC4707" class="css-1dcdqdg"><code> offset = findWhiteSpaceEnd$<span class="code-number">1</span>(source, offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4708" class="css-a4x74f"><span>4708</span></td><td id="LC4708" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4709" class="css-a4x74f"><span>4709</span></td><td id="LC4709" class="css-1dcdqdg"><code> <span class="code-comment">// If the next one or two input code points are U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('),</span> </code></td></tr><tr><td id="L4710" class="css-a4x74f"><span>4710</span></td><td id="LC4710" class="css-1dcdqdg"><code> <span class="code-comment">// or whitespace followed by U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('),</span> </code></td></tr><tr><td id="L4711" class="css-a4x74f"><span>4711</span></td><td id="LC4711" class="css-1dcdqdg"><code> <span class="code-comment">// then create a <function-token> with its value set to string and return it.</span> </code></td></tr><tr><td id="L4712" class="css-a4x74f"><span>4712</span></td><td id="LC4712" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset) === <span class="code-number">0x0022</span> || </code></td></tr><tr><td id="L4713" class="css-a4x74f"><span>4713</span></td><td id="LC4713" class="css-1dcdqdg"><code> getCharCode(offset) === <span class="code-number">0x0027</span>) { </code></td></tr><tr><td id="L4714" class="css-a4x74f"><span>4714</span></td><td id="LC4714" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span><span class="code-built_in">Function</span>; </code></td></tr><tr><td id="L4715" class="css-a4x74f"><span>4715</span></td><td id="LC4715" class="css-1dcdqdg"><code> offset = nameStartOffset + <span class="code-number">4</span>; </code></td></tr><tr><td id="L4716" class="css-a4x74f"><span>4716</span></td><td id="LC4716" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4717" class="css-a4x74f"><span>4717</span></td><td id="LC4717" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4718" class="css-a4x74f"><span>4718</span></td><td id="LC4718" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4719" class="css-a4x74f"><span>4719</span></td><td id="LC4719" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, consume a url token, and return it.</span> </code></td></tr><tr><td id="L4720" class="css-a4x74f"><span>4720</span></td><td id="LC4720" class="css-1dcdqdg"><code> consumeUrlToken(); </code></td></tr><tr><td id="L4721" class="css-a4x74f"><span>4721</span></td><td id="LC4721" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4722" class="css-a4x74f"><span>4722</span></td><td id="LC4722" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4723" class="css-a4x74f"><span>4723</span></td><td id="LC4723" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4724" class="css-a4x74f"><span>4724</span></td><td id="LC4724" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.</span> </code></td></tr><tr><td id="L4725" class="css-a4x74f"><span>4725</span></td><td id="LC4725" class="css-1dcdqdg"><code> <span class="code-comment">// Create a <function-token> with its value set to string and return it.</span> </code></td></tr><tr><td id="L4726" class="css-a4x74f"><span>4726</span></td><td id="LC4726" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset) === <span class="code-number">0x0028</span>) { </code></td></tr><tr><td id="L4727" class="css-a4x74f"><span>4727</span></td><td id="LC4727" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span><span class="code-built_in">Function</span>; </code></td></tr><tr><td id="L4728" class="css-a4x74f"><span>4728</span></td><td id="LC4728" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4729" class="css-a4x74f"><span>4729</span></td><td id="LC4729" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4730" class="css-a4x74f"><span>4730</span></td><td id="LC4730" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4731" class="css-a4x74f"><span>4731</span></td><td id="LC4731" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4732" class="css-a4x74f"><span>4732</span></td><td id="LC4732" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, create an <ident-token> with its value set to string and return it.</span> </code></td></tr><tr><td id="L4733" class="css-a4x74f"><span>4733</span></td><td id="LC4733" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Ident; </code></td></tr><tr><td id="L4734" class="css-a4x74f"><span>4734</span></td><td id="LC4734" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4735" class="css-a4x74f"><span>4735</span></td><td id="LC4735" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4736" class="css-a4x74f"><span>4736</span></td><td id="LC4736" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.5. Consume a string token</span> </code></td></tr><tr><td id="L4737" class="css-a4x74f"><span>4737</span></td><td id="LC4737" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeStringToken</span>(<span class="code-params">endingCodePoint</span>) </span>{ </code></td></tr><tr><td id="L4738" class="css-a4x74f"><span>4738</span></td><td id="LC4738" class="css-1dcdqdg"><code> <span class="code-comment">// This algorithm may be called with an ending code point, which denotes the code point</span> </code></td></tr><tr><td id="L4739" class="css-a4x74f"><span>4739</span></td><td id="LC4739" class="css-1dcdqdg"><code> <span class="code-comment">// that ends the string. If an ending code point is not specified,</span> </code></td></tr><tr><td id="L4740" class="css-a4x74f"><span>4740</span></td><td id="LC4740" class="css-1dcdqdg"><code> <span class="code-comment">// the current input code point is used.</span> </code></td></tr><tr><td id="L4741" class="css-a4x74f"><span>4741</span></td><td id="LC4741" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!endingCodePoint) { </code></td></tr><tr><td id="L4742" class="css-a4x74f"><span>4742</span></td><td id="LC4742" class="css-1dcdqdg"><code> endingCodePoint = getCharCode(offset++); </code></td></tr><tr><td id="L4743" class="css-a4x74f"><span>4743</span></td><td id="LC4743" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4744" class="css-a4x74f"><span>4744</span></td><td id="LC4744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4745" class="css-a4x74f"><span>4745</span></td><td id="LC4745" class="css-1dcdqdg"><code> <span class="code-comment">// Initially create a <string-token> with its value set to the empty string.</span> </code></td></tr><tr><td id="L4746" class="css-a4x74f"><span>4746</span></td><td id="LC4746" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span><span class="code-built_in">String</span>; </code></td></tr><tr><td id="L4747" class="css-a4x74f"><span>4747</span></td><td id="LC4747" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4748" class="css-a4x74f"><span>4748</span></td><td id="LC4748" class="css-1dcdqdg"><code> <span class="code-comment">// Repeatedly consume the next input code point from the stream:</span> </code></td></tr><tr><td id="L4749" class="css-a4x74f"><span>4749</span></td><td id="LC4749" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L4750" class="css-a4x74f"><span>4750</span></td><td id="LC4750" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L4751" class="css-a4x74f"><span>4751</span></td><td id="LC4751" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4752" class="css-a4x74f"><span>4752</span></td><td id="LC4752" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (charCodeCategory$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4753" class="css-a4x74f"><span>4753</span></td><td id="LC4753" class="css-1dcdqdg"><code> <span class="code-comment">// ending code point</span> </code></td></tr><tr><td id="L4754" class="css-a4x74f"><span>4754</span></td><td id="LC4754" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> endingCodePoint: </code></td></tr><tr><td id="L4755" class="css-a4x74f"><span>4755</span></td><td id="LC4755" class="css-1dcdqdg"><code> <span class="code-comment">// Return the <string-token>.</span> </code></td></tr><tr><td id="L4756" class="css-a4x74f"><span>4756</span></td><td id="LC4756" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4757" class="css-a4x74f"><span>4757</span></td><td id="LC4757" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4758" class="css-a4x74f"><span>4758</span></td><td id="LC4758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4759" class="css-a4x74f"><span>4759</span></td><td id="LC4759" class="css-1dcdqdg"><code> <span class="code-comment">// EOF</span> </code></td></tr><tr><td id="L4760" class="css-a4x74f"><span>4760</span></td><td id="LC4760" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>Eof: </code></td></tr><tr><td id="L4761" class="css-a4x74f"><span>4761</span></td><td id="LC4761" class="css-1dcdqdg"><code> <span class="code-comment">// This is a parse error. Return the <string-token>.</span> </code></td></tr><tr><td id="L4762" class="css-a4x74f"><span>4762</span></td><td id="LC4762" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4763" class="css-a4x74f"><span>4763</span></td><td id="LC4763" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4764" class="css-a4x74f"><span>4764</span></td><td id="LC4764" class="css-1dcdqdg"><code> <span class="code-comment">// newline</span> </code></td></tr><tr><td id="L4765" class="css-a4x74f"><span>4765</span></td><td id="LC4765" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>WhiteSpace: </code></td></tr><tr><td id="L4766" class="css-a4x74f"><span>4766</span></td><td id="LC4766" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNewline$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4767" class="css-a4x74f"><span>4767</span></td><td id="LC4767" class="css-1dcdqdg"><code> <span class="code-comment">// This is a parse error. Reconsume the current input code point,</span> </code></td></tr><tr><td id="L4768" class="css-a4x74f"><span>4768</span></td><td id="LC4768" class="css-1dcdqdg"><code> <span class="code-comment">// create a <bad-string-token>, and return it.</span> </code></td></tr><tr><td id="L4769" class="css-a4x74f"><span>4769</span></td><td id="LC4769" class="css-1dcdqdg"><code> offset += getNewlineLength$<span class="code-number">1</span>(source, offset, code); </code></td></tr><tr><td id="L4770" class="css-a4x74f"><span>4770</span></td><td id="LC4770" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>BadString; </code></td></tr><tr><td id="L4771" class="css-a4x74f"><span>4771</span></td><td id="LC4771" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4772" class="css-a4x74f"><span>4772</span></td><td id="LC4772" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4773" class="css-a4x74f"><span>4773</span></td><td id="LC4773" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4774" class="css-a4x74f"><span>4774</span></td><td id="LC4774" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4775" class="css-a4x74f"><span>4775</span></td><td id="LC4775" class="css-1dcdqdg"><code> <span class="code-comment">// U+005C REVERSE SOLIDUS (\)</span> </code></td></tr><tr><td id="L4776" class="css-a4x74f"><span>4776</span></td><td id="LC4776" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x005C</span>: </code></td></tr><tr><td id="L4777" class="css-a4x74f"><span>4777</span></td><td id="LC4777" class="css-1dcdqdg"><code> <span class="code-comment">// If the next input code point is EOF, do nothing.</span> </code></td></tr><tr><td id="L4778" class="css-a4x74f"><span>4778</span></td><td id="LC4778" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset === source.length - <span class="code-number">1</span>) { </code></td></tr><tr><td id="L4779" class="css-a4x74f"><span>4779</span></td><td id="LC4779" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4780" class="css-a4x74f"><span>4780</span></td><td id="LC4780" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4781" class="css-a4x74f"><span>4781</span></td><td id="LC4781" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4782" class="css-a4x74f"><span>4782</span></td><td id="LC4782" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nextCode = getCharCode(offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4783" class="css-a4x74f"><span>4783</span></td><td id="LC4783" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4784" class="css-a4x74f"><span>4784</span></td><td id="LC4784" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the next input code point is a newline, consume it.</span> </code></td></tr><tr><td id="L4785" class="css-a4x74f"><span>4785</span></td><td id="LC4785" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNewline$<span class="code-number">1</span>(nextCode)) { </code></td></tr><tr><td id="L4786" class="css-a4x74f"><span>4786</span></td><td id="LC4786" class="css-1dcdqdg"><code> offset += getNewlineLength$<span class="code-number">1</span>(source, offset + <span class="code-number">1</span>, nextCode); </code></td></tr><tr><td id="L4787" class="css-a4x74f"><span>4787</span></td><td id="LC4787" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (isValidEscape$<span class="code-number">2</span>(code, nextCode)) { </code></td></tr><tr><td id="L4788" class="css-a4x74f"><span>4788</span></td><td id="LC4788" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, (the stream starts with a valid escape) consume</span> </code></td></tr><tr><td id="L4789" class="css-a4x74f"><span>4789</span></td><td id="LC4789" class="css-1dcdqdg"><code> <span class="code-comment">// an escaped code point and append the returned code point to</span> </code></td></tr><tr><td id="L4790" class="css-a4x74f"><span>4790</span></td><td id="LC4790" class="css-1dcdqdg"><code> <span class="code-comment">// the <string-token>’s value.</span> </code></td></tr><tr><td id="L4791" class="css-a4x74f"><span>4791</span></td><td id="LC4791" class="css-1dcdqdg"><code> offset = consumeEscaped$<span class="code-number">1</span>(source, offset) - <span class="code-number">1</span>; </code></td></tr><tr><td id="L4792" class="css-a4x74f"><span>4792</span></td><td id="LC4792" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4793" class="css-a4x74f"><span>4793</span></td><td id="LC4793" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4794" class="css-a4x74f"><span>4794</span></td><td id="LC4794" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4795" class="css-a4x74f"><span>4795</span></td><td id="LC4795" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L4796" class="css-a4x74f"><span>4796</span></td><td id="LC4796" class="css-1dcdqdg"><code> <span class="code-comment">// Append the current input code point to the <string-token>’s value.</span> </code></td></tr><tr><td id="L4797" class="css-a4x74f"><span>4797</span></td><td id="LC4797" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4798" class="css-a4x74f"><span>4798</span></td><td id="LC4798" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4799" class="css-a4x74f"><span>4799</span></td><td id="LC4799" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4800" class="css-a4x74f"><span>4800</span></td><td id="LC4800" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4801" class="css-a4x74f"><span>4801</span></td><td id="LC4801" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.6. Consume a url token</span> </code></td></tr><tr><td id="L4802" class="css-a4x74f"><span>4802</span></td><td id="LC4802" class="css-1dcdqdg"><code> <span class="code-comment">// Note: This algorithm assumes that the initial "url(" has already been consumed.</span> </code></td></tr><tr><td id="L4803" class="css-a4x74f"><span>4803</span></td><td id="LC4803" class="css-1dcdqdg"><code> <span class="code-comment">// This algorithm also assumes that it’s being called to consume an "unquoted" value, like url(foo).</span> </code></td></tr><tr><td id="L4804" class="css-a4x74f"><span>4804</span></td><td id="LC4804" class="css-1dcdqdg"><code> <span class="code-comment">// A quoted value, like url("foo"), is parsed as a <function-token>. Consume an ident-like token</span> </code></td></tr><tr><td id="L4805" class="css-a4x74f"><span>4805</span></td><td id="LC4805" class="css-1dcdqdg"><code> <span class="code-comment">// automatically handles this distinction; this algorithm shouldn’t be called directly otherwise.</span> </code></td></tr><tr><td id="L4806" class="css-a4x74f"><span>4806</span></td><td id="LC4806" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeUrlToken</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L4807" class="css-a4x74f"><span>4807</span></td><td id="LC4807" class="css-1dcdqdg"><code> <span class="code-comment">// Initially create a <url-token> with its value set to the empty string.</span> </code></td></tr><tr><td id="L4808" class="css-a4x74f"><span>4808</span></td><td id="LC4808" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Url; </code></td></tr><tr><td id="L4809" class="css-a4x74f"><span>4809</span></td><td id="LC4809" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4810" class="css-a4x74f"><span>4810</span></td><td id="LC4810" class="css-1dcdqdg"><code> <span class="code-comment">// Consume as much whitespace as possible.</span> </code></td></tr><tr><td id="L4811" class="css-a4x74f"><span>4811</span></td><td id="LC4811" class="css-1dcdqdg"><code> offset = findWhiteSpaceEnd$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4812" class="css-a4x74f"><span>4812</span></td><td id="LC4812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4813" class="css-a4x74f"><span>4813</span></td><td id="LC4813" class="css-1dcdqdg"><code> <span class="code-comment">// Repeatedly consume the next input code point from the stream:</span> </code></td></tr><tr><td id="L4814" class="css-a4x74f"><span>4814</span></td><td id="LC4814" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; offset < source.length; offset++) { </code></td></tr><tr><td id="L4815" class="css-a4x74f"><span>4815</span></td><td id="LC4815" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L4816" class="css-a4x74f"><span>4816</span></td><td id="LC4816" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4817" class="css-a4x74f"><span>4817</span></td><td id="LC4817" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (charCodeCategory$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4818" class="css-a4x74f"><span>4818</span></td><td id="LC4818" class="css-1dcdqdg"><code> <span class="code-comment">// U+0029 RIGHT PARENTHESIS ())</span> </code></td></tr><tr><td id="L4819" class="css-a4x74f"><span>4819</span></td><td id="LC4819" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0029</span>: </code></td></tr><tr><td id="L4820" class="css-a4x74f"><span>4820</span></td><td id="LC4820" class="css-1dcdqdg"><code> <span class="code-comment">// Return the <url-token>.</span> </code></td></tr><tr><td id="L4821" class="css-a4x74f"><span>4821</span></td><td id="LC4821" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4822" class="css-a4x74f"><span>4822</span></td><td id="LC4822" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4823" class="css-a4x74f"><span>4823</span></td><td id="LC4823" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4824" class="css-a4x74f"><span>4824</span></td><td id="LC4824" class="css-1dcdqdg"><code> <span class="code-comment">// EOF</span> </code></td></tr><tr><td id="L4825" class="css-a4x74f"><span>4825</span></td><td id="LC4825" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>Eof: </code></td></tr><tr><td id="L4826" class="css-a4x74f"><span>4826</span></td><td id="LC4826" class="css-1dcdqdg"><code> <span class="code-comment">// This is a parse error. Return the <url-token>.</span> </code></td></tr><tr><td id="L4827" class="css-a4x74f"><span>4827</span></td><td id="LC4827" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4828" class="css-a4x74f"><span>4828</span></td><td id="LC4828" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4829" class="css-a4x74f"><span>4829</span></td><td id="LC4829" class="css-1dcdqdg"><code> <span class="code-comment">// whitespace</span> </code></td></tr><tr><td id="L4830" class="css-a4x74f"><span>4830</span></td><td id="LC4830" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>WhiteSpace: </code></td></tr><tr><td id="L4831" class="css-a4x74f"><span>4831</span></td><td id="LC4831" class="css-1dcdqdg"><code> <span class="code-comment">// Consume as much whitespace as possible.</span> </code></td></tr><tr><td id="L4832" class="css-a4x74f"><span>4832</span></td><td id="LC4832" class="css-1dcdqdg"><code> offset = findWhiteSpaceEnd$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4833" class="css-a4x74f"><span>4833</span></td><td id="LC4833" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4834" class="css-a4x74f"><span>4834</span></td><td id="LC4834" class="css-1dcdqdg"><code> <span class="code-comment">// If the next input code point is U+0029 RIGHT PARENTHESIS ()) or EOF,</span> </code></td></tr><tr><td id="L4835" class="css-a4x74f"><span>4835</span></td><td id="LC4835" class="css-1dcdqdg"><code> <span class="code-comment">// consume it and return the <url-token></span> </code></td></tr><tr><td id="L4836" class="css-a4x74f"><span>4836</span></td><td id="LC4836" class="css-1dcdqdg"><code> <span class="code-comment">// (if EOF was encountered, this is a parse error);</span> </code></td></tr><tr><td id="L4837" class="css-a4x74f"><span>4837</span></td><td id="LC4837" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset) === <span class="code-number">0x0029</span> || offset >= source.length) { </code></td></tr><tr><td id="L4838" class="css-a4x74f"><span>4838</span></td><td id="LC4838" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset < source.length) { </code></td></tr><tr><td id="L4839" class="css-a4x74f"><span>4839</span></td><td id="LC4839" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4840" class="css-a4x74f"><span>4840</span></td><td id="LC4840" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4841" class="css-a4x74f"><span>4841</span></td><td id="LC4841" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4842" class="css-a4x74f"><span>4842</span></td><td id="LC4842" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4843" class="css-a4x74f"><span>4843</span></td><td id="LC4843" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4844" class="css-a4x74f"><span>4844</span></td><td id="LC4844" class="css-1dcdqdg"><code> <span class="code-comment">// otherwise, consume the remnants of a bad url, create a <bad-url-token>,</span> </code></td></tr><tr><td id="L4845" class="css-a4x74f"><span>4845</span></td><td id="LC4845" class="css-1dcdqdg"><code> <span class="code-comment">// and return it.</span> </code></td></tr><tr><td id="L4846" class="css-a4x74f"><span>4846</span></td><td id="LC4846" class="css-1dcdqdg"><code> offset = consumeBadUrlRemnants$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4847" class="css-a4x74f"><span>4847</span></td><td id="LC4847" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>BadUrl; </code></td></tr><tr><td id="L4848" class="css-a4x74f"><span>4848</span></td><td id="LC4848" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4849" class="css-a4x74f"><span>4849</span></td><td id="LC4849" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4850" class="css-a4x74f"><span>4850</span></td><td id="LC4850" class="css-1dcdqdg"><code> <span class="code-comment">// U+0022 QUOTATION MARK (")</span> </code></td></tr><tr><td id="L4851" class="css-a4x74f"><span>4851</span></td><td id="LC4851" class="css-1dcdqdg"><code> <span class="code-comment">// U+0027 APOSTROPHE (')</span> </code></td></tr><tr><td id="L4852" class="css-a4x74f"><span>4852</span></td><td id="LC4852" class="css-1dcdqdg"><code> <span class="code-comment">// U+0028 LEFT PARENTHESIS (()</span> </code></td></tr><tr><td id="L4853" class="css-a4x74f"><span>4853</span></td><td id="LC4853" class="css-1dcdqdg"><code> <span class="code-comment">// non-printable code point</span> </code></td></tr><tr><td id="L4854" class="css-a4x74f"><span>4854</span></td><td id="LC4854" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0022</span>: </code></td></tr><tr><td id="L4855" class="css-a4x74f"><span>4855</span></td><td id="LC4855" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0027</span>: </code></td></tr><tr><td id="L4856" class="css-a4x74f"><span>4856</span></td><td id="LC4856" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0028</span>: </code></td></tr><tr><td id="L4857" class="css-a4x74f"><span>4857</span></td><td id="LC4857" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>NonPrintable: </code></td></tr><tr><td id="L4858" class="css-a4x74f"><span>4858</span></td><td id="LC4858" class="css-1dcdqdg"><code> <span class="code-comment">// This is a parse error. Consume the remnants of a bad url,</span> </code></td></tr><tr><td id="L4859" class="css-a4x74f"><span>4859</span></td><td id="LC4859" class="css-1dcdqdg"><code> <span class="code-comment">// create a <bad-url-token>, and return it.</span> </code></td></tr><tr><td id="L4860" class="css-a4x74f"><span>4860</span></td><td id="LC4860" class="css-1dcdqdg"><code> offset = consumeBadUrlRemnants$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4861" class="css-a4x74f"><span>4861</span></td><td id="LC4861" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>BadUrl; </code></td></tr><tr><td id="L4862" class="css-a4x74f"><span>4862</span></td><td id="LC4862" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4863" class="css-a4x74f"><span>4863</span></td><td id="LC4863" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4864" class="css-a4x74f"><span>4864</span></td><td id="LC4864" class="css-1dcdqdg"><code> <span class="code-comment">// U+005C REVERSE SOLIDUS (\)</span> </code></td></tr><tr><td id="L4865" class="css-a4x74f"><span>4865</span></td><td id="LC4865" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x005C</span>: </code></td></tr><tr><td id="L4866" class="css-a4x74f"><span>4866</span></td><td id="LC4866" class="css-1dcdqdg"><code> <span class="code-comment">// If the stream starts with a valid escape, consume an escaped code point and</span> </code></td></tr><tr><td id="L4867" class="css-a4x74f"><span>4867</span></td><td id="LC4867" class="css-1dcdqdg"><code> <span class="code-comment">// append the returned code point to the <url-token>’s value.</span> </code></td></tr><tr><td id="L4868" class="css-a4x74f"><span>4868</span></td><td id="LC4868" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isValidEscape$<span class="code-number">2</span>(code, getCharCode(offset + <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L4869" class="css-a4x74f"><span>4869</span></td><td id="LC4869" class="css-1dcdqdg"><code> offset = consumeEscaped$<span class="code-number">1</span>(source, offset) - <span class="code-number">1</span>; </code></td></tr><tr><td id="L4870" class="css-a4x74f"><span>4870</span></td><td id="LC4870" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4871" class="css-a4x74f"><span>4871</span></td><td id="LC4871" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4872" class="css-a4x74f"><span>4872</span></td><td id="LC4872" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4873" class="css-a4x74f"><span>4873</span></td><td id="LC4873" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, this is a parse error. Consume the remnants of a bad url,</span> </code></td></tr><tr><td id="L4874" class="css-a4x74f"><span>4874</span></td><td id="LC4874" class="css-1dcdqdg"><code> <span class="code-comment">// create a <bad-url-token>, and return it.</span> </code></td></tr><tr><td id="L4875" class="css-a4x74f"><span>4875</span></td><td id="LC4875" class="css-1dcdqdg"><code> offset = consumeBadUrlRemnants$<span class="code-number">1</span>(source, offset); </code></td></tr><tr><td id="L4876" class="css-a4x74f"><span>4876</span></td><td id="LC4876" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>BadUrl; </code></td></tr><tr><td id="L4877" class="css-a4x74f"><span>4877</span></td><td id="LC4877" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L4878" class="css-a4x74f"><span>4878</span></td><td id="LC4878" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4879" class="css-a4x74f"><span>4879</span></td><td id="LC4879" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L4880" class="css-a4x74f"><span>4880</span></td><td id="LC4880" class="css-1dcdqdg"><code> <span class="code-comment">// Append the current input code point to the <url-token>’s value.</span> </code></td></tr><tr><td id="L4881" class="css-a4x74f"><span>4881</span></td><td id="LC4881" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4882" class="css-a4x74f"><span>4882</span></td><td id="LC4882" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4883" class="css-a4x74f"><span>4883</span></td><td id="LC4883" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4884" class="css-a4x74f"><span>4884</span></td><td id="LC4884" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4885" class="css-a4x74f"><span>4885</span></td><td id="LC4885" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!stream) { </code></td></tr><tr><td id="L4886" class="css-a4x74f"><span>4886</span></td><td id="LC4886" class="css-1dcdqdg"><code> stream = <span class="code-keyword">new</span> TokenStream_1(); </code></td></tr><tr><td id="L4887" class="css-a4x74f"><span>4887</span></td><td id="LC4887" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4888" class="css-a4x74f"><span>4888</span></td><td id="LC4888" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4889" class="css-a4x74f"><span>4889</span></td><td id="LC4889" class="css-1dcdqdg"><code> <span class="code-comment">// ensure source is a string</span> </code></td></tr><tr><td id="L4890" class="css-a4x74f"><span>4890</span></td><td id="LC4890" class="css-1dcdqdg"><code> source = <span class="code-built_in">String</span>(source || <span class="code-string">''</span>); </code></td></tr><tr><td id="L4891" class="css-a4x74f"><span>4891</span></td><td id="LC4891" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4892" class="css-a4x74f"><span>4892</span></td><td id="LC4892" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceLength = source.length; </code></td></tr><tr><td id="L4893" class="css-a4x74f"><span>4893</span></td><td id="LC4893" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offsetAndType = adoptBuffer(stream.offsetAndType, sourceLength + <span class="code-number">1</span>); <span class="code-comment">// +1 because of eof-token</span> </code></td></tr><tr><td id="L4894" class="css-a4x74f"><span>4894</span></td><td id="LC4894" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> balance = adoptBuffer(stream.balance, sourceLength + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4895" class="css-a4x74f"><span>4895</span></td><td id="LC4895" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenCount = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4896" class="css-a4x74f"><span>4896</span></td><td id="LC4896" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = isBOM$<span class="code-number">1</span>(getCharCode(<span class="code-number">0</span>)); </code></td></tr><tr><td id="L4897" class="css-a4x74f"><span>4897</span></td><td id="LC4897" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = start; </code></td></tr><tr><td id="L4898" class="css-a4x74f"><span>4898</span></td><td id="LC4898" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> balanceCloseType = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4899" class="css-a4x74f"><span>4899</span></td><td id="LC4899" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> balanceStart = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4900" class="css-a4x74f"><span>4900</span></td><td id="LC4900" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> balancePrev = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4901" class="css-a4x74f"><span>4901</span></td><td id="LC4901" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4902" class="css-a4x74f"><span>4902</span></td><td id="LC4902" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax-3/#consume-token</span> </code></td></tr><tr><td id="L4903" class="css-a4x74f"><span>4903</span></td><td id="LC4903" class="css-1dcdqdg"><code> <span class="code-comment">// § 4.3.1. Consume a token</span> </code></td></tr><tr><td id="L4904" class="css-a4x74f"><span>4904</span></td><td id="LC4904" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (offset < sourceLength) { </code></td></tr><tr><td id="L4905" class="css-a4x74f"><span>4905</span></td><td id="LC4905" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(offset); </code></td></tr><tr><td id="L4906" class="css-a4x74f"><span>4906</span></td><td id="LC4906" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> type = <span class="code-number">0</span>; </code></td></tr><tr><td id="L4907" class="css-a4x74f"><span>4907</span></td><td id="LC4907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4908" class="css-a4x74f"><span>4908</span></td><td id="LC4908" class="css-1dcdqdg"><code> balance[tokenCount] = sourceLength; </code></td></tr><tr><td id="L4909" class="css-a4x74f"><span>4909</span></td><td id="LC4909" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4910" class="css-a4x74f"><span>4910</span></td><td id="LC4910" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (charCodeCategory$<span class="code-number">1</span>(code)) { </code></td></tr><tr><td id="L4911" class="css-a4x74f"><span>4911</span></td><td id="LC4911" class="css-1dcdqdg"><code> <span class="code-comment">// whitespace</span> </code></td></tr><tr><td id="L4912" class="css-a4x74f"><span>4912</span></td><td id="LC4912" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>WhiteSpace: </code></td></tr><tr><td id="L4913" class="css-a4x74f"><span>4913</span></td><td id="LC4913" class="css-1dcdqdg"><code> <span class="code-comment">// Consume as much whitespace as possible. Return a <whitespace-token>.</span> </code></td></tr><tr><td id="L4914" class="css-a4x74f"><span>4914</span></td><td id="LC4914" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>WhiteSpace; </code></td></tr><tr><td id="L4915" class="css-a4x74f"><span>4915</span></td><td id="LC4915" class="css-1dcdqdg"><code> offset = findWhiteSpaceEnd$<span class="code-number">1</span>(source, offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4916" class="css-a4x74f"><span>4916</span></td><td id="LC4916" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4917" class="css-a4x74f"><span>4917</span></td><td id="LC4917" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4918" class="css-a4x74f"><span>4918</span></td><td id="LC4918" class="css-1dcdqdg"><code> <span class="code-comment">// U+0022 QUOTATION MARK (")</span> </code></td></tr><tr><td id="L4919" class="css-a4x74f"><span>4919</span></td><td id="LC4919" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0022</span>: </code></td></tr><tr><td id="L4920" class="css-a4x74f"><span>4920</span></td><td id="LC4920" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a string token and return it.</span> </code></td></tr><tr><td id="L4921" class="css-a4x74f"><span>4921</span></td><td id="LC4921" class="css-1dcdqdg"><code> consumeStringToken(); </code></td></tr><tr><td id="L4922" class="css-a4x74f"><span>4922</span></td><td id="LC4922" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4923" class="css-a4x74f"><span>4923</span></td><td id="LC4923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4924" class="css-a4x74f"><span>4924</span></td><td id="LC4924" class="css-1dcdqdg"><code> <span class="code-comment">// U+0023 NUMBER SIGN (#)</span> </code></td></tr><tr><td id="L4925" class="css-a4x74f"><span>4925</span></td><td id="LC4925" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0023</span>: </code></td></tr><tr><td id="L4926" class="css-a4x74f"><span>4926</span></td><td id="LC4926" class="css-1dcdqdg"><code> <span class="code-comment">// If the next input code point is a name code point or the next two input code points are a valid escape, then:</span> </code></td></tr><tr><td id="L4927" class="css-a4x74f"><span>4927</span></td><td id="LC4927" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isName$<span class="code-number">2</span>(getCharCode(offset + <span class="code-number">1</span>)) || isValidEscape$<span class="code-number">2</span>(getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L4928" class="css-a4x74f"><span>4928</span></td><td id="LC4928" class="css-1dcdqdg"><code> <span class="code-comment">// Create a <hash-token>.</span> </code></td></tr><tr><td id="L4929" class="css-a4x74f"><span>4929</span></td><td id="LC4929" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Hash; </code></td></tr><tr><td id="L4930" class="css-a4x74f"><span>4930</span></td><td id="LC4930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4931" class="css-a4x74f"><span>4931</span></td><td id="LC4931" class="css-1dcdqdg"><code> <span class="code-comment">// If the next 3 input code points would start an identifier, set the <hash-token>’s type flag to "id".</span> </code></td></tr><tr><td id="L4932" class="css-a4x74f"><span>4932</span></td><td id="LC4932" class="css-1dcdqdg"><code> <span class="code-comment">// if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) {</span> </code></td></tr><tr><td id="L4933" class="css-a4x74f"><span>4933</span></td><td id="LC4933" class="css-1dcdqdg"><code> <span class="code-comment">// // <span class="code-doctag">TODO:</span> set id flag</span> </code></td></tr><tr><td id="L4934" class="css-a4x74f"><span>4934</span></td><td id="LC4934" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L4935" class="css-a4x74f"><span>4935</span></td><td id="LC4935" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4936" class="css-a4x74f"><span>4936</span></td><td id="LC4936" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a name, and set the <hash-token>’s value to the returned string.</span> </code></td></tr><tr><td id="L4937" class="css-a4x74f"><span>4937</span></td><td id="LC4937" class="css-1dcdqdg"><code> offset = consumeName$<span class="code-number">1</span>(source, offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L4938" class="css-a4x74f"><span>4938</span></td><td id="LC4938" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4939" class="css-a4x74f"><span>4939</span></td><td id="LC4939" class="css-1dcdqdg"><code> <span class="code-comment">// Return the <hash-token>.</span> </code></td></tr><tr><td id="L4940" class="css-a4x74f"><span>4940</span></td><td id="LC4940" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4941" class="css-a4x74f"><span>4941</span></td><td id="LC4941" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L4942" class="css-a4x74f"><span>4942</span></td><td id="LC4942" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L4943" class="css-a4x74f"><span>4943</span></td><td id="LC4943" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4944" class="css-a4x74f"><span>4944</span></td><td id="LC4944" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4945" class="css-a4x74f"><span>4945</span></td><td id="LC4945" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4946" class="css-a4x74f"><span>4946</span></td><td id="LC4946" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4947" class="css-a4x74f"><span>4947</span></td><td id="LC4947" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4948" class="css-a4x74f"><span>4948</span></td><td id="LC4948" class="css-1dcdqdg"><code> <span class="code-comment">// U+0027 APOSTROPHE (')</span> </code></td></tr><tr><td id="L4949" class="css-a4x74f"><span>4949</span></td><td id="LC4949" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0027</span>: </code></td></tr><tr><td id="L4950" class="css-a4x74f"><span>4950</span></td><td id="LC4950" class="css-1dcdqdg"><code> <span class="code-comment">// Consume a string token and return it.</span> </code></td></tr><tr><td id="L4951" class="css-a4x74f"><span>4951</span></td><td id="LC4951" class="css-1dcdqdg"><code> consumeStringToken(); </code></td></tr><tr><td id="L4952" class="css-a4x74f"><span>4952</span></td><td id="LC4952" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4953" class="css-a4x74f"><span>4953</span></td><td id="LC4953" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4954" class="css-a4x74f"><span>4954</span></td><td id="LC4954" class="css-1dcdqdg"><code> <span class="code-comment">// U+0028 LEFT PARENTHESIS (()</span> </code></td></tr><tr><td id="L4955" class="css-a4x74f"><span>4955</span></td><td id="LC4955" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0028</span>: </code></td></tr><tr><td id="L4956" class="css-a4x74f"><span>4956</span></td><td id="LC4956" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <(-token>.</span> </code></td></tr><tr><td id="L4957" class="css-a4x74f"><span>4957</span></td><td id="LC4957" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>LeftParenthesis; </code></td></tr><tr><td id="L4958" class="css-a4x74f"><span>4958</span></td><td id="LC4958" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4959" class="css-a4x74f"><span>4959</span></td><td id="LC4959" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4960" class="css-a4x74f"><span>4960</span></td><td id="LC4960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4961" class="css-a4x74f"><span>4961</span></td><td id="LC4961" class="css-1dcdqdg"><code> <span class="code-comment">// U+0029 RIGHT PARENTHESIS ())</span> </code></td></tr><tr><td id="L4962" class="css-a4x74f"><span>4962</span></td><td id="LC4962" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0029</span>: </code></td></tr><tr><td id="L4963" class="css-a4x74f"><span>4963</span></td><td id="LC4963" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <)-token>.</span> </code></td></tr><tr><td id="L4964" class="css-a4x74f"><span>4964</span></td><td id="LC4964" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>RightParenthesis; </code></td></tr><tr><td id="L4965" class="css-a4x74f"><span>4965</span></td><td id="LC4965" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4966" class="css-a4x74f"><span>4966</span></td><td id="LC4966" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4967" class="css-a4x74f"><span>4967</span></td><td id="LC4967" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4968" class="css-a4x74f"><span>4968</span></td><td id="LC4968" class="css-1dcdqdg"><code> <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L4969" class="css-a4x74f"><span>4969</span></td><td id="LC4969" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x002B</span>: </code></td></tr><tr><td id="L4970" class="css-a4x74f"><span>4970</span></td><td id="LC4970" class="css-1dcdqdg"><code> <span class="code-comment">// If the input stream starts with a number, ...</span> </code></td></tr><tr><td id="L4971" class="css-a4x74f"><span>4971</span></td><td id="LC4971" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNumberStart$<span class="code-number">1</span>(code, getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L4972" class="css-a4x74f"><span>4972</span></td><td id="LC4972" class="css-1dcdqdg"><code> <span class="code-comment">// ... reconsume the current input code point, consume a numeric token, and return it.</span> </code></td></tr><tr><td id="L4973" class="css-a4x74f"><span>4973</span></td><td id="LC4973" class="css-1dcdqdg"><code> consumeNumericToken(); </code></td></tr><tr><td id="L4974" class="css-a4x74f"><span>4974</span></td><td id="LC4974" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4975" class="css-a4x74f"><span>4975</span></td><td id="LC4975" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L4976" class="css-a4x74f"><span>4976</span></td><td id="LC4976" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L4977" class="css-a4x74f"><span>4977</span></td><td id="LC4977" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4978" class="css-a4x74f"><span>4978</span></td><td id="LC4978" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L4979" class="css-a4x74f"><span>4979</span></td><td id="LC4979" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4980" class="css-a4x74f"><span>4980</span></td><td id="LC4980" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4981" class="css-a4x74f"><span>4981</span></td><td id="LC4981" class="css-1dcdqdg"><code> <span class="code-comment">// U+002C COMMA (,)</span> </code></td></tr><tr><td id="L4982" class="css-a4x74f"><span>4982</span></td><td id="LC4982" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x002C</span>: </code></td></tr><tr><td id="L4983" class="css-a4x74f"><span>4983</span></td><td id="LC4983" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <comma-token>.</span> </code></td></tr><tr><td id="L4984" class="css-a4x74f"><span>4984</span></td><td id="LC4984" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Comma; </code></td></tr><tr><td id="L4985" class="css-a4x74f"><span>4985</span></td><td id="LC4985" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L4986" class="css-a4x74f"><span>4986</span></td><td id="LC4986" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L4987" class="css-a4x74f"><span>4987</span></td><td id="LC4987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L4988" class="css-a4x74f"><span>4988</span></td><td id="LC4988" class="css-1dcdqdg"><code> <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L4989" class="css-a4x74f"><span>4989</span></td><td id="LC4989" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x002D</span>: </code></td></tr><tr><td id="L4990" class="css-a4x74f"><span>4990</span></td><td id="LC4990" class="css-1dcdqdg"><code> <span class="code-comment">// If the input stream starts with a number, reconsume the current input code point, consume a numeric token, and return it.</span> </code></td></tr><tr><td id="L4991" class="css-a4x74f"><span>4991</span></td><td id="LC4991" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNumberStart$<span class="code-number">1</span>(code, getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L4992" class="css-a4x74f"><span>4992</span></td><td id="LC4992" class="css-1dcdqdg"><code> consumeNumericToken(); </code></td></tr><tr><td id="L4993" class="css-a4x74f"><span>4993</span></td><td id="LC4993" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L4994" class="css-a4x74f"><span>4994</span></td><td id="LC4994" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the next 2 input code points are U+002D HYPHEN-MINUS U+003E GREATER-THAN SIGN (->), consume them and return a <CDC-token>.</span> </code></td></tr><tr><td id="L4995" class="css-a4x74f"><span>4995</span></td><td id="LC4995" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset + <span class="code-number">1</span>) === <span class="code-number">0x002D</span> && </code></td></tr><tr><td id="L4996" class="css-a4x74f"><span>4996</span></td><td id="LC4996" class="css-1dcdqdg"><code> getCharCode(offset + <span class="code-number">2</span>) === <span class="code-number">0x003E</span>) { </code></td></tr><tr><td id="L4997" class="css-a4x74f"><span>4997</span></td><td id="LC4997" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>CDC; </code></td></tr><tr><td id="L4998" class="css-a4x74f"><span>4998</span></td><td id="LC4998" class="css-1dcdqdg"><code> offset = offset + <span class="code-number">3</span>; </code></td></tr><tr><td id="L4999" class="css-a4x74f"><span>4999</span></td><td id="LC4999" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5000" class="css-a4x74f"><span>5000</span></td><td id="LC5000" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, if the input stream starts with an identifier, ...</span> </code></td></tr><tr><td id="L5001" class="css-a4x74f"><span>5001</span></td><td id="LC5001" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isIdentifierStart$<span class="code-number">1</span>(code, getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L5002" class="css-a4x74f"><span>5002</span></td><td id="LC5002" class="css-1dcdqdg"><code> <span class="code-comment">// ... reconsume the current input code point, consume an ident-like token, and return it.</span> </code></td></tr><tr><td id="L5003" class="css-a4x74f"><span>5003</span></td><td id="LC5003" class="css-1dcdqdg"><code> consumeIdentLikeToken(); </code></td></tr><tr><td id="L5004" class="css-a4x74f"><span>5004</span></td><td id="LC5004" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5005" class="css-a4x74f"><span>5005</span></td><td id="LC5005" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5006" class="css-a4x74f"><span>5006</span></td><td id="LC5006" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5007" class="css-a4x74f"><span>5007</span></td><td id="LC5007" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5008" class="css-a4x74f"><span>5008</span></td><td id="LC5008" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5009" class="css-a4x74f"><span>5009</span></td><td id="LC5009" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5010" class="css-a4x74f"><span>5010</span></td><td id="LC5010" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5011" class="css-a4x74f"><span>5011</span></td><td id="LC5011" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5012" class="css-a4x74f"><span>5012</span></td><td id="LC5012" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5013" class="css-a4x74f"><span>5013</span></td><td id="LC5013" class="css-1dcdqdg"><code> <span class="code-comment">// U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L5014" class="css-a4x74f"><span>5014</span></td><td id="LC5014" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x002E</span>: </code></td></tr><tr><td id="L5015" class="css-a4x74f"><span>5015</span></td><td id="LC5015" class="css-1dcdqdg"><code> <span class="code-comment">// If the input stream starts with a number, ...</span> </code></td></tr><tr><td id="L5016" class="css-a4x74f"><span>5016</span></td><td id="LC5016" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNumberStart$<span class="code-number">1</span>(code, getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>))) { </code></td></tr><tr><td id="L5017" class="css-a4x74f"><span>5017</span></td><td id="LC5017" class="css-1dcdqdg"><code> <span class="code-comment">// ... reconsume the current input code point, consume a numeric token, and return it.</span> </code></td></tr><tr><td id="L5018" class="css-a4x74f"><span>5018</span></td><td id="LC5018" class="css-1dcdqdg"><code> consumeNumericToken(); </code></td></tr><tr><td id="L5019" class="css-a4x74f"><span>5019</span></td><td id="LC5019" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5020" class="css-a4x74f"><span>5020</span></td><td id="LC5020" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5021" class="css-a4x74f"><span>5021</span></td><td id="LC5021" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5022" class="css-a4x74f"><span>5022</span></td><td id="LC5022" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5023" class="css-a4x74f"><span>5023</span></td><td id="LC5023" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5024" class="css-a4x74f"><span>5024</span></td><td id="LC5024" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5025" class="css-a4x74f"><span>5025</span></td><td id="LC5025" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5026" class="css-a4x74f"><span>5026</span></td><td id="LC5026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5027" class="css-a4x74f"><span>5027</span></td><td id="LC5027" class="css-1dcdqdg"><code> <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L5028" class="css-a4x74f"><span>5028</span></td><td id="LC5028" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x002F</span>: </code></td></tr><tr><td id="L5029" class="css-a4x74f"><span>5029</span></td><td id="LC5029" class="css-1dcdqdg"><code> <span class="code-comment">// If the next two input code point are U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*),</span> </code></td></tr><tr><td id="L5030" class="css-a4x74f"><span>5030</span></td><td id="LC5030" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset + <span class="code-number">1</span>) === <span class="code-number">0x002A</span>) { </code></td></tr><tr><td id="L5031" class="css-a4x74f"><span>5031</span></td><td id="LC5031" class="css-1dcdqdg"><code> <span class="code-comment">// ... consume them and all following code points up to and including the first U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L5032" class="css-a4x74f"><span>5032</span></td><td id="LC5032" class="css-1dcdqdg"><code> <span class="code-comment">// followed by a U+002F SOLIDUS (/), or up to an EOF code point.</span> </code></td></tr><tr><td id="L5033" class="css-a4x74f"><span>5033</span></td><td id="LC5033" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Comment; </code></td></tr><tr><td id="L5034" class="css-a4x74f"><span>5034</span></td><td id="LC5034" class="css-1dcdqdg"><code> offset = source.indexOf(<span class="code-string">'*/'</span>, offset + <span class="code-number">2</span>) + <span class="code-number">2</span>; </code></td></tr><tr><td id="L5035" class="css-a4x74f"><span>5035</span></td><td id="LC5035" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L5036" class="css-a4x74f"><span>5036</span></td><td id="LC5036" class="css-1dcdqdg"><code> offset = source.length; </code></td></tr><tr><td id="L5037" class="css-a4x74f"><span>5037</span></td><td id="LC5037" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5038" class="css-a4x74f"><span>5038</span></td><td id="LC5038" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5039" class="css-a4x74f"><span>5039</span></td><td id="LC5039" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5040" class="css-a4x74f"><span>5040</span></td><td id="LC5040" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5041" class="css-a4x74f"><span>5041</span></td><td id="LC5041" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5042" class="css-a4x74f"><span>5042</span></td><td id="LC5042" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5043" class="css-a4x74f"><span>5043</span></td><td id="LC5043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5044" class="css-a4x74f"><span>5044</span></td><td id="LC5044" class="css-1dcdqdg"><code> <span class="code-comment">// U+003A COLON (:)</span> </code></td></tr><tr><td id="L5045" class="css-a4x74f"><span>5045</span></td><td id="LC5045" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x003A</span>: </code></td></tr><tr><td id="L5046" class="css-a4x74f"><span>5046</span></td><td id="LC5046" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <colon-token>.</span> </code></td></tr><tr><td id="L5047" class="css-a4x74f"><span>5047</span></td><td id="LC5047" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Colon; </code></td></tr><tr><td id="L5048" class="css-a4x74f"><span>5048</span></td><td id="LC5048" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5049" class="css-a4x74f"><span>5049</span></td><td id="LC5049" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5050" class="css-a4x74f"><span>5050</span></td><td id="LC5050" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5051" class="css-a4x74f"><span>5051</span></td><td id="LC5051" class="css-1dcdqdg"><code> <span class="code-comment">// U+003B SEMICOLON (;)</span> </code></td></tr><tr><td id="L5052" class="css-a4x74f"><span>5052</span></td><td id="LC5052" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x003B</span>: </code></td></tr><tr><td id="L5053" class="css-a4x74f"><span>5053</span></td><td id="LC5053" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <semicolon-token>.</span> </code></td></tr><tr><td id="L5054" class="css-a4x74f"><span>5054</span></td><td id="LC5054" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Semicolon; </code></td></tr><tr><td id="L5055" class="css-a4x74f"><span>5055</span></td><td id="LC5055" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5056" class="css-a4x74f"><span>5056</span></td><td id="LC5056" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5057" class="css-a4x74f"><span>5057</span></td><td id="LC5057" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5058" class="css-a4x74f"><span>5058</span></td><td id="LC5058" class="css-1dcdqdg"><code> <span class="code-comment">// U+003C LESS-THAN SIGN (<)</span> </code></td></tr><tr><td id="L5059" class="css-a4x74f"><span>5059</span></td><td id="LC5059" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x003C</span>: </code></td></tr><tr><td id="L5060" class="css-a4x74f"><span>5060</span></td><td id="LC5060" class="css-1dcdqdg"><code> <span class="code-comment">// If the next 3 input code points are U+0021 EXCLAMATION MARK U+002D HYPHEN-MINUS U+002D HYPHEN-MINUS (!--), ...</span> </code></td></tr><tr><td id="L5061" class="css-a4x74f"><span>5061</span></td><td id="LC5061" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (getCharCode(offset + <span class="code-number">1</span>) === <span class="code-number">0x0021</span> && </code></td></tr><tr><td id="L5062" class="css-a4x74f"><span>5062</span></td><td id="LC5062" class="css-1dcdqdg"><code> getCharCode(offset + <span class="code-number">2</span>) === <span class="code-number">0x002D</span> && </code></td></tr><tr><td id="L5063" class="css-a4x74f"><span>5063</span></td><td id="LC5063" class="css-1dcdqdg"><code> getCharCode(offset + <span class="code-number">3</span>) === <span class="code-number">0x002D</span>) { </code></td></tr><tr><td id="L5064" class="css-a4x74f"><span>5064</span></td><td id="LC5064" class="css-1dcdqdg"><code> <span class="code-comment">// ... consume them and return a <CDO-token>.</span> </code></td></tr><tr><td id="L5065" class="css-a4x74f"><span>5065</span></td><td id="LC5065" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>CDO; </code></td></tr><tr><td id="L5066" class="css-a4x74f"><span>5066</span></td><td id="LC5066" class="css-1dcdqdg"><code> offset = offset + <span class="code-number">4</span>; </code></td></tr><tr><td id="L5067" class="css-a4x74f"><span>5067</span></td><td id="LC5067" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5068" class="css-a4x74f"><span>5068</span></td><td id="LC5068" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5069" class="css-a4x74f"><span>5069</span></td><td id="LC5069" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5070" class="css-a4x74f"><span>5070</span></td><td id="LC5070" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5071" class="css-a4x74f"><span>5071</span></td><td id="LC5071" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5072" class="css-a4x74f"><span>5072</span></td><td id="LC5072" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5073" class="css-a4x74f"><span>5073</span></td><td id="LC5073" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5074" class="css-a4x74f"><span>5074</span></td><td id="LC5074" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5075" class="css-a4x74f"><span>5075</span></td><td id="LC5075" class="css-1dcdqdg"><code> <span class="code-comment">// U+0040 COMMERCIAL AT (@)</span> </code></td></tr><tr><td id="L5076" class="css-a4x74f"><span>5076</span></td><td id="LC5076" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x0040</span>: </code></td></tr><tr><td id="L5077" class="css-a4x74f"><span>5077</span></td><td id="LC5077" class="css-1dcdqdg"><code> <span class="code-comment">// If the next 3 input code points would start an identifier, ...</span> </code></td></tr><tr><td id="L5078" class="css-a4x74f"><span>5078</span></td><td id="LC5078" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isIdentifierStart$<span class="code-number">1</span>(getCharCode(offset + <span class="code-number">1</span>), getCharCode(offset + <span class="code-number">2</span>), getCharCode(offset + <span class="code-number">3</span>))) { </code></td></tr><tr><td id="L5079" class="css-a4x74f"><span>5079</span></td><td id="LC5079" class="css-1dcdqdg"><code> <span class="code-comment">// ... consume a name, create an <at-keyword-token> with its value set to the returned value, and return it.</span> </code></td></tr><tr><td id="L5080" class="css-a4x74f"><span>5080</span></td><td id="LC5080" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>AtKeyword; </code></td></tr><tr><td id="L5081" class="css-a4x74f"><span>5081</span></td><td id="LC5081" class="css-1dcdqdg"><code> offset = consumeName$<span class="code-number">1</span>(source, offset + <span class="code-number">1</span>); </code></td></tr><tr><td id="L5082" class="css-a4x74f"><span>5082</span></td><td id="LC5082" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5083" class="css-a4x74f"><span>5083</span></td><td id="LC5083" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5084" class="css-a4x74f"><span>5084</span></td><td id="LC5084" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5085" class="css-a4x74f"><span>5085</span></td><td id="LC5085" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5086" class="css-a4x74f"><span>5086</span></td><td id="LC5086" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5087" class="css-a4x74f"><span>5087</span></td><td id="LC5087" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5088" class="css-a4x74f"><span>5088</span></td><td id="LC5088" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5089" class="css-a4x74f"><span>5089</span></td><td id="LC5089" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5090" class="css-a4x74f"><span>5090</span></td><td id="LC5090" class="css-1dcdqdg"><code> <span class="code-comment">// U+005B LEFT SQUARE BRACKET ([)</span> </code></td></tr><tr><td id="L5091" class="css-a4x74f"><span>5091</span></td><td id="LC5091" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x005B</span>: </code></td></tr><tr><td id="L5092" class="css-a4x74f"><span>5092</span></td><td id="LC5092" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <[-token>.</span> </code></td></tr><tr><td id="L5093" class="css-a4x74f"><span>5093</span></td><td id="LC5093" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>LeftSquareBracket; </code></td></tr><tr><td id="L5094" class="css-a4x74f"><span>5094</span></td><td id="LC5094" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5095" class="css-a4x74f"><span>5095</span></td><td id="LC5095" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5096" class="css-a4x74f"><span>5096</span></td><td id="LC5096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5097" class="css-a4x74f"><span>5097</span></td><td id="LC5097" class="css-1dcdqdg"><code> <span class="code-comment">// U+005C REVERSE SOLIDUS (\)</span> </code></td></tr><tr><td id="L5098" class="css-a4x74f"><span>5098</span></td><td id="LC5098" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x005C</span>: </code></td></tr><tr><td id="L5099" class="css-a4x74f"><span>5099</span></td><td id="LC5099" class="css-1dcdqdg"><code> <span class="code-comment">// If the input stream starts with a valid escape, ...</span> </code></td></tr><tr><td id="L5100" class="css-a4x74f"><span>5100</span></td><td id="LC5100" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isValidEscape$<span class="code-number">2</span>(code, getCharCode(offset + <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L5101" class="css-a4x74f"><span>5101</span></td><td id="LC5101" class="css-1dcdqdg"><code> <span class="code-comment">// ... reconsume the current input code point, consume an ident-like token, and return it.</span> </code></td></tr><tr><td id="L5102" class="css-a4x74f"><span>5102</span></td><td id="LC5102" class="css-1dcdqdg"><code> consumeIdentLikeToken(); </code></td></tr><tr><td id="L5103" class="css-a4x74f"><span>5103</span></td><td id="LC5103" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5104" class="css-a4x74f"><span>5104</span></td><td id="LC5104" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise, this is a parse error. Return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5105" class="css-a4x74f"><span>5105</span></td><td id="LC5105" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5106" class="css-a4x74f"><span>5106</span></td><td id="LC5106" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5107" class="css-a4x74f"><span>5107</span></td><td id="LC5107" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5108" class="css-a4x74f"><span>5108</span></td><td id="LC5108" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5109" class="css-a4x74f"><span>5109</span></td><td id="LC5109" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5110" class="css-a4x74f"><span>5110</span></td><td id="LC5110" class="css-1dcdqdg"><code> <span class="code-comment">// U+005D RIGHT SQUARE BRACKET (])</span> </code></td></tr><tr><td id="L5111" class="css-a4x74f"><span>5111</span></td><td id="LC5111" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x005D</span>: </code></td></tr><tr><td id="L5112" class="css-a4x74f"><span>5112</span></td><td id="LC5112" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <]-token>.</span> </code></td></tr><tr><td id="L5113" class="css-a4x74f"><span>5113</span></td><td id="LC5113" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>RightSquareBracket; </code></td></tr><tr><td id="L5114" class="css-a4x74f"><span>5114</span></td><td id="LC5114" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5115" class="css-a4x74f"><span>5115</span></td><td id="LC5115" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5116" class="css-a4x74f"><span>5116</span></td><td id="LC5116" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5117" class="css-a4x74f"><span>5117</span></td><td id="LC5117" class="css-1dcdqdg"><code> <span class="code-comment">// U+007B LEFT CURLY BRACKET ({)</span> </code></td></tr><tr><td id="L5118" class="css-a4x74f"><span>5118</span></td><td id="LC5118" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x007B</span>: </code></td></tr><tr><td id="L5119" class="css-a4x74f"><span>5119</span></td><td id="LC5119" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <{-token>.</span> </code></td></tr><tr><td id="L5120" class="css-a4x74f"><span>5120</span></td><td id="LC5120" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>LeftCurlyBracket; </code></td></tr><tr><td id="L5121" class="css-a4x74f"><span>5121</span></td><td id="LC5121" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5122" class="css-a4x74f"><span>5122</span></td><td id="LC5122" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5123" class="css-a4x74f"><span>5123</span></td><td id="LC5123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5124" class="css-a4x74f"><span>5124</span></td><td id="LC5124" class="css-1dcdqdg"><code> <span class="code-comment">// U+007D RIGHT CURLY BRACKET (})</span> </code></td></tr><tr><td id="L5125" class="css-a4x74f"><span>5125</span></td><td id="LC5125" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">0x007D</span>: </code></td></tr><tr><td id="L5126" class="css-a4x74f"><span>5126</span></td><td id="LC5126" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <}-token>.</span> </code></td></tr><tr><td id="L5127" class="css-a4x74f"><span>5127</span></td><td id="LC5127" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>RightCurlyBracket; </code></td></tr><tr><td id="L5128" class="css-a4x74f"><span>5128</span></td><td id="LC5128" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5129" class="css-a4x74f"><span>5129</span></td><td id="LC5129" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5130" class="css-a4x74f"><span>5130</span></td><td id="LC5130" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5131" class="css-a4x74f"><span>5131</span></td><td id="LC5131" class="css-1dcdqdg"><code> <span class="code-comment">// digit</span> </code></td></tr><tr><td id="L5132" class="css-a4x74f"><span>5132</span></td><td id="LC5132" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>Digit: </code></td></tr><tr><td id="L5133" class="css-a4x74f"><span>5133</span></td><td id="LC5133" class="css-1dcdqdg"><code> <span class="code-comment">// Reconsume the current input code point, consume a numeric token, and return it.</span> </code></td></tr><tr><td id="L5134" class="css-a4x74f"><span>5134</span></td><td id="LC5134" class="css-1dcdqdg"><code> consumeNumericToken(); </code></td></tr><tr><td id="L5135" class="css-a4x74f"><span>5135</span></td><td id="LC5135" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5136" class="css-a4x74f"><span>5136</span></td><td id="LC5136" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5137" class="css-a4x74f"><span>5137</span></td><td id="LC5137" class="css-1dcdqdg"><code> <span class="code-comment">// name-start code point</span> </code></td></tr><tr><td id="L5138" class="css-a4x74f"><span>5138</span></td><td id="LC5138" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>NameStart: </code></td></tr><tr><td id="L5139" class="css-a4x74f"><span>5139</span></td><td id="LC5139" class="css-1dcdqdg"><code> <span class="code-comment">// Reconsume the current input code point, consume an ident-like token, and return it.</span> </code></td></tr><tr><td id="L5140" class="css-a4x74f"><span>5140</span></td><td id="LC5140" class="css-1dcdqdg"><code> consumeIdentLikeToken(); </code></td></tr><tr><td id="L5141" class="css-a4x74f"><span>5141</span></td><td id="LC5141" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5142" class="css-a4x74f"><span>5142</span></td><td id="LC5142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5143" class="css-a4x74f"><span>5143</span></td><td id="LC5143" class="css-1dcdqdg"><code> <span class="code-comment">// EOF</span> </code></td></tr><tr><td id="L5144" class="css-a4x74f"><span>5144</span></td><td id="LC5144" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> charCodeCategory$<span class="code-number">1.</span>Eof: </code></td></tr><tr><td id="L5145" class="css-a4x74f"><span>5145</span></td><td id="LC5145" class="css-1dcdqdg"><code> <span class="code-comment">// Return an <EOF-token>.</span> </code></td></tr><tr><td id="L5146" class="css-a4x74f"><span>5146</span></td><td id="LC5146" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5147" class="css-a4x74f"><span>5147</span></td><td id="LC5147" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5148" class="css-a4x74f"><span>5148</span></td><td id="LC5148" class="css-1dcdqdg"><code> <span class="code-comment">// anything else</span> </code></td></tr><tr><td id="L5149" class="css-a4x74f"><span>5149</span></td><td id="LC5149" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L5150" class="css-a4x74f"><span>5150</span></td><td id="LC5150" class="css-1dcdqdg"><code> <span class="code-comment">// Return a <delim-token> with its value set to the current input code point.</span> </code></td></tr><tr><td id="L5151" class="css-a4x74f"><span>5151</span></td><td id="LC5151" class="css-1dcdqdg"><code> type = TYPE$<span class="code-number">2.</span>Delim; </code></td></tr><tr><td id="L5152" class="css-a4x74f"><span>5152</span></td><td id="LC5152" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L5153" class="css-a4x74f"><span>5153</span></td><td id="LC5153" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5154" class="css-a4x74f"><span>5154</span></td><td id="LC5154" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5155" class="css-a4x74f"><span>5155</span></td><td id="LC5155" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (type) { </code></td></tr><tr><td id="L5156" class="css-a4x74f"><span>5156</span></td><td id="LC5156" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> balanceCloseType: </code></td></tr><tr><td id="L5157" class="css-a4x74f"><span>5157</span></td><td id="LC5157" class="css-1dcdqdg"><code> balancePrev = balanceStart & OFFSET_MASK$<span class="code-number">1</span>; </code></td></tr><tr><td id="L5158" class="css-a4x74f"><span>5158</span></td><td id="LC5158" class="css-1dcdqdg"><code> balanceStart = balance[balancePrev]; </code></td></tr><tr><td id="L5159" class="css-a4x74f"><span>5159</span></td><td id="LC5159" class="css-1dcdqdg"><code> balanceCloseType = balanceStart >> TYPE_SHIFT$<span class="code-number">1</span>; </code></td></tr><tr><td id="L5160" class="css-a4x74f"><span>5160</span></td><td id="LC5160" class="css-1dcdqdg"><code> balance[tokenCount] = balancePrev; </code></td></tr><tr><td id="L5161" class="css-a4x74f"><span>5161</span></td><td id="LC5161" class="css-1dcdqdg"><code> balance[balancePrev++] = tokenCount; </code></td></tr><tr><td id="L5162" class="css-a4x74f"><span>5162</span></td><td id="LC5162" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; balancePrev < tokenCount; balancePrev++) { </code></td></tr><tr><td id="L5163" class="css-a4x74f"><span>5163</span></td><td id="LC5163" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (balance[balancePrev] === sourceLength) { </code></td></tr><tr><td id="L5164" class="css-a4x74f"><span>5164</span></td><td id="LC5164" class="css-1dcdqdg"><code> balance[balancePrev] = tokenCount; </code></td></tr><tr><td id="L5165" class="css-a4x74f"><span>5165</span></td><td id="LC5165" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5166" class="css-a4x74f"><span>5166</span></td><td id="LC5166" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5167" class="css-a4x74f"><span>5167</span></td><td id="LC5167" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5168" class="css-a4x74f"><span>5168</span></td><td id="LC5168" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5169" class="css-a4x74f"><span>5169</span></td><td id="LC5169" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">2.</span>LeftParenthesis: </code></td></tr><tr><td id="L5170" class="css-a4x74f"><span>5170</span></td><td id="LC5170" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">2.</span><span class="code-built_in">Function</span>: </code></td></tr><tr><td id="L5171" class="css-a4x74f"><span>5171</span></td><td id="LC5171" class="css-1dcdqdg"><code> balance[tokenCount] = balanceStart; </code></td></tr><tr><td id="L5172" class="css-a4x74f"><span>5172</span></td><td id="LC5172" class="css-1dcdqdg"><code> balanceCloseType = TYPE$<span class="code-number">2.</span>RightParenthesis; </code></td></tr><tr><td id="L5173" class="css-a4x74f"><span>5173</span></td><td id="LC5173" class="css-1dcdqdg"><code> balanceStart = (balanceCloseType << TYPE_SHIFT$<span class="code-number">1</span>) | tokenCount; </code></td></tr><tr><td id="L5174" class="css-a4x74f"><span>5174</span></td><td id="LC5174" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5175" class="css-a4x74f"><span>5175</span></td><td id="LC5175" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5176" class="css-a4x74f"><span>5176</span></td><td id="LC5176" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">2.</span>LeftSquareBracket: </code></td></tr><tr><td id="L5177" class="css-a4x74f"><span>5177</span></td><td id="LC5177" class="css-1dcdqdg"><code> balance[tokenCount] = balanceStart; </code></td></tr><tr><td id="L5178" class="css-a4x74f"><span>5178</span></td><td id="LC5178" class="css-1dcdqdg"><code> balanceCloseType = TYPE$<span class="code-number">2.</span>RightSquareBracket; </code></td></tr><tr><td id="L5179" class="css-a4x74f"><span>5179</span></td><td id="LC5179" class="css-1dcdqdg"><code> balanceStart = (balanceCloseType << TYPE_SHIFT$<span class="code-number">1</span>) | tokenCount; </code></td></tr><tr><td id="L5180" class="css-a4x74f"><span>5180</span></td><td id="LC5180" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5181" class="css-a4x74f"><span>5181</span></td><td id="LC5181" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5182" class="css-a4x74f"><span>5182</span></td><td id="LC5182" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">2.</span>LeftCurlyBracket: </code></td></tr><tr><td id="L5183" class="css-a4x74f"><span>5183</span></td><td id="LC5183" class="css-1dcdqdg"><code> balance[tokenCount] = balanceStart; </code></td></tr><tr><td id="L5184" class="css-a4x74f"><span>5184</span></td><td id="LC5184" class="css-1dcdqdg"><code> balanceCloseType = TYPE$<span class="code-number">2.</span>RightCurlyBracket; </code></td></tr><tr><td id="L5185" class="css-a4x74f"><span>5185</span></td><td id="LC5185" class="css-1dcdqdg"><code> balanceStart = (balanceCloseType << TYPE_SHIFT$<span class="code-number">1</span>) | tokenCount; </code></td></tr><tr><td id="L5186" class="css-a4x74f"><span>5186</span></td><td id="LC5186" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5187" class="css-a4x74f"><span>5187</span></td><td id="LC5187" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5188" class="css-a4x74f"><span>5188</span></td><td id="LC5188" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5189" class="css-a4x74f"><span>5189</span></td><td id="LC5189" class="css-1dcdqdg"><code> offsetAndType[tokenCount++] = (type << TYPE_SHIFT$<span class="code-number">1</span>) | offset; </code></td></tr><tr><td id="L5190" class="css-a4x74f"><span>5190</span></td><td id="LC5190" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5191" class="css-a4x74f"><span>5191</span></td><td id="LC5191" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5192" class="css-a4x74f"><span>5192</span></td><td id="LC5192" class="css-1dcdqdg"><code> <span class="code-comment">// finalize buffers</span> </code></td></tr><tr><td id="L5193" class="css-a4x74f"><span>5193</span></td><td id="LC5193" class="css-1dcdqdg"><code> offsetAndType[tokenCount] = (TYPE$<span class="code-number">2.</span>EOF << TYPE_SHIFT$<span class="code-number">1</span>) | offset; <span class="code-comment">// <EOF-token></span> </code></td></tr><tr><td id="L5194" class="css-a4x74f"><span>5194</span></td><td id="LC5194" class="css-1dcdqdg"><code> balance[tokenCount] = sourceLength; </code></td></tr><tr><td id="L5195" class="css-a4x74f"><span>5195</span></td><td id="LC5195" class="css-1dcdqdg"><code> balance[sourceLength] = sourceLength; <span class="code-comment">// prevents false positive balance match with any token</span> </code></td></tr><tr><td id="L5196" class="css-a4x74f"><span>5196</span></td><td id="LC5196" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (balanceStart !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5197" class="css-a4x74f"><span>5197</span></td><td id="LC5197" class="css-1dcdqdg"><code> balancePrev = balanceStart & OFFSET_MASK$<span class="code-number">1</span>; </code></td></tr><tr><td id="L5198" class="css-a4x74f"><span>5198</span></td><td id="LC5198" class="css-1dcdqdg"><code> balanceStart = balance[balancePrev]; </code></td></tr><tr><td id="L5199" class="css-a4x74f"><span>5199</span></td><td id="LC5199" class="css-1dcdqdg"><code> balance[balancePrev] = sourceLength; </code></td></tr><tr><td id="L5200" class="css-a4x74f"><span>5200</span></td><td id="LC5200" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5201" class="css-a4x74f"><span>5201</span></td><td id="LC5201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5202" class="css-a4x74f"><span>5202</span></td><td id="LC5202" class="css-1dcdqdg"><code> <span class="code-comment">// update stream</span> </code></td></tr><tr><td id="L5203" class="css-a4x74f"><span>5203</span></td><td id="LC5203" class="css-1dcdqdg"><code> stream.source = source; </code></td></tr><tr><td id="L5204" class="css-a4x74f"><span>5204</span></td><td id="LC5204" class="css-1dcdqdg"><code> stream.firstCharOffset = start; </code></td></tr><tr><td id="L5205" class="css-a4x74f"><span>5205</span></td><td id="LC5205" class="css-1dcdqdg"><code> stream.offsetAndType = offsetAndType; </code></td></tr><tr><td id="L5206" class="css-a4x74f"><span>5206</span></td><td id="LC5206" class="css-1dcdqdg"><code> stream.tokenCount = tokenCount; </code></td></tr><tr><td id="L5207" class="css-a4x74f"><span>5207</span></td><td id="LC5207" class="css-1dcdqdg"><code> stream.balance = balance; </code></td></tr><tr><td id="L5208" class="css-a4x74f"><span>5208</span></td><td id="LC5208" class="css-1dcdqdg"><code> stream.reset(); </code></td></tr><tr><td id="L5209" class="css-a4x74f"><span>5209</span></td><td id="LC5209" class="css-1dcdqdg"><code> stream.next(); </code></td></tr><tr><td id="L5210" class="css-a4x74f"><span>5210</span></td><td id="LC5210" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5211" class="css-a4x74f"><span>5211</span></td><td id="LC5211" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> stream; </code></td></tr><tr><td id="L5212" class="css-a4x74f"><span>5212</span></td><td id="LC5212" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5213" class="css-a4x74f"><span>5213</span></td><td id="LC5213" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5214" class="css-a4x74f"><span>5214</span></td><td id="LC5214" class="css-1dcdqdg"><code> <span class="code-comment">// extend tokenizer with constants</span> </code></td></tr><tr><td id="L5215" class="css-a4x74f"><span>5215</span></td><td id="LC5215" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(_const).forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">key</span>) </span>{ </code></td></tr><tr><td id="L5216" class="css-a4x74f"><span>5216</span></td><td id="LC5216" class="css-1dcdqdg"><code> tokenize[key] = _const[key]; </code></td></tr><tr><td id="L5217" class="css-a4x74f"><span>5217</span></td><td id="LC5217" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L5218" class="css-a4x74f"><span>5218</span></td><td id="LC5218" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5219" class="css-a4x74f"><span>5219</span></td><td id="LC5219" class="css-1dcdqdg"><code> <span class="code-comment">// extend tokenizer with static methods from utils</span> </code></td></tr><tr><td id="L5220" class="css-a4x74f"><span>5220</span></td><td id="LC5220" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(charCodeDefinitions).forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">key</span>) </span>{ </code></td></tr><tr><td id="L5221" class="css-a4x74f"><span>5221</span></td><td id="LC5221" class="css-1dcdqdg"><code> tokenize[key] = charCodeDefinitions[key]; </code></td></tr><tr><td id="L5222" class="css-a4x74f"><span>5222</span></td><td id="LC5222" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L5223" class="css-a4x74f"><span>5223</span></td><td id="LC5223" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(utils).forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">key</span>) </span>{ </code></td></tr><tr><td id="L5224" class="css-a4x74f"><span>5224</span></td><td id="LC5224" class="css-1dcdqdg"><code> tokenize[key] = utils[key]; </code></td></tr><tr><td id="L5225" class="css-a4x74f"><span>5225</span></td><td id="LC5225" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L5226" class="css-a4x74f"><span>5226</span></td><td id="LC5226" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5227" class="css-a4x74f"><span>5227</span></td><td id="LC5227" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenizer = tokenize; </code></td></tr><tr><td id="L5228" class="css-a4x74f"><span>5228</span></td><td id="LC5228" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5229" class="css-a4x74f"><span>5229</span></td><td id="LC5229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDigit$<span class="code-number">2</span> = tokenizer.isDigit; </code></td></tr><tr><td id="L5230" class="css-a4x74f"><span>5230</span></td><td id="LC5230" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpChar$<span class="code-number">1</span> = tokenizer.cmpChar; </code></td></tr><tr><td id="L5231" class="css-a4x74f"><span>5231</span></td><td id="LC5231" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">3</span> = tokenizer.TYPE; </code></td></tr><tr><td id="L5232" class="css-a4x74f"><span>5232</span></td><td id="LC5232" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5233" class="css-a4x74f"><span>5233</span></td><td id="LC5233" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM = TYPE$<span class="code-number">3.</span>Delim; </code></td></tr><tr><td id="L5234" class="css-a4x74f"><span>5234</span></td><td id="LC5234" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">1</span> = TYPE$<span class="code-number">3.</span>WhiteSpace; </code></td></tr><tr><td id="L5235" class="css-a4x74f"><span>5235</span></td><td id="LC5235" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">1</span> = TYPE$<span class="code-number">3.</span>Comment; </code></td></tr><tr><td id="L5236" class="css-a4x74f"><span>5236</span></td><td id="LC5236" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT = TYPE$<span class="code-number">3.</span>Ident; </code></td></tr><tr><td id="L5237" class="css-a4x74f"><span>5237</span></td><td id="LC5237" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER = TYPE$<span class="code-number">3.</span><span class="code-built_in">Number</span>; </code></td></tr><tr><td id="L5238" class="css-a4x74f"><span>5238</span></td><td id="LC5238" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION = TYPE$<span class="code-number">3.</span>Dimension; </code></td></tr><tr><td id="L5239" class="css-a4x74f"><span>5239</span></td><td id="LC5239" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L5240" class="css-a4x74f"><span>5240</span></td><td id="LC5240" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS$<span class="code-number">1</span> = <span class="code-number">0x002D</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L5241" class="css-a4x74f"><span>5241</span></td><td id="LC5241" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> N = <span class="code-number">0x006E</span>; <span class="code-comment">// U+006E LATIN SMALL LETTER N (n)</span> </code></td></tr><tr><td id="L5242" class="css-a4x74f"><span>5242</span></td><td id="LC5242" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DISALLOW_SIGN = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5243" class="css-a4x74f"><span>5243</span></td><td id="LC5243" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ALLOW_SIGN = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L5244" class="css-a4x74f"><span>5244</span></td><td id="LC5244" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5245" class="css-a4x74f"><span>5245</span></td><td id="LC5245" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isDelim</span>(<span class="code-params">token, code</span>) </span>{ </code></td></tr><tr><td id="L5246" class="css-a4x74f"><span>5246</span></td><td id="LC5246" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> token !== <span class="code-literal">null</span> && token.type === DELIM && token.value.charCodeAt(<span class="code-number">0</span>) === code; </code></td></tr><tr><td id="L5247" class="css-a4x74f"><span>5247</span></td><td id="LC5247" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5248" class="css-a4x74f"><span>5248</span></td><td id="LC5248" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5249" class="css-a4x74f"><span>5249</span></td><td id="LC5249" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">skipSC</span>(<span class="code-params">token, offset, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5250" class="css-a4x74f"><span>5250</span></td><td id="LC5250" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (token !== <span class="code-literal">null</span> && (token.type === WHITESPACE$<span class="code-number">1</span> || token.type === COMMENT$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L5251" class="css-a4x74f"><span>5251</span></td><td id="LC5251" class="css-1dcdqdg"><code> token = getNextToken(++offset); </code></td></tr><tr><td id="L5252" class="css-a4x74f"><span>5252</span></td><td id="LC5252" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5253" class="css-a4x74f"><span>5253</span></td><td id="LC5253" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5254" class="css-a4x74f"><span>5254</span></td><td id="LC5254" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset; </code></td></tr><tr><td id="L5255" class="css-a4x74f"><span>5255</span></td><td id="LC5255" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5256" class="css-a4x74f"><span>5256</span></td><td id="LC5256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5257" class="css-a4x74f"><span>5257</span></td><td id="LC5257" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">checkInteger</span>(<span class="code-params">token, valueOffset, disallowSign, offset</span>) </span>{ </code></td></tr><tr><td id="L5258" class="css-a4x74f"><span>5258</span></td><td id="LC5258" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!token) { </code></td></tr><tr><td id="L5259" class="css-a4x74f"><span>5259</span></td><td id="LC5259" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5260" class="css-a4x74f"><span>5260</span></td><td id="LC5260" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5261" class="css-a4x74f"><span>5261</span></td><td id="LC5261" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5262" class="css-a4x74f"><span>5262</span></td><td id="LC5262" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = token.value.charCodeAt(valueOffset); </code></td></tr><tr><td id="L5263" class="css-a4x74f"><span>5263</span></td><td id="LC5263" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5264" class="css-a4x74f"><span>5264</span></td><td id="LC5264" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === PLUSSIGN || code === HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5265" class="css-a4x74f"><span>5265</span></td><td id="LC5265" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (disallowSign) { </code></td></tr><tr><td id="L5266" class="css-a4x74f"><span>5266</span></td><td id="LC5266" class="css-1dcdqdg"><code> <span class="code-comment">// Number sign is not allowed</span> </code></td></tr><tr><td id="L5267" class="css-a4x74f"><span>5267</span></td><td id="LC5267" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5268" class="css-a4x74f"><span>5268</span></td><td id="LC5268" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5269" class="css-a4x74f"><span>5269</span></td><td id="LC5269" class="css-1dcdqdg"><code> valueOffset++; </code></td></tr><tr><td id="L5270" class="css-a4x74f"><span>5270</span></td><td id="LC5270" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5271" class="css-a4x74f"><span>5271</span></td><td id="LC5271" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5272" class="css-a4x74f"><span>5272</span></td><td id="LC5272" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; valueOffset < token.value.length; valueOffset++) { </code></td></tr><tr><td id="L5273" class="css-a4x74f"><span>5273</span></td><td id="LC5273" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">2</span>(token.value.charCodeAt(valueOffset))) { </code></td></tr><tr><td id="L5274" class="css-a4x74f"><span>5274</span></td><td id="LC5274" class="css-1dcdqdg"><code> <span class="code-comment">// Integer is expected</span> </code></td></tr><tr><td id="L5275" class="css-a4x74f"><span>5275</span></td><td id="LC5275" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5276" class="css-a4x74f"><span>5276</span></td><td id="LC5276" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5277" class="css-a4x74f"><span>5277</span></td><td id="LC5277" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5278" class="css-a4x74f"><span>5278</span></td><td id="LC5278" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5279" class="css-a4x74f"><span>5279</span></td><td id="LC5279" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset + <span class="code-number">1</span>; </code></td></tr><tr><td id="L5280" class="css-a4x74f"><span>5280</span></td><td id="LC5280" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5281" class="css-a4x74f"><span>5281</span></td><td id="LC5281" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5282" class="css-a4x74f"><span>5282</span></td><td id="LC5282" class="css-1dcdqdg"><code> <span class="code-comment">// ... <signed-integer></span> </code></td></tr><tr><td id="L5283" class="css-a4x74f"><span>5283</span></td><td id="LC5283" class="css-1dcdqdg"><code> <span class="code-comment">// ... ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5284" class="css-a4x74f"><span>5284</span></td><td id="LC5284" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeB</span>(<span class="code-params">token, offset_, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5285" class="css-a4x74f"><span>5285</span></td><td id="LC5285" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L5286" class="css-a4x74f"><span>5286</span></td><td id="LC5286" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = skipSC(token, offset_, getNextToken); </code></td></tr><tr><td id="L5287" class="css-a4x74f"><span>5287</span></td><td id="LC5287" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5288" class="css-a4x74f"><span>5288</span></td><td id="LC5288" class="css-1dcdqdg"><code> token = getNextToken(offset); </code></td></tr><tr><td id="L5289" class="css-a4x74f"><span>5289</span></td><td id="LC5289" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5290" class="css-a4x74f"><span>5290</span></td><td id="LC5290" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L5291" class="css-a4x74f"><span>5291</span></td><td id="LC5291" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset_; </code></td></tr><tr><td id="L5292" class="css-a4x74f"><span>5292</span></td><td id="LC5292" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5293" class="css-a4x74f"><span>5293</span></td><td id="LC5293" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5294" class="css-a4x74f"><span>5294</span></td><td id="LC5294" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type !== NUMBER) { </code></td></tr><tr><td id="L5295" class="css-a4x74f"><span>5295</span></td><td id="LC5295" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L5296" class="css-a4x74f"><span>5296</span></td><td id="LC5296" class="css-1dcdqdg"><code> sign = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5297" class="css-a4x74f"><span>5297</span></td><td id="LC5297" class="css-1dcdqdg"><code> offset = skipSC(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5298" class="css-a4x74f"><span>5298</span></td><td id="LC5298" class="css-1dcdqdg"><code> token = getNextToken(offset); </code></td></tr><tr><td id="L5299" class="css-a4x74f"><span>5299</span></td><td id="LC5299" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5300" class="css-a4x74f"><span>5300</span></td><td id="LC5300" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> && token.type !== NUMBER) { </code></td></tr><tr><td id="L5301" class="css-a4x74f"><span>5301</span></td><td id="LC5301" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5302" class="css-a4x74f"><span>5302</span></td><td id="LC5302" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5303" class="css-a4x74f"><span>5303</span></td><td id="LC5303" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5304" class="css-a4x74f"><span>5304</span></td><td id="LC5304" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> offset_; </code></td></tr><tr><td id="L5305" class="css-a4x74f"><span>5305</span></td><td id="LC5305" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5306" class="css-a4x74f"><span>5306</span></td><td id="LC5306" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5307" class="css-a4x74f"><span>5307</span></td><td id="LC5307" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5308" class="css-a4x74f"><span>5308</span></td><td id="LC5308" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!sign) { </code></td></tr><tr><td id="L5309" class="css-a4x74f"><span>5309</span></td><td id="LC5309" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = token.value.charCodeAt(<span class="code-number">0</span>); </code></td></tr><tr><td id="L5310" class="css-a4x74f"><span>5310</span></td><td id="LC5310" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code !== PLUSSIGN && code !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5311" class="css-a4x74f"><span>5311</span></td><td id="LC5311" class="css-1dcdqdg"><code> <span class="code-comment">// Number sign is expected</span> </code></td></tr><tr><td id="L5312" class="css-a4x74f"><span>5312</span></td><td id="LC5312" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5313" class="css-a4x74f"><span>5313</span></td><td id="LC5313" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5314" class="css-a4x74f"><span>5314</span></td><td id="LC5314" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5315" class="css-a4x74f"><span>5315</span></td><td id="LC5315" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5316" class="css-a4x74f"><span>5316</span></td><td id="LC5316" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, sign ? <span class="code-number">0</span> : <span class="code-number">1</span>, sign, offset); </code></td></tr><tr><td id="L5317" class="css-a4x74f"><span>5317</span></td><td id="LC5317" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5318" class="css-a4x74f"><span>5318</span></td><td id="LC5318" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5319" class="css-a4x74f"><span>5319</span></td><td id="LC5319" class="css-1dcdqdg"><code> <span class="code-comment">// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb</span> </code></td></tr><tr><td id="L5320" class="css-a4x74f"><span>5320</span></td><td id="LC5320" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> genericAnPlusB = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">anPlusB</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5321" class="css-a4x74f"><span>5321</span></td><td id="LC5321" class="css-1dcdqdg"><code> <span class="code-comment">/* eslint-disable brace-style*/</span> </code></td></tr><tr><td id="L5322" class="css-a4x74f"><span>5322</span></td><td id="LC5322" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5323" class="css-a4x74f"><span>5323</span></td><td id="LC5323" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5324" class="css-a4x74f"><span>5324</span></td><td id="LC5324" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!token) { </code></td></tr><tr><td id="L5325" class="css-a4x74f"><span>5325</span></td><td id="LC5325" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5326" class="css-a4x74f"><span>5326</span></td><td id="LC5326" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5327" class="css-a4x74f"><span>5327</span></td><td id="LC5327" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5328" class="css-a4x74f"><span>5328</span></td><td id="LC5328" class="css-1dcdqdg"><code> <span class="code-comment">// <integer></span> </code></td></tr><tr><td id="L5329" class="css-a4x74f"><span>5329</span></td><td id="LC5329" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === NUMBER) { </code></td></tr><tr><td id="L5330" class="css-a4x74f"><span>5330</span></td><td id="LC5330" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">0</span>, ALLOW_SIGN, offset); <span class="code-comment">// b</span> </code></td></tr><tr><td id="L5331" class="css-a4x74f"><span>5331</span></td><td id="LC5331" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5332" class="css-a4x74f"><span>5332</span></td><td id="LC5332" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5333" class="css-a4x74f"><span>5333</span></td><td id="LC5333" class="css-1dcdqdg"><code> <span class="code-comment">// -n</span> </code></td></tr><tr><td id="L5334" class="css-a4x74f"><span>5334</span></td><td id="LC5334" class="css-1dcdqdg"><code> <span class="code-comment">// -n <signed-integer></span> </code></td></tr><tr><td id="L5335" class="css-a4x74f"><span>5335</span></td><td id="LC5335" class="css-1dcdqdg"><code> <span class="code-comment">// -n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5336" class="css-a4x74f"><span>5336</span></td><td id="LC5336" class="css-1dcdqdg"><code> <span class="code-comment">// -n- <signless-integer></span> </code></td></tr><tr><td id="L5337" class="css-a4x74f"><span>5337</span></td><td id="LC5337" class="css-1dcdqdg"><code> <span class="code-comment">// <dashndashdigit-ident></span> </code></td></tr><tr><td id="L5338" class="css-a4x74f"><span>5338</span></td><td id="LC5338" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (token.type === IDENT && token.value.charCodeAt(<span class="code-number">0</span>) === HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5339" class="css-a4x74f"><span>5339</span></td><td id="LC5339" class="css-1dcdqdg"><code> <span class="code-comment">// expect 1st char is N</span> </code></td></tr><tr><td id="L5340" class="css-a4x74f"><span>5340</span></td><td id="LC5340" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpChar$<span class="code-number">1</span>(token.value, <span class="code-number">1</span>, N)) { </code></td></tr><tr><td id="L5341" class="css-a4x74f"><span>5341</span></td><td id="LC5341" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5342" class="css-a4x74f"><span>5342</span></td><td id="LC5342" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5343" class="css-a4x74f"><span>5343</span></td><td id="LC5343" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5344" class="css-a4x74f"><span>5344</span></td><td id="LC5344" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (token.value.length) { </code></td></tr><tr><td id="L5345" class="css-a4x74f"><span>5345</span></td><td id="LC5345" class="css-1dcdqdg"><code> <span class="code-comment">// -n</span> </code></td></tr><tr><td id="L5346" class="css-a4x74f"><span>5346</span></td><td id="LC5346" class="css-1dcdqdg"><code> <span class="code-comment">// -n <signed-integer></span> </code></td></tr><tr><td id="L5347" class="css-a4x74f"><span>5347</span></td><td id="LC5347" class="css-1dcdqdg"><code> <span class="code-comment">// -n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5348" class="css-a4x74f"><span>5348</span></td><td id="LC5348" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L5349" class="css-a4x74f"><span>5349</span></td><td id="LC5349" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeB(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5350" class="css-a4x74f"><span>5350</span></td><td id="LC5350" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5351" class="css-a4x74f"><span>5351</span></td><td id="LC5351" class="css-1dcdqdg"><code> <span class="code-comment">// -n- <signless-integer></span> </code></td></tr><tr><td id="L5352" class="css-a4x74f"><span>5352</span></td><td id="LC5352" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">3</span>: </code></td></tr><tr><td id="L5353" class="css-a4x74f"><span>5353</span></td><td id="LC5353" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value.charCodeAt(<span class="code-number">2</span>) !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5354" class="css-a4x74f"><span>5354</span></td><td id="LC5354" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5355" class="css-a4x74f"><span>5355</span></td><td id="LC5355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5356" class="css-a4x74f"><span>5356</span></td><td id="LC5356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5357" class="css-a4x74f"><span>5357</span></td><td id="LC5357" class="css-1dcdqdg"><code> offset = skipSC(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5358" class="css-a4x74f"><span>5358</span></td><td id="LC5358" class="css-1dcdqdg"><code> token = getNextToken(offset); </code></td></tr><tr><td id="L5359" class="css-a4x74f"><span>5359</span></td><td id="LC5359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5360" class="css-a4x74f"><span>5360</span></td><td id="LC5360" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">0</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5361" class="css-a4x74f"><span>5361</span></td><td id="LC5361" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5362" class="css-a4x74f"><span>5362</span></td><td id="LC5362" class="css-1dcdqdg"><code> <span class="code-comment">// <dashndashdigit-ident></span> </code></td></tr><tr><td id="L5363" class="css-a4x74f"><span>5363</span></td><td id="LC5363" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L5364" class="css-a4x74f"><span>5364</span></td><td id="LC5364" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value.charCodeAt(<span class="code-number">2</span>) !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5365" class="css-a4x74f"><span>5365</span></td><td id="LC5365" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5366" class="css-a4x74f"><span>5366</span></td><td id="LC5366" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5367" class="css-a4x74f"><span>5367</span></td><td id="LC5367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5368" class="css-a4x74f"><span>5368</span></td><td id="LC5368" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">3</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5369" class="css-a4x74f"><span>5369</span></td><td id="LC5369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5370" class="css-a4x74f"><span>5370</span></td><td id="LC5370" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5371" class="css-a4x74f"><span>5371</span></td><td id="LC5371" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5372" class="css-a4x74f"><span>5372</span></td><td id="LC5372" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n</span> </code></td></tr><tr><td id="L5373" class="css-a4x74f"><span>5373</span></td><td id="LC5373" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n <signed-integer></span> </code></td></tr><tr><td id="L5374" class="css-a4x74f"><span>5374</span></td><td id="LC5374" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5375" class="css-a4x74f"><span>5375</span></td><td id="LC5375" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n- <signless-integer></span> </code></td></tr><tr><td id="L5376" class="css-a4x74f"><span>5376</span></td><td id="LC5376" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? <ndashdigit-ident></span> </code></td></tr><tr><td id="L5377" class="css-a4x74f"><span>5377</span></td><td id="LC5377" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (token.type === IDENT || (isDelim(token, PLUSSIGN) && getNextToken(offset + <span class="code-number">1</span>).type === IDENT)) { </code></td></tr><tr><td id="L5378" class="css-a4x74f"><span>5378</span></td><td id="LC5378" class="css-1dcdqdg"><code> <span class="code-comment">// just ignore a plus</span> </code></td></tr><tr><td id="L5379" class="css-a4x74f"><span>5379</span></td><td id="LC5379" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type !== IDENT) { </code></td></tr><tr><td id="L5380" class="css-a4x74f"><span>5380</span></td><td id="LC5380" class="css-1dcdqdg"><code> token = getNextToken(++offset); </code></td></tr><tr><td id="L5381" class="css-a4x74f"><span>5381</span></td><td id="LC5381" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5382" class="css-a4x74f"><span>5382</span></td><td id="LC5382" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5383" class="css-a4x74f"><span>5383</span></td><td id="LC5383" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || !cmpChar$<span class="code-number">1</span>(token.value, <span class="code-number">0</span>, N)) { </code></td></tr><tr><td id="L5384" class="css-a4x74f"><span>5384</span></td><td id="LC5384" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5385" class="css-a4x74f"><span>5385</span></td><td id="LC5385" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5386" class="css-a4x74f"><span>5386</span></td><td id="LC5386" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5387" class="css-a4x74f"><span>5387</span></td><td id="LC5387" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (token.value.length) { </code></td></tr><tr><td id="L5388" class="css-a4x74f"><span>5388</span></td><td id="LC5388" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n</span> </code></td></tr><tr><td id="L5389" class="css-a4x74f"><span>5389</span></td><td id="LC5389" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n <signed-integer></span> </code></td></tr><tr><td id="L5390" class="css-a4x74f"><span>5390</span></td><td id="LC5390" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5391" class="css-a4x74f"><span>5391</span></td><td id="LC5391" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">1</span>: </code></td></tr><tr><td id="L5392" class="css-a4x74f"><span>5392</span></td><td id="LC5392" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeB(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5393" class="css-a4x74f"><span>5393</span></td><td id="LC5393" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5394" class="css-a4x74f"><span>5394</span></td><td id="LC5394" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n- <signless-integer></span> </code></td></tr><tr><td id="L5395" class="css-a4x74f"><span>5395</span></td><td id="LC5395" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L5396" class="css-a4x74f"><span>5396</span></td><td id="LC5396" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value.charCodeAt(<span class="code-number">1</span>) !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5397" class="css-a4x74f"><span>5397</span></td><td id="LC5397" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5398" class="css-a4x74f"><span>5398</span></td><td id="LC5398" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5399" class="css-a4x74f"><span>5399</span></td><td id="LC5399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5400" class="css-a4x74f"><span>5400</span></td><td id="LC5400" class="css-1dcdqdg"><code> offset = skipSC(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5401" class="css-a4x74f"><span>5401</span></td><td id="LC5401" class="css-1dcdqdg"><code> token = getNextToken(offset); </code></td></tr><tr><td id="L5402" class="css-a4x74f"><span>5402</span></td><td id="LC5402" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5403" class="css-a4x74f"><span>5403</span></td><td id="LC5403" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">0</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5404" class="css-a4x74f"><span>5404</span></td><td id="LC5404" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5405" class="css-a4x74f"><span>5405</span></td><td id="LC5405" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? <ndashdigit-ident></span> </code></td></tr><tr><td id="L5406" class="css-a4x74f"><span>5406</span></td><td id="LC5406" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L5407" class="css-a4x74f"><span>5407</span></td><td id="LC5407" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value.charCodeAt(<span class="code-number">1</span>) !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5408" class="css-a4x74f"><span>5408</span></td><td id="LC5408" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5409" class="css-a4x74f"><span>5409</span></td><td id="LC5409" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5410" class="css-a4x74f"><span>5410</span></td><td id="LC5410" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5411" class="css-a4x74f"><span>5411</span></td><td id="LC5411" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">2</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5412" class="css-a4x74f"><span>5412</span></td><td id="LC5412" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5413" class="css-a4x74f"><span>5413</span></td><td id="LC5413" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5414" class="css-a4x74f"><span>5414</span></td><td id="LC5414" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5415" class="css-a4x74f"><span>5415</span></td><td id="LC5415" class="css-1dcdqdg"><code> <span class="code-comment">// <ndashdigit-dimension></span> </code></td></tr><tr><td id="L5416" class="css-a4x74f"><span>5416</span></td><td id="LC5416" class="css-1dcdqdg"><code> <span class="code-comment">// <ndash-dimension> <signless-integer></span> </code></td></tr><tr><td id="L5417" class="css-a4x74f"><span>5417</span></td><td id="LC5417" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension></span> </code></td></tr><tr><td id="L5418" class="css-a4x74f"><span>5418</span></td><td id="LC5418" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> <signed-integer></span> </code></td></tr><tr><td id="L5419" class="css-a4x74f"><span>5419</span></td><td id="LC5419" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5420" class="css-a4x74f"><span>5420</span></td><td id="LC5420" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (token.type === DIMENSION) { </code></td></tr><tr><td id="L5421" class="css-a4x74f"><span>5421</span></td><td id="LC5421" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = token.value.charCodeAt(<span class="code-number">0</span>); </code></td></tr><tr><td id="L5422" class="css-a4x74f"><span>5422</span></td><td id="LC5422" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = code === PLUSSIGN || code === HYPHENMINUS$<span class="code-number">1</span> ? <span class="code-number">1</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L5423" class="css-a4x74f"><span>5423</span></td><td id="LC5423" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5424" class="css-a4x74f"><span>5424</span></td><td id="LC5424" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = sign; i < token.value.length; i++) { </code></td></tr><tr><td id="L5425" class="css-a4x74f"><span>5425</span></td><td id="LC5425" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">2</span>(token.value.charCodeAt(i))) { </code></td></tr><tr><td id="L5426" class="css-a4x74f"><span>5426</span></td><td id="LC5426" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5427" class="css-a4x74f"><span>5427</span></td><td id="LC5427" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5428" class="css-a4x74f"><span>5428</span></td><td id="LC5428" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5429" class="css-a4x74f"><span>5429</span></td><td id="LC5429" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5430" class="css-a4x74f"><span>5430</span></td><td id="LC5430" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i === sign) { </code></td></tr><tr><td id="L5431" class="css-a4x74f"><span>5431</span></td><td id="LC5431" class="css-1dcdqdg"><code> <span class="code-comment">// Integer is expected</span> </code></td></tr><tr><td id="L5432" class="css-a4x74f"><span>5432</span></td><td id="LC5432" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5433" class="css-a4x74f"><span>5433</span></td><td id="LC5433" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5434" class="css-a4x74f"><span>5434</span></td><td id="LC5434" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5435" class="css-a4x74f"><span>5435</span></td><td id="LC5435" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpChar$<span class="code-number">1</span>(token.value, i, N)) { </code></td></tr><tr><td id="L5436" class="css-a4x74f"><span>5436</span></td><td id="LC5436" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5437" class="css-a4x74f"><span>5437</span></td><td id="LC5437" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5438" class="css-a4x74f"><span>5438</span></td><td id="LC5438" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5439" class="css-a4x74f"><span>5439</span></td><td id="LC5439" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension></span> </code></td></tr><tr><td id="L5440" class="css-a4x74f"><span>5440</span></td><td id="LC5440" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> <signed-integer></span> </code></td></tr><tr><td id="L5441" class="css-a4x74f"><span>5441</span></td><td id="LC5441" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L5442" class="css-a4x74f"><span>5442</span></td><td id="LC5442" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i + <span class="code-number">1</span> === token.value.length) { </code></td></tr><tr><td id="L5443" class="css-a4x74f"><span>5443</span></td><td id="LC5443" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeB(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5444" class="css-a4x74f"><span>5444</span></td><td id="LC5444" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5445" class="css-a4x74f"><span>5445</span></td><td id="LC5445" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value.charCodeAt(i + <span class="code-number">1</span>) !== HYPHENMINUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5446" class="css-a4x74f"><span>5446</span></td><td id="LC5446" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5447" class="css-a4x74f"><span>5447</span></td><td id="LC5447" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5448" class="css-a4x74f"><span>5448</span></td><td id="LC5448" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5449" class="css-a4x74f"><span>5449</span></td><td id="LC5449" class="css-1dcdqdg"><code> <span class="code-comment">// <ndash-dimension> <signless-integer></span> </code></td></tr><tr><td id="L5450" class="css-a4x74f"><span>5450</span></td><td id="LC5450" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i + <span class="code-number">2</span> === token.value.length) { </code></td></tr><tr><td id="L5451" class="css-a4x74f"><span>5451</span></td><td id="LC5451" class="css-1dcdqdg"><code> offset = skipSC(getNextToken(++offset), offset, getNextToken); </code></td></tr><tr><td id="L5452" class="css-a4x74f"><span>5452</span></td><td id="LC5452" class="css-1dcdqdg"><code> token = getNextToken(offset); </code></td></tr><tr><td id="L5453" class="css-a4x74f"><span>5453</span></td><td id="LC5453" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5454" class="css-a4x74f"><span>5454</span></td><td id="LC5454" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, <span class="code-number">0</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5455" class="css-a4x74f"><span>5455</span></td><td id="LC5455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5456" class="css-a4x74f"><span>5456</span></td><td id="LC5456" class="css-1dcdqdg"><code> <span class="code-comment">// <ndashdigit-dimension></span> </code></td></tr><tr><td id="L5457" class="css-a4x74f"><span>5457</span></td><td id="LC5457" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L5458" class="css-a4x74f"><span>5458</span></td><td id="LC5458" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger(token, i + <span class="code-number">2</span>, DISALLOW_SIGN, offset); </code></td></tr><tr><td id="L5459" class="css-a4x74f"><span>5459</span></td><td id="LC5459" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5460" class="css-a4x74f"><span>5460</span></td><td id="LC5460" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5461" class="css-a4x74f"><span>5461</span></td><td id="LC5461" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5462" class="css-a4x74f"><span>5462</span></td><td id="LC5462" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5463" class="css-a4x74f"><span>5463</span></td><td id="LC5463" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5464" class="css-a4x74f"><span>5464</span></td><td id="LC5464" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5465" class="css-a4x74f"><span>5465</span></td><td id="LC5465" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5466" class="css-a4x74f"><span>5466</span></td><td id="LC5466" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isHexDigit$<span class="code-number">2</span> = tokenizer.isHexDigit; </code></td></tr><tr><td id="L5467" class="css-a4x74f"><span>5467</span></td><td id="LC5467" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpChar$<span class="code-number">2</span> = tokenizer.cmpChar; </code></td></tr><tr><td id="L5468" class="css-a4x74f"><span>5468</span></td><td id="LC5468" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">4</span> = tokenizer.TYPE; </code></td></tr><tr><td id="L5469" class="css-a4x74f"><span>5469</span></td><td id="LC5469" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5470" class="css-a4x74f"><span>5470</span></td><td id="LC5470" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">1</span> = TYPE$<span class="code-number">4.</span>Ident; </code></td></tr><tr><td id="L5471" class="css-a4x74f"><span>5471</span></td><td id="LC5471" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">1</span> = TYPE$<span class="code-number">4.</span>Delim; </code></td></tr><tr><td id="L5472" class="css-a4x74f"><span>5472</span></td><td id="LC5472" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">1</span> = TYPE$<span class="code-number">4.</span><span class="code-built_in">Number</span>; </code></td></tr><tr><td id="L5473" class="css-a4x74f"><span>5473</span></td><td id="LC5473" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">1</span> = TYPE$<span class="code-number">4.</span>Dimension; </code></td></tr><tr><td id="L5474" class="css-a4x74f"><span>5474</span></td><td id="LC5474" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">1</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L5475" class="css-a4x74f"><span>5475</span></td><td id="LC5475" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS$<span class="code-number">2</span> = <span class="code-number">0x002D</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L5476" class="css-a4x74f"><span>5476</span></td><td id="LC5476" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> QUESTIONMARK = <span class="code-number">0x003F</span>; <span class="code-comment">// U+003F QUESTION MARK (?)</span> </code></td></tr><tr><td id="L5477" class="css-a4x74f"><span>5477</span></td><td id="LC5477" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> U = <span class="code-number">0x0075</span>; <span class="code-comment">// U+0075 LATIN SMALL LETTER U (u)</span> </code></td></tr><tr><td id="L5478" class="css-a4x74f"><span>5478</span></td><td id="LC5478" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5479" class="css-a4x74f"><span>5479</span></td><td id="LC5479" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isDelim$1</span>(<span class="code-params">token, code</span>) </span>{ </code></td></tr><tr><td id="L5480" class="css-a4x74f"><span>5480</span></td><td id="LC5480" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> token !== <span class="code-literal">null</span> && token.type === DELIM$<span class="code-number">1</span> && token.value.charCodeAt(<span class="code-number">0</span>) === code; </code></td></tr><tr><td id="L5481" class="css-a4x74f"><span>5481</span></td><td id="LC5481" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5482" class="css-a4x74f"><span>5482</span></td><td id="LC5482" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5483" class="css-a4x74f"><span>5483</span></td><td id="LC5483" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">startsWith</span>(<span class="code-params">token, code</span>) </span>{ </code></td></tr><tr><td id="L5484" class="css-a4x74f"><span>5484</span></td><td id="LC5484" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> token.value.charCodeAt(<span class="code-number">0</span>) === code; </code></td></tr><tr><td id="L5485" class="css-a4x74f"><span>5485</span></td><td id="LC5485" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5486" class="css-a4x74f"><span>5486</span></td><td id="LC5486" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5487" class="css-a4x74f"><span>5487</span></td><td id="LC5487" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">hexSequence</span>(<span class="code-params">token, offset, allowDash</span>) </span>{ </code></td></tr><tr><td id="L5488" class="css-a4x74f"><span>5488</span></td><td id="LC5488" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> pos = offset, hexlen = <span class="code-number">0</span>; pos < token.value.length; pos++) { </code></td></tr><tr><td id="L5489" class="css-a4x74f"><span>5489</span></td><td id="LC5489" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = token.value.charCodeAt(pos); </code></td></tr><tr><td id="L5490" class="css-a4x74f"><span>5490</span></td><td id="LC5490" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5491" class="css-a4x74f"><span>5491</span></td><td id="LC5491" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === HYPHENMINUS$<span class="code-number">2</span> && allowDash && hexlen !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5492" class="css-a4x74f"><span>5492</span></td><td id="LC5492" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hexSequence(token, offset + hexlen + <span class="code-number">1</span>, <span class="code-literal">false</span>) > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5493" class="css-a4x74f"><span>5493</span></td><td id="LC5493" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">6</span>; <span class="code-comment">// dissallow following question marks</span> </code></td></tr><tr><td id="L5494" class="css-a4x74f"><span>5494</span></td><td id="LC5494" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5495" class="css-a4x74f"><span>5495</span></td><td id="LC5495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5496" class="css-a4x74f"><span>5496</span></td><td id="LC5496" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; <span class="code-comment">// dash at the ending of a hex sequence is not allowed</span> </code></td></tr><tr><td id="L5497" class="css-a4x74f"><span>5497</span></td><td id="LC5497" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5498" class="css-a4x74f"><span>5498</span></td><td id="LC5498" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5499" class="css-a4x74f"><span>5499</span></td><td id="LC5499" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHexDigit$<span class="code-number">2</span>(code)) { </code></td></tr><tr><td id="L5500" class="css-a4x74f"><span>5500</span></td><td id="LC5500" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; <span class="code-comment">// not a hex digit</span> </code></td></tr><tr><td id="L5501" class="css-a4x74f"><span>5501</span></td><td id="LC5501" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5502" class="css-a4x74f"><span>5502</span></td><td id="LC5502" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5503" class="css-a4x74f"><span>5503</span></td><td id="LC5503" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (++hexlen > <span class="code-number">6</span>) { </code></td></tr><tr><td id="L5504" class="css-a4x74f"><span>5504</span></td><td id="LC5504" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; <span class="code-comment">// too many hex digits</span> </code></td></tr><tr><td id="L5505" class="css-a4x74f"><span>5505</span></td><td id="LC5505" class="css-1dcdqdg"><code> } } </code></td></tr><tr><td id="L5506" class="css-a4x74f"><span>5506</span></td><td id="LC5506" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5507" class="css-a4x74f"><span>5507</span></td><td id="LC5507" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> hexlen; </code></td></tr><tr><td id="L5508" class="css-a4x74f"><span>5508</span></td><td id="LC5508" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5509" class="css-a4x74f"><span>5509</span></td><td id="LC5509" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5510" class="css-a4x74f"><span>5510</span></td><td id="LC5510" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">withQuestionMarkSequence</span>(<span class="code-params">consumed, length, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5511" class="css-a4x74f"><span>5511</span></td><td id="LC5511" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!consumed) { </code></td></tr><tr><td id="L5512" class="css-a4x74f"><span>5512</span></td><td id="LC5512" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; <span class="code-comment">// nothing consumed</span> </code></td></tr><tr><td id="L5513" class="css-a4x74f"><span>5513</span></td><td id="LC5513" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5514" class="css-a4x74f"><span>5514</span></td><td id="LC5514" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5515" class="css-a4x74f"><span>5515</span></td><td id="LC5515" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (isDelim$<span class="code-number">1</span>(getNextToken(length), QUESTIONMARK)) { </code></td></tr><tr><td id="L5516" class="css-a4x74f"><span>5516</span></td><td id="LC5516" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (++consumed > <span class="code-number">6</span>) { </code></td></tr><tr><td id="L5517" class="css-a4x74f"><span>5517</span></td><td id="LC5517" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; <span class="code-comment">// too many question marks</span> </code></td></tr><tr><td id="L5518" class="css-a4x74f"><span>5518</span></td><td id="LC5518" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5519" class="css-a4x74f"><span>5519</span></td><td id="LC5519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5520" class="css-a4x74f"><span>5520</span></td><td id="LC5520" class="css-1dcdqdg"><code> length++; </code></td></tr><tr><td id="L5521" class="css-a4x74f"><span>5521</span></td><td id="LC5521" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5522" class="css-a4x74f"><span>5522</span></td><td id="LC5522" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5523" class="css-a4x74f"><span>5523</span></td><td id="LC5523" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length; </code></td></tr><tr><td id="L5524" class="css-a4x74f"><span>5524</span></td><td id="LC5524" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5525" class="css-a4x74f"><span>5525</span></td><td id="LC5525" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5526" class="css-a4x74f"><span>5526</span></td><td id="LC5526" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#urange</span> </code></td></tr><tr><td id="L5527" class="css-a4x74f"><span>5527</span></td><td id="LC5527" class="css-1dcdqdg"><code> <span class="code-comment">// Informally, the <urange> production has three forms:</span> </code></td></tr><tr><td id="L5528" class="css-a4x74f"><span>5528</span></td><td id="LC5528" class="css-1dcdqdg"><code> <span class="code-comment">// U+0001</span> </code></td></tr><tr><td id="L5529" class="css-a4x74f"><span>5529</span></td><td id="LC5529" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range consisting of a single code point, in this case the code point "1".</span> </code></td></tr><tr><td id="L5530" class="css-a4x74f"><span>5530</span></td><td id="LC5530" class="css-1dcdqdg"><code> <span class="code-comment">// U+0001-00ff</span> </code></td></tr><tr><td id="L5531" class="css-a4x74f"><span>5531</span></td><td id="LC5531" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range of codepoints between the first and the second value, in this case</span> </code></td></tr><tr><td id="L5532" class="css-a4x74f"><span>5532</span></td><td id="LC5532" class="css-1dcdqdg"><code> <span class="code-comment">// the range between "1" and "ff" (255 in decimal) inclusive.</span> </code></td></tr><tr><td id="L5533" class="css-a4x74f"><span>5533</span></td><td id="LC5533" class="css-1dcdqdg"><code> <span class="code-comment">// U+00??</span> </code></td></tr><tr><td id="L5534" class="css-a4x74f"><span>5534</span></td><td id="LC5534" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range of codepoints where the "?" characters range over all hex digits,</span> </code></td></tr><tr><td id="L5535" class="css-a4x74f"><span>5535</span></td><td id="LC5535" class="css-1dcdqdg"><code> <span class="code-comment">// in this case defining the same as the value U+0000-00ff.</span> </code></td></tr><tr><td id="L5536" class="css-a4x74f"><span>5536</span></td><td id="LC5536" class="css-1dcdqdg"><code> <span class="code-comment">// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit).</span> </code></td></tr><tr><td id="L5537" class="css-a4x74f"><span>5537</span></td><td id="LC5537" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L5538" class="css-a4x74f"><span>5538</span></td><td id="LC5538" class="css-1dcdqdg"><code> <span class="code-comment">// <urange> =</span> </code></td></tr><tr><td id="L5539" class="css-a4x74f"><span>5539</span></td><td id="LC5539" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' <ident-token> '?'* |</span> </code></td></tr><tr><td id="L5540" class="css-a4x74f"><span>5540</span></td><td id="LC5540" class="css-1dcdqdg"><code> <span class="code-comment">// u <dimension-token> '?'* |</span> </code></td></tr><tr><td id="L5541" class="css-a4x74f"><span>5541</span></td><td id="LC5541" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> '?'* |</span> </code></td></tr><tr><td id="L5542" class="css-a4x74f"><span>5542</span></td><td id="LC5542" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <dimension-token> |</span> </code></td></tr><tr><td id="L5543" class="css-a4x74f"><span>5543</span></td><td id="LC5543" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <number-token> |</span> </code></td></tr><tr><td id="L5544" class="css-a4x74f"><span>5544</span></td><td id="LC5544" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' '?'+</span> </code></td></tr><tr><td id="L5545" class="css-a4x74f"><span>5545</span></td><td id="LC5545" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> genericUrange = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">urange</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5546" class="css-a4x74f"><span>5546</span></td><td id="LC5546" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5547" class="css-a4x74f"><span>5547</span></td><td id="LC5547" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5548" class="css-a4x74f"><span>5548</span></td><td id="LC5548" class="css-1dcdqdg"><code> <span class="code-comment">// should start with `u` or `U`</span> </code></td></tr><tr><td id="L5549" class="css-a4x74f"><span>5549</span></td><td id="LC5549" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== IDENT$<span class="code-number">1</span> || !cmpChar$<span class="code-number">2</span>(token.value, <span class="code-number">0</span>, U)) { </code></td></tr><tr><td id="L5550" class="css-a4x74f"><span>5550</span></td><td id="LC5550" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5551" class="css-a4x74f"><span>5551</span></td><td id="LC5551" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5552" class="css-a4x74f"><span>5552</span></td><td id="LC5552" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5553" class="css-a4x74f"><span>5553</span></td><td id="LC5553" class="css-1dcdqdg"><code> token = getNextToken(++length); </code></td></tr><tr><td id="L5554" class="css-a4x74f"><span>5554</span></td><td id="LC5554" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L5555" class="css-a4x74f"><span>5555</span></td><td id="LC5555" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5556" class="css-a4x74f"><span>5556</span></td><td id="LC5556" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5557" class="css-a4x74f"><span>5557</span></td><td id="LC5557" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5558" class="css-a4x74f"><span>5558</span></td><td id="LC5558" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' <ident-token> '?'*</span> </code></td></tr><tr><td id="L5559" class="css-a4x74f"><span>5559</span></td><td id="LC5559" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' '?'+</span> </code></td></tr><tr><td id="L5560" class="css-a4x74f"><span>5560</span></td><td id="LC5560" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDelim$<span class="code-number">1</span>(token, PLUSSIGN$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L5561" class="css-a4x74f"><span>5561</span></td><td id="LC5561" class="css-1dcdqdg"><code> token = getNextToken(++length); </code></td></tr><tr><td id="L5562" class="css-a4x74f"><span>5562</span></td><td id="LC5562" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L5563" class="css-a4x74f"><span>5563</span></td><td id="LC5563" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5564" class="css-a4x74f"><span>5564</span></td><td id="LC5564" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5565" class="css-a4x74f"><span>5565</span></td><td id="LC5565" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5566" class="css-a4x74f"><span>5566</span></td><td id="LC5566" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === IDENT$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5567" class="css-a4x74f"><span>5567</span></td><td id="LC5567" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' <ident-token> '?'*</span> </code></td></tr><tr><td id="L5568" class="css-a4x74f"><span>5568</span></td><td id="LC5568" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> withQuestionMarkSequence(hexSequence(token, <span class="code-number">0</span>, <span class="code-literal">true</span>), ++length, getNextToken); </code></td></tr><tr><td id="L5569" class="css-a4x74f"><span>5569</span></td><td id="LC5569" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5570" class="css-a4x74f"><span>5570</span></td><td id="LC5570" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5571" class="css-a4x74f"><span>5571</span></td><td id="LC5571" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isDelim$<span class="code-number">1</span>(token, QUESTIONMARK)) { </code></td></tr><tr><td id="L5572" class="css-a4x74f"><span>5572</span></td><td id="LC5572" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' '?'+</span> </code></td></tr><tr><td id="L5573" class="css-a4x74f"><span>5573</span></td><td id="LC5573" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> withQuestionMarkSequence(<span class="code-number">1</span>, ++length, getNextToken); </code></td></tr><tr><td id="L5574" class="css-a4x74f"><span>5574</span></td><td id="LC5574" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5575" class="css-a4x74f"><span>5575</span></td><td id="LC5575" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5576" class="css-a4x74f"><span>5576</span></td><td id="LC5576" class="css-1dcdqdg"><code> <span class="code-comment">// Hex digit or question mark is expected</span> </code></td></tr><tr><td id="L5577" class="css-a4x74f"><span>5577</span></td><td id="LC5577" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5578" class="css-a4x74f"><span>5578</span></td><td id="LC5578" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5579" class="css-a4x74f"><span>5579</span></td><td id="LC5579" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5580" class="css-a4x74f"><span>5580</span></td><td id="LC5580" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> '?'*</span> </code></td></tr><tr><td id="L5581" class="css-a4x74f"><span>5581</span></td><td id="LC5581" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <dimension-token></span> </code></td></tr><tr><td id="L5582" class="css-a4x74f"><span>5582</span></td><td id="LC5582" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <number-token></span> </code></td></tr><tr><td id="L5583" class="css-a4x74f"><span>5583</span></td><td id="LC5583" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === NUMBER$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5584" class="css-a4x74f"><span>5584</span></td><td id="LC5584" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!startsWith(token, PLUSSIGN$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L5585" class="css-a4x74f"><span>5585</span></td><td id="LC5585" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5586" class="css-a4x74f"><span>5586</span></td><td id="LC5586" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5587" class="css-a4x74f"><span>5587</span></td><td id="LC5587" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5588" class="css-a4x74f"><span>5588</span></td><td id="LC5588" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumedHexLength = hexSequence(token, <span class="code-number">1</span>, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L5589" class="css-a4x74f"><span>5589</span></td><td id="LC5589" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (consumedHexLength === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5590" class="css-a4x74f"><span>5590</span></td><td id="LC5590" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5591" class="css-a4x74f"><span>5591</span></td><td id="LC5591" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5592" class="css-a4x74f"><span>5592</span></td><td id="LC5592" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5593" class="css-a4x74f"><span>5593</span></td><td id="LC5593" class="css-1dcdqdg"><code> token = getNextToken(++length); </code></td></tr><tr><td id="L5594" class="css-a4x74f"><span>5594</span></td><td id="LC5594" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L5595" class="css-a4x74f"><span>5595</span></td><td id="LC5595" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <eof></span> </code></td></tr><tr><td id="L5596" class="css-a4x74f"><span>5596</span></td><td id="LC5596" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length; </code></td></tr><tr><td id="L5597" class="css-a4x74f"><span>5597</span></td><td id="LC5597" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5598" class="css-a4x74f"><span>5598</span></td><td id="LC5598" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5599" class="css-a4x74f"><span>5599</span></td><td id="LC5599" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === DIMENSION$<span class="code-number">1</span> || token.type === NUMBER$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5600" class="css-a4x74f"><span>5600</span></td><td id="LC5600" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <dimension-token></span> </code></td></tr><tr><td id="L5601" class="css-a4x74f"><span>5601</span></td><td id="LC5601" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <number-token></span> </code></td></tr><tr><td id="L5602" class="css-a4x74f"><span>5602</span></td><td id="LC5602" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!startsWith(token, HYPHENMINUS$<span class="code-number">2</span>) || !hexSequence(token, <span class="code-number">1</span>, <span class="code-literal">false</span>)) { </code></td></tr><tr><td id="L5603" class="css-a4x74f"><span>5603</span></td><td id="LC5603" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5604" class="css-a4x74f"><span>5604</span></td><td id="LC5604" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5605" class="css-a4x74f"><span>5605</span></td><td id="LC5605" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5606" class="css-a4x74f"><span>5606</span></td><td id="LC5606" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length + <span class="code-number">1</span>; </code></td></tr><tr><td id="L5607" class="css-a4x74f"><span>5607</span></td><td id="LC5607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5608" class="css-a4x74f"><span>5608</span></td><td id="LC5608" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5609" class="css-a4x74f"><span>5609</span></td><td id="LC5609" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> '?'*</span> </code></td></tr><tr><td id="L5610" class="css-a4x74f"><span>5610</span></td><td id="LC5610" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> withQuestionMarkSequence(consumedHexLength, length, getNextToken); </code></td></tr><tr><td id="L5611" class="css-a4x74f"><span>5611</span></td><td id="LC5611" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5612" class="css-a4x74f"><span>5612</span></td><td id="LC5612" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5613" class="css-a4x74f"><span>5613</span></td><td id="LC5613" class="css-1dcdqdg"><code> <span class="code-comment">// u <dimension-token> '?'*</span> </code></td></tr><tr><td id="L5614" class="css-a4x74f"><span>5614</span></td><td id="LC5614" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === DIMENSION$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L5615" class="css-a4x74f"><span>5615</span></td><td id="LC5615" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!startsWith(token, PLUSSIGN$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L5616" class="css-a4x74f"><span>5616</span></td><td id="LC5616" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5617" class="css-a4x74f"><span>5617</span></td><td id="LC5617" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5618" class="css-a4x74f"><span>5618</span></td><td id="LC5618" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5619" class="css-a4x74f"><span>5619</span></td><td id="LC5619" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> withQuestionMarkSequence(hexSequence(token, <span class="code-number">1</span>, <span class="code-literal">true</span>), ++length, getNextToken); </code></td></tr><tr><td id="L5620" class="css-a4x74f"><span>5620</span></td><td id="LC5620" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5621" class="css-a4x74f"><span>5621</span></td><td id="LC5621" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5622" class="css-a4x74f"><span>5622</span></td><td id="LC5622" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5623" class="css-a4x74f"><span>5623</span></td><td id="LC5623" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5624" class="css-a4x74f"><span>5624</span></td><td id="LC5624" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5625" class="css-a4x74f"><span>5625</span></td><td id="LC5625" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isIdentifierStart$<span class="code-number">2</span> = tokenizer.isIdentifierStart; </code></td></tr><tr><td id="L5626" class="css-a4x74f"><span>5626</span></td><td id="LC5626" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isHexDigit$<span class="code-number">3</span> = tokenizer.isHexDigit; </code></td></tr><tr><td id="L5627" class="css-a4x74f"><span>5627</span></td><td id="LC5627" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDigit$<span class="code-number">3</span> = tokenizer.isDigit; </code></td></tr><tr><td id="L5628" class="css-a4x74f"><span>5628</span></td><td id="LC5628" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpStr$<span class="code-number">3</span> = tokenizer.cmpStr; </code></td></tr><tr><td id="L5629" class="css-a4x74f"><span>5629</span></td><td id="LC5629" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeNumber$<span class="code-number">2</span> = tokenizer.consumeNumber; </code></td></tr><tr><td id="L5630" class="css-a4x74f"><span>5630</span></td><td id="LC5630" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">5</span> = tokenizer.TYPE; </code></td></tr><tr><td id="L5631" class="css-a4x74f"><span>5631</span></td><td id="LC5631" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5632" class="css-a4x74f"><span>5632</span></td><td id="LC5632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5633" class="css-a4x74f"><span>5633</span></td><td id="LC5633" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5634" class="css-a4x74f"><span>5634</span></td><td id="LC5634" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cssWideKeywords = [<span class="code-string">'unset'</span>, <span class="code-string">'initial'</span>, <span class="code-string">'inherit'</span>]; </code></td></tr><tr><td id="L5635" class="css-a4x74f"><span>5635</span></td><td id="LC5635" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> calcFunctionNames = [<span class="code-string">'calc('</span>, <span class="code-string">'-moz-calc('</span>, <span class="code-string">'-webkit-calc('</span>]; </code></td></tr><tr><td id="L5636" class="css-a4x74f"><span>5636</span></td><td id="LC5636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5637" class="css-a4x74f"><span>5637</span></td><td id="LC5637" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css-values-3/#lengths</span> </code></td></tr><tr><td id="L5638" class="css-a4x74f"><span>5638</span></td><td id="LC5638" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LENGTH = { </code></td></tr><tr><td id="L5639" class="css-a4x74f"><span>5639</span></td><td id="LC5639" class="css-1dcdqdg"><code> <span class="code-comment">// absolute length units</span> </code></td></tr><tr><td id="L5640" class="css-a4x74f"><span>5640</span></td><td id="LC5640" class="css-1dcdqdg"><code> <span class="code-string">'px'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5641" class="css-a4x74f"><span>5641</span></td><td id="LC5641" class="css-1dcdqdg"><code> <span class="code-string">'mm'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5642" class="css-a4x74f"><span>5642</span></td><td id="LC5642" class="css-1dcdqdg"><code> <span class="code-string">'cm'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5643" class="css-a4x74f"><span>5643</span></td><td id="LC5643" class="css-1dcdqdg"><code> <span class="code-string">'in'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5644" class="css-a4x74f"><span>5644</span></td><td id="LC5644" class="css-1dcdqdg"><code> <span class="code-string">'pt'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5645" class="css-a4x74f"><span>5645</span></td><td id="LC5645" class="css-1dcdqdg"><code> <span class="code-string">'pc'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5646" class="css-a4x74f"><span>5646</span></td><td id="LC5646" class="css-1dcdqdg"><code> <span class="code-string">'q'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5647" class="css-a4x74f"><span>5647</span></td><td id="LC5647" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5648" class="css-a4x74f"><span>5648</span></td><td id="LC5648" class="css-1dcdqdg"><code> <span class="code-comment">// relative length units</span> </code></td></tr><tr><td id="L5649" class="css-a4x74f"><span>5649</span></td><td id="LC5649" class="css-1dcdqdg"><code> <span class="code-string">'em'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5650" class="css-a4x74f"><span>5650</span></td><td id="LC5650" class="css-1dcdqdg"><code> <span class="code-string">'ex'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5651" class="css-a4x74f"><span>5651</span></td><td id="LC5651" class="css-1dcdqdg"><code> <span class="code-string">'ch'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5652" class="css-a4x74f"><span>5652</span></td><td id="LC5652" class="css-1dcdqdg"><code> <span class="code-string">'rem'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5653" class="css-a4x74f"><span>5653</span></td><td id="LC5653" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5654" class="css-a4x74f"><span>5654</span></td><td id="LC5654" class="css-1dcdqdg"><code> <span class="code-comment">// viewport-percentage lengths</span> </code></td></tr><tr><td id="L5655" class="css-a4x74f"><span>5655</span></td><td id="LC5655" class="css-1dcdqdg"><code> <span class="code-string">'vh'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5656" class="css-a4x74f"><span>5656</span></td><td id="LC5656" class="css-1dcdqdg"><code> <span class="code-string">'vw'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5657" class="css-a4x74f"><span>5657</span></td><td id="LC5657" class="css-1dcdqdg"><code> <span class="code-string">'vmin'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5658" class="css-a4x74f"><span>5658</span></td><td id="LC5658" class="css-1dcdqdg"><code> <span class="code-string">'vmax'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5659" class="css-a4x74f"><span>5659</span></td><td id="LC5659" class="css-1dcdqdg"><code> <span class="code-string">'vm'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5660" class="css-a4x74f"><span>5660</span></td><td id="LC5660" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5661" class="css-a4x74f"><span>5661</span></td><td id="LC5661" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5662" class="css-a4x74f"><span>5662</span></td><td id="LC5662" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ANGLE = { </code></td></tr><tr><td id="L5663" class="css-a4x74f"><span>5663</span></td><td id="LC5663" class="css-1dcdqdg"><code> <span class="code-string">'deg'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5664" class="css-a4x74f"><span>5664</span></td><td id="LC5664" class="css-1dcdqdg"><code> <span class="code-string">'grad'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5665" class="css-a4x74f"><span>5665</span></td><td id="LC5665" class="css-1dcdqdg"><code> <span class="code-string">'rad'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5666" class="css-a4x74f"><span>5666</span></td><td id="LC5666" class="css-1dcdqdg"><code> <span class="code-string">'turn'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5667" class="css-a4x74f"><span>5667</span></td><td id="LC5667" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5668" class="css-a4x74f"><span>5668</span></td><td id="LC5668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5669" class="css-a4x74f"><span>5669</span></td><td id="LC5669" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TIME = { </code></td></tr><tr><td id="L5670" class="css-a4x74f"><span>5670</span></td><td id="LC5670" class="css-1dcdqdg"><code> <span class="code-string">'s'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5671" class="css-a4x74f"><span>5671</span></td><td id="LC5671" class="css-1dcdqdg"><code> <span class="code-string">'ms'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5672" class="css-a4x74f"><span>5672</span></td><td id="LC5672" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5673" class="css-a4x74f"><span>5673</span></td><td id="LC5673" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5674" class="css-a4x74f"><span>5674</span></td><td id="LC5674" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FREQUENCY = { </code></td></tr><tr><td id="L5675" class="css-a4x74f"><span>5675</span></td><td id="LC5675" class="css-1dcdqdg"><code> <span class="code-string">'hz'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5676" class="css-a4x74f"><span>5676</span></td><td id="LC5676" class="css-1dcdqdg"><code> <span class="code-string">'khz'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5677" class="css-a4x74f"><span>5677</span></td><td id="LC5677" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5678" class="css-a4x74f"><span>5678</span></td><td id="LC5678" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5679" class="css-a4x74f"><span>5679</span></td><td id="LC5679" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css-values-3/#resolution (https://drafts.csswg.org/css-values/#resolution)</span> </code></td></tr><tr><td id="L5680" class="css-a4x74f"><span>5680</span></td><td id="LC5680" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RESOLUTION = { </code></td></tr><tr><td id="L5681" class="css-a4x74f"><span>5681</span></td><td id="LC5681" class="css-1dcdqdg"><code> <span class="code-string">'dpi'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5682" class="css-a4x74f"><span>5682</span></td><td id="LC5682" class="css-1dcdqdg"><code> <span class="code-string">'dpcm'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5683" class="css-a4x74f"><span>5683</span></td><td id="LC5683" class="css-1dcdqdg"><code> <span class="code-string">'dppx'</span>: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L5684" class="css-a4x74f"><span>5684</span></td><td id="LC5684" class="css-1dcdqdg"><code> <span class="code-string">'x'</span>: <span class="code-literal">true</span> <span class="code-comment">// https://github.com/w3c/csswg-drafts/issues/461</span> </code></td></tr><tr><td id="L5685" class="css-a4x74f"><span>5685</span></td><td id="LC5685" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5686" class="css-a4x74f"><span>5686</span></td><td id="LC5686" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5687" class="css-a4x74f"><span>5687</span></td><td id="LC5687" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-grid/#fr-unit</span> </code></td></tr><tr><td id="L5688" class="css-a4x74f"><span>5688</span></td><td id="LC5688" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FLEX = { </code></td></tr><tr><td id="L5689" class="css-a4x74f"><span>5689</span></td><td id="LC5689" class="css-1dcdqdg"><code> <span class="code-string">'fr'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5690" class="css-a4x74f"><span>5690</span></td><td id="LC5690" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5691" class="css-a4x74f"><span>5691</span></td><td id="LC5691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5692" class="css-a4x74f"><span>5692</span></td><td id="LC5692" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume</span> </code></td></tr><tr><td id="L5693" class="css-a4x74f"><span>5693</span></td><td id="LC5693" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DECIBEL = { </code></td></tr><tr><td id="L5694" class="css-a4x74f"><span>5694</span></td><td id="LC5694" class="css-1dcdqdg"><code> <span class="code-string">'db'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5695" class="css-a4x74f"><span>5695</span></td><td id="LC5695" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5696" class="css-a4x74f"><span>5696</span></td><td id="LC5696" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5697" class="css-a4x74f"><span>5697</span></td><td id="LC5697" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch</span> </code></td></tr><tr><td id="L5698" class="css-a4x74f"><span>5698</span></td><td id="LC5698" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMITONES = { </code></td></tr><tr><td id="L5699" class="css-a4x74f"><span>5699</span></td><td id="LC5699" class="css-1dcdqdg"><code> <span class="code-string">'st'</span>: <span class="code-literal">true</span> </code></td></tr><tr><td id="L5700" class="css-a4x74f"><span>5700</span></td><td id="LC5700" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5701" class="css-a4x74f"><span>5701</span></td><td id="LC5701" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5702" class="css-a4x74f"><span>5702</span></td><td id="LC5702" class="css-1dcdqdg"><code> <span class="code-comment">// safe char code getter</span> </code></td></tr><tr><td id="L5703" class="css-a4x74f"><span>5703</span></td><td id="LC5703" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">charCode</span>(<span class="code-params">str, index</span>) </span>{ </code></td></tr><tr><td id="L5704" class="css-a4x74f"><span>5704</span></td><td id="LC5704" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> index < str.length ? str.charCodeAt(index) : <span class="code-number">0</span>; </code></td></tr><tr><td id="L5705" class="css-a4x74f"><span>5705</span></td><td id="LC5705" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5706" class="css-a4x74f"><span>5706</span></td><td id="LC5706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5707" class="css-a4x74f"><span>5707</span></td><td id="LC5707" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">eqStr</span>(<span class="code-params">actual, expected</span>) </span>{ </code></td></tr><tr><td id="L5708" class="css-a4x74f"><span>5708</span></td><td id="LC5708" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmpStr$<span class="code-number">3</span>(actual, <span class="code-number">0</span>, actual.length, expected); </code></td></tr><tr><td id="L5709" class="css-a4x74f"><span>5709</span></td><td id="LC5709" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5710" class="css-a4x74f"><span>5710</span></td><td id="LC5710" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5711" class="css-a4x74f"><span>5711</span></td><td id="LC5711" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">eqStrAny</span>(<span class="code-params">actual, expected</span>) </span>{ </code></td></tr><tr><td id="L5712" class="css-a4x74f"><span>5712</span></td><td id="LC5712" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < expected.length; i++) { </code></td></tr><tr><td id="L5713" class="css-a4x74f"><span>5713</span></td><td id="LC5713" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (eqStr(actual, expected[i])) { </code></td></tr><tr><td id="L5714" class="css-a4x74f"><span>5714</span></td><td id="LC5714" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5715" class="css-a4x74f"><span>5715</span></td><td id="LC5715" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5716" class="css-a4x74f"><span>5716</span></td><td id="LC5716" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5717" class="css-a4x74f"><span>5717</span></td><td id="LC5717" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5718" class="css-a4x74f"><span>5718</span></td><td id="LC5718" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L5719" class="css-a4x74f"><span>5719</span></td><td id="LC5719" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5720" class="css-a4x74f"><span>5720</span></td><td id="LC5720" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5721" class="css-a4x74f"><span>5721</span></td><td id="LC5721" class="css-1dcdqdg"><code> <span class="code-comment">// IE postfix hack, i.e. 123\0 or 123px\9</span> </code></td></tr><tr><td id="L5722" class="css-a4x74f"><span>5722</span></td><td id="LC5722" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isPostfixIeHack</span>(<span class="code-params">str, offset</span>) </span>{ </code></td></tr><tr><td id="L5723" class="css-a4x74f"><span>5723</span></td><td id="LC5723" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset !== str.length - <span class="code-number">2</span>) { </code></td></tr><tr><td id="L5724" class="css-a4x74f"><span>5724</span></td><td id="LC5724" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L5725" class="css-a4x74f"><span>5725</span></td><td id="LC5725" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5726" class="css-a4x74f"><span>5726</span></td><td id="LC5726" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5727" class="css-a4x74f"><span>5727</span></td><td id="LC5727" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L5728" class="css-a4x74f"><span>5728</span></td><td id="LC5728" class="css-1dcdqdg"><code> str.charCodeAt(offset) === <span class="code-number">0x005C</span> && <span class="code-comment">// U+005C REVERSE SOLIDUS (\)</span> </code></td></tr><tr><td id="L5729" class="css-a4x74f"><span>5729</span></td><td id="LC5729" class="css-1dcdqdg"><code> isDigit$<span class="code-number">3</span>(str.charCodeAt(offset + <span class="code-number">1</span>)) </code></td></tr><tr><td id="L5730" class="css-a4x74f"><span>5730</span></td><td id="LC5730" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L5731" class="css-a4x74f"><span>5731</span></td><td id="LC5731" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5732" class="css-a4x74f"><span>5732</span></td><td id="LC5732" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5733" class="css-a4x74f"><span>5733</span></td><td id="LC5733" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">outOfRange</span>(<span class="code-params">opts, value, numEnd</span>) </span>{ </code></td></tr><tr><td id="L5734" class="css-a4x74f"><span>5734</span></td><td id="LC5734" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (opts && opts.type === <span class="code-string">'Range'</span>) { </code></td></tr><tr><td id="L5735" class="css-a4x74f"><span>5735</span></td><td id="LC5735" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> num = <span class="code-built_in">Number</span>( </code></td></tr><tr><td id="L5736" class="css-a4x74f"><span>5736</span></td><td id="LC5736" class="css-1dcdqdg"><code> numEnd !== <span class="code-literal">undefined</span> && numEnd !== value.length </code></td></tr><tr><td id="L5737" class="css-a4x74f"><span>5737</span></td><td id="LC5737" class="css-1dcdqdg"><code> ? value.substr(<span class="code-number">0</span>, numEnd) </code></td></tr><tr><td id="L5738" class="css-a4x74f"><span>5738</span></td><td id="LC5738" class="css-1dcdqdg"><code> : value </code></td></tr><tr><td id="L5739" class="css-a4x74f"><span>5739</span></td><td id="LC5739" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L5740" class="css-a4x74f"><span>5740</span></td><td id="LC5740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5741" class="css-a4x74f"><span>5741</span></td><td id="LC5741" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">isNaN</span>(num)) { </code></td></tr><tr><td id="L5742" class="css-a4x74f"><span>5742</span></td><td id="LC5742" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5743" class="css-a4x74f"><span>5743</span></td><td id="LC5743" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5744" class="css-a4x74f"><span>5744</span></td><td id="LC5744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5745" class="css-a4x74f"><span>5745</span></td><td id="LC5745" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (opts.min !== <span class="code-literal">null</span> && num < opts.min) { </code></td></tr><tr><td id="L5746" class="css-a4x74f"><span>5746</span></td><td id="LC5746" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5747" class="css-a4x74f"><span>5747</span></td><td id="LC5747" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5748" class="css-a4x74f"><span>5748</span></td><td id="LC5748" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5749" class="css-a4x74f"><span>5749</span></td><td id="LC5749" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (opts.max !== <span class="code-literal">null</span> && num > opts.max) { </code></td></tr><tr><td id="L5750" class="css-a4x74f"><span>5750</span></td><td id="LC5750" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L5751" class="css-a4x74f"><span>5751</span></td><td id="LC5751" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5752" class="css-a4x74f"><span>5752</span></td><td id="LC5752" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5753" class="css-a4x74f"><span>5753</span></td><td id="LC5753" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5754" class="css-a4x74f"><span>5754</span></td><td id="LC5754" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L5755" class="css-a4x74f"><span>5755</span></td><td id="LC5755" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5756" class="css-a4x74f"><span>5756</span></td><td id="LC5756" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5757" class="css-a4x74f"><span>5757</span></td><td id="LC5757" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeFunction</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5758" class="css-a4x74f"><span>5758</span></td><td id="LC5758" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startIdx = token.index; </code></td></tr><tr><td id="L5759" class="css-a4x74f"><span>5759</span></td><td id="LC5759" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5760" class="css-a4x74f"><span>5760</span></td><td id="LC5760" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5761" class="css-a4x74f"><span>5761</span></td><td id="LC5761" class="css-1dcdqdg"><code> <span class="code-comment">// balanced token consuming</span> </code></td></tr><tr><td id="L5762" class="css-a4x74f"><span>5762</span></td><td id="LC5762" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L5763" class="css-a4x74f"><span>5763</span></td><td id="LC5763" class="css-1dcdqdg"><code> length++; </code></td></tr><tr><td id="L5764" class="css-a4x74f"><span>5764</span></td><td id="LC5764" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5765" class="css-a4x74f"><span>5765</span></td><td id="LC5765" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.balance <= startIdx) { </code></td></tr><tr><td id="L5766" class="css-a4x74f"><span>5766</span></td><td id="LC5766" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5767" class="css-a4x74f"><span>5767</span></td><td id="LC5767" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5768" class="css-a4x74f"><span>5768</span></td><td id="LC5768" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (token = getNextToken(length)); </code></td></tr><tr><td id="L5769" class="css-a4x74f"><span>5769</span></td><td id="LC5769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5770" class="css-a4x74f"><span>5770</span></td><td id="LC5770" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length; </code></td></tr><tr><td id="L5771" class="css-a4x74f"><span>5771</span></td><td id="LC5771" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5772" class="css-a4x74f"><span>5772</span></td><td id="LC5772" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5773" class="css-a4x74f"><span>5773</span></td><td id="LC5773" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> implement</span> </code></td></tr><tr><td id="L5774" class="css-a4x74f"><span>5774</span></td><td id="LC5774" class="css-1dcdqdg"><code> <span class="code-comment">// can be used wherever <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> values are allowed</span> </code></td></tr><tr><td id="L5775" class="css-a4x74f"><span>5775</span></td><td id="LC5775" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values/#calc-notation</span> </code></td></tr><tr><td id="L5776" class="css-a4x74f"><span>5776</span></td><td id="LC5776" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">calc</span>(<span class="code-params">next</span>) </span>{ </code></td></tr><tr><td id="L5777" class="css-a4x74f"><span>5777</span></td><td id="LC5777" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L5778" class="css-a4x74f"><span>5778</span></td><td id="LC5778" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L5779" class="css-a4x74f"><span>5779</span></td><td id="LC5779" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5780" class="css-a4x74f"><span>5780</span></td><td id="LC5780" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5781" class="css-a4x74f"><span>5781</span></td><td id="LC5781" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5782" class="css-a4x74f"><span>5782</span></td><td id="LC5782" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === TYPE$<span class="code-number">5.</span><span class="code-built_in">Function</span> && eqStrAny(token.value, calcFunctionNames)) { </code></td></tr><tr><td id="L5783" class="css-a4x74f"><span>5783</span></td><td id="LC5783" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeFunction(token, getNextToken); </code></td></tr><tr><td id="L5784" class="css-a4x74f"><span>5784</span></td><td id="LC5784" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5785" class="css-a4x74f"><span>5785</span></td><td id="LC5785" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5786" class="css-a4x74f"><span>5786</span></td><td id="LC5786" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> next(token, getNextToken, opts); </code></td></tr><tr><td id="L5787" class="css-a4x74f"><span>5787</span></td><td id="LC5787" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5788" class="css-a4x74f"><span>5788</span></td><td id="LC5788" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5789" class="css-a4x74f"><span>5789</span></td><td id="LC5789" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5790" class="css-a4x74f"><span>5790</span></td><td id="LC5790" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">tokenType</span>(<span class="code-params">expectedTokenType</span>) </span>{ </code></td></tr><tr><td id="L5791" class="css-a4x74f"><span>5791</span></td><td id="LC5791" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L5792" class="css-a4x74f"><span>5792</span></td><td id="LC5792" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== expectedTokenType) { </code></td></tr><tr><td id="L5793" class="css-a4x74f"><span>5793</span></td><td id="LC5793" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5794" class="css-a4x74f"><span>5794</span></td><td id="LC5794" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5795" class="css-a4x74f"><span>5795</span></td><td id="LC5795" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5796" class="css-a4x74f"><span>5796</span></td><td id="LC5796" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L5797" class="css-a4x74f"><span>5797</span></td><td id="LC5797" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5798" class="css-a4x74f"><span>5798</span></td><td id="LC5798" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5799" class="css-a4x74f"><span>5799</span></td><td id="LC5799" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5800" class="css-a4x74f"><span>5800</span></td><td id="LC5800" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">func</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L5801" class="css-a4x74f"><span>5801</span></td><td id="LC5801" class="css-1dcdqdg"><code> name = name + <span class="code-string">'('</span>; </code></td></tr><tr><td id="L5802" class="css-a4x74f"><span>5802</span></td><td id="LC5802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5803" class="css-a4x74f"><span>5803</span></td><td id="LC5803" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5804" class="css-a4x74f"><span>5804</span></td><td id="LC5804" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span> && eqStr(token.value, name)) { </code></td></tr><tr><td id="L5805" class="css-a4x74f"><span>5805</span></td><td id="LC5805" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeFunction(token, getNextToken); </code></td></tr><tr><td id="L5806" class="css-a4x74f"><span>5806</span></td><td id="LC5806" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5807" class="css-a4x74f"><span>5807</span></td><td id="LC5807" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5808" class="css-a4x74f"><span>5808</span></td><td id="LC5808" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5809" class="css-a4x74f"><span>5809</span></td><td id="LC5809" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L5810" class="css-a4x74f"><span>5810</span></td><td id="LC5810" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5811" class="css-a4x74f"><span>5811</span></td><td id="LC5811" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5812" class="css-a4x74f"><span>5812</span></td><td id="LC5812" class="css-1dcdqdg"><code> <span class="code-comment">// =========================</span> </code></td></tr><tr><td id="L5813" class="css-a4x74f"><span>5813</span></td><td id="LC5813" class="css-1dcdqdg"><code> <span class="code-comment">// Complex types</span> </code></td></tr><tr><td id="L5814" class="css-a4x74f"><span>5814</span></td><td id="LC5814" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L5815" class="css-a4x74f"><span>5815</span></td><td id="LC5815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5816" class="css-a4x74f"><span>5816</span></td><td id="LC5816" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#custom-idents</span> </code></td></tr><tr><td id="L5817" class="css-a4x74f"><span>5817</span></td><td id="LC5817" class="css-1dcdqdg"><code> <span class="code-comment">// 4.2. Author-defined Identifiers: the <custom-ident> type</span> </code></td></tr><tr><td id="L5818" class="css-a4x74f"><span>5818</span></td><td id="LC5818" class="css-1dcdqdg"><code> <span class="code-comment">// Some properties accept arbitrary author-defined identifiers as a component value.</span> </code></td></tr><tr><td id="L5819" class="css-a4x74f"><span>5819</span></td><td id="LC5819" class="css-1dcdqdg"><code> <span class="code-comment">// This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier</span> </code></td></tr><tr><td id="L5820" class="css-a4x74f"><span>5820</span></td><td id="LC5820" class="css-1dcdqdg"><code> <span class="code-comment">// that would not be misinterpreted as a pre-defined keyword in that property’s value definition.</span> </code></td></tr><tr><td id="L5821" class="css-a4x74f"><span>5821</span></td><td id="LC5821" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L5822" class="css-a4x74f"><span>5822</span></td><td id="LC5822" class="css-1dcdqdg"><code> <span class="code-comment">// See also: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident</span> </code></td></tr><tr><td id="L5823" class="css-a4x74f"><span>5823</span></td><td id="LC5823" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">customIdent</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L5824" class="css-a4x74f"><span>5824</span></td><td id="LC5824" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Ident) { </code></td></tr><tr><td id="L5825" class="css-a4x74f"><span>5825</span></td><td id="LC5825" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5826" class="css-a4x74f"><span>5826</span></td><td id="LC5826" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5827" class="css-a4x74f"><span>5827</span></td><td id="LC5827" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5828" class="css-a4x74f"><span>5828</span></td><td id="LC5828" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = token.value.toLowerCase(); </code></td></tr><tr><td id="L5829" class="css-a4x74f"><span>5829</span></td><td id="LC5829" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5830" class="css-a4x74f"><span>5830</span></td><td id="LC5830" class="css-1dcdqdg"><code> <span class="code-comment">// The CSS-wide keywords are not valid <custom-ident>s</span> </code></td></tr><tr><td id="L5831" class="css-a4x74f"><span>5831</span></td><td id="LC5831" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (eqStrAny(name, cssWideKeywords)) { </code></td></tr><tr><td id="L5832" class="css-a4x74f"><span>5832</span></td><td id="LC5832" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5833" class="css-a4x74f"><span>5833</span></td><td id="LC5833" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5834" class="css-a4x74f"><span>5834</span></td><td id="LC5834" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5835" class="css-a4x74f"><span>5835</span></td><td id="LC5835" class="css-1dcdqdg"><code> <span class="code-comment">// The default keyword is reserved and is also not a valid <custom-ident></span> </code></td></tr><tr><td id="L5836" class="css-a4x74f"><span>5836</span></td><td id="LC5836" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (eqStr(name, <span class="code-string">'default'</span>)) { </code></td></tr><tr><td id="L5837" class="css-a4x74f"><span>5837</span></td><td id="LC5837" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5838" class="css-a4x74f"><span>5838</span></td><td id="LC5838" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5839" class="css-a4x74f"><span>5839</span></td><td id="LC5839" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5840" class="css-a4x74f"><span>5840</span></td><td id="LC5840" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> ignore property specific keywords (as described https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident)</span> </code></td></tr><tr><td id="L5841" class="css-a4x74f"><span>5841</span></td><td id="LC5841" class="css-1dcdqdg"><code> <span class="code-comment">// Specifications using <custom-ident> must specify clearly what other keywords</span> </code></td></tr><tr><td id="L5842" class="css-a4x74f"><span>5842</span></td><td id="LC5842" class="css-1dcdqdg"><code> <span class="code-comment">// are excluded from <custom-ident>, if any—for example by saying that any pre-defined keywords</span> </code></td></tr><tr><td id="L5843" class="css-a4x74f"><span>5843</span></td><td id="LC5843" class="css-1dcdqdg"><code> <span class="code-comment">// in that property’s value definition are excluded. Excluded keywords are excluded</span> </code></td></tr><tr><td id="L5844" class="css-a4x74f"><span>5844</span></td><td id="LC5844" class="css-1dcdqdg"><code> <span class="code-comment">// in all ASCII case permutations.</span> </code></td></tr><tr><td id="L5845" class="css-a4x74f"><span>5845</span></td><td id="LC5845" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5846" class="css-a4x74f"><span>5846</span></td><td id="LC5846" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L5847" class="css-a4x74f"><span>5847</span></td><td id="LC5847" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5848" class="css-a4x74f"><span>5848</span></td><td id="LC5848" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5849" class="css-a4x74f"><span>5849</span></td><td id="LC5849" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-variables/#typedef-custom-property-name</span> </code></td></tr><tr><td id="L5850" class="css-a4x74f"><span>5850</span></td><td id="LC5850" class="css-1dcdqdg"><code> <span class="code-comment">// A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo.</span> </code></td></tr><tr><td id="L5851" class="css-a4x74f"><span>5851</span></td><td id="LC5851" class="css-1dcdqdg"><code> <span class="code-comment">// The <custom-property-name> production corresponds to this: it’s defined as any valid identifier</span> </code></td></tr><tr><td id="L5852" class="css-a4x74f"><span>5852</span></td><td id="LC5852" class="css-1dcdqdg"><code> <span class="code-comment">// that starts with two dashes, except -- itself, which is reserved for future use by CSS.</span> </code></td></tr><tr><td id="L5853" class="css-a4x74f"><span>5853</span></td><td id="LC5853" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">NOTE:</span> Current implementation treat `--` as a valid name since most (all?) major browsers treat it as valid.</span> </code></td></tr><tr><td id="L5854" class="css-a4x74f"><span>5854</span></td><td id="LC5854" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">customPropertyName</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L5855" class="css-a4x74f"><span>5855</span></td><td id="LC5855" class="css-1dcdqdg"><code> <span class="code-comment">// ... defined as any valid identifier</span> </code></td></tr><tr><td id="L5856" class="css-a4x74f"><span>5856</span></td><td id="LC5856" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Ident) { </code></td></tr><tr><td id="L5857" class="css-a4x74f"><span>5857</span></td><td id="LC5857" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5858" class="css-a4x74f"><span>5858</span></td><td id="LC5858" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5859" class="css-a4x74f"><span>5859</span></td><td id="LC5859" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5860" class="css-a4x74f"><span>5860</span></td><td id="LC5860" class="css-1dcdqdg"><code> <span class="code-comment">// ... that starts with two dashes (U+002D HYPHEN-MINUS)</span> </code></td></tr><tr><td id="L5861" class="css-a4x74f"><span>5861</span></td><td id="LC5861" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (charCode(token.value, <span class="code-number">0</span>) !== <span class="code-number">0x002D</span> || charCode(token.value, <span class="code-number">1</span>) !== <span class="code-number">0x002D</span>) { </code></td></tr><tr><td id="L5862" class="css-a4x74f"><span>5862</span></td><td id="LC5862" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5863" class="css-a4x74f"><span>5863</span></td><td id="LC5863" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5864" class="css-a4x74f"><span>5864</span></td><td id="LC5864" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5865" class="css-a4x74f"><span>5865</span></td><td id="LC5865" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L5866" class="css-a4x74f"><span>5866</span></td><td id="LC5866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5867" class="css-a4x74f"><span>5867</span></td><td id="LC5867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5868" class="css-a4x74f"><span>5868</span></td><td id="LC5868" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-color-4/#hex-notation</span> </code></td></tr><tr><td id="L5869" class="css-a4x74f"><span>5869</span></td><td id="LC5869" class="css-1dcdqdg"><code> <span class="code-comment">// The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits.</span> </code></td></tr><tr><td id="L5870" class="css-a4x74f"><span>5870</span></td><td id="LC5870" class="css-1dcdqdg"><code> <span class="code-comment">// In other words, a hex color is written as a hash character, "#", followed by some number of digits 0-9 or</span> </code></td></tr><tr><td id="L5871" class="css-a4x74f"><span>5871</span></td><td id="LC5871" class="css-1dcdqdg"><code> <span class="code-comment">// letters a-f (the case of the letters doesn’t matter - #00ff00 is identical to #00FF00).</span> </code></td></tr><tr><td id="L5872" class="css-a4x74f"><span>5872</span></td><td id="LC5872" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">hexColor</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L5873" class="css-a4x74f"><span>5873</span></td><td id="LC5873" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Hash) { </code></td></tr><tr><td id="L5874" class="css-a4x74f"><span>5874</span></td><td id="LC5874" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5875" class="css-a4x74f"><span>5875</span></td><td id="LC5875" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5876" class="css-a4x74f"><span>5876</span></td><td id="LC5876" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5877" class="css-a4x74f"><span>5877</span></td><td id="LC5877" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = token.value.length; </code></td></tr><tr><td id="L5878" class="css-a4x74f"><span>5878</span></td><td id="LC5878" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5879" class="css-a4x74f"><span>5879</span></td><td id="LC5879" class="css-1dcdqdg"><code> <span class="code-comment">// valid values (length): #rgb (4), #rgba (5), #rrggbb (7), #rrggbbaa (9)</span> </code></td></tr><tr><td id="L5880" class="css-a4x74f"><span>5880</span></td><td id="LC5880" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length !== <span class="code-number">4</span> && length !== <span class="code-number">5</span> && length !== <span class="code-number">7</span> && length !== <span class="code-number">9</span>) { </code></td></tr><tr><td id="L5881" class="css-a4x74f"><span>5881</span></td><td id="LC5881" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5882" class="css-a4x74f"><span>5882</span></td><td id="LC5882" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5883" class="css-a4x74f"><span>5883</span></td><td id="LC5883" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5884" class="css-a4x74f"><span>5884</span></td><td id="LC5884" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">1</span>; i < length; i++) { </code></td></tr><tr><td id="L5885" class="css-a4x74f"><span>5885</span></td><td id="LC5885" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHexDigit$<span class="code-number">3</span>(token.value.charCodeAt(i))) { </code></td></tr><tr><td id="L5886" class="css-a4x74f"><span>5886</span></td><td id="LC5886" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5887" class="css-a4x74f"><span>5887</span></td><td id="LC5887" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5888" class="css-a4x74f"><span>5888</span></td><td id="LC5888" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5889" class="css-a4x74f"><span>5889</span></td><td id="LC5889" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5890" class="css-a4x74f"><span>5890</span></td><td id="LC5890" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L5891" class="css-a4x74f"><span>5891</span></td><td id="LC5891" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5892" class="css-a4x74f"><span>5892</span></td><td id="LC5892" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5893" class="css-a4x74f"><span>5893</span></td><td id="LC5893" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">idSelector</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L5894" class="css-a4x74f"><span>5894</span></td><td id="LC5894" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Hash) { </code></td></tr><tr><td id="L5895" class="css-a4x74f"><span>5895</span></td><td id="LC5895" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5896" class="css-a4x74f"><span>5896</span></td><td id="LC5896" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5897" class="css-a4x74f"><span>5897</span></td><td id="LC5897" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5898" class="css-a4x74f"><span>5898</span></td><td id="LC5898" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isIdentifierStart$<span class="code-number">2</span>(charCode(token.value, <span class="code-number">1</span>), charCode(token.value, <span class="code-number">2</span>), charCode(token.value, <span class="code-number">3</span>))) { </code></td></tr><tr><td id="L5899" class="css-a4x74f"><span>5899</span></td><td id="LC5899" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5900" class="css-a4x74f"><span>5900</span></td><td id="LC5900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5901" class="css-a4x74f"><span>5901</span></td><td id="LC5901" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5902" class="css-a4x74f"><span>5902</span></td><td id="LC5902" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L5903" class="css-a4x74f"><span>5903</span></td><td id="LC5903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5904" class="css-a4x74f"><span>5904</span></td><td id="LC5904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5905" class="css-a4x74f"><span>5905</span></td><td id="LC5905" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#any-value</span> </code></td></tr><tr><td id="L5906" class="css-a4x74f"><span>5906</span></td><td id="LC5906" class="css-1dcdqdg"><code> <span class="code-comment">// It represents the entirety of what a valid declaration can have as its value.</span> </code></td></tr><tr><td id="L5907" class="css-a4x74f"><span>5907</span></td><td id="LC5907" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">declarationValue</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5908" class="css-a4x74f"><span>5908</span></td><td id="LC5908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!token) { </code></td></tr><tr><td id="L5909" class="css-a4x74f"><span>5909</span></td><td id="LC5909" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5910" class="css-a4x74f"><span>5910</span></td><td id="LC5910" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5911" class="css-a4x74f"><span>5911</span></td><td id="LC5911" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5912" class="css-a4x74f"><span>5912</span></td><td id="LC5912" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5913" class="css-a4x74f"><span>5913</span></td><td id="LC5913" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> level = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5914" class="css-a4x74f"><span>5914</span></td><td id="LC5914" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startIdx = token.index; </code></td></tr><tr><td id="L5915" class="css-a4x74f"><span>5915</span></td><td id="LC5915" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5916" class="css-a4x74f"><span>5916</span></td><td id="LC5916" class="css-1dcdqdg"><code> <span class="code-comment">// The <declaration-value> production matches any sequence of one or more tokens,</span> </code></td></tr><tr><td id="L5917" class="css-a4x74f"><span>5917</span></td><td id="LC5917" class="css-1dcdqdg"><code> <span class="code-comment">// so long as the sequence ...</span> </code></td></tr><tr><td id="L5918" class="css-a4x74f"><span>5918</span></td><td id="LC5918" class="css-1dcdqdg"><code> scan: </code></td></tr><tr><td id="L5919" class="css-a4x74f"><span>5919</span></td><td id="LC5919" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L5920" class="css-a4x74f"><span>5920</span></td><td id="LC5920" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (token.type) { </code></td></tr><tr><td id="L5921" class="css-a4x74f"><span>5921</span></td><td id="LC5921" class="css-1dcdqdg"><code> <span class="code-comment">// ... does not contain <bad-string-token>, <bad-url-token>,</span> </code></td></tr><tr><td id="L5922" class="css-a4x74f"><span>5922</span></td><td id="LC5922" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>BadString: </code></td></tr><tr><td id="L5923" class="css-a4x74f"><span>5923</span></td><td id="LC5923" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>BadUrl: </code></td></tr><tr><td id="L5924" class="css-a4x74f"><span>5924</span></td><td id="LC5924" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L5925" class="css-a4x74f"><span>5925</span></td><td id="LC5925" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5926" class="css-a4x74f"><span>5926</span></td><td id="LC5926" class="css-1dcdqdg"><code> <span class="code-comment">// ... unmatched <)-token>, <]-token>, or <}-token>,</span> </code></td></tr><tr><td id="L5927" class="css-a4x74f"><span>5927</span></td><td id="LC5927" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightCurlyBracket: </code></td></tr><tr><td id="L5928" class="css-a4x74f"><span>5928</span></td><td id="LC5928" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightParenthesis: </code></td></tr><tr><td id="L5929" class="css-a4x74f"><span>5929</span></td><td id="LC5929" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightSquareBracket: </code></td></tr><tr><td id="L5930" class="css-a4x74f"><span>5930</span></td><td id="LC5930" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.balance > token.index || token.balance < startIdx) { </code></td></tr><tr><td id="L5931" class="css-a4x74f"><span>5931</span></td><td id="LC5931" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L5932" class="css-a4x74f"><span>5932</span></td><td id="LC5932" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5933" class="css-a4x74f"><span>5933</span></td><td id="LC5933" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5934" class="css-a4x74f"><span>5934</span></td><td id="LC5934" class="css-1dcdqdg"><code> level--; </code></td></tr><tr><td id="L5935" class="css-a4x74f"><span>5935</span></td><td id="LC5935" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5936" class="css-a4x74f"><span>5936</span></td><td id="LC5936" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5937" class="css-a4x74f"><span>5937</span></td><td id="LC5937" class="css-1dcdqdg"><code> <span class="code-comment">// ... or top-level <semicolon-token> tokens</span> </code></td></tr><tr><td id="L5938" class="css-a4x74f"><span>5938</span></td><td id="LC5938" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>Semicolon: </code></td></tr><tr><td id="L5939" class="css-a4x74f"><span>5939</span></td><td id="LC5939" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (level === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5940" class="css-a4x74f"><span>5940</span></td><td id="LC5940" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L5941" class="css-a4x74f"><span>5941</span></td><td id="LC5941" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5942" class="css-a4x74f"><span>5942</span></td><td id="LC5942" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5943" class="css-a4x74f"><span>5943</span></td><td id="LC5943" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5944" class="css-a4x74f"><span>5944</span></td><td id="LC5944" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5945" class="css-a4x74f"><span>5945</span></td><td id="LC5945" class="css-1dcdqdg"><code> <span class="code-comment">// ... or <delim-token> tokens with a value of "!"</span> </code></td></tr><tr><td id="L5946" class="css-a4x74f"><span>5946</span></td><td id="LC5946" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>Delim: </code></td></tr><tr><td id="L5947" class="css-a4x74f"><span>5947</span></td><td id="LC5947" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.value === <span class="code-string">'!'</span> && level === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L5948" class="css-a4x74f"><span>5948</span></td><td id="LC5948" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L5949" class="css-a4x74f"><span>5949</span></td><td id="LC5949" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5950" class="css-a4x74f"><span>5950</span></td><td id="LC5950" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5951" class="css-a4x74f"><span>5951</span></td><td id="LC5951" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5952" class="css-a4x74f"><span>5952</span></td><td id="LC5952" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5953" class="css-a4x74f"><span>5953</span></td><td id="LC5953" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span><span class="code-built_in">Function</span>: </code></td></tr><tr><td id="L5954" class="css-a4x74f"><span>5954</span></td><td id="LC5954" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>LeftParenthesis: </code></td></tr><tr><td id="L5955" class="css-a4x74f"><span>5955</span></td><td id="LC5955" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>LeftSquareBracket: </code></td></tr><tr><td id="L5956" class="css-a4x74f"><span>5956</span></td><td id="LC5956" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>LeftCurlyBracket: </code></td></tr><tr><td id="L5957" class="css-a4x74f"><span>5957</span></td><td id="LC5957" class="css-1dcdqdg"><code> level++; </code></td></tr><tr><td id="L5958" class="css-a4x74f"><span>5958</span></td><td id="LC5958" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5959" class="css-a4x74f"><span>5959</span></td><td id="LC5959" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5960" class="css-a4x74f"><span>5960</span></td><td id="LC5960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5961" class="css-a4x74f"><span>5961</span></td><td id="LC5961" class="css-1dcdqdg"><code> length++; </code></td></tr><tr><td id="L5962" class="css-a4x74f"><span>5962</span></td><td id="LC5962" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5963" class="css-a4x74f"><span>5963</span></td><td id="LC5963" class="css-1dcdqdg"><code> <span class="code-comment">// until balance closing</span> </code></td></tr><tr><td id="L5964" class="css-a4x74f"><span>5964</span></td><td id="LC5964" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.balance <= startIdx) { </code></td></tr><tr><td id="L5965" class="css-a4x74f"><span>5965</span></td><td id="LC5965" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L5966" class="css-a4x74f"><span>5966</span></td><td id="LC5966" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5967" class="css-a4x74f"><span>5967</span></td><td id="LC5967" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (token = getNextToken(length)); </code></td></tr><tr><td id="L5968" class="css-a4x74f"><span>5968</span></td><td id="LC5968" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5969" class="css-a4x74f"><span>5969</span></td><td id="LC5969" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length; </code></td></tr><tr><td id="L5970" class="css-a4x74f"><span>5970</span></td><td id="LC5970" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5971" class="css-a4x74f"><span>5971</span></td><td id="LC5971" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5972" class="css-a4x74f"><span>5972</span></td><td id="LC5972" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#any-value</span> </code></td></tr><tr><td id="L5973" class="css-a4x74f"><span>5973</span></td><td id="LC5973" class="css-1dcdqdg"><code> <span class="code-comment">// The <any-value> production is identical to <declaration-value>, but also</span> </code></td></tr><tr><td id="L5974" class="css-a4x74f"><span>5974</span></td><td id="LC5974" class="css-1dcdqdg"><code> <span class="code-comment">// allows top-level <semicolon-token> tokens and <delim-token> tokens</span> </code></td></tr><tr><td id="L5975" class="css-a4x74f"><span>5975</span></td><td id="LC5975" class="css-1dcdqdg"><code> <span class="code-comment">// with a value of "!". It represents the entirety of what valid CSS can be in any context.</span> </code></td></tr><tr><td id="L5976" class="css-a4x74f"><span>5976</span></td><td id="LC5976" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">anyValue</span>(<span class="code-params">token, getNextToken</span>) </span>{ </code></td></tr><tr><td id="L5977" class="css-a4x74f"><span>5977</span></td><td id="LC5977" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!token) { </code></td></tr><tr><td id="L5978" class="css-a4x74f"><span>5978</span></td><td id="LC5978" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L5979" class="css-a4x74f"><span>5979</span></td><td id="LC5979" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L5980" class="css-a4x74f"><span>5980</span></td><td id="LC5980" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5981" class="css-a4x74f"><span>5981</span></td><td id="LC5981" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startIdx = token.index; </code></td></tr><tr><td id="L5982" class="css-a4x74f"><span>5982</span></td><td id="LC5982" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = <span class="code-number">0</span>; </code></td></tr><tr><td id="L5983" class="css-a4x74f"><span>5983</span></td><td id="LC5983" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5984" class="css-a4x74f"><span>5984</span></td><td id="LC5984" class="css-1dcdqdg"><code> <span class="code-comment">// The <any-value> production matches any sequence of one or more tokens,</span> </code></td></tr><tr><td id="L5985" class="css-a4x74f"><span>5985</span></td><td id="LC5985" class="css-1dcdqdg"><code> <span class="code-comment">// so long as the sequence ...</span> </code></td></tr><tr><td id="L5986" class="css-a4x74f"><span>5986</span></td><td id="LC5986" class="css-1dcdqdg"><code> scan: </code></td></tr><tr><td id="L5987" class="css-a4x74f"><span>5987</span></td><td id="LC5987" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L5988" class="css-a4x74f"><span>5988</span></td><td id="LC5988" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (token.type) { </code></td></tr><tr><td id="L5989" class="css-a4x74f"><span>5989</span></td><td id="LC5989" class="css-1dcdqdg"><code> <span class="code-comment">// ... does not contain <bad-string-token>, <bad-url-token>,</span> </code></td></tr><tr><td id="L5990" class="css-a4x74f"><span>5990</span></td><td id="LC5990" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>BadString: </code></td></tr><tr><td id="L5991" class="css-a4x74f"><span>5991</span></td><td id="LC5991" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>BadUrl: </code></td></tr><tr><td id="L5992" class="css-a4x74f"><span>5992</span></td><td id="LC5992" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L5993" class="css-a4x74f"><span>5993</span></td><td id="LC5993" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L5994" class="css-a4x74f"><span>5994</span></td><td id="LC5994" class="css-1dcdqdg"><code> <span class="code-comment">// ... unmatched <)-token>, <]-token>, or <}-token>,</span> </code></td></tr><tr><td id="L5995" class="css-a4x74f"><span>5995</span></td><td id="LC5995" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightCurlyBracket: </code></td></tr><tr><td id="L5996" class="css-a4x74f"><span>5996</span></td><td id="LC5996" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightParenthesis: </code></td></tr><tr><td id="L5997" class="css-a4x74f"><span>5997</span></td><td id="LC5997" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TYPE$<span class="code-number">5.</span>RightSquareBracket: </code></td></tr><tr><td id="L5998" class="css-a4x74f"><span>5998</span></td><td id="LC5998" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.balance > token.index || token.balance < startIdx) { </code></td></tr><tr><td id="L5999" class="css-a4x74f"><span>5999</span></td><td id="LC5999" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L6000" class="css-a4x74f"><span>6000</span></td><td id="LC6000" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6001" class="css-a4x74f"><span>6001</span></td><td id="LC6001" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6002" class="css-a4x74f"><span>6002</span></td><td id="LC6002" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6003" class="css-a4x74f"><span>6003</span></td><td id="LC6003" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6004" class="css-a4x74f"><span>6004</span></td><td id="LC6004" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6005" class="css-a4x74f"><span>6005</span></td><td id="LC6005" class="css-1dcdqdg"><code> length++; </code></td></tr><tr><td id="L6006" class="css-a4x74f"><span>6006</span></td><td id="LC6006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6007" class="css-a4x74f"><span>6007</span></td><td id="LC6007" class="css-1dcdqdg"><code> <span class="code-comment">// until balance closing</span> </code></td></tr><tr><td id="L6008" class="css-a4x74f"><span>6008</span></td><td id="LC6008" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.balance <= startIdx) { </code></td></tr><tr><td id="L6009" class="css-a4x74f"><span>6009</span></td><td id="LC6009" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6010" class="css-a4x74f"><span>6010</span></td><td id="LC6010" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6011" class="css-a4x74f"><span>6011</span></td><td id="LC6011" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (token = getNextToken(length)); </code></td></tr><tr><td id="L6012" class="css-a4x74f"><span>6012</span></td><td id="LC6012" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6013" class="css-a4x74f"><span>6013</span></td><td id="LC6013" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> length; </code></td></tr><tr><td id="L6014" class="css-a4x74f"><span>6014</span></td><td id="LC6014" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6015" class="css-a4x74f"><span>6015</span></td><td id="LC6015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6016" class="css-a4x74f"><span>6016</span></td><td id="LC6016" class="css-1dcdqdg"><code> <span class="code-comment">// =========================</span> </code></td></tr><tr><td id="L6017" class="css-a4x74f"><span>6017</span></td><td id="LC6017" class="css-1dcdqdg"><code> <span class="code-comment">// Dimensions</span> </code></td></tr><tr><td id="L6018" class="css-a4x74f"><span>6018</span></td><td id="LC6018" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L6019" class="css-a4x74f"><span>6019</span></td><td id="LC6019" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6020" class="css-a4x74f"><span>6020</span></td><td id="LC6020" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">dimension</span>(<span class="code-params">type</span>) </span>{ </code></td></tr><tr><td id="L6021" class="css-a4x74f"><span>6021</span></td><td id="LC6021" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L6022" class="css-a4x74f"><span>6022</span></td><td id="LC6022" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Dimension) { </code></td></tr><tr><td id="L6023" class="css-a4x74f"><span>6023</span></td><td id="LC6023" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6024" class="css-a4x74f"><span>6024</span></td><td id="LC6024" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6025" class="css-a4x74f"><span>6025</span></td><td id="LC6025" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6026" class="css-a4x74f"><span>6026</span></td><td id="LC6026" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberEnd = consumeNumber$<span class="code-number">2</span>(token.value, <span class="code-number">0</span>); </code></td></tr><tr><td id="L6027" class="css-a4x74f"><span>6027</span></td><td id="LC6027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6028" class="css-a4x74f"><span>6028</span></td><td id="LC6028" class="css-1dcdqdg"><code> <span class="code-comment">// check unit</span> </code></td></tr><tr><td id="L6029" class="css-a4x74f"><span>6029</span></td><td id="LC6029" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L6030" class="css-a4x74f"><span>6030</span></td><td id="LC6030" class="css-1dcdqdg"><code> <span class="code-comment">// check for IE postfix hack, i.e. 123px\0 or 123px\9</span> </code></td></tr><tr><td id="L6031" class="css-a4x74f"><span>6031</span></td><td id="LC6031" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> reverseSolidusOffset = token.value.indexOf(<span class="code-string">'\\'</span>, numberEnd); </code></td></tr><tr><td id="L6032" class="css-a4x74f"><span>6032</span></td><td id="LC6032" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> unit = reverseSolidusOffset === <span class="code-number">-1</span> || !isPostfixIeHack(token.value, reverseSolidusOffset) </code></td></tr><tr><td id="L6033" class="css-a4x74f"><span>6033</span></td><td id="LC6033" class="css-1dcdqdg"><code> ? token.value.substr(numberEnd) </code></td></tr><tr><td id="L6034" class="css-a4x74f"><span>6034</span></td><td id="LC6034" class="css-1dcdqdg"><code> : token.value.substring(numberEnd, reverseSolidusOffset); </code></td></tr><tr><td id="L6035" class="css-a4x74f"><span>6035</span></td><td id="LC6035" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6036" class="css-a4x74f"><span>6036</span></td><td id="LC6036" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type.hasOwnProperty(unit.toLowerCase()) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L6037" class="css-a4x74f"><span>6037</span></td><td id="LC6037" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6038" class="css-a4x74f"><span>6038</span></td><td id="LC6038" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6039" class="css-a4x74f"><span>6039</span></td><td id="LC6039" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6040" class="css-a4x74f"><span>6040</span></td><td id="LC6040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6041" class="css-a4x74f"><span>6041</span></td><td id="LC6041" class="css-1dcdqdg"><code> <span class="code-comment">// check range if specified</span> </code></td></tr><tr><td id="L6042" class="css-a4x74f"><span>6042</span></td><td id="LC6042" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (outOfRange(opts, token.value, numberEnd)) { </code></td></tr><tr><td id="L6043" class="css-a4x74f"><span>6043</span></td><td id="LC6043" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6044" class="css-a4x74f"><span>6044</span></td><td id="LC6044" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6045" class="css-a4x74f"><span>6045</span></td><td id="LC6045" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6046" class="css-a4x74f"><span>6046</span></td><td id="LC6046" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L6047" class="css-a4x74f"><span>6047</span></td><td id="LC6047" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6048" class="css-a4x74f"><span>6048</span></td><td id="LC6048" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6049" class="css-a4x74f"><span>6049</span></td><td id="LC6049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6050" class="css-a4x74f"><span>6050</span></td><td id="LC6050" class="css-1dcdqdg"><code> <span class="code-comment">// =========================</span> </code></td></tr><tr><td id="L6051" class="css-a4x74f"><span>6051</span></td><td id="LC6051" class="css-1dcdqdg"><code> <span class="code-comment">// Percentage</span> </code></td></tr><tr><td id="L6052" class="css-a4x74f"><span>6052</span></td><td id="LC6052" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L6053" class="css-a4x74f"><span>6053</span></td><td id="LC6053" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6054" class="css-a4x74f"><span>6054</span></td><td id="LC6054" class="css-1dcdqdg"><code> <span class="code-comment">// §5.5. Percentages: the <percentage> type</span> </code></td></tr><tr><td id="L6055" class="css-a4x74f"><span>6055</span></td><td id="LC6055" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#percentages</span> </code></td></tr><tr><td id="L6056" class="css-a4x74f"><span>6056</span></td><td id="LC6056" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">percentage</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L6057" class="css-a4x74f"><span>6057</span></td><td id="LC6057" class="css-1dcdqdg"><code> <span class="code-comment">// ... corresponds to the <percentage-token> production</span> </code></td></tr><tr><td id="L6058" class="css-a4x74f"><span>6058</span></td><td id="LC6058" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span>Percentage) { </code></td></tr><tr><td id="L6059" class="css-a4x74f"><span>6059</span></td><td id="LC6059" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6060" class="css-a4x74f"><span>6060</span></td><td id="LC6060" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6061" class="css-a4x74f"><span>6061</span></td><td id="LC6061" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6062" class="css-a4x74f"><span>6062</span></td><td id="LC6062" class="css-1dcdqdg"><code> <span class="code-comment">// check range if specified</span> </code></td></tr><tr><td id="L6063" class="css-a4x74f"><span>6063</span></td><td id="LC6063" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (outOfRange(opts, token.value, token.value.length - <span class="code-number">1</span>)) { </code></td></tr><tr><td id="L6064" class="css-a4x74f"><span>6064</span></td><td id="LC6064" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6065" class="css-a4x74f"><span>6065</span></td><td id="LC6065" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6066" class="css-a4x74f"><span>6066</span></td><td id="LC6066" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6067" class="css-a4x74f"><span>6067</span></td><td id="LC6067" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L6068" class="css-a4x74f"><span>6068</span></td><td id="LC6068" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6069" class="css-a4x74f"><span>6069</span></td><td id="LC6069" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6070" class="css-a4x74f"><span>6070</span></td><td id="LC6070" class="css-1dcdqdg"><code> <span class="code-comment">// =========================</span> </code></td></tr><tr><td id="L6071" class="css-a4x74f"><span>6071</span></td><td id="LC6071" class="css-1dcdqdg"><code> <span class="code-comment">// Numeric</span> </code></td></tr><tr><td id="L6072" class="css-a4x74f"><span>6072</span></td><td id="LC6072" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L6073" class="css-a4x74f"><span>6073</span></td><td id="LC6073" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6074" class="css-a4x74f"><span>6074</span></td><td id="LC6074" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#numbers</span> </code></td></tr><tr><td id="L6075" class="css-a4x74f"><span>6075</span></td><td id="LC6075" class="css-1dcdqdg"><code> <span class="code-comment">// The value <zero> represents a literal number with the value 0. Expressions that merely</span> </code></td></tr><tr><td id="L6076" class="css-a4x74f"><span>6076</span></td><td id="LC6076" class="css-1dcdqdg"><code> <span class="code-comment">// evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>;</span> </code></td></tr><tr><td id="L6077" class="css-a4x74f"><span>6077</span></td><td id="LC6077" class="css-1dcdqdg"><code> <span class="code-comment">// only literal <number-token>s do.</span> </code></td></tr><tr><td id="L6078" class="css-a4x74f"><span>6078</span></td><td id="LC6078" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">zero</span>(<span class="code-params">next</span>) </span>{ </code></td></tr><tr><td id="L6079" class="css-a4x74f"><span>6079</span></td><td id="LC6079" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> next !== <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L6080" class="css-a4x74f"><span>6080</span></td><td id="LC6080" class="css-1dcdqdg"><code> next = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L6081" class="css-a4x74f"><span>6081</span></td><td id="LC6081" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6082" class="css-a4x74f"><span>6082</span></td><td id="LC6082" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6083" class="css-a4x74f"><span>6083</span></td><td id="LC6083" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6084" class="css-a4x74f"><span>6084</span></td><td id="LC6084" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6085" class="css-a4x74f"><span>6085</span></td><td id="LC6085" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L6086" class="css-a4x74f"><span>6086</span></td><td id="LC6086" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span> && token.type === TYPE$<span class="code-number">5.</span><span class="code-built_in">Number</span>) { </code></td></tr><tr><td id="L6087" class="css-a4x74f"><span>6087</span></td><td id="LC6087" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Number</span>(token.value) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L6088" class="css-a4x74f"><span>6088</span></td><td id="LC6088" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L6089" class="css-a4x74f"><span>6089</span></td><td id="LC6089" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6090" class="css-a4x74f"><span>6090</span></td><td id="LC6090" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6091" class="css-a4x74f"><span>6091</span></td><td id="LC6091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6092" class="css-a4x74f"><span>6092</span></td><td id="LC6092" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> next(token, getNextToken, opts); </code></td></tr><tr><td id="L6093" class="css-a4x74f"><span>6093</span></td><td id="LC6093" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6094" class="css-a4x74f"><span>6094</span></td><td id="LC6094" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6095" class="css-a4x74f"><span>6095</span></td><td id="LC6095" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6096" class="css-a4x74f"><span>6096</span></td><td id="LC6096" class="css-1dcdqdg"><code> <span class="code-comment">// § 5.3. Real Numbers: the <number> type</span> </code></td></tr><tr><td id="L6097" class="css-a4x74f"><span>6097</span></td><td id="LC6097" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#numbers</span> </code></td></tr><tr><td id="L6098" class="css-a4x74f"><span>6098</span></td><td id="LC6098" class="css-1dcdqdg"><code> <span class="code-comment">// Number values are denoted by <number>, and represent real numbers, possibly with a fractional component.</span> </code></td></tr><tr><td id="L6099" class="css-a4x74f"><span>6099</span></td><td id="LC6099" class="css-1dcdqdg"><code> <span class="code-comment">// ... It corresponds to the <number-token> production</span> </code></td></tr><tr><td id="L6100" class="css-a4x74f"><span>6100</span></td><td id="LC6100" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">number</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L6101" class="css-a4x74f"><span>6101</span></td><td id="LC6101" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L6102" class="css-a4x74f"><span>6102</span></td><td id="LC6102" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6103" class="css-a4x74f"><span>6103</span></td><td id="LC6103" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6104" class="css-a4x74f"><span>6104</span></td><td id="LC6104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6105" class="css-a4x74f"><span>6105</span></td><td id="LC6105" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberEnd = consumeNumber$<span class="code-number">2</span>(token.value, <span class="code-number">0</span>); </code></td></tr><tr><td id="L6106" class="css-a4x74f"><span>6106</span></td><td id="LC6106" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isNumber = numberEnd === token.value.length; </code></td></tr><tr><td id="L6107" class="css-a4x74f"><span>6107</span></td><td id="LC6107" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isNumber && !isPostfixIeHack(token.value, numberEnd)) { </code></td></tr><tr><td id="L6108" class="css-a4x74f"><span>6108</span></td><td id="LC6108" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6109" class="css-a4x74f"><span>6109</span></td><td id="LC6109" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6110" class="css-a4x74f"><span>6110</span></td><td id="LC6110" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6111" class="css-a4x74f"><span>6111</span></td><td id="LC6111" class="css-1dcdqdg"><code> <span class="code-comment">// check range if specified</span> </code></td></tr><tr><td id="L6112" class="css-a4x74f"><span>6112</span></td><td id="LC6112" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (outOfRange(opts, token.value, numberEnd)) { </code></td></tr><tr><td id="L6113" class="css-a4x74f"><span>6113</span></td><td id="LC6113" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6114" class="css-a4x74f"><span>6114</span></td><td id="LC6114" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6115" class="css-a4x74f"><span>6115</span></td><td id="LC6115" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6116" class="css-a4x74f"><span>6116</span></td><td id="LC6116" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L6117" class="css-a4x74f"><span>6117</span></td><td id="LC6117" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6118" class="css-a4x74f"><span>6118</span></td><td id="LC6118" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6119" class="css-a4x74f"><span>6119</span></td><td id="LC6119" class="css-1dcdqdg"><code> <span class="code-comment">// §5.2. Integers: the <integer> type</span> </code></td></tr><tr><td id="L6120" class="css-a4x74f"><span>6120</span></td><td id="LC6120" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#integers</span> </code></td></tr><tr><td id="L6121" class="css-a4x74f"><span>6121</span></td><td id="LC6121" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">integer</span>(<span class="code-params">token, getNextToken, opts</span>) </span>{ </code></td></tr><tr><td id="L6122" class="css-a4x74f"><span>6122</span></td><td id="LC6122" class="css-1dcdqdg"><code> <span class="code-comment">// ... corresponds to a subset of the <number-token> production</span> </code></td></tr><tr><td id="L6123" class="css-a4x74f"><span>6123</span></td><td id="LC6123" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span> || token.type !== TYPE$<span class="code-number">5.</span><span class="code-built_in">Number</span>) { </code></td></tr><tr><td id="L6124" class="css-a4x74f"><span>6124</span></td><td id="LC6124" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6125" class="css-a4x74f"><span>6125</span></td><td id="LC6125" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6126" class="css-a4x74f"><span>6126</span></td><td id="LC6126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6127" class="css-a4x74f"><span>6127</span></td><td id="LC6127" class="css-1dcdqdg"><code> <span class="code-comment">// The first digit of an integer may be immediately preceded by `-` or `+` to indicate the integer’s sign.</span> </code></td></tr><tr><td id="L6128" class="css-a4x74f"><span>6128</span></td><td id="LC6128" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> i = token.value.charCodeAt(<span class="code-number">0</span>) === <span class="code-number">0x002B</span> || <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L6129" class="css-a4x74f"><span>6129</span></td><td id="LC6129" class="css-1dcdqdg"><code> token.value.charCodeAt(<span class="code-number">0</span>) === <span class="code-number">0x002D</span> ? <span class="code-number">1</span> : <span class="code-number">0</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L6130" class="css-a4x74f"><span>6130</span></td><td id="LC6130" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6131" class="css-a4x74f"><span>6131</span></td><td id="LC6131" class="css-1dcdqdg"><code> <span class="code-comment">// When written literally, an integer is one or more decimal digits 0 through 9 ...</span> </code></td></tr><tr><td id="L6132" class="css-a4x74f"><span>6132</span></td><td id="LC6132" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; i < token.value.length; i++) { </code></td></tr><tr><td id="L6133" class="css-a4x74f"><span>6133</span></td><td id="LC6133" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">3</span>(token.value.charCodeAt(i))) { </code></td></tr><tr><td id="L6134" class="css-a4x74f"><span>6134</span></td><td id="LC6134" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6135" class="css-a4x74f"><span>6135</span></td><td id="LC6135" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6136" class="css-a4x74f"><span>6136</span></td><td id="LC6136" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6137" class="css-a4x74f"><span>6137</span></td><td id="LC6137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6138" class="css-a4x74f"><span>6138</span></td><td id="LC6138" class="css-1dcdqdg"><code> <span class="code-comment">// check range if specified</span> </code></td></tr><tr><td id="L6139" class="css-a4x74f"><span>6139</span></td><td id="LC6139" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (outOfRange(opts, token.value, i)) { </code></td></tr><tr><td id="L6140" class="css-a4x74f"><span>6140</span></td><td id="LC6140" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L6141" class="css-a4x74f"><span>6141</span></td><td id="LC6141" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6142" class="css-a4x74f"><span>6142</span></td><td id="LC6142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6143" class="css-a4x74f"><span>6143</span></td><td id="LC6143" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L6144" class="css-a4x74f"><span>6144</span></td><td id="LC6144" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6145" class="css-a4x74f"><span>6145</span></td><td id="LC6145" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6146" class="css-a4x74f"><span>6146</span></td><td id="LC6146" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generic = { </code></td></tr><tr><td id="L6147" class="css-a4x74f"><span>6147</span></td><td id="LC6147" class="css-1dcdqdg"><code> <span class="code-comment">// token types</span> </code></td></tr><tr><td id="L6148" class="css-a4x74f"><span>6148</span></td><td id="LC6148" class="css-1dcdqdg"><code> <span class="code-string">'ident-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Ident), </code></td></tr><tr><td id="L6149" class="css-a4x74f"><span>6149</span></td><td id="LC6149" class="css-1dcdqdg"><code> <span class="code-string">'function-token'</span>: tokenType(TYPE$<span class="code-number">5.</span><span class="code-built_in">Function</span>), </code></td></tr><tr><td id="L6150" class="css-a4x74f"><span>6150</span></td><td id="LC6150" class="css-1dcdqdg"><code> <span class="code-string">'at-keyword-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>AtKeyword), </code></td></tr><tr><td id="L6151" class="css-a4x74f"><span>6151</span></td><td id="LC6151" class="css-1dcdqdg"><code> <span class="code-string">'hash-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Hash), </code></td></tr><tr><td id="L6152" class="css-a4x74f"><span>6152</span></td><td id="LC6152" class="css-1dcdqdg"><code> <span class="code-string">'string-token'</span>: tokenType(TYPE$<span class="code-number">5.</span><span class="code-built_in">String</span>), </code></td></tr><tr><td id="L6153" class="css-a4x74f"><span>6153</span></td><td id="LC6153" class="css-1dcdqdg"><code> <span class="code-string">'bad-string-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>BadString), </code></td></tr><tr><td id="L6154" class="css-a4x74f"><span>6154</span></td><td id="LC6154" class="css-1dcdqdg"><code> <span class="code-string">'url-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Url), </code></td></tr><tr><td id="L6155" class="css-a4x74f"><span>6155</span></td><td id="LC6155" class="css-1dcdqdg"><code> <span class="code-string">'bad-url-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>BadUrl), </code></td></tr><tr><td id="L6156" class="css-a4x74f"><span>6156</span></td><td id="LC6156" class="css-1dcdqdg"><code> <span class="code-string">'delim-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Delim), </code></td></tr><tr><td id="L6157" class="css-a4x74f"><span>6157</span></td><td id="LC6157" class="css-1dcdqdg"><code> <span class="code-string">'number-token'</span>: tokenType(TYPE$<span class="code-number">5.</span><span class="code-built_in">Number</span>), </code></td></tr><tr><td id="L6158" class="css-a4x74f"><span>6158</span></td><td id="LC6158" class="css-1dcdqdg"><code> <span class="code-string">'percentage-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Percentage), </code></td></tr><tr><td id="L6159" class="css-a4x74f"><span>6159</span></td><td id="LC6159" class="css-1dcdqdg"><code> <span class="code-string">'dimension-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Dimension), </code></td></tr><tr><td id="L6160" class="css-a4x74f"><span>6160</span></td><td id="LC6160" class="css-1dcdqdg"><code> <span class="code-string">'whitespace-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>WhiteSpace), </code></td></tr><tr><td id="L6161" class="css-a4x74f"><span>6161</span></td><td id="LC6161" class="css-1dcdqdg"><code> <span class="code-string">'CDO-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>CDO), </code></td></tr><tr><td id="L6162" class="css-a4x74f"><span>6162</span></td><td id="LC6162" class="css-1dcdqdg"><code> <span class="code-string">'CDC-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>CDC), </code></td></tr><tr><td id="L6163" class="css-a4x74f"><span>6163</span></td><td id="LC6163" class="css-1dcdqdg"><code> <span class="code-string">'colon-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Colon), </code></td></tr><tr><td id="L6164" class="css-a4x74f"><span>6164</span></td><td id="LC6164" class="css-1dcdqdg"><code> <span class="code-string">'semicolon-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Semicolon), </code></td></tr><tr><td id="L6165" class="css-a4x74f"><span>6165</span></td><td id="LC6165" class="css-1dcdqdg"><code> <span class="code-string">'comma-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>Comma), </code></td></tr><tr><td id="L6166" class="css-a4x74f"><span>6166</span></td><td id="LC6166" class="css-1dcdqdg"><code> <span class="code-string">'[-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>LeftSquareBracket), </code></td></tr><tr><td id="L6167" class="css-a4x74f"><span>6167</span></td><td id="LC6167" class="css-1dcdqdg"><code> <span class="code-string">']-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>RightSquareBracket), </code></td></tr><tr><td id="L6168" class="css-a4x74f"><span>6168</span></td><td id="LC6168" class="css-1dcdqdg"><code> <span class="code-string">'(-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>LeftParenthesis), </code></td></tr><tr><td id="L6169" class="css-a4x74f"><span>6169</span></td><td id="LC6169" class="css-1dcdqdg"><code> <span class="code-string">')-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>RightParenthesis), </code></td></tr><tr><td id="L6170" class="css-a4x74f"><span>6170</span></td><td id="LC6170" class="css-1dcdqdg"><code> <span class="code-string">'{-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>LeftCurlyBracket), </code></td></tr><tr><td id="L6171" class="css-a4x74f"><span>6171</span></td><td id="LC6171" class="css-1dcdqdg"><code> <span class="code-string">'}-token'</span>: tokenType(TYPE$<span class="code-number">5.</span>RightCurlyBracket), </code></td></tr><tr><td id="L6172" class="css-a4x74f"><span>6172</span></td><td id="LC6172" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6173" class="css-a4x74f"><span>6173</span></td><td id="LC6173" class="css-1dcdqdg"><code> <span class="code-comment">// token type aliases</span> </code></td></tr><tr><td id="L6174" class="css-a4x74f"><span>6174</span></td><td id="LC6174" class="css-1dcdqdg"><code> <span class="code-string">'string'</span>: tokenType(TYPE$<span class="code-number">5.</span><span class="code-built_in">String</span>), </code></td></tr><tr><td id="L6175" class="css-a4x74f"><span>6175</span></td><td id="LC6175" class="css-1dcdqdg"><code> <span class="code-string">'ident'</span>: tokenType(TYPE$<span class="code-number">5.</span>Ident), </code></td></tr><tr><td id="L6176" class="css-a4x74f"><span>6176</span></td><td id="LC6176" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6177" class="css-a4x74f"><span>6177</span></td><td id="LC6177" class="css-1dcdqdg"><code> <span class="code-comment">// complex types</span> </code></td></tr><tr><td id="L6178" class="css-a4x74f"><span>6178</span></td><td id="LC6178" class="css-1dcdqdg"><code> <span class="code-string">'custom-ident'</span>: customIdent, </code></td></tr><tr><td id="L6179" class="css-a4x74f"><span>6179</span></td><td id="LC6179" class="css-1dcdqdg"><code> <span class="code-string">'custom-property-name'</span>: customPropertyName, </code></td></tr><tr><td id="L6180" class="css-a4x74f"><span>6180</span></td><td id="LC6180" class="css-1dcdqdg"><code> <span class="code-string">'hex-color'</span>: hexColor, </code></td></tr><tr><td id="L6181" class="css-a4x74f"><span>6181</span></td><td id="LC6181" class="css-1dcdqdg"><code> <span class="code-string">'id-selector'</span>: idSelector, <span class="code-comment">// element( <id-selector> )</span> </code></td></tr><tr><td id="L6182" class="css-a4x74f"><span>6182</span></td><td id="LC6182" class="css-1dcdqdg"><code> <span class="code-string">'an-plus-b'</span>: genericAnPlusB, </code></td></tr><tr><td id="L6183" class="css-a4x74f"><span>6183</span></td><td id="LC6183" class="css-1dcdqdg"><code> <span class="code-string">'urange'</span>: genericUrange, </code></td></tr><tr><td id="L6184" class="css-a4x74f"><span>6184</span></td><td id="LC6184" class="css-1dcdqdg"><code> <span class="code-string">'declaration-value'</span>: declarationValue, </code></td></tr><tr><td id="L6185" class="css-a4x74f"><span>6185</span></td><td id="LC6185" class="css-1dcdqdg"><code> <span class="code-string">'any-value'</span>: anyValue, </code></td></tr><tr><td id="L6186" class="css-a4x74f"><span>6186</span></td><td id="LC6186" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6187" class="css-a4x74f"><span>6187</span></td><td id="LC6187" class="css-1dcdqdg"><code> <span class="code-comment">// dimensions</span> </code></td></tr><tr><td id="L6188" class="css-a4x74f"><span>6188</span></td><td id="LC6188" class="css-1dcdqdg"><code> <span class="code-string">'dimension'</span>: calc(dimension(<span class="code-literal">null</span>)), </code></td></tr><tr><td id="L6189" class="css-a4x74f"><span>6189</span></td><td id="LC6189" class="css-1dcdqdg"><code> <span class="code-string">'angle'</span>: calc(dimension(ANGLE)), </code></td></tr><tr><td id="L6190" class="css-a4x74f"><span>6190</span></td><td id="LC6190" class="css-1dcdqdg"><code> <span class="code-string">'decibel'</span>: calc(dimension(DECIBEL)), </code></td></tr><tr><td id="L6191" class="css-a4x74f"><span>6191</span></td><td id="LC6191" class="css-1dcdqdg"><code> <span class="code-string">'frequency'</span>: calc(dimension(FREQUENCY)), </code></td></tr><tr><td id="L6192" class="css-a4x74f"><span>6192</span></td><td id="LC6192" class="css-1dcdqdg"><code> <span class="code-string">'flex'</span>: calc(dimension(FLEX)), </code></td></tr><tr><td id="L6193" class="css-a4x74f"><span>6193</span></td><td id="LC6193" class="css-1dcdqdg"><code> <span class="code-string">'length'</span>: calc(zero(dimension(LENGTH))), </code></td></tr><tr><td id="L6194" class="css-a4x74f"><span>6194</span></td><td id="LC6194" class="css-1dcdqdg"><code> <span class="code-string">'resolution'</span>: calc(dimension(RESOLUTION)), </code></td></tr><tr><td id="L6195" class="css-a4x74f"><span>6195</span></td><td id="LC6195" class="css-1dcdqdg"><code> <span class="code-string">'semitones'</span>: calc(dimension(SEMITONES)), </code></td></tr><tr><td id="L6196" class="css-a4x74f"><span>6196</span></td><td id="LC6196" class="css-1dcdqdg"><code> <span class="code-string">'time'</span>: calc(dimension(TIME)), </code></td></tr><tr><td id="L6197" class="css-a4x74f"><span>6197</span></td><td id="LC6197" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6198" class="css-a4x74f"><span>6198</span></td><td id="LC6198" class="css-1dcdqdg"><code> <span class="code-comment">// percentage</span> </code></td></tr><tr><td id="L6199" class="css-a4x74f"><span>6199</span></td><td id="LC6199" class="css-1dcdqdg"><code> <span class="code-string">'percentage'</span>: calc(percentage), </code></td></tr><tr><td id="L6200" class="css-a4x74f"><span>6200</span></td><td id="LC6200" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6201" class="css-a4x74f"><span>6201</span></td><td id="LC6201" class="css-1dcdqdg"><code> <span class="code-comment">// numeric</span> </code></td></tr><tr><td id="L6202" class="css-a4x74f"><span>6202</span></td><td id="LC6202" class="css-1dcdqdg"><code> <span class="code-string">'zero'</span>: zero(), </code></td></tr><tr><td id="L6203" class="css-a4x74f"><span>6203</span></td><td id="LC6203" class="css-1dcdqdg"><code> <span class="code-string">'number'</span>: calc(number), </code></td></tr><tr><td id="L6204" class="css-a4x74f"><span>6204</span></td><td id="LC6204" class="css-1dcdqdg"><code> <span class="code-string">'integer'</span>: calc(integer), </code></td></tr><tr><td id="L6205" class="css-a4x74f"><span>6205</span></td><td id="LC6205" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6206" class="css-a4x74f"><span>6206</span></td><td id="LC6206" class="css-1dcdqdg"><code> <span class="code-comment">// old IE stuff</span> </code></td></tr><tr><td id="L6207" class="css-a4x74f"><span>6207</span></td><td id="LC6207" class="css-1dcdqdg"><code> <span class="code-string">'-ms-legacy-expression'</span>: func(<span class="code-string">'expression'</span>) </code></td></tr><tr><td id="L6208" class="css-a4x74f"><span>6208</span></td><td id="LC6208" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6209" class="css-a4x74f"><span>6209</span></td><td id="LC6209" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6210" class="css-a4x74f"><span>6210</span></td><td id="LC6210" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _SyntaxError$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SyntaxError</span>(<span class="code-params">message, input, offset</span>) </span>{ </code></td></tr><tr><td id="L6211" class="css-a4x74f"><span>6211</span></td><td id="LC6211" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = createCustomError(<span class="code-string">'SyntaxError'</span>, message); </code></td></tr><tr><td id="L6212" class="css-a4x74f"><span>6212</span></td><td id="LC6212" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6213" class="css-a4x74f"><span>6213</span></td><td id="LC6213" class="css-1dcdqdg"><code> error.input = input; </code></td></tr><tr><td id="L6214" class="css-a4x74f"><span>6214</span></td><td id="LC6214" class="css-1dcdqdg"><code> error.offset = offset; </code></td></tr><tr><td id="L6215" class="css-a4x74f"><span>6215</span></td><td id="LC6215" class="css-1dcdqdg"><code> error.rawMessage = message; </code></td></tr><tr><td id="L6216" class="css-a4x74f"><span>6216</span></td><td id="LC6216" class="css-1dcdqdg"><code> error.message = error.rawMessage + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L6217" class="css-a4x74f"><span>6217</span></td><td id="LC6217" class="css-1dcdqdg"><code> <span class="code-string">' '</span> + error.input + <span class="code-string">'\n'</span> + </code></td></tr><tr><td id="L6218" class="css-a4x74f"><span>6218</span></td><td id="LC6218" class="css-1dcdqdg"><code> <span class="code-string">'--'</span> + <span class="code-keyword">new</span> <span class="code-built_in">Array</span>((error.offset || error.input.length) + <span class="code-number">1</span>).join(<span class="code-string">'-'</span>) + <span class="code-string">'^'</span>; </code></td></tr><tr><td id="L6219" class="css-a4x74f"><span>6219</span></td><td id="LC6219" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6220" class="css-a4x74f"><span>6220</span></td><td id="LC6220" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> error; </code></td></tr><tr><td id="L6221" class="css-a4x74f"><span>6221</span></td><td id="LC6221" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6222" class="css-a4x74f"><span>6222</span></td><td id="LC6222" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6223" class="css-a4x74f"><span>6223</span></td><td id="LC6223" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TAB = <span class="code-number">9</span>; </code></td></tr><tr><td id="L6224" class="css-a4x74f"><span>6224</span></td><td id="LC6224" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> N$<span class="code-number">1</span> = <span class="code-number">10</span>; </code></td></tr><tr><td id="L6225" class="css-a4x74f"><span>6225</span></td><td id="LC6225" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> F = <span class="code-number">12</span>; </code></td></tr><tr><td id="L6226" class="css-a4x74f"><span>6226</span></td><td id="LC6226" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> R = <span class="code-number">13</span>; </code></td></tr><tr><td id="L6227" class="css-a4x74f"><span>6227</span></td><td id="LC6227" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SPACE = <span class="code-number">32</span>; </code></td></tr><tr><td id="L6228" class="css-a4x74f"><span>6228</span></td><td id="LC6228" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6229" class="css-a4x74f"><span>6229</span></td><td id="LC6229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Tokenizer = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">str</span>) </span>{ </code></td></tr><tr><td id="L6230" class="css-a4x74f"><span>6230</span></td><td id="LC6230" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.str = str; </code></td></tr><tr><td id="L6231" class="css-a4x74f"><span>6231</span></td><td id="LC6231" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pos = <span class="code-number">0</span>; </code></td></tr><tr><td id="L6232" class="css-a4x74f"><span>6232</span></td><td id="LC6232" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6233" class="css-a4x74f"><span>6233</span></td><td id="LC6233" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6234" class="css-a4x74f"><span>6234</span></td><td id="LC6234" class="css-1dcdqdg"><code> Tokenizer.prototype = { </code></td></tr><tr><td id="L6235" class="css-a4x74f"><span>6235</span></td><td id="LC6235" class="css-1dcdqdg"><code> charCodeAt: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">pos</span>) </span>{ </code></td></tr><tr><td id="L6236" class="css-a4x74f"><span>6236</span></td><td id="LC6236" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pos < <span class="code-keyword">this</span>.str.length ? <span class="code-keyword">this</span>.str.charCodeAt(pos) : <span class="code-number">0</span>; </code></td></tr><tr><td id="L6237" class="css-a4x74f"><span>6237</span></td><td id="LC6237" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6238" class="css-a4x74f"><span>6238</span></td><td id="LC6238" class="css-1dcdqdg"><code> charCode: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L6239" class="css-a4x74f"><span>6239</span></td><td id="LC6239" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.charCodeAt(<span class="code-keyword">this</span>.pos); </code></td></tr><tr><td id="L6240" class="css-a4x74f"><span>6240</span></td><td id="LC6240" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6241" class="css-a4x74f"><span>6241</span></td><td id="LC6241" class="css-1dcdqdg"><code> nextCharCode: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L6242" class="css-a4x74f"><span>6242</span></td><td id="LC6242" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.charCodeAt(<span class="code-keyword">this</span>.pos + <span class="code-number">1</span>); </code></td></tr><tr><td id="L6243" class="css-a4x74f"><span>6243</span></td><td id="LC6243" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6244" class="css-a4x74f"><span>6244</span></td><td id="LC6244" class="css-1dcdqdg"><code> nextNonWsCode: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">pos</span>) </span>{ </code></td></tr><tr><td id="L6245" class="css-a4x74f"><span>6245</span></td><td id="LC6245" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.charCodeAt(<span class="code-keyword">this</span>.findWsEnd(pos)); </code></td></tr><tr><td id="L6246" class="css-a4x74f"><span>6246</span></td><td id="LC6246" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6247" class="css-a4x74f"><span>6247</span></td><td id="LC6247" class="css-1dcdqdg"><code> findWsEnd: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">pos</span>) </span>{ </code></td></tr><tr><td id="L6248" class="css-a4x74f"><span>6248</span></td><td id="LC6248" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; pos < <span class="code-keyword">this</span>.str.length; pos++) { </code></td></tr><tr><td id="L6249" class="css-a4x74f"><span>6249</span></td><td id="LC6249" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.str.charCodeAt(pos); </code></td></tr><tr><td id="L6250" class="css-a4x74f"><span>6250</span></td><td id="LC6250" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code !== R && code !== N$<span class="code-number">1</span> && code !== F && code !== SPACE && code !== TAB) { </code></td></tr><tr><td id="L6251" class="css-a4x74f"><span>6251</span></td><td id="LC6251" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6252" class="css-a4x74f"><span>6252</span></td><td id="LC6252" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6253" class="css-a4x74f"><span>6253</span></td><td id="LC6253" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6254" class="css-a4x74f"><span>6254</span></td><td id="LC6254" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6255" class="css-a4x74f"><span>6255</span></td><td id="LC6255" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pos; </code></td></tr><tr><td id="L6256" class="css-a4x74f"><span>6256</span></td><td id="LC6256" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6257" class="css-a4x74f"><span>6257</span></td><td id="LC6257" class="css-1dcdqdg"><code> substringToPos: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">end</span>) </span>{ </code></td></tr><tr><td id="L6258" class="css-a4x74f"><span>6258</span></td><td id="LC6258" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.str.substring(<span class="code-keyword">this</span>.pos, <span class="code-keyword">this</span>.pos = end); </code></td></tr><tr><td id="L6259" class="css-a4x74f"><span>6259</span></td><td id="LC6259" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6260" class="css-a4x74f"><span>6260</span></td><td id="LC6260" class="css-1dcdqdg"><code> eat: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L6261" class="css-a4x74f"><span>6261</span></td><td id="LC6261" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.charCode() !== code) { </code></td></tr><tr><td id="L6262" class="css-a4x74f"><span>6262</span></td><td id="LC6262" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Expect `'</span> + <span class="code-built_in">String</span>.fromCharCode(code) + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L6263" class="css-a4x74f"><span>6263</span></td><td id="LC6263" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6264" class="css-a4x74f"><span>6264</span></td><td id="LC6264" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6265" class="css-a4x74f"><span>6265</span></td><td id="LC6265" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pos++; </code></td></tr><tr><td id="L6266" class="css-a4x74f"><span>6266</span></td><td id="LC6266" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6267" class="css-a4x74f"><span>6267</span></td><td id="LC6267" class="css-1dcdqdg"><code> peek: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L6268" class="css-a4x74f"><span>6268</span></td><td id="LC6268" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.pos < <span class="code-keyword">this</span>.str.length ? <span class="code-keyword">this</span>.str.charAt(<span class="code-keyword">this</span>.pos++) : <span class="code-string">''</span>; </code></td></tr><tr><td id="L6269" class="css-a4x74f"><span>6269</span></td><td id="LC6269" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6270" class="css-a4x74f"><span>6270</span></td><td id="LC6270" class="css-1dcdqdg"><code> error: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">message</span>) </span>{ </code></td></tr><tr><td id="L6271" class="css-a4x74f"><span>6271</span></td><td id="LC6271" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> _SyntaxError$<span class="code-number">1</span>(message, <span class="code-keyword">this</span>.str, <span class="code-keyword">this</span>.pos); </code></td></tr><tr><td id="L6272" class="css-a4x74f"><span>6272</span></td><td id="LC6272" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6273" class="css-a4x74f"><span>6273</span></td><td id="LC6273" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6274" class="css-a4x74f"><span>6274</span></td><td id="LC6274" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6275" class="css-a4x74f"><span>6275</span></td><td id="LC6275" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenizer$<span class="code-number">1</span> = Tokenizer; </code></td></tr><tr><td id="L6276" class="css-a4x74f"><span>6276</span></td><td id="LC6276" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6277" class="css-a4x74f"><span>6277</span></td><td id="LC6277" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TAB$<span class="code-number">1</span> = <span class="code-number">9</span>; </code></td></tr><tr><td id="L6278" class="css-a4x74f"><span>6278</span></td><td id="LC6278" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> N$<span class="code-number">2</span> = <span class="code-number">10</span>; </code></td></tr><tr><td id="L6279" class="css-a4x74f"><span>6279</span></td><td id="LC6279" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> F$<span class="code-number">1</span> = <span class="code-number">12</span>; </code></td></tr><tr><td id="L6280" class="css-a4x74f"><span>6280</span></td><td id="LC6280" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> R$<span class="code-number">1</span> = <span class="code-number">13</span>; </code></td></tr><tr><td id="L6281" class="css-a4x74f"><span>6281</span></td><td id="LC6281" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SPACE$<span class="code-number">1</span> = <span class="code-number">32</span>; </code></td></tr><tr><td id="L6282" class="css-a4x74f"><span>6282</span></td><td id="LC6282" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXCLAMATIONMARK = <span class="code-number">33</span>; <span class="code-comment">// !</span> </code></td></tr><tr><td id="L6283" class="css-a4x74f"><span>6283</span></td><td id="LC6283" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBERSIGN = <span class="code-number">35</span>; <span class="code-comment">// #</span> </code></td></tr><tr><td id="L6284" class="css-a4x74f"><span>6284</span></td><td id="LC6284" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> AMPERSAND = <span class="code-number">38</span>; <span class="code-comment">// &</span> </code></td></tr><tr><td id="L6285" class="css-a4x74f"><span>6285</span></td><td id="LC6285" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> APOSTROPHE = <span class="code-number">39</span>; <span class="code-comment">// '</span> </code></td></tr><tr><td id="L6286" class="css-a4x74f"><span>6286</span></td><td id="LC6286" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS = <span class="code-number">40</span>; <span class="code-comment">// (</span> </code></td></tr><tr><td id="L6287" class="css-a4x74f"><span>6287</span></td><td id="LC6287" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS = <span class="code-number">41</span>; <span class="code-comment">// )</span> </code></td></tr><tr><td id="L6288" class="css-a4x74f"><span>6288</span></td><td id="LC6288" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK = <span class="code-number">42</span>; <span class="code-comment">// *</span> </code></td></tr><tr><td id="L6289" class="css-a4x74f"><span>6289</span></td><td id="LC6289" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">2</span> = <span class="code-number">43</span>; <span class="code-comment">// +</span> </code></td></tr><tr><td id="L6290" class="css-a4x74f"><span>6290</span></td><td id="LC6290" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMA = <span class="code-number">44</span>; <span class="code-comment">// ,</span> </code></td></tr><tr><td id="L6291" class="css-a4x74f"><span>6291</span></td><td id="LC6291" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPERMINUS = <span class="code-number">45</span>; <span class="code-comment">// -</span> </code></td></tr><tr><td id="L6292" class="css-a4x74f"><span>6292</span></td><td id="LC6292" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LESSTHANSIGN = <span class="code-number">60</span>; <span class="code-comment">// <</span> </code></td></tr><tr><td id="L6293" class="css-a4x74f"><span>6293</span></td><td id="LC6293" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> GREATERTHANSIGN = <span class="code-number">62</span>; <span class="code-comment">// ></span> </code></td></tr><tr><td id="L6294" class="css-a4x74f"><span>6294</span></td><td id="LC6294" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> QUESTIONMARK$<span class="code-number">1</span> = <span class="code-number">63</span>; <span class="code-comment">// ?</span> </code></td></tr><tr><td id="L6295" class="css-a4x74f"><span>6295</span></td><td id="LC6295" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMERCIALAT = <span class="code-number">64</span>; <span class="code-comment">// @</span> </code></td></tr><tr><td id="L6296" class="css-a4x74f"><span>6296</span></td><td id="LC6296" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTSQUAREBRACKET = <span class="code-number">91</span>; <span class="code-comment">// [</span> </code></td></tr><tr><td id="L6297" class="css-a4x74f"><span>6297</span></td><td id="LC6297" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTSQUAREBRACKET = <span class="code-number">93</span>; <span class="code-comment">// ]</span> </code></td></tr><tr><td id="L6298" class="css-a4x74f"><span>6298</span></td><td id="LC6298" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTCURLYBRACKET = <span class="code-number">123</span>; <span class="code-comment">// {</span> </code></td></tr><tr><td id="L6299" class="css-a4x74f"><span>6299</span></td><td id="LC6299" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VERTICALLINE = <span class="code-number">124</span>; <span class="code-comment">// |</span> </code></td></tr><tr><td id="L6300" class="css-a4x74f"><span>6300</span></td><td id="LC6300" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTCURLYBRACKET = <span class="code-number">125</span>; <span class="code-comment">// }</span> </code></td></tr><tr><td id="L6301" class="css-a4x74f"><span>6301</span></td><td id="LC6301" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> INFINITY = <span class="code-number">8734</span>; <span class="code-comment">// ∞</span> </code></td></tr><tr><td id="L6302" class="css-a4x74f"><span>6302</span></td><td id="LC6302" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NAME_CHAR = createCharMap(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ch</span>) </span>{ </code></td></tr><tr><td id="L6303" class="css-a4x74f"><span>6303</span></td><td id="LC6303" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-regexp">/[a-zA-Z0-9\-]/</span>.test(ch); </code></td></tr><tr><td id="L6304" class="css-a4x74f"><span>6304</span></td><td id="LC6304" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6305" class="css-a4x74f"><span>6305</span></td><td id="LC6305" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMBINATOR_PRECEDENCE = { </code></td></tr><tr><td id="L6306" class="css-a4x74f"><span>6306</span></td><td id="LC6306" class="css-1dcdqdg"><code> <span class="code-string">' '</span>: <span class="code-number">1</span>, </code></td></tr><tr><td id="L6307" class="css-a4x74f"><span>6307</span></td><td id="LC6307" class="css-1dcdqdg"><code> <span class="code-string">'&&'</span>: <span class="code-number">2</span>, </code></td></tr><tr><td id="L6308" class="css-a4x74f"><span>6308</span></td><td id="LC6308" class="css-1dcdqdg"><code> <span class="code-string">'||'</span>: <span class="code-number">3</span>, </code></td></tr><tr><td id="L6309" class="css-a4x74f"><span>6309</span></td><td id="LC6309" class="css-1dcdqdg"><code> <span class="code-string">'|'</span>: <span class="code-number">4</span> </code></td></tr><tr><td id="L6310" class="css-a4x74f"><span>6310</span></td><td id="LC6310" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6311" class="css-a4x74f"><span>6311</span></td><td id="LC6311" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6312" class="css-a4x74f"><span>6312</span></td><td id="LC6312" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createCharMap</span>(<span class="code-params">fn</span>) </span>{ </code></td></tr><tr><td id="L6313" class="css-a4x74f"><span>6313</span></td><td id="LC6313" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> array = <span class="code-keyword">typeof</span> <span class="code-built_in">Uint32Array</span> === <span class="code-string">'function'</span> ? <span class="code-keyword">new</span> <span class="code-built_in">Uint32Array</span>(<span class="code-number">128</span>) : <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(<span class="code-number">128</span>); </code></td></tr><tr><td id="L6314" class="css-a4x74f"><span>6314</span></td><td id="LC6314" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < <span class="code-number">128</span>; i++) { </code></td></tr><tr><td id="L6315" class="css-a4x74f"><span>6315</span></td><td id="LC6315" class="css-1dcdqdg"><code> array[i] = fn(<span class="code-built_in">String</span>.fromCharCode(i)) ? <span class="code-number">1</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L6316" class="css-a4x74f"><span>6316</span></td><td id="LC6316" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6317" class="css-a4x74f"><span>6317</span></td><td id="LC6317" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> array; </code></td></tr><tr><td id="L6318" class="css-a4x74f"><span>6318</span></td><td id="LC6318" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6319" class="css-a4x74f"><span>6319</span></td><td id="LC6319" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6320" class="css-a4x74f"><span>6320</span></td><td id="LC6320" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">scanSpaces</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6321" class="css-a4x74f"><span>6321</span></td><td id="LC6321" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenizer.substringToPos( </code></td></tr><tr><td id="L6322" class="css-a4x74f"><span>6322</span></td><td id="LC6322" class="css-1dcdqdg"><code> tokenizer.findWsEnd(tokenizer.pos) </code></td></tr><tr><td id="L6323" class="css-a4x74f"><span>6323</span></td><td id="LC6323" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L6324" class="css-a4x74f"><span>6324</span></td><td id="LC6324" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6325" class="css-a4x74f"><span>6325</span></td><td id="LC6325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6326" class="css-a4x74f"><span>6326</span></td><td id="LC6326" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">scanWord</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6327" class="css-a4x74f"><span>6327</span></td><td id="LC6327" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = tokenizer.pos; </code></td></tr><tr><td id="L6328" class="css-a4x74f"><span>6328</span></td><td id="LC6328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6329" class="css-a4x74f"><span>6329</span></td><td id="LC6329" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; end < tokenizer.str.length; end++) { </code></td></tr><tr><td id="L6330" class="css-a4x74f"><span>6330</span></td><td id="LC6330" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = tokenizer.str.charCodeAt(end); </code></td></tr><tr><td id="L6331" class="css-a4x74f"><span>6331</span></td><td id="LC6331" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code >= <span class="code-number">128</span> || NAME_CHAR[code] === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L6332" class="css-a4x74f"><span>6332</span></td><td id="LC6332" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6333" class="css-a4x74f"><span>6333</span></td><td id="LC6333" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6334" class="css-a4x74f"><span>6334</span></td><td id="LC6334" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6335" class="css-a4x74f"><span>6335</span></td><td id="LC6335" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6336" class="css-a4x74f"><span>6336</span></td><td id="LC6336" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.pos === end) { </code></td></tr><tr><td id="L6337" class="css-a4x74f"><span>6337</span></td><td id="LC6337" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Expect a keyword'</span>); </code></td></tr><tr><td id="L6338" class="css-a4x74f"><span>6338</span></td><td id="LC6338" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6339" class="css-a4x74f"><span>6339</span></td><td id="LC6339" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6340" class="css-a4x74f"><span>6340</span></td><td id="LC6340" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenizer.substringToPos(end); </code></td></tr><tr><td id="L6341" class="css-a4x74f"><span>6341</span></td><td id="LC6341" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6342" class="css-a4x74f"><span>6342</span></td><td id="LC6342" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6343" class="css-a4x74f"><span>6343</span></td><td id="LC6343" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">scanNumber</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6344" class="css-a4x74f"><span>6344</span></td><td id="LC6344" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = tokenizer.pos; </code></td></tr><tr><td id="L6345" class="css-a4x74f"><span>6345</span></td><td id="LC6345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6346" class="css-a4x74f"><span>6346</span></td><td id="LC6346" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; end < tokenizer.str.length; end++) { </code></td></tr><tr><td id="L6347" class="css-a4x74f"><span>6347</span></td><td id="LC6347" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = tokenizer.str.charCodeAt(end); </code></td></tr><tr><td id="L6348" class="css-a4x74f"><span>6348</span></td><td id="LC6348" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code < <span class="code-number">48</span> || code > <span class="code-number">57</span>) { </code></td></tr><tr><td id="L6349" class="css-a4x74f"><span>6349</span></td><td id="LC6349" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6350" class="css-a4x74f"><span>6350</span></td><td id="LC6350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6351" class="css-a4x74f"><span>6351</span></td><td id="LC6351" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6352" class="css-a4x74f"><span>6352</span></td><td id="LC6352" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6353" class="css-a4x74f"><span>6353</span></td><td id="LC6353" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.pos === end) { </code></td></tr><tr><td id="L6354" class="css-a4x74f"><span>6354</span></td><td id="LC6354" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Expect a number'</span>); </code></td></tr><tr><td id="L6355" class="css-a4x74f"><span>6355</span></td><td id="LC6355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6356" class="css-a4x74f"><span>6356</span></td><td id="LC6356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6357" class="css-a4x74f"><span>6357</span></td><td id="LC6357" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenizer.substringToPos(end); </code></td></tr><tr><td id="L6358" class="css-a4x74f"><span>6358</span></td><td id="LC6358" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6359" class="css-a4x74f"><span>6359</span></td><td id="LC6359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6360" class="css-a4x74f"><span>6360</span></td><td id="LC6360" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">scanString</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6361" class="css-a4x74f"><span>6361</span></td><td id="LC6361" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = tokenizer.str.indexOf(<span class="code-string">'\''</span>, tokenizer.pos + <span class="code-number">1</span>); </code></td></tr><tr><td id="L6362" class="css-a4x74f"><span>6362</span></td><td id="LC6362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6363" class="css-a4x74f"><span>6363</span></td><td id="LC6363" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (end === <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L6364" class="css-a4x74f"><span>6364</span></td><td id="LC6364" class="css-1dcdqdg"><code> tokenizer.pos = tokenizer.str.length; </code></td></tr><tr><td id="L6365" class="css-a4x74f"><span>6365</span></td><td id="LC6365" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Expect an apostrophe'</span>); </code></td></tr><tr><td id="L6366" class="css-a4x74f"><span>6366</span></td><td id="LC6366" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6367" class="css-a4x74f"><span>6367</span></td><td id="LC6367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6368" class="css-a4x74f"><span>6368</span></td><td id="LC6368" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenizer.substringToPos(end + <span class="code-number">1</span>); </code></td></tr><tr><td id="L6369" class="css-a4x74f"><span>6369</span></td><td id="LC6369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6370" class="css-a4x74f"><span>6370</span></td><td id="LC6370" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6371" class="css-a4x74f"><span>6371</span></td><td id="LC6371" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readMultiplierRange</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6372" class="css-a4x74f"><span>6372</span></td><td id="LC6372" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> min = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6373" class="css-a4x74f"><span>6373</span></td><td id="LC6373" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> max = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6374" class="css-a4x74f"><span>6374</span></td><td id="LC6374" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6375" class="css-a4x74f"><span>6375</span></td><td id="LC6375" class="css-1dcdqdg"><code> tokenizer.eat(LEFTCURLYBRACKET); </code></td></tr><tr><td id="L6376" class="css-a4x74f"><span>6376</span></td><td id="LC6376" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6377" class="css-a4x74f"><span>6377</span></td><td id="LC6377" class="css-1dcdqdg"><code> min = scanNumber(tokenizer); </code></td></tr><tr><td id="L6378" class="css-a4x74f"><span>6378</span></td><td id="LC6378" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6379" class="css-a4x74f"><span>6379</span></td><td id="LC6379" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === COMMA) { </code></td></tr><tr><td id="L6380" class="css-a4x74f"><span>6380</span></td><td id="LC6380" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6381" class="css-a4x74f"><span>6381</span></td><td id="LC6381" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() !== RIGHTCURLYBRACKET) { </code></td></tr><tr><td id="L6382" class="css-a4x74f"><span>6382</span></td><td id="LC6382" class="css-1dcdqdg"><code> max = scanNumber(tokenizer); </code></td></tr><tr><td id="L6383" class="css-a4x74f"><span>6383</span></td><td id="LC6383" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6384" class="css-a4x74f"><span>6384</span></td><td id="LC6384" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6385" class="css-a4x74f"><span>6385</span></td><td id="LC6385" class="css-1dcdqdg"><code> max = min; </code></td></tr><tr><td id="L6386" class="css-a4x74f"><span>6386</span></td><td id="LC6386" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6387" class="css-a4x74f"><span>6387</span></td><td id="LC6387" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6388" class="css-a4x74f"><span>6388</span></td><td id="LC6388" class="css-1dcdqdg"><code> tokenizer.eat(RIGHTCURLYBRACKET); </code></td></tr><tr><td id="L6389" class="css-a4x74f"><span>6389</span></td><td id="LC6389" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6390" class="css-a4x74f"><span>6390</span></td><td id="LC6390" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6391" class="css-a4x74f"><span>6391</span></td><td id="LC6391" class="css-1dcdqdg"><code> min: <span class="code-built_in">Number</span>(min), </code></td></tr><tr><td id="L6392" class="css-a4x74f"><span>6392</span></td><td id="LC6392" class="css-1dcdqdg"><code> max: max ? <span class="code-built_in">Number</span>(max) : <span class="code-number">0</span> </code></td></tr><tr><td id="L6393" class="css-a4x74f"><span>6393</span></td><td id="LC6393" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6394" class="css-a4x74f"><span>6394</span></td><td id="LC6394" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6395" class="css-a4x74f"><span>6395</span></td><td id="LC6395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6396" class="css-a4x74f"><span>6396</span></td><td id="LC6396" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readMultiplier</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6397" class="css-a4x74f"><span>6397</span></td><td id="LC6397" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> range = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6398" class="css-a4x74f"><span>6398</span></td><td id="LC6398" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> comma = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L6399" class="css-a4x74f"><span>6399</span></td><td id="LC6399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6400" class="css-a4x74f"><span>6400</span></td><td id="LC6400" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (tokenizer.charCode()) { </code></td></tr><tr><td id="L6401" class="css-a4x74f"><span>6401</span></td><td id="LC6401" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ASTERISK: </code></td></tr><tr><td id="L6402" class="css-a4x74f"><span>6402</span></td><td id="LC6402" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6403" class="css-a4x74f"><span>6403</span></td><td id="LC6403" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6404" class="css-a4x74f"><span>6404</span></td><td id="LC6404" class="css-1dcdqdg"><code> range = { </code></td></tr><tr><td id="L6405" class="css-a4x74f"><span>6405</span></td><td id="LC6405" class="css-1dcdqdg"><code> min: <span class="code-number">0</span>, </code></td></tr><tr><td id="L6406" class="css-a4x74f"><span>6406</span></td><td id="LC6406" class="css-1dcdqdg"><code> max: <span class="code-number">0</span> </code></td></tr><tr><td id="L6407" class="css-a4x74f"><span>6407</span></td><td id="LC6407" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6408" class="css-a4x74f"><span>6408</span></td><td id="LC6408" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6409" class="css-a4x74f"><span>6409</span></td><td id="LC6409" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6410" class="css-a4x74f"><span>6410</span></td><td id="LC6410" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6411" class="css-a4x74f"><span>6411</span></td><td id="LC6411" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PLUSSIGN$<span class="code-number">2</span>: </code></td></tr><tr><td id="L6412" class="css-a4x74f"><span>6412</span></td><td id="LC6412" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6413" class="css-a4x74f"><span>6413</span></td><td id="LC6413" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6414" class="css-a4x74f"><span>6414</span></td><td id="LC6414" class="css-1dcdqdg"><code> range = { </code></td></tr><tr><td id="L6415" class="css-a4x74f"><span>6415</span></td><td id="LC6415" class="css-1dcdqdg"><code> min: <span class="code-number">1</span>, </code></td></tr><tr><td id="L6416" class="css-a4x74f"><span>6416</span></td><td id="LC6416" class="css-1dcdqdg"><code> max: <span class="code-number">0</span> </code></td></tr><tr><td id="L6417" class="css-a4x74f"><span>6417</span></td><td id="LC6417" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6418" class="css-a4x74f"><span>6418</span></td><td id="LC6418" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6419" class="css-a4x74f"><span>6419</span></td><td id="LC6419" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6420" class="css-a4x74f"><span>6420</span></td><td id="LC6420" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6421" class="css-a4x74f"><span>6421</span></td><td id="LC6421" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> QUESTIONMARK$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6422" class="css-a4x74f"><span>6422</span></td><td id="LC6422" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6423" class="css-a4x74f"><span>6423</span></td><td id="LC6423" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6424" class="css-a4x74f"><span>6424</span></td><td id="LC6424" class="css-1dcdqdg"><code> range = { </code></td></tr><tr><td id="L6425" class="css-a4x74f"><span>6425</span></td><td id="LC6425" class="css-1dcdqdg"><code> min: <span class="code-number">0</span>, </code></td></tr><tr><td id="L6426" class="css-a4x74f"><span>6426</span></td><td id="LC6426" class="css-1dcdqdg"><code> max: <span class="code-number">1</span> </code></td></tr><tr><td id="L6427" class="css-a4x74f"><span>6427</span></td><td id="LC6427" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6428" class="css-a4x74f"><span>6428</span></td><td id="LC6428" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6429" class="css-a4x74f"><span>6429</span></td><td id="LC6429" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6430" class="css-a4x74f"><span>6430</span></td><td id="LC6430" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6431" class="css-a4x74f"><span>6431</span></td><td id="LC6431" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBERSIGN: </code></td></tr><tr><td id="L6432" class="css-a4x74f"><span>6432</span></td><td id="LC6432" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6433" class="css-a4x74f"><span>6433</span></td><td id="LC6433" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6434" class="css-a4x74f"><span>6434</span></td><td id="LC6434" class="css-1dcdqdg"><code> comma = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L6435" class="css-a4x74f"><span>6435</span></td><td id="LC6435" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6436" class="css-a4x74f"><span>6436</span></td><td id="LC6436" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === LEFTCURLYBRACKET) { </code></td></tr><tr><td id="L6437" class="css-a4x74f"><span>6437</span></td><td id="LC6437" class="css-1dcdqdg"><code> range = readMultiplierRange(tokenizer); </code></td></tr><tr><td id="L6438" class="css-a4x74f"><span>6438</span></td><td id="LC6438" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6439" class="css-a4x74f"><span>6439</span></td><td id="LC6439" class="css-1dcdqdg"><code> range = { </code></td></tr><tr><td id="L6440" class="css-a4x74f"><span>6440</span></td><td id="LC6440" class="css-1dcdqdg"><code> min: <span class="code-number">1</span>, </code></td></tr><tr><td id="L6441" class="css-a4x74f"><span>6441</span></td><td id="LC6441" class="css-1dcdqdg"><code> max: <span class="code-number">0</span> </code></td></tr><tr><td id="L6442" class="css-a4x74f"><span>6442</span></td><td id="LC6442" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6443" class="css-a4x74f"><span>6443</span></td><td id="LC6443" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6444" class="css-a4x74f"><span>6444</span></td><td id="LC6444" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6445" class="css-a4x74f"><span>6445</span></td><td id="LC6445" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6446" class="css-a4x74f"><span>6446</span></td><td id="LC6446" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6447" class="css-a4x74f"><span>6447</span></td><td id="LC6447" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTCURLYBRACKET: </code></td></tr><tr><td id="L6448" class="css-a4x74f"><span>6448</span></td><td id="LC6448" class="css-1dcdqdg"><code> range = readMultiplierRange(tokenizer); </code></td></tr><tr><td id="L6449" class="css-a4x74f"><span>6449</span></td><td id="LC6449" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6450" class="css-a4x74f"><span>6450</span></td><td id="LC6450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6451" class="css-a4x74f"><span>6451</span></td><td id="LC6451" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L6452" class="css-a4x74f"><span>6452</span></td><td id="LC6452" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6453" class="css-a4x74f"><span>6453</span></td><td id="LC6453" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6454" class="css-a4x74f"><span>6454</span></td><td id="LC6454" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6455" class="css-a4x74f"><span>6455</span></td><td id="LC6455" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6456" class="css-a4x74f"><span>6456</span></td><td id="LC6456" class="css-1dcdqdg"><code> type: <span class="code-string">'Multiplier'</span>, </code></td></tr><tr><td id="L6457" class="css-a4x74f"><span>6457</span></td><td id="LC6457" class="css-1dcdqdg"><code> comma: comma, </code></td></tr><tr><td id="L6458" class="css-a4x74f"><span>6458</span></td><td id="LC6458" class="css-1dcdqdg"><code> min: range.min, </code></td></tr><tr><td id="L6459" class="css-a4x74f"><span>6459</span></td><td id="LC6459" class="css-1dcdqdg"><code> max: range.max, </code></td></tr><tr><td id="L6460" class="css-a4x74f"><span>6460</span></td><td id="LC6460" class="css-1dcdqdg"><code> term: <span class="code-literal">null</span> </code></td></tr><tr><td id="L6461" class="css-a4x74f"><span>6461</span></td><td id="LC6461" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6462" class="css-a4x74f"><span>6462</span></td><td id="LC6462" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6463" class="css-a4x74f"><span>6463</span></td><td id="LC6463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6464" class="css-a4x74f"><span>6464</span></td><td id="LC6464" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">maybeMultiplied</span>(<span class="code-params">tokenizer, node</span>) </span>{ </code></td></tr><tr><td id="L6465" class="css-a4x74f"><span>6465</span></td><td id="LC6465" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> multiplier = readMultiplier(tokenizer); </code></td></tr><tr><td id="L6466" class="css-a4x74f"><span>6466</span></td><td id="LC6466" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6467" class="css-a4x74f"><span>6467</span></td><td id="LC6467" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (multiplier !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L6468" class="css-a4x74f"><span>6468</span></td><td id="LC6468" class="css-1dcdqdg"><code> multiplier.term = node; </code></td></tr><tr><td id="L6469" class="css-a4x74f"><span>6469</span></td><td id="LC6469" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> multiplier; </code></td></tr><tr><td id="L6470" class="css-a4x74f"><span>6470</span></td><td id="LC6470" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6471" class="css-a4x74f"><span>6471</span></td><td id="LC6471" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6472" class="css-a4x74f"><span>6472</span></td><td id="LC6472" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L6473" class="css-a4x74f"><span>6473</span></td><td id="LC6473" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6474" class="css-a4x74f"><span>6474</span></td><td id="LC6474" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6475" class="css-a4x74f"><span>6475</span></td><td id="LC6475" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">maybeToken</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6476" class="css-a4x74f"><span>6476</span></td><td id="LC6476" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ch = tokenizer.peek(); </code></td></tr><tr><td id="L6477" class="css-a4x74f"><span>6477</span></td><td id="LC6477" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6478" class="css-a4x74f"><span>6478</span></td><td id="LC6478" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (ch === <span class="code-string">''</span>) { </code></td></tr><tr><td id="L6479" class="css-a4x74f"><span>6479</span></td><td id="LC6479" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6480" class="css-a4x74f"><span>6480</span></td><td id="LC6480" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6481" class="css-a4x74f"><span>6481</span></td><td id="LC6481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6482" class="css-a4x74f"><span>6482</span></td><td id="LC6482" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6483" class="css-a4x74f"><span>6483</span></td><td id="LC6483" class="css-1dcdqdg"><code> type: <span class="code-string">'Token'</span>, </code></td></tr><tr><td id="L6484" class="css-a4x74f"><span>6484</span></td><td id="LC6484" class="css-1dcdqdg"><code> value: ch </code></td></tr><tr><td id="L6485" class="css-a4x74f"><span>6485</span></td><td id="LC6485" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6486" class="css-a4x74f"><span>6486</span></td><td id="LC6486" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6487" class="css-a4x74f"><span>6487</span></td><td id="LC6487" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6488" class="css-a4x74f"><span>6488</span></td><td id="LC6488" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readProperty</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6489" class="css-a4x74f"><span>6489</span></td><td id="LC6489" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L6490" class="css-a4x74f"><span>6490</span></td><td id="LC6490" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6491" class="css-a4x74f"><span>6491</span></td><td id="LC6491" class="css-1dcdqdg"><code> tokenizer.eat(LESSTHANSIGN); </code></td></tr><tr><td id="L6492" class="css-a4x74f"><span>6492</span></td><td id="LC6492" class="css-1dcdqdg"><code> tokenizer.eat(APOSTROPHE); </code></td></tr><tr><td id="L6493" class="css-a4x74f"><span>6493</span></td><td id="LC6493" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6494" class="css-a4x74f"><span>6494</span></td><td id="LC6494" class="css-1dcdqdg"><code> name = scanWord(tokenizer); </code></td></tr><tr><td id="L6495" class="css-a4x74f"><span>6495</span></td><td id="LC6495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6496" class="css-a4x74f"><span>6496</span></td><td id="LC6496" class="css-1dcdqdg"><code> tokenizer.eat(APOSTROPHE); </code></td></tr><tr><td id="L6497" class="css-a4x74f"><span>6497</span></td><td id="LC6497" class="css-1dcdqdg"><code> tokenizer.eat(GREATERTHANSIGN); </code></td></tr><tr><td id="L6498" class="css-a4x74f"><span>6498</span></td><td id="LC6498" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6499" class="css-a4x74f"><span>6499</span></td><td id="LC6499" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeMultiplied(tokenizer, { </code></td></tr><tr><td id="L6500" class="css-a4x74f"><span>6500</span></td><td id="LC6500" class="css-1dcdqdg"><code> type: <span class="code-string">'Property'</span>, </code></td></tr><tr><td id="L6501" class="css-a4x74f"><span>6501</span></td><td id="LC6501" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L6502" class="css-a4x74f"><span>6502</span></td><td id="LC6502" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6503" class="css-a4x74f"><span>6503</span></td><td id="LC6503" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6504" class="css-a4x74f"><span>6504</span></td><td id="LC6504" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6505" class="css-a4x74f"><span>6505</span></td><td id="LC6505" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-3/#numeric-ranges</span> </code></td></tr><tr><td id="L6506" class="css-a4x74f"><span>6506</span></td><td id="LC6506" class="css-1dcdqdg"><code> <span class="code-comment">// 4.1. Range Restrictions and Range Definition Notation</span> </code></td></tr><tr><td id="L6507" class="css-a4x74f"><span>6507</span></td><td id="LC6507" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L6508" class="css-a4x74f"><span>6508</span></td><td id="LC6508" class="css-1dcdqdg"><code> <span class="code-comment">// Range restrictions can be annotated in the numeric type notation using CSS bracketed</span> </code></td></tr><tr><td id="L6509" class="css-a4x74f"><span>6509</span></td><td id="LC6509" class="css-1dcdqdg"><code> <span class="code-comment">// range notation—[min,max]—within the angle brackets, after the identifying keyword,</span> </code></td></tr><tr><td id="L6510" class="css-a4x74f"><span>6510</span></td><td id="LC6510" class="css-1dcdqdg"><code> <span class="code-comment">// indicating a closed range between (and including) min and max.</span> </code></td></tr><tr><td id="L6511" class="css-a4x74f"><span>6511</span></td><td id="LC6511" class="css-1dcdqdg"><code> <span class="code-comment">// For example, <integer [0, 10]> indicates an integer between 0 and 10, inclusive.</span> </code></td></tr><tr><td id="L6512" class="css-a4x74f"><span>6512</span></td><td id="LC6512" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readTypeRange</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6513" class="css-a4x74f"><span>6513</span></td><td id="LC6513" class="css-1dcdqdg"><code> <span class="code-comment">// use null for Infinity to make AST format JSON serializable/deserializable</span> </code></td></tr><tr><td id="L6514" class="css-a4x74f"><span>6514</span></td><td id="LC6514" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> min = <span class="code-literal">null</span>; <span class="code-comment">// -Infinity</span> </code></td></tr><tr><td id="L6515" class="css-a4x74f"><span>6515</span></td><td id="LC6515" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> max = <span class="code-literal">null</span>; <span class="code-comment">// Infinity</span> </code></td></tr><tr><td id="L6516" class="css-a4x74f"><span>6516</span></td><td id="LC6516" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-number">1</span>; </code></td></tr><tr><td id="L6517" class="css-a4x74f"><span>6517</span></td><td id="LC6517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6518" class="css-a4x74f"><span>6518</span></td><td id="LC6518" class="css-1dcdqdg"><code> tokenizer.eat(LEFTSQUAREBRACKET); </code></td></tr><tr><td id="L6519" class="css-a4x74f"><span>6519</span></td><td id="LC6519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6520" class="css-a4x74f"><span>6520</span></td><td id="LC6520" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === HYPERMINUS) { </code></td></tr><tr><td id="L6521" class="css-a4x74f"><span>6521</span></td><td id="LC6521" class="css-1dcdqdg"><code> tokenizer.peek(); </code></td></tr><tr><td id="L6522" class="css-a4x74f"><span>6522</span></td><td id="LC6522" class="css-1dcdqdg"><code> sign = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L6523" class="css-a4x74f"><span>6523</span></td><td id="LC6523" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6524" class="css-a4x74f"><span>6524</span></td><td id="LC6524" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6525" class="css-a4x74f"><span>6525</span></td><td id="LC6525" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sign == <span class="code-number">-1</span> && tokenizer.charCode() === INFINITY) { </code></td></tr><tr><td id="L6526" class="css-a4x74f"><span>6526</span></td><td id="LC6526" class="css-1dcdqdg"><code> tokenizer.peek(); </code></td></tr><tr><td id="L6527" class="css-a4x74f"><span>6527</span></td><td id="LC6527" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6528" class="css-a4x74f"><span>6528</span></td><td id="LC6528" class="css-1dcdqdg"><code> min = sign * <span class="code-built_in">Number</span>(scanNumber(tokenizer)); </code></td></tr><tr><td id="L6529" class="css-a4x74f"><span>6529</span></td><td id="LC6529" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6530" class="css-a4x74f"><span>6530</span></td><td id="LC6530" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6531" class="css-a4x74f"><span>6531</span></td><td id="LC6531" class="css-1dcdqdg"><code> scanSpaces(tokenizer); </code></td></tr><tr><td id="L6532" class="css-a4x74f"><span>6532</span></td><td id="LC6532" class="css-1dcdqdg"><code> tokenizer.eat(COMMA); </code></td></tr><tr><td id="L6533" class="css-a4x74f"><span>6533</span></td><td id="LC6533" class="css-1dcdqdg"><code> scanSpaces(tokenizer); </code></td></tr><tr><td id="L6534" class="css-a4x74f"><span>6534</span></td><td id="LC6534" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6535" class="css-a4x74f"><span>6535</span></td><td id="LC6535" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === INFINITY) { </code></td></tr><tr><td id="L6536" class="css-a4x74f"><span>6536</span></td><td id="LC6536" class="css-1dcdqdg"><code> tokenizer.peek(); </code></td></tr><tr><td id="L6537" class="css-a4x74f"><span>6537</span></td><td id="LC6537" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6538" class="css-a4x74f"><span>6538</span></td><td id="LC6538" class="css-1dcdqdg"><code> sign = <span class="code-number">1</span>; </code></td></tr><tr><td id="L6539" class="css-a4x74f"><span>6539</span></td><td id="LC6539" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6540" class="css-a4x74f"><span>6540</span></td><td id="LC6540" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === HYPERMINUS) { </code></td></tr><tr><td id="L6541" class="css-a4x74f"><span>6541</span></td><td id="LC6541" class="css-1dcdqdg"><code> tokenizer.peek(); </code></td></tr><tr><td id="L6542" class="css-a4x74f"><span>6542</span></td><td id="LC6542" class="css-1dcdqdg"><code> sign = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L6543" class="css-a4x74f"><span>6543</span></td><td id="LC6543" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6544" class="css-a4x74f"><span>6544</span></td><td id="LC6544" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6545" class="css-a4x74f"><span>6545</span></td><td id="LC6545" class="css-1dcdqdg"><code> max = sign * <span class="code-built_in">Number</span>(scanNumber(tokenizer)); </code></td></tr><tr><td id="L6546" class="css-a4x74f"><span>6546</span></td><td id="LC6546" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6547" class="css-a4x74f"><span>6547</span></td><td id="LC6547" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6548" class="css-a4x74f"><span>6548</span></td><td id="LC6548" class="css-1dcdqdg"><code> tokenizer.eat(RIGHTSQUAREBRACKET); </code></td></tr><tr><td id="L6549" class="css-a4x74f"><span>6549</span></td><td id="LC6549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6550" class="css-a4x74f"><span>6550</span></td><td id="LC6550" class="css-1dcdqdg"><code> <span class="code-comment">// If no range is indicated, either by using the bracketed range notation</span> </code></td></tr><tr><td id="L6551" class="css-a4x74f"><span>6551</span></td><td id="LC6551" class="css-1dcdqdg"><code> <span class="code-comment">// or in the property description, then [−∞,∞] is assumed.</span> </code></td></tr><tr><td id="L6552" class="css-a4x74f"><span>6552</span></td><td id="LC6552" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (min === <span class="code-literal">null</span> && max === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L6553" class="css-a4x74f"><span>6553</span></td><td id="LC6553" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6554" class="css-a4x74f"><span>6554</span></td><td id="LC6554" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6555" class="css-a4x74f"><span>6555</span></td><td id="LC6555" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6556" class="css-a4x74f"><span>6556</span></td><td id="LC6556" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6557" class="css-a4x74f"><span>6557</span></td><td id="LC6557" class="css-1dcdqdg"><code> type: <span class="code-string">'Range'</span>, </code></td></tr><tr><td id="L6558" class="css-a4x74f"><span>6558</span></td><td id="LC6558" class="css-1dcdqdg"><code> min: min, </code></td></tr><tr><td id="L6559" class="css-a4x74f"><span>6559</span></td><td id="LC6559" class="css-1dcdqdg"><code> max: max </code></td></tr><tr><td id="L6560" class="css-a4x74f"><span>6560</span></td><td id="LC6560" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6561" class="css-a4x74f"><span>6561</span></td><td id="LC6561" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6562" class="css-a4x74f"><span>6562</span></td><td id="LC6562" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6563" class="css-a4x74f"><span>6563</span></td><td id="LC6563" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readType</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6564" class="css-a4x74f"><span>6564</span></td><td id="LC6564" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L6565" class="css-a4x74f"><span>6565</span></td><td id="LC6565" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> opts = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6566" class="css-a4x74f"><span>6566</span></td><td id="LC6566" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6567" class="css-a4x74f"><span>6567</span></td><td id="LC6567" class="css-1dcdqdg"><code> tokenizer.eat(LESSTHANSIGN); </code></td></tr><tr><td id="L6568" class="css-a4x74f"><span>6568</span></td><td id="LC6568" class="css-1dcdqdg"><code> name = scanWord(tokenizer); </code></td></tr><tr><td id="L6569" class="css-a4x74f"><span>6569</span></td><td id="LC6569" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6570" class="css-a4x74f"><span>6570</span></td><td id="LC6570" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === LEFTPARENTHESIS && </code></td></tr><tr><td id="L6571" class="css-a4x74f"><span>6571</span></td><td id="LC6571" class="css-1dcdqdg"><code> tokenizer.nextCharCode() === RIGHTPARENTHESIS) { </code></td></tr><tr><td id="L6572" class="css-a4x74f"><span>6572</span></td><td id="LC6572" class="css-1dcdqdg"><code> tokenizer.pos += <span class="code-number">2</span>; </code></td></tr><tr><td id="L6573" class="css-a4x74f"><span>6573</span></td><td id="LC6573" class="css-1dcdqdg"><code> name += <span class="code-string">'()'</span>; </code></td></tr><tr><td id="L6574" class="css-a4x74f"><span>6574</span></td><td id="LC6574" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6575" class="css-a4x74f"><span>6575</span></td><td id="LC6575" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6576" class="css-a4x74f"><span>6576</span></td><td id="LC6576" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) { </code></td></tr><tr><td id="L6577" class="css-a4x74f"><span>6577</span></td><td id="LC6577" class="css-1dcdqdg"><code> scanSpaces(tokenizer); </code></td></tr><tr><td id="L6578" class="css-a4x74f"><span>6578</span></td><td id="LC6578" class="css-1dcdqdg"><code> opts = readTypeRange(tokenizer); </code></td></tr><tr><td id="L6579" class="css-a4x74f"><span>6579</span></td><td id="LC6579" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6580" class="css-a4x74f"><span>6580</span></td><td id="LC6580" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6581" class="css-a4x74f"><span>6581</span></td><td id="LC6581" class="css-1dcdqdg"><code> tokenizer.eat(GREATERTHANSIGN); </code></td></tr><tr><td id="L6582" class="css-a4x74f"><span>6582</span></td><td id="LC6582" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6583" class="css-a4x74f"><span>6583</span></td><td id="LC6583" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeMultiplied(tokenizer, { </code></td></tr><tr><td id="L6584" class="css-a4x74f"><span>6584</span></td><td id="LC6584" class="css-1dcdqdg"><code> type: <span class="code-string">'Type'</span>, </code></td></tr><tr><td id="L6585" class="css-a4x74f"><span>6585</span></td><td id="LC6585" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L6586" class="css-a4x74f"><span>6586</span></td><td id="LC6586" class="css-1dcdqdg"><code> opts: opts </code></td></tr><tr><td id="L6587" class="css-a4x74f"><span>6587</span></td><td id="LC6587" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6588" class="css-a4x74f"><span>6588</span></td><td id="LC6588" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6589" class="css-a4x74f"><span>6589</span></td><td id="LC6589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6590" class="css-a4x74f"><span>6590</span></td><td id="LC6590" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readKeywordOrFunction</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6591" class="css-a4x74f"><span>6591</span></td><td id="LC6591" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L6592" class="css-a4x74f"><span>6592</span></td><td id="LC6592" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6593" class="css-a4x74f"><span>6593</span></td><td id="LC6593" class="css-1dcdqdg"><code> name = scanWord(tokenizer); </code></td></tr><tr><td id="L6594" class="css-a4x74f"><span>6594</span></td><td id="LC6594" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6595" class="css-a4x74f"><span>6595</span></td><td id="LC6595" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === LEFTPARENTHESIS) { </code></td></tr><tr><td id="L6596" class="css-a4x74f"><span>6596</span></td><td id="LC6596" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6597" class="css-a4x74f"><span>6597</span></td><td id="LC6597" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6598" class="css-a4x74f"><span>6598</span></td><td id="LC6598" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6599" class="css-a4x74f"><span>6599</span></td><td id="LC6599" class="css-1dcdqdg"><code> type: <span class="code-string">'Function'</span>, </code></td></tr><tr><td id="L6600" class="css-a4x74f"><span>6600</span></td><td id="LC6600" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L6601" class="css-a4x74f"><span>6601</span></td><td id="LC6601" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6602" class="css-a4x74f"><span>6602</span></td><td id="LC6602" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6603" class="css-a4x74f"><span>6603</span></td><td id="LC6603" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6604" class="css-a4x74f"><span>6604</span></td><td id="LC6604" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeMultiplied(tokenizer, { </code></td></tr><tr><td id="L6605" class="css-a4x74f"><span>6605</span></td><td id="LC6605" class="css-1dcdqdg"><code> type: <span class="code-string">'Keyword'</span>, </code></td></tr><tr><td id="L6606" class="css-a4x74f"><span>6606</span></td><td id="LC6606" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L6607" class="css-a4x74f"><span>6607</span></td><td id="LC6607" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6608" class="css-a4x74f"><span>6608</span></td><td id="LC6608" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6609" class="css-a4x74f"><span>6609</span></td><td id="LC6609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6610" class="css-a4x74f"><span>6610</span></td><td id="LC6610" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">regroupTerms</span>(<span class="code-params">terms, combinators</span>) </span>{ </code></td></tr><tr><td id="L6611" class="css-a4x74f"><span>6611</span></td><td id="LC6611" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createGroup</span>(<span class="code-params">terms, combinator</span>) </span>{ </code></td></tr><tr><td id="L6612" class="css-a4x74f"><span>6612</span></td><td id="LC6612" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6613" class="css-a4x74f"><span>6613</span></td><td id="LC6613" class="css-1dcdqdg"><code> type: <span class="code-string">'Group'</span>, </code></td></tr><tr><td id="L6614" class="css-a4x74f"><span>6614</span></td><td id="LC6614" class="css-1dcdqdg"><code> terms: terms, </code></td></tr><tr><td id="L6615" class="css-a4x74f"><span>6615</span></td><td id="LC6615" class="css-1dcdqdg"><code> combinator: combinator, </code></td></tr><tr><td id="L6616" class="css-a4x74f"><span>6616</span></td><td id="LC6616" class="css-1dcdqdg"><code> disallowEmpty: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L6617" class="css-a4x74f"><span>6617</span></td><td id="LC6617" class="css-1dcdqdg"><code> explicit: <span class="code-literal">false</span> </code></td></tr><tr><td id="L6618" class="css-a4x74f"><span>6618</span></td><td id="LC6618" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6619" class="css-a4x74f"><span>6619</span></td><td id="LC6619" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6620" class="css-a4x74f"><span>6620</span></td><td id="LC6620" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6621" class="css-a4x74f"><span>6621</span></td><td id="LC6621" class="css-1dcdqdg"><code> combinators = <span class="code-built_in">Object</span>.keys(combinators).sort(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">a, b</span>) </span>{ </code></td></tr><tr><td id="L6622" class="css-a4x74f"><span>6622</span></td><td id="LC6622" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b]; </code></td></tr><tr><td id="L6623" class="css-a4x74f"><span>6623</span></td><td id="LC6623" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6624" class="css-a4x74f"><span>6624</span></td><td id="LC6624" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6625" class="css-a4x74f"><span>6625</span></td><td id="LC6625" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (combinators.length > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L6626" class="css-a4x74f"><span>6626</span></td><td id="LC6626" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> combinator = combinators.shift(); </code></td></tr><tr><td id="L6627" class="css-a4x74f"><span>6627</span></td><td id="LC6627" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>, subgroupStart = <span class="code-number">0</span>; i < terms.length; i++) { </code></td></tr><tr><td id="L6628" class="css-a4x74f"><span>6628</span></td><td id="LC6628" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> term = terms[i]; </code></td></tr><tr><td id="L6629" class="css-a4x74f"><span>6629</span></td><td id="LC6629" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (term.type === <span class="code-string">'Combinator'</span>) { </code></td></tr><tr><td id="L6630" class="css-a4x74f"><span>6630</span></td><td id="LC6630" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (term.value === combinator) { </code></td></tr><tr><td id="L6631" class="css-a4x74f"><span>6631</span></td><td id="LC6631" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (subgroupStart === <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L6632" class="css-a4x74f"><span>6632</span></td><td id="LC6632" class="css-1dcdqdg"><code> subgroupStart = i - <span class="code-number">1</span>; </code></td></tr><tr><td id="L6633" class="css-a4x74f"><span>6633</span></td><td id="LC6633" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6634" class="css-a4x74f"><span>6634</span></td><td id="LC6634" class="css-1dcdqdg"><code> terms.splice(i, <span class="code-number">1</span>); </code></td></tr><tr><td id="L6635" class="css-a4x74f"><span>6635</span></td><td id="LC6635" class="css-1dcdqdg"><code> i--; </code></td></tr><tr><td id="L6636" class="css-a4x74f"><span>6636</span></td><td id="LC6636" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6637" class="css-a4x74f"><span>6637</span></td><td id="LC6637" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (subgroupStart !== <span class="code-number">-1</span> && i - subgroupStart > <span class="code-number">1</span>) { </code></td></tr><tr><td id="L6638" class="css-a4x74f"><span>6638</span></td><td id="LC6638" class="css-1dcdqdg"><code> terms.splice( </code></td></tr><tr><td id="L6639" class="css-a4x74f"><span>6639</span></td><td id="LC6639" class="css-1dcdqdg"><code> subgroupStart, </code></td></tr><tr><td id="L6640" class="css-a4x74f"><span>6640</span></td><td id="LC6640" class="css-1dcdqdg"><code> i - subgroupStart, </code></td></tr><tr><td id="L6641" class="css-a4x74f"><span>6641</span></td><td id="LC6641" class="css-1dcdqdg"><code> createGroup(terms.slice(subgroupStart, i), combinator) </code></td></tr><tr><td id="L6642" class="css-a4x74f"><span>6642</span></td><td id="LC6642" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L6643" class="css-a4x74f"><span>6643</span></td><td id="LC6643" class="css-1dcdqdg"><code> i = subgroupStart + <span class="code-number">1</span>; </code></td></tr><tr><td id="L6644" class="css-a4x74f"><span>6644</span></td><td id="LC6644" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6645" class="css-a4x74f"><span>6645</span></td><td id="LC6645" class="css-1dcdqdg"><code> subgroupStart = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L6646" class="css-a4x74f"><span>6646</span></td><td id="LC6646" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6647" class="css-a4x74f"><span>6647</span></td><td id="LC6647" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6648" class="css-a4x74f"><span>6648</span></td><td id="LC6648" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6649" class="css-a4x74f"><span>6649</span></td><td id="LC6649" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6650" class="css-a4x74f"><span>6650</span></td><td id="LC6650" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (subgroupStart !== <span class="code-number">-1</span> && combinators.length) { </code></td></tr><tr><td id="L6651" class="css-a4x74f"><span>6651</span></td><td id="LC6651" class="css-1dcdqdg"><code> terms.splice( </code></td></tr><tr><td id="L6652" class="css-a4x74f"><span>6652</span></td><td id="LC6652" class="css-1dcdqdg"><code> subgroupStart, </code></td></tr><tr><td id="L6653" class="css-a4x74f"><span>6653</span></td><td id="LC6653" class="css-1dcdqdg"><code> i - subgroupStart, </code></td></tr><tr><td id="L6654" class="css-a4x74f"><span>6654</span></td><td id="LC6654" class="css-1dcdqdg"><code> createGroup(terms.slice(subgroupStart, i), combinator) </code></td></tr><tr><td id="L6655" class="css-a4x74f"><span>6655</span></td><td id="LC6655" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L6656" class="css-a4x74f"><span>6656</span></td><td id="LC6656" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6657" class="css-a4x74f"><span>6657</span></td><td id="LC6657" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6658" class="css-a4x74f"><span>6658</span></td><td id="LC6658" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6659" class="css-a4x74f"><span>6659</span></td><td id="LC6659" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> combinator; </code></td></tr><tr><td id="L6660" class="css-a4x74f"><span>6660</span></td><td id="LC6660" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6661" class="css-a4x74f"><span>6661</span></td><td id="LC6661" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6662" class="css-a4x74f"><span>6662</span></td><td id="LC6662" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readImplicitGroup</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6663" class="css-a4x74f"><span>6663</span></td><td id="LC6663" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> terms = []; </code></td></tr><tr><td id="L6664" class="css-a4x74f"><span>6664</span></td><td id="LC6664" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> combinators = {}; </code></td></tr><tr><td id="L6665" class="css-a4x74f"><span>6665</span></td><td id="LC6665" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> token; </code></td></tr><tr><td id="L6666" class="css-a4x74f"><span>6666</span></td><td id="LC6666" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prevToken = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6667" class="css-a4x74f"><span>6667</span></td><td id="LC6667" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prevTokenPos = tokenizer.pos; </code></td></tr><tr><td id="L6668" class="css-a4x74f"><span>6668</span></td><td id="LC6668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6669" class="css-a4x74f"><span>6669</span></td><td id="LC6669" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (token = peek(tokenizer)) { </code></td></tr><tr><td id="L6670" class="css-a4x74f"><span>6670</span></td><td id="LC6670" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type !== <span class="code-string">'Spaces'</span>) { </code></td></tr><tr><td id="L6671" class="css-a4x74f"><span>6671</span></td><td id="LC6671" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token.type === <span class="code-string">'Combinator'</span>) { </code></td></tr><tr><td id="L6672" class="css-a4x74f"><span>6672</span></td><td id="LC6672" class="css-1dcdqdg"><code> <span class="code-comment">// check for combinator in group beginning and double combinator sequence</span> </code></td></tr><tr><td id="L6673" class="css-a4x74f"><span>6673</span></td><td id="LC6673" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prevToken === <span class="code-literal">null</span> || prevToken.type === <span class="code-string">'Combinator'</span>) { </code></td></tr><tr><td id="L6674" class="css-a4x74f"><span>6674</span></td><td id="LC6674" class="css-1dcdqdg"><code> tokenizer.pos = prevTokenPos; </code></td></tr><tr><td id="L6675" class="css-a4x74f"><span>6675</span></td><td id="LC6675" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Unexpected combinator'</span>); </code></td></tr><tr><td id="L6676" class="css-a4x74f"><span>6676</span></td><td id="LC6676" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6677" class="css-a4x74f"><span>6677</span></td><td id="LC6677" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6678" class="css-a4x74f"><span>6678</span></td><td id="LC6678" class="css-1dcdqdg"><code> combinators[token.value] = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L6679" class="css-a4x74f"><span>6679</span></td><td id="LC6679" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prevToken !== <span class="code-literal">null</span> && prevToken.type !== <span class="code-string">'Combinator'</span>) { </code></td></tr><tr><td id="L6680" class="css-a4x74f"><span>6680</span></td><td id="LC6680" class="css-1dcdqdg"><code> combinators[<span class="code-string">' '</span>] = <span class="code-literal">true</span>; <span class="code-comment">// a b</span> </code></td></tr><tr><td id="L6681" class="css-a4x74f"><span>6681</span></td><td id="LC6681" class="css-1dcdqdg"><code> terms.push({ </code></td></tr><tr><td id="L6682" class="css-a4x74f"><span>6682</span></td><td id="LC6682" class="css-1dcdqdg"><code> type: <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L6683" class="css-a4x74f"><span>6683</span></td><td id="LC6683" class="css-1dcdqdg"><code> value: <span class="code-string">' '</span> </code></td></tr><tr><td id="L6684" class="css-a4x74f"><span>6684</span></td><td id="LC6684" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6685" class="css-a4x74f"><span>6685</span></td><td id="LC6685" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6686" class="css-a4x74f"><span>6686</span></td><td id="LC6686" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6687" class="css-a4x74f"><span>6687</span></td><td id="LC6687" class="css-1dcdqdg"><code> terms.push(token); </code></td></tr><tr><td id="L6688" class="css-a4x74f"><span>6688</span></td><td id="LC6688" class="css-1dcdqdg"><code> prevToken = token; </code></td></tr><tr><td id="L6689" class="css-a4x74f"><span>6689</span></td><td id="LC6689" class="css-1dcdqdg"><code> prevTokenPos = tokenizer.pos; </code></td></tr><tr><td id="L6690" class="css-a4x74f"><span>6690</span></td><td id="LC6690" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6691" class="css-a4x74f"><span>6691</span></td><td id="LC6691" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6692" class="css-a4x74f"><span>6692</span></td><td id="LC6692" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6693" class="css-a4x74f"><span>6693</span></td><td id="LC6693" class="css-1dcdqdg"><code> <span class="code-comment">// check for combinator in group ending</span> </code></td></tr><tr><td id="L6694" class="css-a4x74f"><span>6694</span></td><td id="LC6694" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prevToken !== <span class="code-literal">null</span> && prevToken.type === <span class="code-string">'Combinator'</span>) { </code></td></tr><tr><td id="L6695" class="css-a4x74f"><span>6695</span></td><td id="LC6695" class="css-1dcdqdg"><code> tokenizer.pos -= prevTokenPos; </code></td></tr><tr><td id="L6696" class="css-a4x74f"><span>6696</span></td><td id="LC6696" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Unexpected combinator'</span>); </code></td></tr><tr><td id="L6697" class="css-a4x74f"><span>6697</span></td><td id="LC6697" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6698" class="css-a4x74f"><span>6698</span></td><td id="LC6698" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6699" class="css-a4x74f"><span>6699</span></td><td id="LC6699" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6700" class="css-a4x74f"><span>6700</span></td><td id="LC6700" class="css-1dcdqdg"><code> type: <span class="code-string">'Group'</span>, </code></td></tr><tr><td id="L6701" class="css-a4x74f"><span>6701</span></td><td id="LC6701" class="css-1dcdqdg"><code> terms: terms, </code></td></tr><tr><td id="L6702" class="css-a4x74f"><span>6702</span></td><td id="LC6702" class="css-1dcdqdg"><code> combinator: regroupTerms(terms, combinators) || <span class="code-string">' '</span>, </code></td></tr><tr><td id="L6703" class="css-a4x74f"><span>6703</span></td><td id="LC6703" class="css-1dcdqdg"><code> disallowEmpty: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L6704" class="css-a4x74f"><span>6704</span></td><td id="LC6704" class="css-1dcdqdg"><code> explicit: <span class="code-literal">false</span> </code></td></tr><tr><td id="L6705" class="css-a4x74f"><span>6705</span></td><td id="LC6705" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6706" class="css-a4x74f"><span>6706</span></td><td id="LC6706" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6707" class="css-a4x74f"><span>6707</span></td><td id="LC6707" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6708" class="css-a4x74f"><span>6708</span></td><td id="LC6708" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readGroup</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6709" class="css-a4x74f"><span>6709</span></td><td id="LC6709" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result; </code></td></tr><tr><td id="L6710" class="css-a4x74f"><span>6710</span></td><td id="LC6710" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6711" class="css-a4x74f"><span>6711</span></td><td id="LC6711" class="css-1dcdqdg"><code> tokenizer.eat(LEFTSQUAREBRACKET); </code></td></tr><tr><td id="L6712" class="css-a4x74f"><span>6712</span></td><td id="LC6712" class="css-1dcdqdg"><code> result = readImplicitGroup(tokenizer); </code></td></tr><tr><td id="L6713" class="css-a4x74f"><span>6713</span></td><td id="LC6713" class="css-1dcdqdg"><code> tokenizer.eat(RIGHTSQUAREBRACKET); </code></td></tr><tr><td id="L6714" class="css-a4x74f"><span>6714</span></td><td id="LC6714" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6715" class="css-a4x74f"><span>6715</span></td><td id="LC6715" class="css-1dcdqdg"><code> result.explicit = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L6716" class="css-a4x74f"><span>6716</span></td><td id="LC6716" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6717" class="css-a4x74f"><span>6717</span></td><td id="LC6717" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.charCode() === EXCLAMATIONMARK) { </code></td></tr><tr><td id="L6718" class="css-a4x74f"><span>6718</span></td><td id="LC6718" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6719" class="css-a4x74f"><span>6719</span></td><td id="LC6719" class="css-1dcdqdg"><code> result.disallowEmpty = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L6720" class="css-a4x74f"><span>6720</span></td><td id="LC6720" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6721" class="css-a4x74f"><span>6721</span></td><td id="LC6721" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6722" class="css-a4x74f"><span>6722</span></td><td id="LC6722" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L6723" class="css-a4x74f"><span>6723</span></td><td id="LC6723" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6724" class="css-a4x74f"><span>6724</span></td><td id="LC6724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6725" class="css-a4x74f"><span>6725</span></td><td id="LC6725" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">peek</span>(<span class="code-params">tokenizer</span>) </span>{ </code></td></tr><tr><td id="L6726" class="css-a4x74f"><span>6726</span></td><td id="LC6726" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = tokenizer.charCode(); </code></td></tr><tr><td id="L6727" class="css-a4x74f"><span>6727</span></td><td id="LC6727" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6728" class="css-a4x74f"><span>6728</span></td><td id="LC6728" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code < <span class="code-number">128</span> && NAME_CHAR[code] === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L6729" class="css-a4x74f"><span>6729</span></td><td id="LC6729" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> readKeywordOrFunction(tokenizer); </code></td></tr><tr><td id="L6730" class="css-a4x74f"><span>6730</span></td><td id="LC6730" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6731" class="css-a4x74f"><span>6731</span></td><td id="LC6731" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6732" class="css-a4x74f"><span>6732</span></td><td id="LC6732" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (code) { </code></td></tr><tr><td id="L6733" class="css-a4x74f"><span>6733</span></td><td id="LC6733" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> RIGHTSQUAREBRACKET: </code></td></tr><tr><td id="L6734" class="css-a4x74f"><span>6734</span></td><td id="LC6734" class="css-1dcdqdg"><code> <span class="code-comment">// don't eat, stop scan a group</span> </code></td></tr><tr><td id="L6735" class="css-a4x74f"><span>6735</span></td><td id="LC6735" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6736" class="css-a4x74f"><span>6736</span></td><td id="LC6736" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6737" class="css-a4x74f"><span>6737</span></td><td id="LC6737" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTSQUAREBRACKET: </code></td></tr><tr><td id="L6738" class="css-a4x74f"><span>6738</span></td><td id="LC6738" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeMultiplied(tokenizer, readGroup(tokenizer)); </code></td></tr><tr><td id="L6739" class="css-a4x74f"><span>6739</span></td><td id="LC6739" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6740" class="css-a4x74f"><span>6740</span></td><td id="LC6740" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LESSTHANSIGN: </code></td></tr><tr><td id="L6741" class="css-a4x74f"><span>6741</span></td><td id="LC6741" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenizer.nextCharCode() === APOSTROPHE </code></td></tr><tr><td id="L6742" class="css-a4x74f"><span>6742</span></td><td id="LC6742" class="css-1dcdqdg"><code> ? readProperty(tokenizer) </code></td></tr><tr><td id="L6743" class="css-a4x74f"><span>6743</span></td><td id="LC6743" class="css-1dcdqdg"><code> : readType(tokenizer); </code></td></tr><tr><td id="L6744" class="css-a4x74f"><span>6744</span></td><td id="LC6744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6745" class="css-a4x74f"><span>6745</span></td><td id="LC6745" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> VERTICALLINE: </code></td></tr><tr><td id="L6746" class="css-a4x74f"><span>6746</span></td><td id="LC6746" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6747" class="css-a4x74f"><span>6747</span></td><td id="LC6747" class="css-1dcdqdg"><code> type: <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L6748" class="css-a4x74f"><span>6748</span></td><td id="LC6748" class="css-1dcdqdg"><code> value: tokenizer.substringToPos( </code></td></tr><tr><td id="L6749" class="css-a4x74f"><span>6749</span></td><td id="LC6749" class="css-1dcdqdg"><code> tokenizer.nextCharCode() === VERTICALLINE </code></td></tr><tr><td id="L6750" class="css-a4x74f"><span>6750</span></td><td id="LC6750" class="css-1dcdqdg"><code> ? tokenizer.pos + <span class="code-number">2</span> </code></td></tr><tr><td id="L6751" class="css-a4x74f"><span>6751</span></td><td id="LC6751" class="css-1dcdqdg"><code> : tokenizer.pos + <span class="code-number">1</span> </code></td></tr><tr><td id="L6752" class="css-a4x74f"><span>6752</span></td><td id="LC6752" class="css-1dcdqdg"><code> ) </code></td></tr><tr><td id="L6753" class="css-a4x74f"><span>6753</span></td><td id="LC6753" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6754" class="css-a4x74f"><span>6754</span></td><td id="LC6754" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6755" class="css-a4x74f"><span>6755</span></td><td id="LC6755" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> AMPERSAND: </code></td></tr><tr><td id="L6756" class="css-a4x74f"><span>6756</span></td><td id="LC6756" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6757" class="css-a4x74f"><span>6757</span></td><td id="LC6757" class="css-1dcdqdg"><code> tokenizer.eat(AMPERSAND); </code></td></tr><tr><td id="L6758" class="css-a4x74f"><span>6758</span></td><td id="LC6758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6759" class="css-a4x74f"><span>6759</span></td><td id="LC6759" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6760" class="css-a4x74f"><span>6760</span></td><td id="LC6760" class="css-1dcdqdg"><code> type: <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L6761" class="css-a4x74f"><span>6761</span></td><td id="LC6761" class="css-1dcdqdg"><code> value: <span class="code-string">'&&'</span> </code></td></tr><tr><td id="L6762" class="css-a4x74f"><span>6762</span></td><td id="LC6762" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6763" class="css-a4x74f"><span>6763</span></td><td id="LC6763" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6764" class="css-a4x74f"><span>6764</span></td><td id="LC6764" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMA: </code></td></tr><tr><td id="L6765" class="css-a4x74f"><span>6765</span></td><td id="LC6765" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6766" class="css-a4x74f"><span>6766</span></td><td id="LC6766" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6767" class="css-a4x74f"><span>6767</span></td><td id="LC6767" class="css-1dcdqdg"><code> type: <span class="code-string">'Comma'</span> </code></td></tr><tr><td id="L6768" class="css-a4x74f"><span>6768</span></td><td id="LC6768" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6769" class="css-a4x74f"><span>6769</span></td><td id="LC6769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6770" class="css-a4x74f"><span>6770</span></td><td id="LC6770" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> APOSTROPHE: </code></td></tr><tr><td id="L6771" class="css-a4x74f"><span>6771</span></td><td id="LC6771" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeMultiplied(tokenizer, { </code></td></tr><tr><td id="L6772" class="css-a4x74f"><span>6772</span></td><td id="LC6772" class="css-1dcdqdg"><code> type: <span class="code-string">'String'</span>, </code></td></tr><tr><td id="L6773" class="css-a4x74f"><span>6773</span></td><td id="LC6773" class="css-1dcdqdg"><code> value: scanString(tokenizer) </code></td></tr><tr><td id="L6774" class="css-a4x74f"><span>6774</span></td><td id="LC6774" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6775" class="css-a4x74f"><span>6775</span></td><td id="LC6775" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6776" class="css-a4x74f"><span>6776</span></td><td id="LC6776" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SPACE$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6777" class="css-a4x74f"><span>6777</span></td><td id="LC6777" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TAB$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6778" class="css-a4x74f"><span>6778</span></td><td id="LC6778" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> N$<span class="code-number">2</span>: </code></td></tr><tr><td id="L6779" class="css-a4x74f"><span>6779</span></td><td id="LC6779" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> R$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6780" class="css-a4x74f"><span>6780</span></td><td id="LC6780" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> F$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6781" class="css-a4x74f"><span>6781</span></td><td id="LC6781" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6782" class="css-a4x74f"><span>6782</span></td><td id="LC6782" class="css-1dcdqdg"><code> type: <span class="code-string">'Spaces'</span>, </code></td></tr><tr><td id="L6783" class="css-a4x74f"><span>6783</span></td><td id="LC6783" class="css-1dcdqdg"><code> value: scanSpaces(tokenizer) </code></td></tr><tr><td id="L6784" class="css-a4x74f"><span>6784</span></td><td id="LC6784" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6785" class="css-a4x74f"><span>6785</span></td><td id="LC6785" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6786" class="css-a4x74f"><span>6786</span></td><td id="LC6786" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMERCIALAT: </code></td></tr><tr><td id="L6787" class="css-a4x74f"><span>6787</span></td><td id="LC6787" class="css-1dcdqdg"><code> code = tokenizer.nextCharCode(); </code></td></tr><tr><td id="L6788" class="css-a4x74f"><span>6788</span></td><td id="LC6788" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6789" class="css-a4x74f"><span>6789</span></td><td id="LC6789" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code < <span class="code-number">128</span> && NAME_CHAR[code] === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L6790" class="css-a4x74f"><span>6790</span></td><td id="LC6790" class="css-1dcdqdg"><code> tokenizer.pos++; </code></td></tr><tr><td id="L6791" class="css-a4x74f"><span>6791</span></td><td id="LC6791" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6792" class="css-a4x74f"><span>6792</span></td><td id="LC6792" class="css-1dcdqdg"><code> type: <span class="code-string">'AtKeyword'</span>, </code></td></tr><tr><td id="L6793" class="css-a4x74f"><span>6793</span></td><td id="LC6793" class="css-1dcdqdg"><code> name: scanWord(tokenizer) </code></td></tr><tr><td id="L6794" class="css-a4x74f"><span>6794</span></td><td id="LC6794" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6795" class="css-a4x74f"><span>6795</span></td><td id="LC6795" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6796" class="css-a4x74f"><span>6796</span></td><td id="LC6796" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6797" class="css-a4x74f"><span>6797</span></td><td id="LC6797" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeToken(tokenizer); </code></td></tr><tr><td id="L6798" class="css-a4x74f"><span>6798</span></td><td id="LC6798" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6799" class="css-a4x74f"><span>6799</span></td><td id="LC6799" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ASTERISK: </code></td></tr><tr><td id="L6800" class="css-a4x74f"><span>6800</span></td><td id="LC6800" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PLUSSIGN$<span class="code-number">2</span>: </code></td></tr><tr><td id="L6801" class="css-a4x74f"><span>6801</span></td><td id="LC6801" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> QUESTIONMARK$<span class="code-number">1</span>: </code></td></tr><tr><td id="L6802" class="css-a4x74f"><span>6802</span></td><td id="LC6802" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBERSIGN: </code></td></tr><tr><td id="L6803" class="css-a4x74f"><span>6803</span></td><td id="LC6803" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> EXCLAMATIONMARK: </code></td></tr><tr><td id="L6804" class="css-a4x74f"><span>6804</span></td><td id="LC6804" class="css-1dcdqdg"><code> <span class="code-comment">// prohibited tokens (used as a multiplier start)</span> </code></td></tr><tr><td id="L6805" class="css-a4x74f"><span>6805</span></td><td id="LC6805" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6806" class="css-a4x74f"><span>6806</span></td><td id="LC6806" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6807" class="css-a4x74f"><span>6807</span></td><td id="LC6807" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTCURLYBRACKET: </code></td></tr><tr><td id="L6808" class="css-a4x74f"><span>6808</span></td><td id="LC6808" class="css-1dcdqdg"><code> <span class="code-comment">// LEFTCURLYBRACKET is allowed since mdn/data uses it w/o quoting</span> </code></td></tr><tr><td id="L6809" class="css-a4x74f"><span>6809</span></td><td id="LC6809" class="css-1dcdqdg"><code> <span class="code-comment">// check next char isn't a number, because it's likely a disjoined multiplier</span> </code></td></tr><tr><td id="L6810" class="css-a4x74f"><span>6810</span></td><td id="LC6810" class="css-1dcdqdg"><code> code = tokenizer.nextCharCode(); </code></td></tr><tr><td id="L6811" class="css-a4x74f"><span>6811</span></td><td id="LC6811" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6812" class="css-a4x74f"><span>6812</span></td><td id="LC6812" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code < <span class="code-number">48</span> || code > <span class="code-number">57</span>) { </code></td></tr><tr><td id="L6813" class="css-a4x74f"><span>6813</span></td><td id="LC6813" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeToken(tokenizer); </code></td></tr><tr><td id="L6814" class="css-a4x74f"><span>6814</span></td><td id="LC6814" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6815" class="css-a4x74f"><span>6815</span></td><td id="LC6815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6816" class="css-a4x74f"><span>6816</span></td><td id="LC6816" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6817" class="css-a4x74f"><span>6817</span></td><td id="LC6817" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6818" class="css-a4x74f"><span>6818</span></td><td id="LC6818" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L6819" class="css-a4x74f"><span>6819</span></td><td id="LC6819" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> maybeToken(tokenizer); </code></td></tr><tr><td id="L6820" class="css-a4x74f"><span>6820</span></td><td id="LC6820" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6821" class="css-a4x74f"><span>6821</span></td><td id="LC6821" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6822" class="css-a4x74f"><span>6822</span></td><td id="LC6822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6823" class="css-a4x74f"><span>6823</span></td><td id="LC6823" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">parse</span>(<span class="code-params">source</span>) </span>{ </code></td></tr><tr><td id="L6824" class="css-a4x74f"><span>6824</span></td><td id="LC6824" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenizer = <span class="code-keyword">new</span> tokenizer$<span class="code-number">1</span>(source); </code></td></tr><tr><td id="L6825" class="css-a4x74f"><span>6825</span></td><td id="LC6825" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = readImplicitGroup(tokenizer); </code></td></tr><tr><td id="L6826" class="css-a4x74f"><span>6826</span></td><td id="LC6826" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6827" class="css-a4x74f"><span>6827</span></td><td id="LC6827" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenizer.pos !== source.length) { </code></td></tr><tr><td id="L6828" class="css-a4x74f"><span>6828</span></td><td id="LC6828" class="css-1dcdqdg"><code> tokenizer.error(<span class="code-string">'Unexpected input'</span>); </code></td></tr><tr><td id="L6829" class="css-a4x74f"><span>6829</span></td><td id="LC6829" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6830" class="css-a4x74f"><span>6830</span></td><td id="LC6830" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6831" class="css-a4x74f"><span>6831</span></td><td id="LC6831" class="css-1dcdqdg"><code> <span class="code-comment">// reduce redundant groups with single group term</span> </code></td></tr><tr><td id="L6832" class="css-a4x74f"><span>6832</span></td><td id="LC6832" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (result.terms.length === <span class="code-number">1</span> && result.terms[<span class="code-number">0</span>].type === <span class="code-string">'Group'</span>) { </code></td></tr><tr><td id="L6833" class="css-a4x74f"><span>6833</span></td><td id="LC6833" class="css-1dcdqdg"><code> result = result.terms[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L6834" class="css-a4x74f"><span>6834</span></td><td id="LC6834" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6835" class="css-a4x74f"><span>6835</span></td><td id="LC6835" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6836" class="css-a4x74f"><span>6836</span></td><td id="LC6836" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L6837" class="css-a4x74f"><span>6837</span></td><td id="LC6837" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6838" class="css-a4x74f"><span>6838</span></td><td id="LC6838" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6839" class="css-a4x74f"><span>6839</span></td><td id="LC6839" class="css-1dcdqdg"><code> <span class="code-comment">// warm up parse to elimitate code branches that never execute</span> </code></td></tr><tr><td id="L6840" class="css-a4x74f"><span>6840</span></td><td id="LC6840" class="css-1dcdqdg"><code> <span class="code-comment">// fix soft deoptimizations (insufficient type feedback)</span> </code></td></tr><tr><td id="L6841" class="css-a4x74f"><span>6841</span></td><td id="LC6841" class="css-1dcdqdg"><code> parse(<span class="code-string">'[a&&<b>#|<\'c\'>*||e() f{2} /,(% g#{1,2} h{2,})]!'</span>); </code></td></tr><tr><td id="L6842" class="css-a4x74f"><span>6842</span></td><td id="LC6842" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6843" class="css-a4x74f"><span>6843</span></td><td id="LC6843" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parse_1 = parse; </code></td></tr><tr><td id="L6844" class="css-a4x74f"><span>6844</span></td><td id="LC6844" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6845" class="css-a4x74f"><span>6845</span></td><td id="LC6845" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> noop$<span class="code-number">2</span> = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{}; </code></td></tr><tr><td id="L6846" class="css-a4x74f"><span>6846</span></td><td id="LC6846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6847" class="css-a4x74f"><span>6847</span></td><td id="LC6847" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ensureFunction</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L6848" class="css-a4x74f"><span>6848</span></td><td id="LC6848" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">typeof</span> value === <span class="code-string">'function'</span> ? value : noop$<span class="code-number">2</span>; </code></td></tr><tr><td id="L6849" class="css-a4x74f"><span>6849</span></td><td id="LC6849" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6850" class="css-a4x74f"><span>6850</span></td><td id="LC6850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6851" class="css-a4x74f"><span>6851</span></td><td id="LC6851" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walk$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, options, context</span>) </span>{ </code></td></tr><tr><td id="L6852" class="css-a4x74f"><span>6852</span></td><td id="LC6852" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">walk</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L6853" class="css-a4x74f"><span>6853</span></td><td id="LC6853" class="css-1dcdqdg"><code> enter.call(context, node); </code></td></tr><tr><td id="L6854" class="css-a4x74f"><span>6854</span></td><td id="LC6854" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6855" class="css-a4x74f"><span>6855</span></td><td id="LC6855" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L6856" class="css-a4x74f"><span>6856</span></td><td id="LC6856" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Group'</span>: </code></td></tr><tr><td id="L6857" class="css-a4x74f"><span>6857</span></td><td id="LC6857" class="css-1dcdqdg"><code> node.terms.forEach(walk); </code></td></tr><tr><td id="L6858" class="css-a4x74f"><span>6858</span></td><td id="LC6858" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6859" class="css-a4x74f"><span>6859</span></td><td id="LC6859" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6860" class="css-a4x74f"><span>6860</span></td><td id="LC6860" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Multiplier'</span>: </code></td></tr><tr><td id="L6861" class="css-a4x74f"><span>6861</span></td><td id="LC6861" class="css-1dcdqdg"><code> walk(node.term); </code></td></tr><tr><td id="L6862" class="css-a4x74f"><span>6862</span></td><td id="LC6862" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6863" class="css-a4x74f"><span>6863</span></td><td id="LC6863" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6864" class="css-a4x74f"><span>6864</span></td><td id="LC6864" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Type'</span>: </code></td></tr><tr><td id="L6865" class="css-a4x74f"><span>6865</span></td><td id="LC6865" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Property'</span>: </code></td></tr><tr><td id="L6866" class="css-a4x74f"><span>6866</span></td><td id="LC6866" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Keyword'</span>: </code></td></tr><tr><td id="L6867" class="css-a4x74f"><span>6867</span></td><td id="LC6867" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'AtKeyword'</span>: </code></td></tr><tr><td id="L6868" class="css-a4x74f"><span>6868</span></td><td id="LC6868" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Function'</span>: </code></td></tr><tr><td id="L6869" class="css-a4x74f"><span>6869</span></td><td id="LC6869" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'String'</span>: </code></td></tr><tr><td id="L6870" class="css-a4x74f"><span>6870</span></td><td id="LC6870" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Token'</span>: </code></td></tr><tr><td id="L6871" class="css-a4x74f"><span>6871</span></td><td id="LC6871" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Comma'</span>: </code></td></tr><tr><td id="L6872" class="css-a4x74f"><span>6872</span></td><td id="LC6872" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L6873" class="css-a4x74f"><span>6873</span></td><td id="LC6873" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6874" class="css-a4x74f"><span>6874</span></td><td id="LC6874" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L6875" class="css-a4x74f"><span>6875</span></td><td id="LC6875" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown type: '</span> + node.type); </code></td></tr><tr><td id="L6876" class="css-a4x74f"><span>6876</span></td><td id="LC6876" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6877" class="css-a4x74f"><span>6877</span></td><td id="LC6877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6878" class="css-a4x74f"><span>6878</span></td><td id="LC6878" class="css-1dcdqdg"><code> leave.call(context, node); </code></td></tr><tr><td id="L6879" class="css-a4x74f"><span>6879</span></td><td id="LC6879" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6880" class="css-a4x74f"><span>6880</span></td><td id="LC6880" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6881" class="css-a4x74f"><span>6881</span></td><td id="LC6881" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> enter = noop$<span class="code-number">2</span>; </code></td></tr><tr><td id="L6882" class="css-a4x74f"><span>6882</span></td><td id="LC6882" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> leave = noop$<span class="code-number">2</span>; </code></td></tr><tr><td id="L6883" class="css-a4x74f"><span>6883</span></td><td id="LC6883" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6884" class="css-a4x74f"><span>6884</span></td><td id="LC6884" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> options === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L6885" class="css-a4x74f"><span>6885</span></td><td id="LC6885" class="css-1dcdqdg"><code> enter = options; </code></td></tr><tr><td id="L6886" class="css-a4x74f"><span>6886</span></td><td id="LC6886" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (options) { </code></td></tr><tr><td id="L6887" class="css-a4x74f"><span>6887</span></td><td id="LC6887" class="css-1dcdqdg"><code> enter = ensureFunction(options.enter); </code></td></tr><tr><td id="L6888" class="css-a4x74f"><span>6888</span></td><td id="LC6888" class="css-1dcdqdg"><code> leave = ensureFunction(options.leave); </code></td></tr><tr><td id="L6889" class="css-a4x74f"><span>6889</span></td><td id="LC6889" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6890" class="css-a4x74f"><span>6890</span></td><td id="LC6890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6891" class="css-a4x74f"><span>6891</span></td><td id="LC6891" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (enter === noop$<span class="code-number">2</span> && leave === noop$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L6892" class="css-a4x74f"><span>6892</span></td><td id="LC6892" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Neither `enter` nor `leave` walker handler is set or both aren\'t a function'</span>); </code></td></tr><tr><td id="L6893" class="css-a4x74f"><span>6893</span></td><td id="LC6893" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6894" class="css-a4x74f"><span>6894</span></td><td id="LC6894" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6895" class="css-a4x74f"><span>6895</span></td><td id="LC6895" class="css-1dcdqdg"><code> walk(node); </code></td></tr><tr><td id="L6896" class="css-a4x74f"><span>6896</span></td><td id="LC6896" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6897" class="css-a4x74f"><span>6897</span></td><td id="LC6897" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6898" class="css-a4x74f"><span>6898</span></td><td id="LC6898" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenStream = <span class="code-keyword">new</span> TokenStream_1(); </code></td></tr><tr><td id="L6899" class="css-a4x74f"><span>6899</span></td><td id="LC6899" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> astToTokens = { </code></td></tr><tr><td id="L6900" class="css-a4x74f"><span>6900</span></td><td id="LC6900" class="css-1dcdqdg"><code> decorator: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">handlers</span>) </span>{ </code></td></tr><tr><td id="L6901" class="css-a4x74f"><span>6901</span></td><td id="LC6901" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> curNode = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6902" class="css-a4x74f"><span>6902</span></td><td id="LC6902" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prev = { <span class="code-attr">len</span>: <span class="code-number">0</span>, <span class="code-attr">node</span>: <span class="code-literal">null</span> }; </code></td></tr><tr><td id="L6903" class="css-a4x74f"><span>6903</span></td><td id="LC6903" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodes = [prev]; </code></td></tr><tr><td id="L6904" class="css-a4x74f"><span>6904</span></td><td id="LC6904" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> buffer = <span class="code-string">''</span>; </code></td></tr><tr><td id="L6905" class="css-a4x74f"><span>6905</span></td><td id="LC6905" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6906" class="css-a4x74f"><span>6906</span></td><td id="LC6906" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6907" class="css-a4x74f"><span>6907</span></td><td id="LC6907" class="css-1dcdqdg"><code> children: handlers.children, </code></td></tr><tr><td id="L6908" class="css-a4x74f"><span>6908</span></td><td id="LC6908" class="css-1dcdqdg"><code> node: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L6909" class="css-a4x74f"><span>6909</span></td><td id="LC6909" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tmp = curNode; </code></td></tr><tr><td id="L6910" class="css-a4x74f"><span>6910</span></td><td id="LC6910" class="css-1dcdqdg"><code> curNode = node; </code></td></tr><tr><td id="L6911" class="css-a4x74f"><span>6911</span></td><td id="LC6911" class="css-1dcdqdg"><code> handlers.node.call(<span class="code-keyword">this</span>, node); </code></td></tr><tr><td id="L6912" class="css-a4x74f"><span>6912</span></td><td id="LC6912" class="css-1dcdqdg"><code> curNode = tmp; </code></td></tr><tr><td id="L6913" class="css-a4x74f"><span>6913</span></td><td id="LC6913" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6914" class="css-a4x74f"><span>6914</span></td><td id="LC6914" class="css-1dcdqdg"><code> chunk: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">chunk</span>) </span>{ </code></td></tr><tr><td id="L6915" class="css-a4x74f"><span>6915</span></td><td id="LC6915" class="css-1dcdqdg"><code> buffer += chunk; </code></td></tr><tr><td id="L6916" class="css-a4x74f"><span>6916</span></td><td id="LC6916" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prev.node !== curNode) { </code></td></tr><tr><td id="L6917" class="css-a4x74f"><span>6917</span></td><td id="LC6917" class="css-1dcdqdg"><code> nodes.push({ </code></td></tr><tr><td id="L6918" class="css-a4x74f"><span>6918</span></td><td id="LC6918" class="css-1dcdqdg"><code> len: chunk.length, </code></td></tr><tr><td id="L6919" class="css-a4x74f"><span>6919</span></td><td id="LC6919" class="css-1dcdqdg"><code> node: curNode </code></td></tr><tr><td id="L6920" class="css-a4x74f"><span>6920</span></td><td id="LC6920" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6921" class="css-a4x74f"><span>6921</span></td><td id="LC6921" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L6922" class="css-a4x74f"><span>6922</span></td><td id="LC6922" class="css-1dcdqdg"><code> prev.len += chunk.length; </code></td></tr><tr><td id="L6923" class="css-a4x74f"><span>6923</span></td><td id="LC6923" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6924" class="css-a4x74f"><span>6924</span></td><td id="LC6924" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L6925" class="css-a4x74f"><span>6925</span></td><td id="LC6925" class="css-1dcdqdg"><code> result: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L6926" class="css-a4x74f"><span>6926</span></td><td id="LC6926" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> prepareTokens(buffer, nodes); </code></td></tr><tr><td id="L6927" class="css-a4x74f"><span>6927</span></td><td id="LC6927" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6928" class="css-a4x74f"><span>6928</span></td><td id="LC6928" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6929" class="css-a4x74f"><span>6929</span></td><td id="LC6929" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6930" class="css-a4x74f"><span>6930</span></td><td id="LC6930" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6931" class="css-a4x74f"><span>6931</span></td><td id="LC6931" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6932" class="css-a4x74f"><span>6932</span></td><td id="LC6932" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">prepareTokens</span>(<span class="code-params">str, nodes</span>) </span>{ </code></td></tr><tr><td id="L6933" class="css-a4x74f"><span>6933</span></td><td id="LC6933" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokens = []; </code></td></tr><tr><td id="L6934" class="css-a4x74f"><span>6934</span></td><td id="LC6934" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodesOffset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L6935" class="css-a4x74f"><span>6935</span></td><td id="LC6935" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodesIndex = <span class="code-number">0</span>; </code></td></tr><tr><td id="L6936" class="css-a4x74f"><span>6936</span></td><td id="LC6936" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> currentNode = nodes ? nodes[nodesIndex].node : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L6937" class="css-a4x74f"><span>6937</span></td><td id="LC6937" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6938" class="css-a4x74f"><span>6938</span></td><td id="LC6938" class="css-1dcdqdg"><code> tokenizer(str, tokenStream); </code></td></tr><tr><td id="L6939" class="css-a4x74f"><span>6939</span></td><td id="LC6939" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6940" class="css-a4x74f"><span>6940</span></td><td id="LC6940" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!tokenStream.eof) { </code></td></tr><tr><td id="L6941" class="css-a4x74f"><span>6941</span></td><td id="LC6941" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nodes) { </code></td></tr><tr><td id="L6942" class="css-a4x74f"><span>6942</span></td><td id="LC6942" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (nodesIndex < nodes.length && nodesOffset + nodes[nodesIndex].len <= tokenStream.tokenStart) { </code></td></tr><tr><td id="L6943" class="css-a4x74f"><span>6943</span></td><td id="LC6943" class="css-1dcdqdg"><code> nodesOffset += nodes[nodesIndex++].len; </code></td></tr><tr><td id="L6944" class="css-a4x74f"><span>6944</span></td><td id="LC6944" class="css-1dcdqdg"><code> currentNode = nodes[nodesIndex].node; </code></td></tr><tr><td id="L6945" class="css-a4x74f"><span>6945</span></td><td id="LC6945" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6946" class="css-a4x74f"><span>6946</span></td><td id="LC6946" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6947" class="css-a4x74f"><span>6947</span></td><td id="LC6947" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6948" class="css-a4x74f"><span>6948</span></td><td id="LC6948" class="css-1dcdqdg"><code> tokens.push({ </code></td></tr><tr><td id="L6949" class="css-a4x74f"><span>6949</span></td><td id="LC6949" class="css-1dcdqdg"><code> type: tokenStream.tokenType, </code></td></tr><tr><td id="L6950" class="css-a4x74f"><span>6950</span></td><td id="LC6950" class="css-1dcdqdg"><code> value: tokenStream.getTokenValue(), </code></td></tr><tr><td id="L6951" class="css-a4x74f"><span>6951</span></td><td id="LC6951" class="css-1dcdqdg"><code> index: tokenStream.tokenIndex, <span class="code-comment">// <span class="code-doctag">TODO:</span> remove it, temporary solution</span> </code></td></tr><tr><td id="L6952" class="css-a4x74f"><span>6952</span></td><td id="LC6952" class="css-1dcdqdg"><code> balance: tokenStream.balance[tokenStream.tokenIndex], <span class="code-comment">// <span class="code-doctag">TODO:</span> remove it, temporary solution</span> </code></td></tr><tr><td id="L6953" class="css-a4x74f"><span>6953</span></td><td id="LC6953" class="css-1dcdqdg"><code> node: currentNode </code></td></tr><tr><td id="L6954" class="css-a4x74f"><span>6954</span></td><td id="LC6954" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L6955" class="css-a4x74f"><span>6955</span></td><td id="LC6955" class="css-1dcdqdg"><code> tokenStream.next(); </code></td></tr><tr><td id="L6956" class="css-a4x74f"><span>6956</span></td><td id="LC6956" class="css-1dcdqdg"><code> <span class="code-comment">// console.log({ ...tokens[tokens.length - 1], node: undefined });</span> </code></td></tr><tr><td id="L6957" class="css-a4x74f"><span>6957</span></td><td id="LC6957" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6958" class="css-a4x74f"><span>6958</span></td><td id="LC6958" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6959" class="css-a4x74f"><span>6959</span></td><td id="LC6959" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokens; </code></td></tr><tr><td id="L6960" class="css-a4x74f"><span>6960</span></td><td id="LC6960" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6961" class="css-a4x74f"><span>6961</span></td><td id="LC6961" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6962" class="css-a4x74f"><span>6962</span></td><td id="LC6962" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prepareTokens_1 = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">value, syntax</span>) </span>{ </code></td></tr><tr><td id="L6963" class="css-a4x74f"><span>6963</span></td><td id="LC6963" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> value === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L6964" class="css-a4x74f"><span>6964</span></td><td id="LC6964" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> prepareTokens(value, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L6965" class="css-a4x74f"><span>6965</span></td><td id="LC6965" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6966" class="css-a4x74f"><span>6966</span></td><td id="LC6966" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6967" class="css-a4x74f"><span>6967</span></td><td id="LC6967" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> syntax.generate(value, astToTokens); </code></td></tr><tr><td id="L6968" class="css-a4x74f"><span>6968</span></td><td id="LC6968" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6969" class="css-a4x74f"><span>6969</span></td><td id="LC6969" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6970" class="css-a4x74f"><span>6970</span></td><td id="LC6970" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MATCH = { <span class="code-attr">type</span>: <span class="code-string">'Match'</span> }; </code></td></tr><tr><td id="L6971" class="css-a4x74f"><span>6971</span></td><td id="LC6971" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MISMATCH = { <span class="code-attr">type</span>: <span class="code-string">'Mismatch'</span> }; </code></td></tr><tr><td id="L6972" class="css-a4x74f"><span>6972</span></td><td id="LC6972" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DISALLOW_EMPTY = { <span class="code-attr">type</span>: <span class="code-string">'DisallowEmpty'</span> }; </code></td></tr><tr><td id="L6973" class="css-a4x74f"><span>6973</span></td><td id="LC6973" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">1</span> = <span class="code-number">40</span>; <span class="code-comment">// (</span> </code></td></tr><tr><td id="L6974" class="css-a4x74f"><span>6974</span></td><td id="LC6974" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">1</span> = <span class="code-number">41</span>; <span class="code-comment">// )</span> </code></td></tr><tr><td id="L6975" class="css-a4x74f"><span>6975</span></td><td id="LC6975" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6976" class="css-a4x74f"><span>6976</span></td><td id="LC6976" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createCondition</span>(<span class="code-params">match, thenBranch, elseBranch</span>) </span>{ </code></td></tr><tr><td id="L6977" class="css-a4x74f"><span>6977</span></td><td id="LC6977" class="css-1dcdqdg"><code> <span class="code-comment">// reduce node count</span> </code></td></tr><tr><td id="L6978" class="css-a4x74f"><span>6978</span></td><td id="LC6978" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (thenBranch === MATCH && elseBranch === MISMATCH) { </code></td></tr><tr><td id="L6979" class="css-a4x74f"><span>6979</span></td><td id="LC6979" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> match; </code></td></tr><tr><td id="L6980" class="css-a4x74f"><span>6980</span></td><td id="LC6980" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6981" class="css-a4x74f"><span>6981</span></td><td id="LC6981" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6982" class="css-a4x74f"><span>6982</span></td><td id="LC6982" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) { </code></td></tr><tr><td id="L6983" class="css-a4x74f"><span>6983</span></td><td id="LC6983" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> match; </code></td></tr><tr><td id="L6984" class="css-a4x74f"><span>6984</span></td><td id="LC6984" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6985" class="css-a4x74f"><span>6985</span></td><td id="LC6985" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6986" class="css-a4x74f"><span>6986</span></td><td id="LC6986" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (match.type === <span class="code-string">'If'</span> && match.else === MISMATCH && thenBranch === MATCH) { </code></td></tr><tr><td id="L6987" class="css-a4x74f"><span>6987</span></td><td id="LC6987" class="css-1dcdqdg"><code> thenBranch = match.then; </code></td></tr><tr><td id="L6988" class="css-a4x74f"><span>6988</span></td><td id="LC6988" class="css-1dcdqdg"><code> match = match.match; </code></td></tr><tr><td id="L6989" class="css-a4x74f"><span>6989</span></td><td id="LC6989" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6990" class="css-a4x74f"><span>6990</span></td><td id="LC6990" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6991" class="css-a4x74f"><span>6991</span></td><td id="LC6991" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L6992" class="css-a4x74f"><span>6992</span></td><td id="LC6992" class="css-1dcdqdg"><code> type: <span class="code-string">'If'</span>, </code></td></tr><tr><td id="L6993" class="css-a4x74f"><span>6993</span></td><td id="LC6993" class="css-1dcdqdg"><code> match: match, </code></td></tr><tr><td id="L6994" class="css-a4x74f"><span>6994</span></td><td id="LC6994" class="css-1dcdqdg"><code> then: thenBranch, </code></td></tr><tr><td id="L6995" class="css-a4x74f"><span>6995</span></td><td id="LC6995" class="css-1dcdqdg"><code> <span class="code-keyword">else</span>: elseBranch </code></td></tr><tr><td id="L6996" class="css-a4x74f"><span>6996</span></td><td id="LC6996" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L6997" class="css-a4x74f"><span>6997</span></td><td id="LC6997" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L6998" class="css-a4x74f"><span>6998</span></td><td id="LC6998" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L6999" class="css-a4x74f"><span>6999</span></td><td id="LC6999" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isFunctionType</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L7000" class="css-a4x74f"><span>7000</span></td><td id="LC7000" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L7001" class="css-a4x74f"><span>7001</span></td><td id="LC7001" class="css-1dcdqdg"><code> name.length > <span class="code-number">2</span> && </code></td></tr><tr><td id="L7002" class="css-a4x74f"><span>7002</span></td><td id="LC7002" class="css-1dcdqdg"><code> name.charCodeAt(name.length - <span class="code-number">2</span>) === LEFTPARENTHESIS$<span class="code-number">1</span> && </code></td></tr><tr><td id="L7003" class="css-a4x74f"><span>7003</span></td><td id="LC7003" class="css-1dcdqdg"><code> name.charCodeAt(name.length - <span class="code-number">1</span>) === RIGHTPARENTHESIS$<span class="code-number">1</span> </code></td></tr><tr><td id="L7004" class="css-a4x74f"><span>7004</span></td><td id="LC7004" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7005" class="css-a4x74f"><span>7005</span></td><td id="LC7005" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7006" class="css-a4x74f"><span>7006</span></td><td id="LC7006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7007" class="css-a4x74f"><span>7007</span></td><td id="LC7007" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isEnumCapatible</span>(<span class="code-params">term</span>) </span>{ </code></td></tr><tr><td id="L7008" class="css-a4x74f"><span>7008</span></td><td id="LC7008" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L7009" class="css-a4x74f"><span>7009</span></td><td id="LC7009" class="css-1dcdqdg"><code> term.type === <span class="code-string">'Keyword'</span> || </code></td></tr><tr><td id="L7010" class="css-a4x74f"><span>7010</span></td><td id="LC7010" class="css-1dcdqdg"><code> term.type === <span class="code-string">'AtKeyword'</span> || </code></td></tr><tr><td id="L7011" class="css-a4x74f"><span>7011</span></td><td id="LC7011" class="css-1dcdqdg"><code> term.type === <span class="code-string">'Function'</span> || </code></td></tr><tr><td id="L7012" class="css-a4x74f"><span>7012</span></td><td id="LC7012" class="css-1dcdqdg"><code> term.type === <span class="code-string">'Type'</span> && isFunctionType(term.name) </code></td></tr><tr><td id="L7013" class="css-a4x74f"><span>7013</span></td><td id="LC7013" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7014" class="css-a4x74f"><span>7014</span></td><td id="LC7014" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7015" class="css-a4x74f"><span>7015</span></td><td id="LC7015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7016" class="css-a4x74f"><span>7016</span></td><td id="LC7016" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">buildGroupMatchGraph</span>(<span class="code-params">combinator, terms, atLeastOneTermMatched</span>) </span>{ </code></td></tr><tr><td id="L7017" class="css-a4x74f"><span>7017</span></td><td id="LC7017" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (combinator) { </code></td></tr><tr><td id="L7018" class="css-a4x74f"><span>7018</span></td><td id="LC7018" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">' '</span>: </code></td></tr><tr><td id="L7019" class="css-a4x74f"><span>7019</span></td><td id="LC7019" class="css-1dcdqdg"><code> <span class="code-comment">// Juxtaposing components means that all of them must occur, in the given order.</span> </code></td></tr><tr><td id="L7020" class="css-a4x74f"><span>7020</span></td><td id="LC7020" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7021" class="css-a4x74f"><span>7021</span></td><td id="LC7021" class="css-1dcdqdg"><code> <span class="code-comment">// a b c</span> </code></td></tr><tr><td id="L7022" class="css-a4x74f"><span>7022</span></td><td id="LC7022" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7023" class="css-a4x74f"><span>7023</span></td><td id="LC7023" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7024" class="css-a4x74f"><span>7024</span></td><td id="LC7024" class="css-1dcdqdg"><code> <span class="code-comment">// then match b</span> </code></td></tr><tr><td id="L7025" class="css-a4x74f"><span>7025</span></td><td id="LC7025" class="css-1dcdqdg"><code> <span class="code-comment">// then match c</span> </code></td></tr><tr><td id="L7026" class="css-a4x74f"><span>7026</span></td><td id="LC7026" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7027" class="css-a4x74f"><span>7027</span></td><td id="LC7027" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7028" class="css-a4x74f"><span>7028</span></td><td id="LC7028" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7029" class="css-a4x74f"><span>7029</span></td><td id="LC7029" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7030" class="css-a4x74f"><span>7030</span></td><td id="LC7030" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = MATCH; </code></td></tr><tr><td id="L7031" class="css-a4x74f"><span>7031</span></td><td id="LC7031" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7032" class="css-a4x74f"><span>7032</span></td><td id="LC7032" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = terms.length - <span class="code-number">1</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L7033" class="css-a4x74f"><span>7033</span></td><td id="LC7033" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> term = terms[i]; </code></td></tr><tr><td id="L7034" class="css-a4x74f"><span>7034</span></td><td id="LC7034" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7035" class="css-a4x74f"><span>7035</span></td><td id="LC7035" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7036" class="css-a4x74f"><span>7036</span></td><td id="LC7036" class="css-1dcdqdg"><code> term, </code></td></tr><tr><td id="L7037" class="css-a4x74f"><span>7037</span></td><td id="LC7037" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7038" class="css-a4x74f"><span>7038</span></td><td id="LC7038" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7039" class="css-a4x74f"><span>7039</span></td><td id="LC7039" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7040" class="css-a4x74f"><span>7040</span></td><td id="LC7040" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7041" class="css-a4x74f"><span>7041</span></td><td id="LC7041" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7042" class="css-a4x74f"><span>7042</span></td><td id="LC7042" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7043" class="css-a4x74f"><span>7043</span></td><td id="LC7043" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'|'</span>: </code></td></tr><tr><td id="L7044" class="css-a4x74f"><span>7044</span></td><td id="LC7044" class="css-1dcdqdg"><code> <span class="code-comment">// A bar (|) separates two or more alternatives: exactly one of them must occur.</span> </code></td></tr><tr><td id="L7045" class="css-a4x74f"><span>7045</span></td><td id="LC7045" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7046" class="css-a4x74f"><span>7046</span></td><td id="LC7046" class="css-1dcdqdg"><code> <span class="code-comment">// a | b | c</span> </code></td></tr><tr><td id="L7047" class="css-a4x74f"><span>7047</span></td><td id="LC7047" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7048" class="css-a4x74f"><span>7048</span></td><td id="LC7048" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7049" class="css-a4x74f"><span>7049</span></td><td id="LC7049" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7050" class="css-a4x74f"><span>7050</span></td><td id="LC7050" class="css-1dcdqdg"><code> <span class="code-comment">// else match b</span> </code></td></tr><tr><td id="L7051" class="css-a4x74f"><span>7051</span></td><td id="LC7051" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7052" class="css-a4x74f"><span>7052</span></td><td id="LC7052" class="css-1dcdqdg"><code> <span class="code-comment">// else match c</span> </code></td></tr><tr><td id="L7053" class="css-a4x74f"><span>7053</span></td><td id="LC7053" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7054" class="css-a4x74f"><span>7054</span></td><td id="LC7054" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7055" class="css-a4x74f"><span>7055</span></td><td id="LC7055" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7056" class="css-a4x74f"><span>7056</span></td><td id="LC7056" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = MISMATCH; </code></td></tr><tr><td id="L7057" class="css-a4x74f"><span>7057</span></td><td id="LC7057" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7058" class="css-a4x74f"><span>7058</span></td><td id="LC7058" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7059" class="css-a4x74f"><span>7059</span></td><td id="LC7059" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = terms.length - <span class="code-number">1</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L7060" class="css-a4x74f"><span>7060</span></td><td id="LC7060" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> term = terms[i]; </code></td></tr><tr><td id="L7061" class="css-a4x74f"><span>7061</span></td><td id="LC7061" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7062" class="css-a4x74f"><span>7062</span></td><td id="LC7062" class="css-1dcdqdg"><code> <span class="code-comment">// reduce sequence of keywords into a Enum</span> </code></td></tr><tr><td id="L7063" class="css-a4x74f"><span>7063</span></td><td id="LC7063" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isEnumCapatible(term)) { </code></td></tr><tr><td id="L7064" class="css-a4x74f"><span>7064</span></td><td id="LC7064" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (map === <span class="code-literal">null</span> && i > <span class="code-number">0</span> && isEnumCapatible(terms[i - <span class="code-number">1</span>])) { </code></td></tr><tr><td id="L7065" class="css-a4x74f"><span>7065</span></td><td id="LC7065" class="css-1dcdqdg"><code> map = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L7066" class="css-a4x74f"><span>7066</span></td><td id="LC7066" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7067" class="css-a4x74f"><span>7067</span></td><td id="LC7067" class="css-1dcdqdg"><code> { </code></td></tr><tr><td id="L7068" class="css-a4x74f"><span>7068</span></td><td id="LC7068" class="css-1dcdqdg"><code> type: <span class="code-string">'Enum'</span>, </code></td></tr><tr><td id="L7069" class="css-a4x74f"><span>7069</span></td><td id="LC7069" class="css-1dcdqdg"><code> map: map </code></td></tr><tr><td id="L7070" class="css-a4x74f"><span>7070</span></td><td id="LC7070" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L7071" class="css-a4x74f"><span>7071</span></td><td id="LC7071" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7072" class="css-a4x74f"><span>7072</span></td><td id="LC7072" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7073" class="css-a4x74f"><span>7073</span></td><td id="LC7073" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7074" class="css-a4x74f"><span>7074</span></td><td id="LC7074" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7075" class="css-a4x74f"><span>7075</span></td><td id="LC7075" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7076" class="css-a4x74f"><span>7076</span></td><td id="LC7076" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (map !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7077" class="css-a4x74f"><span>7077</span></td><td id="LC7077" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> key = (isFunctionType(term.name) ? term.name.slice(<span class="code-number">0</span>, <span class="code-number">-1</span>) : term.name).toLowerCase(); </code></td></tr><tr><td id="L7078" class="css-a4x74f"><span>7078</span></td><td id="LC7078" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (key <span class="code-keyword">in</span> map === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L7079" class="css-a4x74f"><span>7079</span></td><td id="LC7079" class="css-1dcdqdg"><code> map[key] = term; </code></td></tr><tr><td id="L7080" class="css-a4x74f"><span>7080</span></td><td id="LC7080" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L7081" class="css-a4x74f"><span>7081</span></td><td id="LC7081" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7082" class="css-a4x74f"><span>7082</span></td><td id="LC7082" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7083" class="css-a4x74f"><span>7083</span></td><td id="LC7083" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7084" class="css-a4x74f"><span>7084</span></td><td id="LC7084" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7085" class="css-a4x74f"><span>7085</span></td><td id="LC7085" class="css-1dcdqdg"><code> map = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7086" class="css-a4x74f"><span>7086</span></td><td id="LC7086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7087" class="css-a4x74f"><span>7087</span></td><td id="LC7087" class="css-1dcdqdg"><code> <span class="code-comment">// create a new conditonal node</span> </code></td></tr><tr><td id="L7088" class="css-a4x74f"><span>7088</span></td><td id="LC7088" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7089" class="css-a4x74f"><span>7089</span></td><td id="LC7089" class="css-1dcdqdg"><code> term, </code></td></tr><tr><td id="L7090" class="css-a4x74f"><span>7090</span></td><td id="LC7090" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7091" class="css-a4x74f"><span>7091</span></td><td id="LC7091" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7092" class="css-a4x74f"><span>7092</span></td><td id="LC7092" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7093" class="css-a4x74f"><span>7093</span></td><td id="LC7093" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7094" class="css-a4x74f"><span>7094</span></td><td id="LC7094" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7095" class="css-a4x74f"><span>7095</span></td><td id="LC7095" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7096" class="css-a4x74f"><span>7096</span></td><td id="LC7096" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'&&'</span>: </code></td></tr><tr><td id="L7097" class="css-a4x74f"><span>7097</span></td><td id="LC7097" class="css-1dcdqdg"><code> <span class="code-comment">// A double ampersand (&&) separates two or more components,</span> </code></td></tr><tr><td id="L7098" class="css-a4x74f"><span>7098</span></td><td id="LC7098" class="css-1dcdqdg"><code> <span class="code-comment">// all of which must occur, in any order.</span> </code></td></tr><tr><td id="L7099" class="css-a4x74f"><span>7099</span></td><td id="LC7099" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7100" class="css-a4x74f"><span>7100</span></td><td id="LC7100" class="css-1dcdqdg"><code> <span class="code-comment">// Use MatchOnce for groups with a large number of terms,</span> </code></td></tr><tr><td id="L7101" class="css-a4x74f"><span>7101</span></td><td id="LC7101" class="css-1dcdqdg"><code> <span class="code-comment">// since &&-groups produces at least N!-node trees</span> </code></td></tr><tr><td id="L7102" class="css-a4x74f"><span>7102</span></td><td id="LC7102" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (terms.length > <span class="code-number">5</span>) { </code></td></tr><tr><td id="L7103" class="css-a4x74f"><span>7103</span></td><td id="LC7103" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7104" class="css-a4x74f"><span>7104</span></td><td id="LC7104" class="css-1dcdqdg"><code> type: <span class="code-string">'MatchOnce'</span>, </code></td></tr><tr><td id="L7105" class="css-a4x74f"><span>7105</span></td><td id="LC7105" class="css-1dcdqdg"><code> terms: terms, </code></td></tr><tr><td id="L7106" class="css-a4x74f"><span>7106</span></td><td id="LC7106" class="css-1dcdqdg"><code> all: <span class="code-literal">true</span> </code></td></tr><tr><td id="L7107" class="css-a4x74f"><span>7107</span></td><td id="LC7107" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7108" class="css-a4x74f"><span>7108</span></td><td id="LC7108" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7109" class="css-a4x74f"><span>7109</span></td><td id="LC7109" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7110" class="css-a4x74f"><span>7110</span></td><td id="LC7110" class="css-1dcdqdg"><code> <span class="code-comment">// Use a combination tree for groups with small number of terms</span> </code></td></tr><tr><td id="L7111" class="css-a4x74f"><span>7111</span></td><td id="LC7111" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7112" class="css-a4x74f"><span>7112</span></td><td id="LC7112" class="css-1dcdqdg"><code> <span class="code-comment">// a && b && c</span> </code></td></tr><tr><td id="L7113" class="css-a4x74f"><span>7113</span></td><td id="LC7113" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7114" class="css-a4x74f"><span>7114</span></td><td id="LC7114" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7115" class="css-a4x74f"><span>7115</span></td><td id="LC7115" class="css-1dcdqdg"><code> <span class="code-comment">// then [b && c]</span> </code></td></tr><tr><td id="L7116" class="css-a4x74f"><span>7116</span></td><td id="LC7116" class="css-1dcdqdg"><code> <span class="code-comment">// else match b</span> </code></td></tr><tr><td id="L7117" class="css-a4x74f"><span>7117</span></td><td id="LC7117" class="css-1dcdqdg"><code> <span class="code-comment">// then [a && c]</span> </code></td></tr><tr><td id="L7118" class="css-a4x74f"><span>7118</span></td><td id="LC7118" class="css-1dcdqdg"><code> <span class="code-comment">// else match c</span> </code></td></tr><tr><td id="L7119" class="css-a4x74f"><span>7119</span></td><td id="LC7119" class="css-1dcdqdg"><code> <span class="code-comment">// then [a && b]</span> </code></td></tr><tr><td id="L7120" class="css-a4x74f"><span>7120</span></td><td id="LC7120" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7121" class="css-a4x74f"><span>7121</span></td><td id="LC7121" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7122" class="css-a4x74f"><span>7122</span></td><td id="LC7122" class="css-1dcdqdg"><code> <span class="code-comment">// a && b</span> </code></td></tr><tr><td id="L7123" class="css-a4x74f"><span>7123</span></td><td id="LC7123" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7124" class="css-a4x74f"><span>7124</span></td><td id="LC7124" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7125" class="css-a4x74f"><span>7125</span></td><td id="LC7125" class="css-1dcdqdg"><code> <span class="code-comment">// then match b</span> </code></td></tr><tr><td id="L7126" class="css-a4x74f"><span>7126</span></td><td id="LC7126" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7127" class="css-a4x74f"><span>7127</span></td><td id="LC7127" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7128" class="css-a4x74f"><span>7128</span></td><td id="LC7128" class="css-1dcdqdg"><code> <span class="code-comment">// else match b</span> </code></td></tr><tr><td id="L7129" class="css-a4x74f"><span>7129</span></td><td id="LC7129" class="css-1dcdqdg"><code> <span class="code-comment">// then match a</span> </code></td></tr><tr><td id="L7130" class="css-a4x74f"><span>7130</span></td><td id="LC7130" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7131" class="css-a4x74f"><span>7131</span></td><td id="LC7131" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7132" class="css-a4x74f"><span>7132</span></td><td id="LC7132" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7133" class="css-a4x74f"><span>7133</span></td><td id="LC7133" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = MISMATCH; </code></td></tr><tr><td id="L7134" class="css-a4x74f"><span>7134</span></td><td id="LC7134" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7135" class="css-a4x74f"><span>7135</span></td><td id="LC7135" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = terms.length - <span class="code-number">1</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L7136" class="css-a4x74f"><span>7136</span></td><td id="LC7136" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> term = terms[i]; </code></td></tr><tr><td id="L7137" class="css-a4x74f"><span>7137</span></td><td id="LC7137" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> thenClause; </code></td></tr><tr><td id="L7138" class="css-a4x74f"><span>7138</span></td><td id="LC7138" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7139" class="css-a4x74f"><span>7139</span></td><td id="LC7139" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (terms.length > <span class="code-number">1</span>) { </code></td></tr><tr><td id="L7140" class="css-a4x74f"><span>7140</span></td><td id="LC7140" class="css-1dcdqdg"><code> thenClause = buildGroupMatchGraph( </code></td></tr><tr><td id="L7141" class="css-a4x74f"><span>7141</span></td><td id="LC7141" class="css-1dcdqdg"><code> combinator, </code></td></tr><tr><td id="L7142" class="css-a4x74f"><span>7142</span></td><td id="LC7142" class="css-1dcdqdg"><code> terms.filter(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">newGroupTerm</span>) </span>{ </code></td></tr><tr><td id="L7143" class="css-a4x74f"><span>7143</span></td><td id="LC7143" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newGroupTerm !== term; </code></td></tr><tr><td id="L7144" class="css-a4x74f"><span>7144</span></td><td id="LC7144" class="css-1dcdqdg"><code> }), </code></td></tr><tr><td id="L7145" class="css-a4x74f"><span>7145</span></td><td id="LC7145" class="css-1dcdqdg"><code> <span class="code-literal">false</span> </code></td></tr><tr><td id="L7146" class="css-a4x74f"><span>7146</span></td><td id="LC7146" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7147" class="css-a4x74f"><span>7147</span></td><td id="LC7147" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7148" class="css-a4x74f"><span>7148</span></td><td id="LC7148" class="css-1dcdqdg"><code> thenClause = MATCH; </code></td></tr><tr><td id="L7149" class="css-a4x74f"><span>7149</span></td><td id="LC7149" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7150" class="css-a4x74f"><span>7150</span></td><td id="LC7150" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7151" class="css-a4x74f"><span>7151</span></td><td id="LC7151" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7152" class="css-a4x74f"><span>7152</span></td><td id="LC7152" class="css-1dcdqdg"><code> term, </code></td></tr><tr><td id="L7153" class="css-a4x74f"><span>7153</span></td><td id="LC7153" class="css-1dcdqdg"><code> thenClause, </code></td></tr><tr><td id="L7154" class="css-a4x74f"><span>7154</span></td><td id="LC7154" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7155" class="css-a4x74f"><span>7155</span></td><td id="LC7155" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7156" class="css-a4x74f"><span>7156</span></td><td id="LC7156" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7157" class="css-a4x74f"><span>7157</span></td><td id="LC7157" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7158" class="css-a4x74f"><span>7158</span></td><td id="LC7158" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7159" class="css-a4x74f"><span>7159</span></td><td id="LC7159" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'||'</span>: </code></td></tr><tr><td id="L7160" class="css-a4x74f"><span>7160</span></td><td id="LC7160" class="css-1dcdqdg"><code> <span class="code-comment">// A double bar (||) separates two or more options:</span> </code></td></tr><tr><td id="L7161" class="css-a4x74f"><span>7161</span></td><td id="LC7161" class="css-1dcdqdg"><code> <span class="code-comment">// one or more of them must occur, in any order.</span> </code></td></tr><tr><td id="L7162" class="css-a4x74f"><span>7162</span></td><td id="LC7162" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7163" class="css-a4x74f"><span>7163</span></td><td id="LC7163" class="css-1dcdqdg"><code> <span class="code-comment">// Use MatchOnce for groups with a large number of terms,</span> </code></td></tr><tr><td id="L7164" class="css-a4x74f"><span>7164</span></td><td id="LC7164" class="css-1dcdqdg"><code> <span class="code-comment">// since ||-groups produces at least N!-node trees</span> </code></td></tr><tr><td id="L7165" class="css-a4x74f"><span>7165</span></td><td id="LC7165" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (terms.length > <span class="code-number">5</span>) { </code></td></tr><tr><td id="L7166" class="css-a4x74f"><span>7166</span></td><td id="LC7166" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7167" class="css-a4x74f"><span>7167</span></td><td id="LC7167" class="css-1dcdqdg"><code> type: <span class="code-string">'MatchOnce'</span>, </code></td></tr><tr><td id="L7168" class="css-a4x74f"><span>7168</span></td><td id="LC7168" class="css-1dcdqdg"><code> terms: terms, </code></td></tr><tr><td id="L7169" class="css-a4x74f"><span>7169</span></td><td id="LC7169" class="css-1dcdqdg"><code> all: <span class="code-literal">false</span> </code></td></tr><tr><td id="L7170" class="css-a4x74f"><span>7170</span></td><td id="LC7170" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7171" class="css-a4x74f"><span>7171</span></td><td id="LC7171" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7172" class="css-a4x74f"><span>7172</span></td><td id="LC7172" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7173" class="css-a4x74f"><span>7173</span></td><td id="LC7173" class="css-1dcdqdg"><code> <span class="code-comment">// Use a combination tree for groups with small number of terms</span> </code></td></tr><tr><td id="L7174" class="css-a4x74f"><span>7174</span></td><td id="LC7174" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7175" class="css-a4x74f"><span>7175</span></td><td id="LC7175" class="css-1dcdqdg"><code> <span class="code-comment">// a || b || c</span> </code></td></tr><tr><td id="L7176" class="css-a4x74f"><span>7176</span></td><td id="LC7176" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7177" class="css-a4x74f"><span>7177</span></td><td id="LC7177" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7178" class="css-a4x74f"><span>7178</span></td><td id="LC7178" class="css-1dcdqdg"><code> <span class="code-comment">// then [b || c]</span> </code></td></tr><tr><td id="L7179" class="css-a4x74f"><span>7179</span></td><td id="LC7179" class="css-1dcdqdg"><code> <span class="code-comment">// else match b</span> </code></td></tr><tr><td id="L7180" class="css-a4x74f"><span>7180</span></td><td id="LC7180" class="css-1dcdqdg"><code> <span class="code-comment">// then [a || c]</span> </code></td></tr><tr><td id="L7181" class="css-a4x74f"><span>7181</span></td><td id="LC7181" class="css-1dcdqdg"><code> <span class="code-comment">// else match c</span> </code></td></tr><tr><td id="L7182" class="css-a4x74f"><span>7182</span></td><td id="LC7182" class="css-1dcdqdg"><code> <span class="code-comment">// then [a || b]</span> </code></td></tr><tr><td id="L7183" class="css-a4x74f"><span>7183</span></td><td id="LC7183" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7184" class="css-a4x74f"><span>7184</span></td><td id="LC7184" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L7185" class="css-a4x74f"><span>7185</span></td><td id="LC7185" class="css-1dcdqdg"><code> <span class="code-comment">// a || b</span> </code></td></tr><tr><td id="L7186" class="css-a4x74f"><span>7186</span></td><td id="LC7186" class="css-1dcdqdg"><code> <span class="code-comment">// =</span> </code></td></tr><tr><td id="L7187" class="css-a4x74f"><span>7187</span></td><td id="LC7187" class="css-1dcdqdg"><code> <span class="code-comment">// match a</span> </code></td></tr><tr><td id="L7188" class="css-a4x74f"><span>7188</span></td><td id="LC7188" class="css-1dcdqdg"><code> <span class="code-comment">// then match b</span> </code></td></tr><tr><td id="L7189" class="css-a4x74f"><span>7189</span></td><td id="LC7189" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7190" class="css-a4x74f"><span>7190</span></td><td id="LC7190" class="css-1dcdqdg"><code> <span class="code-comment">// else MATCH</span> </code></td></tr><tr><td id="L7191" class="css-a4x74f"><span>7191</span></td><td id="LC7191" class="css-1dcdqdg"><code> <span class="code-comment">// else match b</span> </code></td></tr><tr><td id="L7192" class="css-a4x74f"><span>7192</span></td><td id="LC7192" class="css-1dcdqdg"><code> <span class="code-comment">// then match a</span> </code></td></tr><tr><td id="L7193" class="css-a4x74f"><span>7193</span></td><td id="LC7193" class="css-1dcdqdg"><code> <span class="code-comment">// then MATCH</span> </code></td></tr><tr><td id="L7194" class="css-a4x74f"><span>7194</span></td><td id="LC7194" class="css-1dcdqdg"><code> <span class="code-comment">// else MATCH</span> </code></td></tr><tr><td id="L7195" class="css-a4x74f"><span>7195</span></td><td id="LC7195" class="css-1dcdqdg"><code> <span class="code-comment">// else MISMATCH</span> </code></td></tr><tr><td id="L7196" class="css-a4x74f"><span>7196</span></td><td id="LC7196" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = atLeastOneTermMatched ? MATCH : MISMATCH; </code></td></tr><tr><td id="L7197" class="css-a4x74f"><span>7197</span></td><td id="LC7197" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7198" class="css-a4x74f"><span>7198</span></td><td id="LC7198" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = terms.length - <span class="code-number">1</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L7199" class="css-a4x74f"><span>7199</span></td><td id="LC7199" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> term = terms[i]; </code></td></tr><tr><td id="L7200" class="css-a4x74f"><span>7200</span></td><td id="LC7200" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> thenClause; </code></td></tr><tr><td id="L7201" class="css-a4x74f"><span>7201</span></td><td id="LC7201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7202" class="css-a4x74f"><span>7202</span></td><td id="LC7202" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (terms.length > <span class="code-number">1</span>) { </code></td></tr><tr><td id="L7203" class="css-a4x74f"><span>7203</span></td><td id="LC7203" class="css-1dcdqdg"><code> thenClause = buildGroupMatchGraph( </code></td></tr><tr><td id="L7204" class="css-a4x74f"><span>7204</span></td><td id="LC7204" class="css-1dcdqdg"><code> combinator, </code></td></tr><tr><td id="L7205" class="css-a4x74f"><span>7205</span></td><td id="LC7205" class="css-1dcdqdg"><code> terms.filter(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">newGroupTerm</span>) </span>{ </code></td></tr><tr><td id="L7206" class="css-a4x74f"><span>7206</span></td><td id="LC7206" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> newGroupTerm !== term; </code></td></tr><tr><td id="L7207" class="css-a4x74f"><span>7207</span></td><td id="LC7207" class="css-1dcdqdg"><code> }), </code></td></tr><tr><td id="L7208" class="css-a4x74f"><span>7208</span></td><td id="LC7208" class="css-1dcdqdg"><code> <span class="code-literal">true</span> </code></td></tr><tr><td id="L7209" class="css-a4x74f"><span>7209</span></td><td id="LC7209" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7210" class="css-a4x74f"><span>7210</span></td><td id="LC7210" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7211" class="css-a4x74f"><span>7211</span></td><td id="LC7211" class="css-1dcdqdg"><code> thenClause = MATCH; </code></td></tr><tr><td id="L7212" class="css-a4x74f"><span>7212</span></td><td id="LC7212" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7213" class="css-a4x74f"><span>7213</span></td><td id="LC7213" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7214" class="css-a4x74f"><span>7214</span></td><td id="LC7214" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7215" class="css-a4x74f"><span>7215</span></td><td id="LC7215" class="css-1dcdqdg"><code> term, </code></td></tr><tr><td id="L7216" class="css-a4x74f"><span>7216</span></td><td id="LC7216" class="css-1dcdqdg"><code> thenClause, </code></td></tr><tr><td id="L7217" class="css-a4x74f"><span>7217</span></td><td id="LC7217" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7218" class="css-a4x74f"><span>7218</span></td><td id="LC7218" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7219" class="css-a4x74f"><span>7219</span></td><td id="LC7219" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7220" class="css-a4x74f"><span>7220</span></td><td id="LC7220" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7221" class="css-a4x74f"><span>7221</span></td><td id="LC7221" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7222" class="css-a4x74f"><span>7222</span></td><td id="LC7222" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7223" class="css-a4x74f"><span>7223</span></td><td id="LC7223" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7224" class="css-a4x74f"><span>7224</span></td><td id="LC7224" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">buildMultiplierMatchGraph</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L7225" class="css-a4x74f"><span>7225</span></td><td id="LC7225" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = MATCH; </code></td></tr><tr><td id="L7226" class="css-a4x74f"><span>7226</span></td><td id="LC7226" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchTerm = buildMatchGraph(node.term); </code></td></tr><tr><td id="L7227" class="css-a4x74f"><span>7227</span></td><td id="LC7227" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7228" class="css-a4x74f"><span>7228</span></td><td id="LC7228" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.max === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L7229" class="css-a4x74f"><span>7229</span></td><td id="LC7229" class="css-1dcdqdg"><code> <span class="code-comment">// disable repeating of empty match to prevent infinite loop</span> </code></td></tr><tr><td id="L7230" class="css-a4x74f"><span>7230</span></td><td id="LC7230" class="css-1dcdqdg"><code> matchTerm = createCondition( </code></td></tr><tr><td id="L7231" class="css-a4x74f"><span>7231</span></td><td id="LC7231" class="css-1dcdqdg"><code> matchTerm, </code></td></tr><tr><td id="L7232" class="css-a4x74f"><span>7232</span></td><td id="LC7232" class="css-1dcdqdg"><code> DISALLOW_EMPTY, </code></td></tr><tr><td id="L7233" class="css-a4x74f"><span>7233</span></td><td id="LC7233" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7234" class="css-a4x74f"><span>7234</span></td><td id="LC7234" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7235" class="css-a4x74f"><span>7235</span></td><td id="LC7235" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7236" class="css-a4x74f"><span>7236</span></td><td id="LC7236" class="css-1dcdqdg"><code> <span class="code-comment">// an occurrence count is not limited, make a cycle;</span> </code></td></tr><tr><td id="L7237" class="css-a4x74f"><span>7237</span></td><td id="LC7237" class="css-1dcdqdg"><code> <span class="code-comment">// to collect more terms on each following matching mismatch</span> </code></td></tr><tr><td id="L7238" class="css-a4x74f"><span>7238</span></td><td id="LC7238" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7239" class="css-a4x74f"><span>7239</span></td><td id="LC7239" class="css-1dcdqdg"><code> matchTerm, </code></td></tr><tr><td id="L7240" class="css-a4x74f"><span>7240</span></td><td id="LC7240" class="css-1dcdqdg"><code> <span class="code-literal">null</span>, <span class="code-comment">// will be a loop</span> </code></td></tr><tr><td id="L7241" class="css-a4x74f"><span>7241</span></td><td id="LC7241" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7242" class="css-a4x74f"><span>7242</span></td><td id="LC7242" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7243" class="css-a4x74f"><span>7243</span></td><td id="LC7243" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7244" class="css-a4x74f"><span>7244</span></td><td id="LC7244" class="css-1dcdqdg"><code> result.then = createCondition( </code></td></tr><tr><td id="L7245" class="css-a4x74f"><span>7245</span></td><td id="LC7245" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7246" class="css-a4x74f"><span>7246</span></td><td id="LC7246" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7247" class="css-a4x74f"><span>7247</span></td><td id="LC7247" class="css-1dcdqdg"><code> result <span class="code-comment">// make a loop</span> </code></td></tr><tr><td id="L7248" class="css-a4x74f"><span>7248</span></td><td id="LC7248" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7249" class="css-a4x74f"><span>7249</span></td><td id="LC7249" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7250" class="css-a4x74f"><span>7250</span></td><td id="LC7250" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.comma) { </code></td></tr><tr><td id="L7251" class="css-a4x74f"><span>7251</span></td><td id="LC7251" class="css-1dcdqdg"><code> result.then.else = createCondition( </code></td></tr><tr><td id="L7252" class="css-a4x74f"><span>7252</span></td><td id="LC7252" class="css-1dcdqdg"><code> { <span class="code-attr">type</span>: <span class="code-string">'Comma'</span>, <span class="code-attr">syntax</span>: node }, </code></td></tr><tr><td id="L7253" class="css-a4x74f"><span>7253</span></td><td id="LC7253" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7254" class="css-a4x74f"><span>7254</span></td><td id="LC7254" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7255" class="css-a4x74f"><span>7255</span></td><td id="LC7255" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7256" class="css-a4x74f"><span>7256</span></td><td id="LC7256" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7257" class="css-a4x74f"><span>7257</span></td><td id="LC7257" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7258" class="css-a4x74f"><span>7258</span></td><td id="LC7258" class="css-1dcdqdg"><code> <span class="code-comment">// create a match node chain for [min .. max] interval with optional matches</span> </code></td></tr><tr><td id="L7259" class="css-a4x74f"><span>7259</span></td><td id="LC7259" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = node.min || <span class="code-number">1</span>; i <= node.max; i++) { </code></td></tr><tr><td id="L7260" class="css-a4x74f"><span>7260</span></td><td id="LC7260" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.comma && result !== MATCH) { </code></td></tr><tr><td id="L7261" class="css-a4x74f"><span>7261</span></td><td id="LC7261" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7262" class="css-a4x74f"><span>7262</span></td><td id="LC7262" class="css-1dcdqdg"><code> { <span class="code-attr">type</span>: <span class="code-string">'Comma'</span>, <span class="code-attr">syntax</span>: node }, </code></td></tr><tr><td id="L7263" class="css-a4x74f"><span>7263</span></td><td id="LC7263" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7264" class="css-a4x74f"><span>7264</span></td><td id="LC7264" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7265" class="css-a4x74f"><span>7265</span></td><td id="LC7265" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7266" class="css-a4x74f"><span>7266</span></td><td id="LC7266" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7267" class="css-a4x74f"><span>7267</span></td><td id="LC7267" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7268" class="css-a4x74f"><span>7268</span></td><td id="LC7268" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7269" class="css-a4x74f"><span>7269</span></td><td id="LC7269" class="css-1dcdqdg"><code> matchTerm, </code></td></tr><tr><td id="L7270" class="css-a4x74f"><span>7270</span></td><td id="LC7270" class="css-1dcdqdg"><code> createCondition( </code></td></tr><tr><td id="L7271" class="css-a4x74f"><span>7271</span></td><td id="LC7271" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7272" class="css-a4x74f"><span>7272</span></td><td id="LC7272" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7273" class="css-a4x74f"><span>7273</span></td><td id="LC7273" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7274" class="css-a4x74f"><span>7274</span></td><td id="LC7274" class="css-1dcdqdg"><code> ), </code></td></tr><tr><td id="L7275" class="css-a4x74f"><span>7275</span></td><td id="LC7275" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7276" class="css-a4x74f"><span>7276</span></td><td id="LC7276" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7277" class="css-a4x74f"><span>7277</span></td><td id="LC7277" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7278" class="css-a4x74f"><span>7278</span></td><td id="LC7278" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7279" class="css-a4x74f"><span>7279</span></td><td id="LC7279" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7280" class="css-a4x74f"><span>7280</span></td><td id="LC7280" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.min === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L7281" class="css-a4x74f"><span>7281</span></td><td id="LC7281" class="css-1dcdqdg"><code> <span class="code-comment">// allow zero match</span> </code></td></tr><tr><td id="L7282" class="css-a4x74f"><span>7282</span></td><td id="LC7282" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7283" class="css-a4x74f"><span>7283</span></td><td id="LC7283" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7284" class="css-a4x74f"><span>7284</span></td><td id="LC7284" class="css-1dcdqdg"><code> MATCH, </code></td></tr><tr><td id="L7285" class="css-a4x74f"><span>7285</span></td><td id="LC7285" class="css-1dcdqdg"><code> result </code></td></tr><tr><td id="L7286" class="css-a4x74f"><span>7286</span></td><td id="LC7286" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7287" class="css-a4x74f"><span>7287</span></td><td id="LC7287" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7288" class="css-a4x74f"><span>7288</span></td><td id="LC7288" class="css-1dcdqdg"><code> <span class="code-comment">// create a match node chain to collect [0 ... min - 1] required matches</span> </code></td></tr><tr><td id="L7289" class="css-a4x74f"><span>7289</span></td><td id="LC7289" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < node.min - <span class="code-number">1</span>; i++) { </code></td></tr><tr><td id="L7290" class="css-a4x74f"><span>7290</span></td><td id="LC7290" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.comma && result !== MATCH) { </code></td></tr><tr><td id="L7291" class="css-a4x74f"><span>7291</span></td><td id="LC7291" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7292" class="css-a4x74f"><span>7292</span></td><td id="LC7292" class="css-1dcdqdg"><code> { <span class="code-attr">type</span>: <span class="code-string">'Comma'</span>, <span class="code-attr">syntax</span>: node }, </code></td></tr><tr><td id="L7293" class="css-a4x74f"><span>7293</span></td><td id="LC7293" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7294" class="css-a4x74f"><span>7294</span></td><td id="LC7294" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7295" class="css-a4x74f"><span>7295</span></td><td id="LC7295" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7296" class="css-a4x74f"><span>7296</span></td><td id="LC7296" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7297" class="css-a4x74f"><span>7297</span></td><td id="LC7297" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7298" class="css-a4x74f"><span>7298</span></td><td id="LC7298" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7299" class="css-a4x74f"><span>7299</span></td><td id="LC7299" class="css-1dcdqdg"><code> matchTerm, </code></td></tr><tr><td id="L7300" class="css-a4x74f"><span>7300</span></td><td id="LC7300" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7301" class="css-a4x74f"><span>7301</span></td><td id="LC7301" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7302" class="css-a4x74f"><span>7302</span></td><td id="LC7302" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7303" class="css-a4x74f"><span>7303</span></td><td id="LC7303" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7304" class="css-a4x74f"><span>7304</span></td><td id="LC7304" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7305" class="css-a4x74f"><span>7305</span></td><td id="LC7305" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7306" class="css-a4x74f"><span>7306</span></td><td id="LC7306" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7307" class="css-a4x74f"><span>7307</span></td><td id="LC7307" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7308" class="css-a4x74f"><span>7308</span></td><td id="LC7308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7309" class="css-a4x74f"><span>7309</span></td><td id="LC7309" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">buildMatchGraph</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L7310" class="css-a4x74f"><span>7310</span></td><td id="LC7310" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> node === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L7311" class="css-a4x74f"><span>7311</span></td><td id="LC7311" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7312" class="css-a4x74f"><span>7312</span></td><td id="LC7312" class="css-1dcdqdg"><code> type: <span class="code-string">'Generic'</span>, </code></td></tr><tr><td id="L7313" class="css-a4x74f"><span>7313</span></td><td id="LC7313" class="css-1dcdqdg"><code> fn: node </code></td></tr><tr><td id="L7314" class="css-a4x74f"><span>7314</span></td><td id="LC7314" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7315" class="css-a4x74f"><span>7315</span></td><td id="LC7315" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7316" class="css-a4x74f"><span>7316</span></td><td id="LC7316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7317" class="css-a4x74f"><span>7317</span></td><td id="LC7317" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L7318" class="css-a4x74f"><span>7318</span></td><td id="LC7318" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Group'</span>: </code></td></tr><tr><td id="L7319" class="css-a4x74f"><span>7319</span></td><td id="LC7319" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = buildGroupMatchGraph( </code></td></tr><tr><td id="L7320" class="css-a4x74f"><span>7320</span></td><td id="LC7320" class="css-1dcdqdg"><code> node.combinator, </code></td></tr><tr><td id="L7321" class="css-a4x74f"><span>7321</span></td><td id="LC7321" class="css-1dcdqdg"><code> node.terms.map(buildMatchGraph), </code></td></tr><tr><td id="L7322" class="css-a4x74f"><span>7322</span></td><td id="LC7322" class="css-1dcdqdg"><code> <span class="code-literal">false</span> </code></td></tr><tr><td id="L7323" class="css-a4x74f"><span>7323</span></td><td id="LC7323" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7324" class="css-a4x74f"><span>7324</span></td><td id="LC7324" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7325" class="css-a4x74f"><span>7325</span></td><td id="LC7325" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.disallowEmpty) { </code></td></tr><tr><td id="L7326" class="css-a4x74f"><span>7326</span></td><td id="LC7326" class="css-1dcdqdg"><code> result = createCondition( </code></td></tr><tr><td id="L7327" class="css-a4x74f"><span>7327</span></td><td id="LC7327" class="css-1dcdqdg"><code> result, </code></td></tr><tr><td id="L7328" class="css-a4x74f"><span>7328</span></td><td id="LC7328" class="css-1dcdqdg"><code> DISALLOW_EMPTY, </code></td></tr><tr><td id="L7329" class="css-a4x74f"><span>7329</span></td><td id="LC7329" class="css-1dcdqdg"><code> MISMATCH </code></td></tr><tr><td id="L7330" class="css-a4x74f"><span>7330</span></td><td id="LC7330" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7331" class="css-a4x74f"><span>7331</span></td><td id="LC7331" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7332" class="css-a4x74f"><span>7332</span></td><td id="LC7332" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7333" class="css-a4x74f"><span>7333</span></td><td id="LC7333" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L7334" class="css-a4x74f"><span>7334</span></td><td id="LC7334" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7335" class="css-a4x74f"><span>7335</span></td><td id="LC7335" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Multiplier'</span>: </code></td></tr><tr><td id="L7336" class="css-a4x74f"><span>7336</span></td><td id="LC7336" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMultiplierMatchGraph(node); </code></td></tr><tr><td id="L7337" class="css-a4x74f"><span>7337</span></td><td id="LC7337" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7338" class="css-a4x74f"><span>7338</span></td><td id="LC7338" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Type'</span>: </code></td></tr><tr><td id="L7339" class="css-a4x74f"><span>7339</span></td><td id="LC7339" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Property'</span>: </code></td></tr><tr><td id="L7340" class="css-a4x74f"><span>7340</span></td><td id="LC7340" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7341" class="css-a4x74f"><span>7341</span></td><td id="LC7341" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7342" class="css-a4x74f"><span>7342</span></td><td id="LC7342" class="css-1dcdqdg"><code> name: node.name, </code></td></tr><tr><td id="L7343" class="css-a4x74f"><span>7343</span></td><td id="LC7343" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7344" class="css-a4x74f"><span>7344</span></td><td id="LC7344" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7345" class="css-a4x74f"><span>7345</span></td><td id="LC7345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7346" class="css-a4x74f"><span>7346</span></td><td id="LC7346" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Keyword'</span>: </code></td></tr><tr><td id="L7347" class="css-a4x74f"><span>7347</span></td><td id="LC7347" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7348" class="css-a4x74f"><span>7348</span></td><td id="LC7348" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7349" class="css-a4x74f"><span>7349</span></td><td id="LC7349" class="css-1dcdqdg"><code> name: node.name.toLowerCase(), </code></td></tr><tr><td id="L7350" class="css-a4x74f"><span>7350</span></td><td id="LC7350" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7351" class="css-a4x74f"><span>7351</span></td><td id="LC7351" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7352" class="css-a4x74f"><span>7352</span></td><td id="LC7352" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7353" class="css-a4x74f"><span>7353</span></td><td id="LC7353" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'AtKeyword'</span>: </code></td></tr><tr><td id="L7354" class="css-a4x74f"><span>7354</span></td><td id="LC7354" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7355" class="css-a4x74f"><span>7355</span></td><td id="LC7355" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7356" class="css-a4x74f"><span>7356</span></td><td id="LC7356" class="css-1dcdqdg"><code> name: <span class="code-string">'@'</span> + node.name.toLowerCase(), </code></td></tr><tr><td id="L7357" class="css-a4x74f"><span>7357</span></td><td id="LC7357" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7358" class="css-a4x74f"><span>7358</span></td><td id="LC7358" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7359" class="css-a4x74f"><span>7359</span></td><td id="LC7359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7360" class="css-a4x74f"><span>7360</span></td><td id="LC7360" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Function'</span>: </code></td></tr><tr><td id="L7361" class="css-a4x74f"><span>7361</span></td><td id="LC7361" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7362" class="css-a4x74f"><span>7362</span></td><td id="LC7362" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7363" class="css-a4x74f"><span>7363</span></td><td id="LC7363" class="css-1dcdqdg"><code> name: node.name.toLowerCase() + <span class="code-string">'('</span>, </code></td></tr><tr><td id="L7364" class="css-a4x74f"><span>7364</span></td><td id="LC7364" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7365" class="css-a4x74f"><span>7365</span></td><td id="LC7365" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7366" class="css-a4x74f"><span>7366</span></td><td id="LC7366" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7367" class="css-a4x74f"><span>7367</span></td><td id="LC7367" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'String'</span>: </code></td></tr><tr><td id="L7368" class="css-a4x74f"><span>7368</span></td><td id="LC7368" class="css-1dcdqdg"><code> <span class="code-comment">// convert a one char length String to a Token</span> </code></td></tr><tr><td id="L7369" class="css-a4x74f"><span>7369</span></td><td id="LC7369" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value.length === <span class="code-number">3</span>) { </code></td></tr><tr><td id="L7370" class="css-a4x74f"><span>7370</span></td><td id="LC7370" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7371" class="css-a4x74f"><span>7371</span></td><td id="LC7371" class="css-1dcdqdg"><code> type: <span class="code-string">'Token'</span>, </code></td></tr><tr><td id="L7372" class="css-a4x74f"><span>7372</span></td><td id="LC7372" class="css-1dcdqdg"><code> value: node.value.charAt(<span class="code-number">1</span>), </code></td></tr><tr><td id="L7373" class="css-a4x74f"><span>7373</span></td><td id="LC7373" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7374" class="css-a4x74f"><span>7374</span></td><td id="LC7374" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7375" class="css-a4x74f"><span>7375</span></td><td id="LC7375" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7376" class="css-a4x74f"><span>7376</span></td><td id="LC7376" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7377" class="css-a4x74f"><span>7377</span></td><td id="LC7377" class="css-1dcdqdg"><code> <span class="code-comment">// otherwise use it as is</span> </code></td></tr><tr><td id="L7378" class="css-a4x74f"><span>7378</span></td><td id="LC7378" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7379" class="css-a4x74f"><span>7379</span></td><td id="LC7379" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7380" class="css-a4x74f"><span>7380</span></td><td id="LC7380" class="css-1dcdqdg"><code> value: node.value.substr(<span class="code-number">1</span>, node.value.length - <span class="code-number">2</span>).replace(<span class="code-regexp">/\\'/g</span>, <span class="code-string">'\''</span>), </code></td></tr><tr><td id="L7381" class="css-a4x74f"><span>7381</span></td><td id="LC7381" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7382" class="css-a4x74f"><span>7382</span></td><td id="LC7382" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7383" class="css-a4x74f"><span>7383</span></td><td id="LC7383" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7384" class="css-a4x74f"><span>7384</span></td><td id="LC7384" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Token'</span>: </code></td></tr><tr><td id="L7385" class="css-a4x74f"><span>7385</span></td><td id="LC7385" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7386" class="css-a4x74f"><span>7386</span></td><td id="LC7386" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7387" class="css-a4x74f"><span>7387</span></td><td id="LC7387" class="css-1dcdqdg"><code> value: node.value, </code></td></tr><tr><td id="L7388" class="css-a4x74f"><span>7388</span></td><td id="LC7388" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7389" class="css-a4x74f"><span>7389</span></td><td id="LC7389" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7390" class="css-a4x74f"><span>7390</span></td><td id="LC7390" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7391" class="css-a4x74f"><span>7391</span></td><td id="LC7391" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Comma'</span>: </code></td></tr><tr><td id="L7392" class="css-a4x74f"><span>7392</span></td><td id="LC7392" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7393" class="css-a4x74f"><span>7393</span></td><td id="LC7393" class="css-1dcdqdg"><code> type: node.type, </code></td></tr><tr><td id="L7394" class="css-a4x74f"><span>7394</span></td><td id="LC7394" class="css-1dcdqdg"><code> syntax: node </code></td></tr><tr><td id="L7395" class="css-a4x74f"><span>7395</span></td><td id="LC7395" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7396" class="css-a4x74f"><span>7396</span></td><td id="LC7396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7397" class="css-a4x74f"><span>7397</span></td><td id="LC7397" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L7398" class="css-a4x74f"><span>7398</span></td><td id="LC7398" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown node type:'</span>, node.type); </code></td></tr><tr><td id="L7399" class="css-a4x74f"><span>7399</span></td><td id="LC7399" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7400" class="css-a4x74f"><span>7400</span></td><td id="LC7400" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7401" class="css-a4x74f"><span>7401</span></td><td id="LC7401" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7402" class="css-a4x74f"><span>7402</span></td><td id="LC7402" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchGraph = { </code></td></tr><tr><td id="L7403" class="css-a4x74f"><span>7403</span></td><td id="LC7403" class="css-1dcdqdg"><code> MATCH: MATCH, </code></td></tr><tr><td id="L7404" class="css-a4x74f"><span>7404</span></td><td id="LC7404" class="css-1dcdqdg"><code> MISMATCH: MISMATCH, </code></td></tr><tr><td id="L7405" class="css-a4x74f"><span>7405</span></td><td id="LC7405" class="css-1dcdqdg"><code> DISALLOW_EMPTY: DISALLOW_EMPTY, </code></td></tr><tr><td id="L7406" class="css-a4x74f"><span>7406</span></td><td id="LC7406" class="css-1dcdqdg"><code> buildMatchGraph: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">syntaxTree, ref</span>) </span>{ </code></td></tr><tr><td id="L7407" class="css-a4x74f"><span>7407</span></td><td id="LC7407" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> syntaxTree === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L7408" class="css-a4x74f"><span>7408</span></td><td id="LC7408" class="css-1dcdqdg"><code> syntaxTree = parse_1(syntaxTree); </code></td></tr><tr><td id="L7409" class="css-a4x74f"><span>7409</span></td><td id="LC7409" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7410" class="css-a4x74f"><span>7410</span></td><td id="LC7410" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7411" class="css-a4x74f"><span>7411</span></td><td id="LC7411" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7412" class="css-a4x74f"><span>7412</span></td><td id="LC7412" class="css-1dcdqdg"><code> type: <span class="code-string">'MatchGraph'</span>, </code></td></tr><tr><td id="L7413" class="css-a4x74f"><span>7413</span></td><td id="LC7413" class="css-1dcdqdg"><code> match: buildMatchGraph(syntaxTree), </code></td></tr><tr><td id="L7414" class="css-a4x74f"><span>7414</span></td><td id="LC7414" class="css-1dcdqdg"><code> syntax: ref || <span class="code-literal">null</span>, </code></td></tr><tr><td id="L7415" class="css-a4x74f"><span>7415</span></td><td id="LC7415" class="css-1dcdqdg"><code> source: syntaxTree </code></td></tr><tr><td id="L7416" class="css-a4x74f"><span>7416</span></td><td id="LC7416" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7417" class="css-a4x74f"><span>7417</span></td><td id="LC7417" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7418" class="css-a4x74f"><span>7418</span></td><td id="LC7418" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7419" class="css-a4x74f"><span>7419</span></td><td id="LC7419" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7420" class="css-a4x74f"><span>7420</span></td><td id="LC7420" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty$<span class="code-number">1</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L7421" class="css-a4x74f"><span>7421</span></td><td id="LC7421" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7422" class="css-a4x74f"><span>7422</span></td><td id="LC7422" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MATCH$<span class="code-number">1</span> = matchGraph.MATCH; </code></td></tr><tr><td id="L7423" class="css-a4x74f"><span>7423</span></td><td id="LC7423" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MISMATCH$<span class="code-number">1</span> = matchGraph.MISMATCH; </code></td></tr><tr><td id="L7424" class="css-a4x74f"><span>7424</span></td><td id="LC7424" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DISALLOW_EMPTY$<span class="code-number">1</span> = matchGraph.DISALLOW_EMPTY; </code></td></tr><tr><td id="L7425" class="css-a4x74f"><span>7425</span></td><td id="LC7425" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">6</span> = _const.TYPE; </code></td></tr><tr><td id="L7426" class="css-a4x74f"><span>7426</span></td><td id="LC7426" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7427" class="css-a4x74f"><span>7427</span></td><td id="LC7427" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> STUB = <span class="code-number">0</span>; </code></td></tr><tr><td id="L7428" class="css-a4x74f"><span>7428</span></td><td id="LC7428" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TOKEN = <span class="code-number">1</span>; </code></td></tr><tr><td id="L7429" class="css-a4x74f"><span>7429</span></td><td id="LC7429" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OPEN_SYNTAX = <span class="code-number">2</span>; </code></td></tr><tr><td id="L7430" class="css-a4x74f"><span>7430</span></td><td id="LC7430" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CLOSE_SYNTAX = <span class="code-number">3</span>; </code></td></tr><tr><td id="L7431" class="css-a4x74f"><span>7431</span></td><td id="LC7431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7432" class="css-a4x74f"><span>7432</span></td><td id="LC7432" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXIT_REASON_MATCH = <span class="code-string">'Match'</span>; </code></td></tr><tr><td id="L7433" class="css-a4x74f"><span>7433</span></td><td id="LC7433" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXIT_REASON_MISMATCH = <span class="code-string">'Mismatch'</span>; </code></td></tr><tr><td id="L7434" class="css-a4x74f"><span>7434</span></td><td id="LC7434" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXIT_REASON_ITERATION_LIMIT = <span class="code-string">'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)'</span>; </code></td></tr><tr><td id="L7435" class="css-a4x74f"><span>7435</span></td><td id="LC7435" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7436" class="css-a4x74f"><span>7436</span></td><td id="LC7436" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ITERATION_LIMIT = <span class="code-number">15000</span>; </code></td></tr><tr><td id="L7437" class="css-a4x74f"><span>7437</span></td><td id="LC7437" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> totalIterationCount = <span class="code-number">0</span>; </code></td></tr><tr><td id="L7438" class="css-a4x74f"><span>7438</span></td><td id="LC7438" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7439" class="css-a4x74f"><span>7439</span></td><td id="LC7439" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">reverseList</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L7440" class="css-a4x74f"><span>7440</span></td><td id="LC7440" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prev = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7441" class="css-a4x74f"><span>7441</span></td><td id="LC7441" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> next = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7442" class="css-a4x74f"><span>7442</span></td><td id="LC7442" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item = list; </code></td></tr><tr><td id="L7443" class="css-a4x74f"><span>7443</span></td><td id="LC7443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7444" class="css-a4x74f"><span>7444</span></td><td id="LC7444" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (item !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7445" class="css-a4x74f"><span>7445</span></td><td id="LC7445" class="css-1dcdqdg"><code> next = item.prev; </code></td></tr><tr><td id="L7446" class="css-a4x74f"><span>7446</span></td><td id="LC7446" class="css-1dcdqdg"><code> item.prev = prev; </code></td></tr><tr><td id="L7447" class="css-a4x74f"><span>7447</span></td><td id="LC7447" class="css-1dcdqdg"><code> prev = item; </code></td></tr><tr><td id="L7448" class="css-a4x74f"><span>7448</span></td><td id="LC7448" class="css-1dcdqdg"><code> item = next; </code></td></tr><tr><td id="L7449" class="css-a4x74f"><span>7449</span></td><td id="LC7449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7450" class="css-a4x74f"><span>7450</span></td><td id="LC7450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7451" class="css-a4x74f"><span>7451</span></td><td id="LC7451" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> prev; </code></td></tr><tr><td id="L7452" class="css-a4x74f"><span>7452</span></td><td id="LC7452" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7453" class="css-a4x74f"><span>7453</span></td><td id="LC7453" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7454" class="css-a4x74f"><span>7454</span></td><td id="LC7454" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">areStringsEqualCaseInsensitive</span>(<span class="code-params">testStr, referenceStr</span>) </span>{ </code></td></tr><tr><td id="L7455" class="css-a4x74f"><span>7455</span></td><td id="LC7455" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (testStr.length !== referenceStr.length) { </code></td></tr><tr><td id="L7456" class="css-a4x74f"><span>7456</span></td><td id="LC7456" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L7457" class="css-a4x74f"><span>7457</span></td><td id="LC7457" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7458" class="css-a4x74f"><span>7458</span></td><td id="LC7458" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7459" class="css-a4x74f"><span>7459</span></td><td id="LC7459" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < testStr.length; i++) { </code></td></tr><tr><td id="L7460" class="css-a4x74f"><span>7460</span></td><td id="LC7460" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> testCode = testStr.charCodeAt(i); </code></td></tr><tr><td id="L7461" class="css-a4x74f"><span>7461</span></td><td id="LC7461" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> referenceCode = referenceStr.charCodeAt(i); </code></td></tr><tr><td id="L7462" class="css-a4x74f"><span>7462</span></td><td id="LC7462" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7463" class="css-a4x74f"><span>7463</span></td><td id="LC7463" class="css-1dcdqdg"><code> <span class="code-comment">// testCode.toLowerCase() for U+0041 LATIN CAPITAL LETTER A (A) .. U+005A LATIN CAPITAL LETTER Z (Z).</span> </code></td></tr><tr><td id="L7464" class="css-a4x74f"><span>7464</span></td><td id="LC7464" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (testCode >= <span class="code-number">0x0041</span> && testCode <= <span class="code-number">0x005A</span>) { </code></td></tr><tr><td id="L7465" class="css-a4x74f"><span>7465</span></td><td id="LC7465" class="css-1dcdqdg"><code> testCode = testCode | <span class="code-number">32</span>; </code></td></tr><tr><td id="L7466" class="css-a4x74f"><span>7466</span></td><td id="LC7466" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7467" class="css-a4x74f"><span>7467</span></td><td id="LC7467" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7468" class="css-a4x74f"><span>7468</span></td><td id="LC7468" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (testCode !== referenceCode) { </code></td></tr><tr><td id="L7469" class="css-a4x74f"><span>7469</span></td><td id="LC7469" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L7470" class="css-a4x74f"><span>7470</span></td><td id="LC7470" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7471" class="css-a4x74f"><span>7471</span></td><td id="LC7471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7472" class="css-a4x74f"><span>7472</span></td><td id="LC7472" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7473" class="css-a4x74f"><span>7473</span></td><td id="LC7473" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L7474" class="css-a4x74f"><span>7474</span></td><td id="LC7474" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7475" class="css-a4x74f"><span>7475</span></td><td id="LC7475" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7476" class="css-a4x74f"><span>7476</span></td><td id="LC7476" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isCommaContextStart</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L7477" class="css-a4x74f"><span>7477</span></td><td id="LC7477" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7478" class="css-a4x74f"><span>7478</span></td><td id="LC7478" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L7479" class="css-a4x74f"><span>7479</span></td><td id="LC7479" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7480" class="css-a4x74f"><span>7480</span></td><td id="LC7480" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7481" class="css-a4x74f"><span>7481</span></td><td id="LC7481" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L7482" class="css-a4x74f"><span>7482</span></td><td id="LC7482" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>Comma || </code></td></tr><tr><td id="L7483" class="css-a4x74f"><span>7483</span></td><td id="LC7483" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span><span class="code-built_in">Function</span> || </code></td></tr><tr><td id="L7484" class="css-a4x74f"><span>7484</span></td><td id="LC7484" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>LeftParenthesis || </code></td></tr><tr><td id="L7485" class="css-a4x74f"><span>7485</span></td><td id="LC7485" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>LeftSquareBracket || </code></td></tr><tr><td id="L7486" class="css-a4x74f"><span>7486</span></td><td id="LC7486" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>LeftCurlyBracket || </code></td></tr><tr><td id="L7487" class="css-a4x74f"><span>7487</span></td><td id="LC7487" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>Delim </code></td></tr><tr><td id="L7488" class="css-a4x74f"><span>7488</span></td><td id="LC7488" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7489" class="css-a4x74f"><span>7489</span></td><td id="LC7489" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7490" class="css-a4x74f"><span>7490</span></td><td id="LC7490" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7491" class="css-a4x74f"><span>7491</span></td><td id="LC7491" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isCommaContextEnd</span>(<span class="code-params">token</span>) </span>{ </code></td></tr><tr><td id="L7492" class="css-a4x74f"><span>7492</span></td><td id="LC7492" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7493" class="css-a4x74f"><span>7493</span></td><td id="LC7493" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L7494" class="css-a4x74f"><span>7494</span></td><td id="LC7494" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7495" class="css-a4x74f"><span>7495</span></td><td id="LC7495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7496" class="css-a4x74f"><span>7496</span></td><td id="LC7496" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L7497" class="css-a4x74f"><span>7497</span></td><td id="LC7497" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>RightParenthesis || </code></td></tr><tr><td id="L7498" class="css-a4x74f"><span>7498</span></td><td id="LC7498" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>RightSquareBracket || </code></td></tr><tr><td id="L7499" class="css-a4x74f"><span>7499</span></td><td id="LC7499" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>RightCurlyBracket || </code></td></tr><tr><td id="L7500" class="css-a4x74f"><span>7500</span></td><td id="LC7500" class="css-1dcdqdg"><code> token.type === TYPE$<span class="code-number">6.</span>Delim </code></td></tr><tr><td id="L7501" class="css-a4x74f"><span>7501</span></td><td id="LC7501" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7502" class="css-a4x74f"><span>7502</span></td><td id="LC7502" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7503" class="css-a4x74f"><span>7503</span></td><td id="LC7503" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7504" class="css-a4x74f"><span>7504</span></td><td id="LC7504" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">internalMatch</span>(<span class="code-params">tokens, state, syntaxes</span>) </span>{ </code></td></tr><tr><td id="L7505" class="css-a4x74f"><span>7505</span></td><td id="LC7505" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">moveToNextToken</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L7506" class="css-a4x74f"><span>7506</span></td><td id="LC7506" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L7507" class="css-a4x74f"><span>7507</span></td><td id="LC7507" class="css-1dcdqdg"><code> tokenIndex++; </code></td></tr><tr><td id="L7508" class="css-a4x74f"><span>7508</span></td><td id="LC7508" class="css-1dcdqdg"><code> token = tokenIndex < tokens.length ? tokens[tokenIndex] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7509" class="css-a4x74f"><span>7509</span></td><td id="LC7509" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (token !== <span class="code-literal">null</span> && (token.type === TYPE$<span class="code-number">6.</span>WhiteSpace || token.type === TYPE$<span class="code-number">6.</span>Comment)); </code></td></tr><tr><td id="L7510" class="css-a4x74f"><span>7510</span></td><td id="LC7510" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7511" class="css-a4x74f"><span>7511</span></td><td id="LC7511" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7512" class="css-a4x74f"><span>7512</span></td><td id="LC7512" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getNextToken</span>(<span class="code-params">offset</span>) </span>{ </code></td></tr><tr><td id="L7513" class="css-a4x74f"><span>7513</span></td><td id="LC7513" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nextIndex = tokenIndex + offset; </code></td></tr><tr><td id="L7514" class="css-a4x74f"><span>7514</span></td><td id="LC7514" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7515" class="css-a4x74f"><span>7515</span></td><td id="LC7515" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> nextIndex < tokens.length ? tokens[nextIndex] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7516" class="css-a4x74f"><span>7516</span></td><td id="LC7516" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7517" class="css-a4x74f"><span>7517</span></td><td id="LC7517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7518" class="css-a4x74f"><span>7518</span></td><td id="LC7518" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">stateSnapshotFromSyntax</span>(<span class="code-params">nextState, prev</span>) </span>{ </code></td></tr><tr><td id="L7519" class="css-a4x74f"><span>7519</span></td><td id="LC7519" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7520" class="css-a4x74f"><span>7520</span></td><td id="LC7520" class="css-1dcdqdg"><code> nextState: nextState, </code></td></tr><tr><td id="L7521" class="css-a4x74f"><span>7521</span></td><td id="LC7521" class="css-1dcdqdg"><code> matchStack: matchStack, </code></td></tr><tr><td id="L7522" class="css-a4x74f"><span>7522</span></td><td id="LC7522" class="css-1dcdqdg"><code> syntaxStack: syntaxStack, </code></td></tr><tr><td id="L7523" class="css-a4x74f"><span>7523</span></td><td id="LC7523" class="css-1dcdqdg"><code> thenStack: thenStack, </code></td></tr><tr><td id="L7524" class="css-a4x74f"><span>7524</span></td><td id="LC7524" class="css-1dcdqdg"><code> tokenIndex: tokenIndex, </code></td></tr><tr><td id="L7525" class="css-a4x74f"><span>7525</span></td><td id="LC7525" class="css-1dcdqdg"><code> prev: prev </code></td></tr><tr><td id="L7526" class="css-a4x74f"><span>7526</span></td><td id="LC7526" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7527" class="css-a4x74f"><span>7527</span></td><td id="LC7527" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7528" class="css-a4x74f"><span>7528</span></td><td id="LC7528" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7529" class="css-a4x74f"><span>7529</span></td><td id="LC7529" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">pushThenStack</span>(<span class="code-params">nextState</span>) </span>{ </code></td></tr><tr><td id="L7530" class="css-a4x74f"><span>7530</span></td><td id="LC7530" class="css-1dcdqdg"><code> thenStack = { </code></td></tr><tr><td id="L7531" class="css-a4x74f"><span>7531</span></td><td id="LC7531" class="css-1dcdqdg"><code> nextState: nextState, </code></td></tr><tr><td id="L7532" class="css-a4x74f"><span>7532</span></td><td id="LC7532" class="css-1dcdqdg"><code> matchStack: matchStack, </code></td></tr><tr><td id="L7533" class="css-a4x74f"><span>7533</span></td><td id="LC7533" class="css-1dcdqdg"><code> syntaxStack: syntaxStack, </code></td></tr><tr><td id="L7534" class="css-a4x74f"><span>7534</span></td><td id="LC7534" class="css-1dcdqdg"><code> prev: thenStack </code></td></tr><tr><td id="L7535" class="css-a4x74f"><span>7535</span></td><td id="LC7535" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7536" class="css-a4x74f"><span>7536</span></td><td id="LC7536" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7537" class="css-a4x74f"><span>7537</span></td><td id="LC7537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7538" class="css-a4x74f"><span>7538</span></td><td id="LC7538" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">pushElseStack</span>(<span class="code-params">nextState</span>) </span>{ </code></td></tr><tr><td id="L7539" class="css-a4x74f"><span>7539</span></td><td id="LC7539" class="css-1dcdqdg"><code> elseStack = stateSnapshotFromSyntax(nextState, elseStack); </code></td></tr><tr><td id="L7540" class="css-a4x74f"><span>7540</span></td><td id="LC7540" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7541" class="css-a4x74f"><span>7541</span></td><td id="LC7541" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7542" class="css-a4x74f"><span>7542</span></td><td id="LC7542" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">addTokenToMatch</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L7543" class="css-a4x74f"><span>7543</span></td><td id="LC7543" class="css-1dcdqdg"><code> matchStack = { </code></td></tr><tr><td id="L7544" class="css-a4x74f"><span>7544</span></td><td id="LC7544" class="css-1dcdqdg"><code> type: TOKEN, </code></td></tr><tr><td id="L7545" class="css-a4x74f"><span>7545</span></td><td id="LC7545" class="css-1dcdqdg"><code> syntax: state.syntax, </code></td></tr><tr><td id="L7546" class="css-a4x74f"><span>7546</span></td><td id="LC7546" class="css-1dcdqdg"><code> token: token, </code></td></tr><tr><td id="L7547" class="css-a4x74f"><span>7547</span></td><td id="LC7547" class="css-1dcdqdg"><code> prev: matchStack </code></td></tr><tr><td id="L7548" class="css-a4x74f"><span>7548</span></td><td id="LC7548" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7549" class="css-a4x74f"><span>7549</span></td><td id="LC7549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7550" class="css-a4x74f"><span>7550</span></td><td id="LC7550" class="css-1dcdqdg"><code> moveToNextToken(); </code></td></tr><tr><td id="L7551" class="css-a4x74f"><span>7551</span></td><td id="LC7551" class="css-1dcdqdg"><code> syntaxStash = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7552" class="css-a4x74f"><span>7552</span></td><td id="LC7552" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7553" class="css-a4x74f"><span>7553</span></td><td id="LC7553" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenIndex > longestMatch) { </code></td></tr><tr><td id="L7554" class="css-a4x74f"><span>7554</span></td><td id="LC7554" class="css-1dcdqdg"><code> longestMatch = tokenIndex; </code></td></tr><tr><td id="L7555" class="css-a4x74f"><span>7555</span></td><td id="LC7555" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7556" class="css-a4x74f"><span>7556</span></td><td id="LC7556" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7557" class="css-a4x74f"><span>7557</span></td><td id="LC7557" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7558" class="css-a4x74f"><span>7558</span></td><td id="LC7558" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">openSyntax</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L7559" class="css-a4x74f"><span>7559</span></td><td id="LC7559" class="css-1dcdqdg"><code> syntaxStack = { </code></td></tr><tr><td id="L7560" class="css-a4x74f"><span>7560</span></td><td id="LC7560" class="css-1dcdqdg"><code> syntax: state.syntax, </code></td></tr><tr><td id="L7561" class="css-a4x74f"><span>7561</span></td><td id="LC7561" class="css-1dcdqdg"><code> opts: state.syntax.opts || (syntaxStack !== <span class="code-literal">null</span> && syntaxStack.opts) || <span class="code-literal">null</span>, </code></td></tr><tr><td id="L7562" class="css-a4x74f"><span>7562</span></td><td id="LC7562" class="css-1dcdqdg"><code> prev: syntaxStack </code></td></tr><tr><td id="L7563" class="css-a4x74f"><span>7563</span></td><td id="LC7563" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7564" class="css-a4x74f"><span>7564</span></td><td id="LC7564" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7565" class="css-a4x74f"><span>7565</span></td><td id="LC7565" class="css-1dcdqdg"><code> matchStack = { </code></td></tr><tr><td id="L7566" class="css-a4x74f"><span>7566</span></td><td id="LC7566" class="css-1dcdqdg"><code> type: OPEN_SYNTAX, </code></td></tr><tr><td id="L7567" class="css-a4x74f"><span>7567</span></td><td id="LC7567" class="css-1dcdqdg"><code> syntax: state.syntax, </code></td></tr><tr><td id="L7568" class="css-a4x74f"><span>7568</span></td><td id="LC7568" class="css-1dcdqdg"><code> token: matchStack.token, </code></td></tr><tr><td id="L7569" class="css-a4x74f"><span>7569</span></td><td id="LC7569" class="css-1dcdqdg"><code> prev: matchStack </code></td></tr><tr><td id="L7570" class="css-a4x74f"><span>7570</span></td><td id="LC7570" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7571" class="css-a4x74f"><span>7571</span></td><td id="LC7571" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7572" class="css-a4x74f"><span>7572</span></td><td id="LC7572" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7573" class="css-a4x74f"><span>7573</span></td><td id="LC7573" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">closeSyntax</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L7574" class="css-a4x74f"><span>7574</span></td><td id="LC7574" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matchStack.type === OPEN_SYNTAX) { </code></td></tr><tr><td id="L7575" class="css-a4x74f"><span>7575</span></td><td id="LC7575" class="css-1dcdqdg"><code> matchStack = matchStack.prev; </code></td></tr><tr><td id="L7576" class="css-a4x74f"><span>7576</span></td><td id="LC7576" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7577" class="css-a4x74f"><span>7577</span></td><td id="LC7577" class="css-1dcdqdg"><code> matchStack = { </code></td></tr><tr><td id="L7578" class="css-a4x74f"><span>7578</span></td><td id="LC7578" class="css-1dcdqdg"><code> type: CLOSE_SYNTAX, </code></td></tr><tr><td id="L7579" class="css-a4x74f"><span>7579</span></td><td id="LC7579" class="css-1dcdqdg"><code> syntax: syntaxStack.syntax, </code></td></tr><tr><td id="L7580" class="css-a4x74f"><span>7580</span></td><td id="LC7580" class="css-1dcdqdg"><code> token: matchStack.token, </code></td></tr><tr><td id="L7581" class="css-a4x74f"><span>7581</span></td><td id="LC7581" class="css-1dcdqdg"><code> prev: matchStack </code></td></tr><tr><td id="L7582" class="css-a4x74f"><span>7582</span></td><td id="LC7582" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7583" class="css-a4x74f"><span>7583</span></td><td id="LC7583" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7584" class="css-a4x74f"><span>7584</span></td><td id="LC7584" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7585" class="css-a4x74f"><span>7585</span></td><td id="LC7585" class="css-1dcdqdg"><code> syntaxStack = syntaxStack.prev; </code></td></tr><tr><td id="L7586" class="css-a4x74f"><span>7586</span></td><td id="LC7586" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7587" class="css-a4x74f"><span>7587</span></td><td id="LC7587" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7588" class="css-a4x74f"><span>7588</span></td><td id="LC7588" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxStack = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7589" class="css-a4x74f"><span>7589</span></td><td id="LC7589" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> thenStack = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7590" class="css-a4x74f"><span>7590</span></td><td id="LC7590" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> elseStack = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7591" class="css-a4x74f"><span>7591</span></td><td id="LC7591" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7592" class="css-a4x74f"><span>7592</span></td><td id="LC7592" class="css-1dcdqdg"><code> <span class="code-comment">// null – stashing allowed, nothing stashed</span> </code></td></tr><tr><td id="L7593" class="css-a4x74f"><span>7593</span></td><td id="LC7593" class="css-1dcdqdg"><code> <span class="code-comment">// false – stashing disabled, nothing stashed</span> </code></td></tr><tr><td id="L7594" class="css-a4x74f"><span>7594</span></td><td id="LC7594" class="css-1dcdqdg"><code> <span class="code-comment">// anithing else – fail stashable syntaxes, some syntax stashed</span> </code></td></tr><tr><td id="L7595" class="css-a4x74f"><span>7595</span></td><td id="LC7595" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxStash = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7596" class="css-a4x74f"><span>7596</span></td><td id="LC7596" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7597" class="css-a4x74f"><span>7597</span></td><td id="LC7597" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> iterationCount = <span class="code-number">0</span>; <span class="code-comment">// count iterations and prevent infinite loop</span> </code></td></tr><tr><td id="L7598" class="css-a4x74f"><span>7598</span></td><td id="LC7598" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> exitReason = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7599" class="css-a4x74f"><span>7599</span></td><td id="LC7599" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7600" class="css-a4x74f"><span>7600</span></td><td id="LC7600" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> token = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7601" class="css-a4x74f"><span>7601</span></td><td id="LC7601" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokenIndex = <span class="code-number">-1</span>; </code></td></tr><tr><td id="L7602" class="css-a4x74f"><span>7602</span></td><td id="LC7602" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> longestMatch = <span class="code-number">0</span>; </code></td></tr><tr><td id="L7603" class="css-a4x74f"><span>7603</span></td><td id="LC7603" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchStack = { </code></td></tr><tr><td id="L7604" class="css-a4x74f"><span>7604</span></td><td id="LC7604" class="css-1dcdqdg"><code> type: STUB, </code></td></tr><tr><td id="L7605" class="css-a4x74f"><span>7605</span></td><td id="LC7605" class="css-1dcdqdg"><code> syntax: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L7606" class="css-a4x74f"><span>7606</span></td><td id="LC7606" class="css-1dcdqdg"><code> token: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L7607" class="css-a4x74f"><span>7607</span></td><td id="LC7607" class="css-1dcdqdg"><code> prev: <span class="code-literal">null</span> </code></td></tr><tr><td id="L7608" class="css-a4x74f"><span>7608</span></td><td id="LC7608" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7609" class="css-a4x74f"><span>7609</span></td><td id="LC7609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7610" class="css-a4x74f"><span>7610</span></td><td id="LC7610" class="css-1dcdqdg"><code> moveToNextToken(); </code></td></tr><tr><td id="L7611" class="css-a4x74f"><span>7611</span></td><td id="LC7611" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7612" class="css-a4x74f"><span>7612</span></td><td id="LC7612" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (exitReason === <span class="code-literal">null</span> && ++iterationCount < ITERATION_LIMIT) { </code></td></tr><tr><td id="L7613" class="css-a4x74f"><span>7613</span></td><td id="LC7613" class="css-1dcdqdg"><code> <span class="code-comment">// function mapList(list, fn) {</span> </code></td></tr><tr><td id="L7614" class="css-a4x74f"><span>7614</span></td><td id="LC7614" class="css-1dcdqdg"><code> <span class="code-comment">// var result = [];</span> </code></td></tr><tr><td id="L7615" class="css-a4x74f"><span>7615</span></td><td id="LC7615" class="css-1dcdqdg"><code> <span class="code-comment">// while (list) {</span> </code></td></tr><tr><td id="L7616" class="css-a4x74f"><span>7616</span></td><td id="LC7616" class="css-1dcdqdg"><code> <span class="code-comment">// result.unshift(fn(list));</span> </code></td></tr><tr><td id="L7617" class="css-a4x74f"><span>7617</span></td><td id="LC7617" class="css-1dcdqdg"><code> <span class="code-comment">// list = list.prev;</span> </code></td></tr><tr><td id="L7618" class="css-a4x74f"><span>7618</span></td><td id="LC7618" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L7619" class="css-a4x74f"><span>7619</span></td><td id="LC7619" class="css-1dcdqdg"><code> <span class="code-comment">// return result;</span> </code></td></tr><tr><td id="L7620" class="css-a4x74f"><span>7620</span></td><td id="LC7620" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L7621" class="css-a4x74f"><span>7621</span></td><td id="LC7621" class="css-1dcdqdg"><code> <span class="code-comment">// console.log('--\n',</span> </code></td></tr><tr><td id="L7622" class="css-a4x74f"><span>7622</span></td><td id="LC7622" class="css-1dcdqdg"><code> <span class="code-comment">// '#' + iterationCount,</span> </code></td></tr><tr><td id="L7623" class="css-a4x74f"><span>7623</span></td><td id="LC7623" class="css-1dcdqdg"><code> <span class="code-comment">// require('util').inspect({</span> </code></td></tr><tr><td id="L7624" class="css-a4x74f"><span>7624</span></td><td id="LC7624" class="css-1dcdqdg"><code> <span class="code-comment">// match: mapList(matchStack, x => x.type === TOKEN ? x.token && x.token.value : x.syntax ? ({ [OPEN_SYNTAX]: '<', [CLOSE_SYNTAX]: '</' }[x.type] || x.type) + '!' + x.syntax.name : null),</span> </code></td></tr><tr><td id="L7625" class="css-a4x74f"><span>7625</span></td><td id="LC7625" class="css-1dcdqdg"><code> <span class="code-comment">// token: token && token.value,</span> </code></td></tr><tr><td id="L7626" class="css-a4x74f"><span>7626</span></td><td id="LC7626" class="css-1dcdqdg"><code> <span class="code-comment">// tokenIndex,</span> </code></td></tr><tr><td id="L7627" class="css-a4x74f"><span>7627</span></td><td id="LC7627" class="css-1dcdqdg"><code> <span class="code-comment">// syntax: syntax.type + (syntax.id ? ' #' + syntax.id : '')</span> </code></td></tr><tr><td id="L7628" class="css-a4x74f"><span>7628</span></td><td id="LC7628" class="css-1dcdqdg"><code> <span class="code-comment">// }, { depth: null })</span> </code></td></tr><tr><td id="L7629" class="css-a4x74f"><span>7629</span></td><td id="LC7629" class="css-1dcdqdg"><code> <span class="code-comment">// );</span> </code></td></tr><tr><td id="L7630" class="css-a4x74f"><span>7630</span></td><td id="LC7630" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (state.type) { </code></td></tr><tr><td id="L7631" class="css-a4x74f"><span>7631</span></td><td id="LC7631" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Match'</span>: </code></td></tr><tr><td id="L7632" class="css-a4x74f"><span>7632</span></td><td id="LC7632" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (thenStack === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7633" class="css-a4x74f"><span>7633</span></td><td id="LC7633" class="css-1dcdqdg"><code> <span class="code-comment">// turn to MISMATCH when some tokens left unmatched</span> </code></td></tr><tr><td id="L7634" class="css-a4x74f"><span>7634</span></td><td id="LC7634" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7635" class="css-a4x74f"><span>7635</span></td><td id="LC7635" class="css-1dcdqdg"><code> <span class="code-comment">// doesn't mismatch if just one token left and it's an IE hack</span> </code></td></tr><tr><td id="L7636" class="css-a4x74f"><span>7636</span></td><td id="LC7636" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenIndex !== tokens.length - <span class="code-number">1</span> || (token.value !== <span class="code-string">'\\0'</span> && token.value !== <span class="code-string">'\\9'</span>)) { </code></td></tr><tr><td id="L7637" class="css-a4x74f"><span>7637</span></td><td id="LC7637" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7638" class="css-a4x74f"><span>7638</span></td><td id="LC7638" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7639" class="css-a4x74f"><span>7639</span></td><td id="LC7639" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7640" class="css-a4x74f"><span>7640</span></td><td id="LC7640" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7641" class="css-a4x74f"><span>7641</span></td><td id="LC7641" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7642" class="css-a4x74f"><span>7642</span></td><td id="LC7642" class="css-1dcdqdg"><code> <span class="code-comment">// break the main loop, return a result - MATCH</span> </code></td></tr><tr><td id="L7643" class="css-a4x74f"><span>7643</span></td><td id="LC7643" class="css-1dcdqdg"><code> exitReason = EXIT_REASON_MATCH; </code></td></tr><tr><td id="L7644" class="css-a4x74f"><span>7644</span></td><td id="LC7644" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7645" class="css-a4x74f"><span>7645</span></td><td id="LC7645" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7646" class="css-a4x74f"><span>7646</span></td><td id="LC7646" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7647" class="css-a4x74f"><span>7647</span></td><td id="LC7647" class="css-1dcdqdg"><code> <span class="code-comment">// go to next syntax (`then` branch)</span> </code></td></tr><tr><td id="L7648" class="css-a4x74f"><span>7648</span></td><td id="LC7648" class="css-1dcdqdg"><code> state = thenStack.nextState; </code></td></tr><tr><td id="L7649" class="css-a4x74f"><span>7649</span></td><td id="LC7649" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7650" class="css-a4x74f"><span>7650</span></td><td id="LC7650" class="css-1dcdqdg"><code> <span class="code-comment">// check match is not empty</span> </code></td></tr><tr><td id="L7651" class="css-a4x74f"><span>7651</span></td><td id="LC7651" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state === DISALLOW_EMPTY$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L7652" class="css-a4x74f"><span>7652</span></td><td id="LC7652" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (thenStack.matchStack === matchStack) { </code></td></tr><tr><td id="L7653" class="css-a4x74f"><span>7653</span></td><td id="LC7653" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7654" class="css-a4x74f"><span>7654</span></td><td id="LC7654" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7655" class="css-a4x74f"><span>7655</span></td><td id="LC7655" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7656" class="css-a4x74f"><span>7656</span></td><td id="LC7656" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7657" class="css-a4x74f"><span>7657</span></td><td id="LC7657" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7658" class="css-a4x74f"><span>7658</span></td><td id="LC7658" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7659" class="css-a4x74f"><span>7659</span></td><td id="LC7659" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7660" class="css-a4x74f"><span>7660</span></td><td id="LC7660" class="css-1dcdqdg"><code> <span class="code-comment">// close syntax if needed</span> </code></td></tr><tr><td id="L7661" class="css-a4x74f"><span>7661</span></td><td id="LC7661" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (thenStack.syntaxStack !== syntaxStack) { </code></td></tr><tr><td id="L7662" class="css-a4x74f"><span>7662</span></td><td id="LC7662" class="css-1dcdqdg"><code> closeSyntax(); </code></td></tr><tr><td id="L7663" class="css-a4x74f"><span>7663</span></td><td id="LC7663" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7664" class="css-a4x74f"><span>7664</span></td><td id="LC7664" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7665" class="css-a4x74f"><span>7665</span></td><td id="LC7665" class="css-1dcdqdg"><code> <span class="code-comment">// pop stack</span> </code></td></tr><tr><td id="L7666" class="css-a4x74f"><span>7666</span></td><td id="LC7666" class="css-1dcdqdg"><code> thenStack = thenStack.prev; </code></td></tr><tr><td id="L7667" class="css-a4x74f"><span>7667</span></td><td id="LC7667" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7668" class="css-a4x74f"><span>7668</span></td><td id="LC7668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7669" class="css-a4x74f"><span>7669</span></td><td id="LC7669" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Mismatch'</span>: </code></td></tr><tr><td id="L7670" class="css-a4x74f"><span>7670</span></td><td id="LC7670" class="css-1dcdqdg"><code> <span class="code-comment">// when some syntax is stashed</span> </code></td></tr><tr><td id="L7671" class="css-a4x74f"><span>7671</span></td><td id="LC7671" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (syntaxStash !== <span class="code-literal">null</span> && syntaxStash !== <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L7672" class="css-a4x74f"><span>7672</span></td><td id="LC7672" class="css-1dcdqdg"><code> <span class="code-comment">// there is no else branches or a branch reduce match stack</span> </code></td></tr><tr><td id="L7673" class="css-a4x74f"><span>7673</span></td><td id="LC7673" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (elseStack === <span class="code-literal">null</span> || tokenIndex > elseStack.tokenIndex) { </code></td></tr><tr><td id="L7674" class="css-a4x74f"><span>7674</span></td><td id="LC7674" class="css-1dcdqdg"><code> <span class="code-comment">// restore state from the stash</span> </code></td></tr><tr><td id="L7675" class="css-a4x74f"><span>7675</span></td><td id="LC7675" class="css-1dcdqdg"><code> elseStack = syntaxStash; </code></td></tr><tr><td id="L7676" class="css-a4x74f"><span>7676</span></td><td id="LC7676" class="css-1dcdqdg"><code> syntaxStash = <span class="code-literal">false</span>; <span class="code-comment">// disable stashing</span> </code></td></tr><tr><td id="L7677" class="css-a4x74f"><span>7677</span></td><td id="LC7677" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7678" class="css-a4x74f"><span>7678</span></td><td id="LC7678" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (elseStack === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7679" class="css-a4x74f"><span>7679</span></td><td id="LC7679" class="css-1dcdqdg"><code> <span class="code-comment">// no else branches -> break the main loop</span> </code></td></tr><tr><td id="L7680" class="css-a4x74f"><span>7680</span></td><td id="LC7680" class="css-1dcdqdg"><code> <span class="code-comment">// return a result - MISMATCH</span> </code></td></tr><tr><td id="L7681" class="css-a4x74f"><span>7681</span></td><td id="LC7681" class="css-1dcdqdg"><code> exitReason = EXIT_REASON_MISMATCH; </code></td></tr><tr><td id="L7682" class="css-a4x74f"><span>7682</span></td><td id="LC7682" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7683" class="css-a4x74f"><span>7683</span></td><td id="LC7683" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7684" class="css-a4x74f"><span>7684</span></td><td id="LC7684" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7685" class="css-a4x74f"><span>7685</span></td><td id="LC7685" class="css-1dcdqdg"><code> <span class="code-comment">// go to next syntax (`else` branch)</span> </code></td></tr><tr><td id="L7686" class="css-a4x74f"><span>7686</span></td><td id="LC7686" class="css-1dcdqdg"><code> state = elseStack.nextState; </code></td></tr><tr><td id="L7687" class="css-a4x74f"><span>7687</span></td><td id="LC7687" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7688" class="css-a4x74f"><span>7688</span></td><td id="LC7688" class="css-1dcdqdg"><code> <span class="code-comment">// restore all the rest stack states</span> </code></td></tr><tr><td id="L7689" class="css-a4x74f"><span>7689</span></td><td id="LC7689" class="css-1dcdqdg"><code> thenStack = elseStack.thenStack; </code></td></tr><tr><td id="L7690" class="css-a4x74f"><span>7690</span></td><td id="LC7690" class="css-1dcdqdg"><code> syntaxStack = elseStack.syntaxStack; </code></td></tr><tr><td id="L7691" class="css-a4x74f"><span>7691</span></td><td id="LC7691" class="css-1dcdqdg"><code> matchStack = elseStack.matchStack; </code></td></tr><tr><td id="L7692" class="css-a4x74f"><span>7692</span></td><td id="LC7692" class="css-1dcdqdg"><code> tokenIndex = elseStack.tokenIndex; </code></td></tr><tr><td id="L7693" class="css-a4x74f"><span>7693</span></td><td id="LC7693" class="css-1dcdqdg"><code> token = tokenIndex < tokens.length ? tokens[tokenIndex] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7694" class="css-a4x74f"><span>7694</span></td><td id="LC7694" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7695" class="css-a4x74f"><span>7695</span></td><td id="LC7695" class="css-1dcdqdg"><code> <span class="code-comment">// pop stack</span> </code></td></tr><tr><td id="L7696" class="css-a4x74f"><span>7696</span></td><td id="LC7696" class="css-1dcdqdg"><code> elseStack = elseStack.prev; </code></td></tr><tr><td id="L7697" class="css-a4x74f"><span>7697</span></td><td id="LC7697" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7698" class="css-a4x74f"><span>7698</span></td><td id="LC7698" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7699" class="css-a4x74f"><span>7699</span></td><td id="LC7699" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'MatchGraph'</span>: </code></td></tr><tr><td id="L7700" class="css-a4x74f"><span>7700</span></td><td id="LC7700" class="css-1dcdqdg"><code> state = state.match; </code></td></tr><tr><td id="L7701" class="css-a4x74f"><span>7701</span></td><td id="LC7701" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7702" class="css-a4x74f"><span>7702</span></td><td id="LC7702" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7703" class="css-a4x74f"><span>7703</span></td><td id="LC7703" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'If'</span>: </code></td></tr><tr><td id="L7704" class="css-a4x74f"><span>7704</span></td><td id="LC7704" class="css-1dcdqdg"><code> <span class="code-comment">// IMPORTANT: else stack push must go first,</span> </code></td></tr><tr><td id="L7705" class="css-a4x74f"><span>7705</span></td><td id="LC7705" class="css-1dcdqdg"><code> <span class="code-comment">// since it stores the state of thenStack before changes</span> </code></td></tr><tr><td id="L7706" class="css-a4x74f"><span>7706</span></td><td id="LC7706" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.else !== MISMATCH$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L7707" class="css-a4x74f"><span>7707</span></td><td id="LC7707" class="css-1dcdqdg"><code> pushElseStack(state.else); </code></td></tr><tr><td id="L7708" class="css-a4x74f"><span>7708</span></td><td id="LC7708" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7709" class="css-a4x74f"><span>7709</span></td><td id="LC7709" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7710" class="css-a4x74f"><span>7710</span></td><td id="LC7710" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.then !== MATCH$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L7711" class="css-a4x74f"><span>7711</span></td><td id="LC7711" class="css-1dcdqdg"><code> pushThenStack(state.then); </code></td></tr><tr><td id="L7712" class="css-a4x74f"><span>7712</span></td><td id="LC7712" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7713" class="css-a4x74f"><span>7713</span></td><td id="LC7713" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7714" class="css-a4x74f"><span>7714</span></td><td id="LC7714" class="css-1dcdqdg"><code> state = state.match; </code></td></tr><tr><td id="L7715" class="css-a4x74f"><span>7715</span></td><td id="LC7715" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7716" class="css-a4x74f"><span>7716</span></td><td id="LC7716" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7717" class="css-a4x74f"><span>7717</span></td><td id="LC7717" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'MatchOnce'</span>: </code></td></tr><tr><td id="L7718" class="css-a4x74f"><span>7718</span></td><td id="LC7718" class="css-1dcdqdg"><code> state = { </code></td></tr><tr><td id="L7719" class="css-a4x74f"><span>7719</span></td><td id="LC7719" class="css-1dcdqdg"><code> type: <span class="code-string">'MatchOnceBuffer'</span>, </code></td></tr><tr><td id="L7720" class="css-a4x74f"><span>7720</span></td><td id="LC7720" class="css-1dcdqdg"><code> syntax: state, </code></td></tr><tr><td id="L7721" class="css-a4x74f"><span>7721</span></td><td id="LC7721" class="css-1dcdqdg"><code> index: <span class="code-number">0</span>, </code></td></tr><tr><td id="L7722" class="css-a4x74f"><span>7722</span></td><td id="LC7722" class="css-1dcdqdg"><code> mask: <span class="code-number">0</span> </code></td></tr><tr><td id="L7723" class="css-a4x74f"><span>7723</span></td><td id="LC7723" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7724" class="css-a4x74f"><span>7724</span></td><td id="LC7724" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7725" class="css-a4x74f"><span>7725</span></td><td id="LC7725" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7726" class="css-a4x74f"><span>7726</span></td><td id="LC7726" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'MatchOnceBuffer'</span>: </code></td></tr><tr><td id="L7727" class="css-a4x74f"><span>7727</span></td><td id="LC7727" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> terms = state.syntax.terms; </code></td></tr><tr><td id="L7728" class="css-a4x74f"><span>7728</span></td><td id="LC7728" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7729" class="css-a4x74f"><span>7729</span></td><td id="LC7729" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.index === terms.length) { </code></td></tr><tr><td id="L7730" class="css-a4x74f"><span>7730</span></td><td id="LC7730" class="css-1dcdqdg"><code> <span class="code-comment">// no matches at all or it's required all terms to be matched</span> </code></td></tr><tr><td id="L7731" class="css-a4x74f"><span>7731</span></td><td id="LC7731" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.mask === <span class="code-number">0</span> || state.syntax.all) { </code></td></tr><tr><td id="L7732" class="css-a4x74f"><span>7732</span></td><td id="LC7732" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7733" class="css-a4x74f"><span>7733</span></td><td id="LC7733" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7734" class="css-a4x74f"><span>7734</span></td><td id="LC7734" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7735" class="css-a4x74f"><span>7735</span></td><td id="LC7735" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7736" class="css-a4x74f"><span>7736</span></td><td id="LC7736" class="css-1dcdqdg"><code> <span class="code-comment">// a partial match is ok</span> </code></td></tr><tr><td id="L7737" class="css-a4x74f"><span>7737</span></td><td id="LC7737" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7738" class="css-a4x74f"><span>7738</span></td><td id="LC7738" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7739" class="css-a4x74f"><span>7739</span></td><td id="LC7739" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7740" class="css-a4x74f"><span>7740</span></td><td id="LC7740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7741" class="css-a4x74f"><span>7741</span></td><td id="LC7741" class="css-1dcdqdg"><code> <span class="code-comment">// all terms are matched</span> </code></td></tr><tr><td id="L7742" class="css-a4x74f"><span>7742</span></td><td id="LC7742" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (state.mask === (<span class="code-number">1</span> << terms.length) - <span class="code-number">1</span>) { </code></td></tr><tr><td id="L7743" class="css-a4x74f"><span>7743</span></td><td id="LC7743" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7744" class="css-a4x74f"><span>7744</span></td><td id="LC7744" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7745" class="css-a4x74f"><span>7745</span></td><td id="LC7745" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7746" class="css-a4x74f"><span>7746</span></td><td id="LC7746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7747" class="css-a4x74f"><span>7747</span></td><td id="LC7747" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; state.index < terms.length; state.index++) { </code></td></tr><tr><td id="L7748" class="css-a4x74f"><span>7748</span></td><td id="LC7748" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchFlag = <span class="code-number">1</span> << state.index; </code></td></tr><tr><td id="L7749" class="css-a4x74f"><span>7749</span></td><td id="LC7749" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7750" class="css-a4x74f"><span>7750</span></td><td id="LC7750" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((state.mask & matchFlag) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L7751" class="css-a4x74f"><span>7751</span></td><td id="LC7751" class="css-1dcdqdg"><code> <span class="code-comment">// IMPORTANT: else stack push must go first,</span> </code></td></tr><tr><td id="L7752" class="css-a4x74f"><span>7752</span></td><td id="LC7752" class="css-1dcdqdg"><code> <span class="code-comment">// since it stores the state of thenStack before changes</span> </code></td></tr><tr><td id="L7753" class="css-a4x74f"><span>7753</span></td><td id="LC7753" class="css-1dcdqdg"><code> pushElseStack(state); </code></td></tr><tr><td id="L7754" class="css-a4x74f"><span>7754</span></td><td id="LC7754" class="css-1dcdqdg"><code> pushThenStack({ </code></td></tr><tr><td id="L7755" class="css-a4x74f"><span>7755</span></td><td id="LC7755" class="css-1dcdqdg"><code> type: <span class="code-string">'AddMatchOnce'</span>, </code></td></tr><tr><td id="L7756" class="css-a4x74f"><span>7756</span></td><td id="LC7756" class="css-1dcdqdg"><code> syntax: state.syntax, </code></td></tr><tr><td id="L7757" class="css-a4x74f"><span>7757</span></td><td id="LC7757" class="css-1dcdqdg"><code> mask: state.mask | matchFlag </code></td></tr><tr><td id="L7758" class="css-a4x74f"><span>7758</span></td><td id="LC7758" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L7759" class="css-a4x74f"><span>7759</span></td><td id="LC7759" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7760" class="css-a4x74f"><span>7760</span></td><td id="LC7760" class="css-1dcdqdg"><code> <span class="code-comment">// match</span> </code></td></tr><tr><td id="L7761" class="css-a4x74f"><span>7761</span></td><td id="LC7761" class="css-1dcdqdg"><code> state = terms[state.index++]; </code></td></tr><tr><td id="L7762" class="css-a4x74f"><span>7762</span></td><td id="LC7762" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7763" class="css-a4x74f"><span>7763</span></td><td id="LC7763" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7764" class="css-a4x74f"><span>7764</span></td><td id="LC7764" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7765" class="css-a4x74f"><span>7765</span></td><td id="LC7765" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7766" class="css-a4x74f"><span>7766</span></td><td id="LC7766" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7767" class="css-a4x74f"><span>7767</span></td><td id="LC7767" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'AddMatchOnce'</span>: </code></td></tr><tr><td id="L7768" class="css-a4x74f"><span>7768</span></td><td id="LC7768" class="css-1dcdqdg"><code> state = { </code></td></tr><tr><td id="L7769" class="css-a4x74f"><span>7769</span></td><td id="LC7769" class="css-1dcdqdg"><code> type: <span class="code-string">'MatchOnceBuffer'</span>, </code></td></tr><tr><td id="L7770" class="css-a4x74f"><span>7770</span></td><td id="LC7770" class="css-1dcdqdg"><code> syntax: state.syntax, </code></td></tr><tr><td id="L7771" class="css-a4x74f"><span>7771</span></td><td id="LC7771" class="css-1dcdqdg"><code> index: <span class="code-number">0</span>, </code></td></tr><tr><td id="L7772" class="css-a4x74f"><span>7772</span></td><td id="LC7772" class="css-1dcdqdg"><code> mask: state.mask </code></td></tr><tr><td id="L7773" class="css-a4x74f"><span>7773</span></td><td id="LC7773" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7774" class="css-a4x74f"><span>7774</span></td><td id="LC7774" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7775" class="css-a4x74f"><span>7775</span></td><td id="LC7775" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7776" class="css-a4x74f"><span>7776</span></td><td id="LC7776" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Enum'</span>: </code></td></tr><tr><td id="L7777" class="css-a4x74f"><span>7777</span></td><td id="LC7777" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7778" class="css-a4x74f"><span>7778</span></td><td id="LC7778" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = token.value.toLowerCase(); </code></td></tr><tr><td id="L7779" class="css-a4x74f"><span>7779</span></td><td id="LC7779" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7780" class="css-a4x74f"><span>7780</span></td><td id="LC7780" class="css-1dcdqdg"><code> <span class="code-comment">// drop \0 and \9 hack from keyword name</span> </code></td></tr><tr><td id="L7781" class="css-a4x74f"><span>7781</span></td><td id="LC7781" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name.indexOf(<span class="code-string">'\\'</span>) !== <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L7782" class="css-a4x74f"><span>7782</span></td><td id="LC7782" class="css-1dcdqdg"><code> name = name.replace(<span class="code-regexp">/\\[09].*$/</span>, <span class="code-string">''</span>); </code></td></tr><tr><td id="L7783" class="css-a4x74f"><span>7783</span></td><td id="LC7783" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7784" class="css-a4x74f"><span>7784</span></td><td id="LC7784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7785" class="css-a4x74f"><span>7785</span></td><td id="LC7785" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">1.</span>call(state.map, name)) { </code></td></tr><tr><td id="L7786" class="css-a4x74f"><span>7786</span></td><td id="LC7786" class="css-1dcdqdg"><code> state = state.map[name]; </code></td></tr><tr><td id="L7787" class="css-a4x74f"><span>7787</span></td><td id="LC7787" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7788" class="css-a4x74f"><span>7788</span></td><td id="LC7788" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7789" class="css-a4x74f"><span>7789</span></td><td id="LC7789" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7790" class="css-a4x74f"><span>7790</span></td><td id="LC7790" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7791" class="css-a4x74f"><span>7791</span></td><td id="LC7791" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7792" class="css-a4x74f"><span>7792</span></td><td id="LC7792" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7793" class="css-a4x74f"><span>7793</span></td><td id="LC7793" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7794" class="css-a4x74f"><span>7794</span></td><td id="LC7794" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Generic'</span>: </code></td></tr><tr><td id="L7795" class="css-a4x74f"><span>7795</span></td><td id="LC7795" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> opts = syntaxStack !== <span class="code-literal">null</span> ? syntaxStack.opts : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7796" class="css-a4x74f"><span>7796</span></td><td id="LC7796" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lastTokenIndex = tokenIndex + <span class="code-built_in">Math</span>.floor(state.fn(token, getNextToken, opts)); </code></td></tr><tr><td id="L7797" class="css-a4x74f"><span>7797</span></td><td id="LC7797" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7798" class="css-a4x74f"><span>7798</span></td><td id="LC7798" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-built_in">isNaN</span>(lastTokenIndex) && lastTokenIndex > tokenIndex) { </code></td></tr><tr><td id="L7799" class="css-a4x74f"><span>7799</span></td><td id="LC7799" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (tokenIndex < lastTokenIndex) { </code></td></tr><tr><td id="L7800" class="css-a4x74f"><span>7800</span></td><td id="LC7800" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7801" class="css-a4x74f"><span>7801</span></td><td id="LC7801" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7802" class="css-a4x74f"><span>7802</span></td><td id="LC7802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7803" class="css-a4x74f"><span>7803</span></td><td id="LC7803" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7804" class="css-a4x74f"><span>7804</span></td><td id="LC7804" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7805" class="css-a4x74f"><span>7805</span></td><td id="LC7805" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7806" class="css-a4x74f"><span>7806</span></td><td id="LC7806" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7807" class="css-a4x74f"><span>7807</span></td><td id="LC7807" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7808" class="css-a4x74f"><span>7808</span></td><td id="LC7808" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7809" class="css-a4x74f"><span>7809</span></td><td id="LC7809" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7810" class="css-a4x74f"><span>7810</span></td><td id="LC7810" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Type'</span>: </code></td></tr><tr><td id="L7811" class="css-a4x74f"><span>7811</span></td><td id="LC7811" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Property'</span>: </code></td></tr><tr><td id="L7812" class="css-a4x74f"><span>7812</span></td><td id="LC7812" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxDict = state.type === <span class="code-string">'Type'</span> ? <span class="code-string">'types'</span> : <span class="code-string">'properties'</span>; </code></td></tr><tr><td id="L7813" class="css-a4x74f"><span>7813</span></td><td id="LC7813" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> dictSyntax = hasOwnProperty$<span class="code-number">1.</span>call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7814" class="css-a4x74f"><span>7814</span></td><td id="LC7814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7815" class="css-a4x74f"><span>7815</span></td><td id="LC7815" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!dictSyntax || !dictSyntax.match) { </code></td></tr><tr><td id="L7816" class="css-a4x74f"><span>7816</span></td><td id="LC7816" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>( </code></td></tr><tr><td id="L7817" class="css-a4x74f"><span>7817</span></td><td id="LC7817" class="css-1dcdqdg"><code> <span class="code-string">'Bad syntax reference: '</span> + </code></td></tr><tr><td id="L7818" class="css-a4x74f"><span>7818</span></td><td id="LC7818" class="css-1dcdqdg"><code> (state.type === <span class="code-string">'Type'</span> </code></td></tr><tr><td id="L7819" class="css-a4x74f"><span>7819</span></td><td id="LC7819" class="css-1dcdqdg"><code> ? <span class="code-string">'<'</span> + state.name + <span class="code-string">'>'</span> </code></td></tr><tr><td id="L7820" class="css-a4x74f"><span>7820</span></td><td id="LC7820" class="css-1dcdqdg"><code> : <span class="code-string">'<\''</span> + state.name + <span class="code-string">'\'>'</span>) </code></td></tr><tr><td id="L7821" class="css-a4x74f"><span>7821</span></td><td id="LC7821" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L7822" class="css-a4x74f"><span>7822</span></td><td id="LC7822" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7823" class="css-a4x74f"><span>7823</span></td><td id="LC7823" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7824" class="css-a4x74f"><span>7824</span></td><td id="LC7824" class="css-1dcdqdg"><code> <span class="code-comment">// stash a syntax for types with low priority</span> </code></td></tr><tr><td id="L7825" class="css-a4x74f"><span>7825</span></td><td id="LC7825" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (syntaxStash !== <span class="code-literal">false</span> && token !== <span class="code-literal">null</span> && state.type === <span class="code-string">'Type'</span>) { </code></td></tr><tr><td id="L7826" class="css-a4x74f"><span>7826</span></td><td id="LC7826" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lowPriorityMatching = </code></td></tr><tr><td id="L7827" class="css-a4x74f"><span>7827</span></td><td id="LC7827" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#custom-idents</span> </code></td></tr><tr><td id="L7828" class="css-a4x74f"><span>7828</span></td><td id="LC7828" class="css-1dcdqdg"><code> <span class="code-comment">// When parsing positionally-ambiguous keywords in a property value, a <custom-ident> production</span> </code></td></tr><tr><td id="L7829" class="css-a4x74f"><span>7829</span></td><td id="LC7829" class="css-1dcdqdg"><code> <span class="code-comment">// can only claim the keyword if no other unfulfilled production can claim it.</span> </code></td></tr><tr><td id="L7830" class="css-a4x74f"><span>7830</span></td><td id="LC7830" class="css-1dcdqdg"><code> (state.name === <span class="code-string">'custom-ident'</span> && token.type === TYPE$<span class="code-number">6.</span>Ident) || </code></td></tr><tr><td id="L7831" class="css-a4x74f"><span>7831</span></td><td id="LC7831" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7832" class="css-a4x74f"><span>7832</span></td><td id="LC7832" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-values-4/#lengths</span> </code></td></tr><tr><td id="L7833" class="css-a4x74f"><span>7833</span></td><td id="LC7833" class="css-1dcdqdg"><code> <span class="code-comment">// ... if a `0` could be parsed as either a <number> or a <length> in a property (such as line-height),</span> </code></td></tr><tr><td id="L7834" class="css-a4x74f"><span>7834</span></td><td id="LC7834" class="css-1dcdqdg"><code> <span class="code-comment">// it must parse as a <number></span> </code></td></tr><tr><td id="L7835" class="css-a4x74f"><span>7835</span></td><td id="LC7835" class="css-1dcdqdg"><code> (state.name === <span class="code-string">'length'</span> && token.value === <span class="code-string">'0'</span>); </code></td></tr><tr><td id="L7836" class="css-a4x74f"><span>7836</span></td><td id="LC7836" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7837" class="css-a4x74f"><span>7837</span></td><td id="LC7837" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (lowPriorityMatching) { </code></td></tr><tr><td id="L7838" class="css-a4x74f"><span>7838</span></td><td id="LC7838" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (syntaxStash === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7839" class="css-a4x74f"><span>7839</span></td><td id="LC7839" class="css-1dcdqdg"><code> syntaxStash = stateSnapshotFromSyntax(state, elseStack); </code></td></tr><tr><td id="L7840" class="css-a4x74f"><span>7840</span></td><td id="LC7840" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7841" class="css-a4x74f"><span>7841</span></td><td id="LC7841" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7842" class="css-a4x74f"><span>7842</span></td><td id="LC7842" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7843" class="css-a4x74f"><span>7843</span></td><td id="LC7843" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7844" class="css-a4x74f"><span>7844</span></td><td id="LC7844" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7845" class="css-a4x74f"><span>7845</span></td><td id="LC7845" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7846" class="css-a4x74f"><span>7846</span></td><td id="LC7846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7847" class="css-a4x74f"><span>7847</span></td><td id="LC7847" class="css-1dcdqdg"><code> openSyntax(); </code></td></tr><tr><td id="L7848" class="css-a4x74f"><span>7848</span></td><td id="LC7848" class="css-1dcdqdg"><code> state = dictSyntax.match; </code></td></tr><tr><td id="L7849" class="css-a4x74f"><span>7849</span></td><td id="LC7849" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7850" class="css-a4x74f"><span>7850</span></td><td id="LC7850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7851" class="css-a4x74f"><span>7851</span></td><td id="LC7851" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Keyword'</span>: </code></td></tr><tr><td id="L7852" class="css-a4x74f"><span>7852</span></td><td id="LC7852" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = state.name; </code></td></tr><tr><td id="L7853" class="css-a4x74f"><span>7853</span></td><td id="LC7853" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7854" class="css-a4x74f"><span>7854</span></td><td id="LC7854" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7855" class="css-a4x74f"><span>7855</span></td><td id="LC7855" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> keywordName = token.value; </code></td></tr><tr><td id="L7856" class="css-a4x74f"><span>7856</span></td><td id="LC7856" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7857" class="css-a4x74f"><span>7857</span></td><td id="LC7857" class="css-1dcdqdg"><code> <span class="code-comment">// drop \0 and \9 hack from keyword name</span> </code></td></tr><tr><td id="L7858" class="css-a4x74f"><span>7858</span></td><td id="LC7858" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (keywordName.indexOf(<span class="code-string">'\\'</span>) !== <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L7859" class="css-a4x74f"><span>7859</span></td><td id="LC7859" class="css-1dcdqdg"><code> keywordName = keywordName.replace(<span class="code-regexp">/\\[09].*$/</span>, <span class="code-string">''</span>); </code></td></tr><tr><td id="L7860" class="css-a4x74f"><span>7860</span></td><td id="LC7860" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7861" class="css-a4x74f"><span>7861</span></td><td id="LC7861" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7862" class="css-a4x74f"><span>7862</span></td><td id="LC7862" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (areStringsEqualCaseInsensitive(keywordName, name)) { </code></td></tr><tr><td id="L7863" class="css-a4x74f"><span>7863</span></td><td id="LC7863" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7864" class="css-a4x74f"><span>7864</span></td><td id="LC7864" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7865" class="css-a4x74f"><span>7865</span></td><td id="LC7865" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7866" class="css-a4x74f"><span>7866</span></td><td id="LC7866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7867" class="css-a4x74f"><span>7867</span></td><td id="LC7867" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7868" class="css-a4x74f"><span>7868</span></td><td id="LC7868" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7869" class="css-a4x74f"><span>7869</span></td><td id="LC7869" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7870" class="css-a4x74f"><span>7870</span></td><td id="LC7870" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7871" class="css-a4x74f"><span>7871</span></td><td id="LC7871" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7872" class="css-a4x74f"><span>7872</span></td><td id="LC7872" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'AtKeyword'</span>: </code></td></tr><tr><td id="L7873" class="css-a4x74f"><span>7873</span></td><td id="LC7873" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Function'</span>: </code></td></tr><tr><td id="L7874" class="css-a4x74f"><span>7874</span></td><td id="LC7874" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span> && areStringsEqualCaseInsensitive(token.value, state.name)) { </code></td></tr><tr><td id="L7875" class="css-a4x74f"><span>7875</span></td><td id="LC7875" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7876" class="css-a4x74f"><span>7876</span></td><td id="LC7876" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7877" class="css-a4x74f"><span>7877</span></td><td id="LC7877" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7878" class="css-a4x74f"><span>7878</span></td><td id="LC7878" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7879" class="css-a4x74f"><span>7879</span></td><td id="LC7879" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7880" class="css-a4x74f"><span>7880</span></td><td id="LC7880" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7881" class="css-a4x74f"><span>7881</span></td><td id="LC7881" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7882" class="css-a4x74f"><span>7882</span></td><td id="LC7882" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7883" class="css-a4x74f"><span>7883</span></td><td id="LC7883" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Token'</span>: </code></td></tr><tr><td id="L7884" class="css-a4x74f"><span>7884</span></td><td id="LC7884" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span> && token.value === state.value) { </code></td></tr><tr><td id="L7885" class="css-a4x74f"><span>7885</span></td><td id="LC7885" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7886" class="css-a4x74f"><span>7886</span></td><td id="LC7886" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7887" class="css-a4x74f"><span>7887</span></td><td id="LC7887" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7888" class="css-a4x74f"><span>7888</span></td><td id="LC7888" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7889" class="css-a4x74f"><span>7889</span></td><td id="LC7889" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7890" class="css-a4x74f"><span>7890</span></td><td id="LC7890" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7891" class="css-a4x74f"><span>7891</span></td><td id="LC7891" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7892" class="css-a4x74f"><span>7892</span></td><td id="LC7892" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7893" class="css-a4x74f"><span>7893</span></td><td id="LC7893" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'Comma'</span>: </code></td></tr><tr><td id="L7894" class="css-a4x74f"><span>7894</span></td><td id="LC7894" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (token !== <span class="code-literal">null</span> && token.type === TYPE$<span class="code-number">6.</span>Comma) { </code></td></tr><tr><td id="L7895" class="css-a4x74f"><span>7895</span></td><td id="LC7895" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isCommaContextStart(matchStack.token)) { </code></td></tr><tr><td id="L7896" class="css-a4x74f"><span>7896</span></td><td id="LC7896" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7897" class="css-a4x74f"><span>7897</span></td><td id="LC7897" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7898" class="css-a4x74f"><span>7898</span></td><td id="LC7898" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7899" class="css-a4x74f"><span>7899</span></td><td id="LC7899" class="css-1dcdqdg"><code> state = isCommaContextEnd(token) ? MISMATCH$<span class="code-number">1</span> : MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7900" class="css-a4x74f"><span>7900</span></td><td id="LC7900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7901" class="css-a4x74f"><span>7901</span></td><td id="LC7901" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7902" class="css-a4x74f"><span>7902</span></td><td id="LC7902" class="css-1dcdqdg"><code> state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? MATCH$<span class="code-number">1</span> : MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7903" class="css-a4x74f"><span>7903</span></td><td id="LC7903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7904" class="css-a4x74f"><span>7904</span></td><td id="LC7904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7905" class="css-a4x74f"><span>7905</span></td><td id="LC7905" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7906" class="css-a4x74f"><span>7906</span></td><td id="LC7906" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7907" class="css-a4x74f"><span>7907</span></td><td id="LC7907" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'String'</span>: </code></td></tr><tr><td id="L7908" class="css-a4x74f"><span>7908</span></td><td id="LC7908" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> string = <span class="code-string">''</span>; </code></td></tr><tr><td id="L7909" class="css-a4x74f"><span>7909</span></td><td id="LC7909" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7910" class="css-a4x74f"><span>7910</span></td><td id="LC7910" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> lastTokenIndex = tokenIndex; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) { </code></td></tr><tr><td id="L7911" class="css-a4x74f"><span>7911</span></td><td id="LC7911" class="css-1dcdqdg"><code> string += tokens[lastTokenIndex].value; </code></td></tr><tr><td id="L7912" class="css-a4x74f"><span>7912</span></td><td id="LC7912" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7913" class="css-a4x74f"><span>7913</span></td><td id="LC7913" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7914" class="css-a4x74f"><span>7914</span></td><td id="LC7914" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (areStringsEqualCaseInsensitive(string, state.value)) { </code></td></tr><tr><td id="L7915" class="css-a4x74f"><span>7915</span></td><td id="LC7915" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (tokenIndex < lastTokenIndex) { </code></td></tr><tr><td id="L7916" class="css-a4x74f"><span>7916</span></td><td id="LC7916" class="css-1dcdqdg"><code> addTokenToMatch(); </code></td></tr><tr><td id="L7917" class="css-a4x74f"><span>7917</span></td><td id="LC7917" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7918" class="css-a4x74f"><span>7918</span></td><td id="LC7918" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7919" class="css-a4x74f"><span>7919</span></td><td id="LC7919" class="css-1dcdqdg"><code> state = MATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7920" class="css-a4x74f"><span>7920</span></td><td id="LC7920" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L7921" class="css-a4x74f"><span>7921</span></td><td id="LC7921" class="css-1dcdqdg"><code> state = MISMATCH$<span class="code-number">1</span>; </code></td></tr><tr><td id="L7922" class="css-a4x74f"><span>7922</span></td><td id="LC7922" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7923" class="css-a4x74f"><span>7923</span></td><td id="LC7923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7924" class="css-a4x74f"><span>7924</span></td><td id="LC7924" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7925" class="css-a4x74f"><span>7925</span></td><td id="LC7925" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7926" class="css-a4x74f"><span>7926</span></td><td id="LC7926" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L7927" class="css-a4x74f"><span>7927</span></td><td id="LC7927" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown node type: '</span> + state.type); </code></td></tr><tr><td id="L7928" class="css-a4x74f"><span>7928</span></td><td id="LC7928" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7929" class="css-a4x74f"><span>7929</span></td><td id="LC7929" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7930" class="css-a4x74f"><span>7930</span></td><td id="LC7930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7931" class="css-a4x74f"><span>7931</span></td><td id="LC7931" class="css-1dcdqdg"><code> totalIterationCount += iterationCount; </code></td></tr><tr><td id="L7932" class="css-a4x74f"><span>7932</span></td><td id="LC7932" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7933" class="css-a4x74f"><span>7933</span></td><td id="LC7933" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (exitReason) { </code></td></tr><tr><td id="L7934" class="css-a4x74f"><span>7934</span></td><td id="LC7934" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-literal">null</span>: </code></td></tr><tr><td id="L7935" class="css-a4x74f"><span>7935</span></td><td id="LC7935" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">'[csstree-match] BREAK after '</span> + ITERATION_LIMIT + <span class="code-string">' iterations'</span>); </code></td></tr><tr><td id="L7936" class="css-a4x74f"><span>7936</span></td><td id="LC7936" class="css-1dcdqdg"><code> exitReason = EXIT_REASON_ITERATION_LIMIT; </code></td></tr><tr><td id="L7937" class="css-a4x74f"><span>7937</span></td><td id="LC7937" class="css-1dcdqdg"><code> matchStack = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7938" class="css-a4x74f"><span>7938</span></td><td id="LC7938" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7939" class="css-a4x74f"><span>7939</span></td><td id="LC7939" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7940" class="css-a4x74f"><span>7940</span></td><td id="LC7940" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> EXIT_REASON_MATCH: </code></td></tr><tr><td id="L7941" class="css-a4x74f"><span>7941</span></td><td id="LC7941" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (syntaxStack !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7942" class="css-a4x74f"><span>7942</span></td><td id="LC7942" class="css-1dcdqdg"><code> closeSyntax(); </code></td></tr><tr><td id="L7943" class="css-a4x74f"><span>7943</span></td><td id="LC7943" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7944" class="css-a4x74f"><span>7944</span></td><td id="LC7944" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7945" class="css-a4x74f"><span>7945</span></td><td id="LC7945" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7946" class="css-a4x74f"><span>7946</span></td><td id="LC7946" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L7947" class="css-a4x74f"><span>7947</span></td><td id="LC7947" class="css-1dcdqdg"><code> matchStack = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L7948" class="css-a4x74f"><span>7948</span></td><td id="LC7948" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7949" class="css-a4x74f"><span>7949</span></td><td id="LC7949" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7950" class="css-a4x74f"><span>7950</span></td><td id="LC7950" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L7951" class="css-a4x74f"><span>7951</span></td><td id="LC7951" class="css-1dcdqdg"><code> tokens: tokens, </code></td></tr><tr><td id="L7952" class="css-a4x74f"><span>7952</span></td><td id="LC7952" class="css-1dcdqdg"><code> reason: exitReason, </code></td></tr><tr><td id="L7953" class="css-a4x74f"><span>7953</span></td><td id="LC7953" class="css-1dcdqdg"><code> iterations: iterationCount, </code></td></tr><tr><td id="L7954" class="css-a4x74f"><span>7954</span></td><td id="LC7954" class="css-1dcdqdg"><code> match: matchStack, </code></td></tr><tr><td id="L7955" class="css-a4x74f"><span>7955</span></td><td id="LC7955" class="css-1dcdqdg"><code> longestMatch: longestMatch </code></td></tr><tr><td id="L7956" class="css-a4x74f"><span>7956</span></td><td id="LC7956" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L7957" class="css-a4x74f"><span>7957</span></td><td id="LC7957" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7958" class="css-a4x74f"><span>7958</span></td><td id="LC7958" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7959" class="css-a4x74f"><span>7959</span></td><td id="LC7959" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">matchAsList</span>(<span class="code-params">tokens, matchGraph, syntaxes</span>) </span>{ </code></td></tr><tr><td id="L7960" class="css-a4x74f"><span>7960</span></td><td id="LC7960" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); </code></td></tr><tr><td id="L7961" class="css-a4x74f"><span>7961</span></td><td id="LC7961" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7962" class="css-a4x74f"><span>7962</span></td><td id="LC7962" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matchResult.match !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7963" class="css-a4x74f"><span>7963</span></td><td id="LC7963" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item = reverseList(matchResult.match).prev; </code></td></tr><tr><td id="L7964" class="css-a4x74f"><span>7964</span></td><td id="LC7964" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7965" class="css-a4x74f"><span>7965</span></td><td id="LC7965" class="css-1dcdqdg"><code> matchResult.match = []; </code></td></tr><tr><td id="L7966" class="css-a4x74f"><span>7966</span></td><td id="LC7966" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7967" class="css-a4x74f"><span>7967</span></td><td id="LC7967" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (item !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7968" class="css-a4x74f"><span>7968</span></td><td id="LC7968" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (item.type) { </code></td></tr><tr><td id="L7969" class="css-a4x74f"><span>7969</span></td><td id="LC7969" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> STUB: </code></td></tr><tr><td id="L7970" class="css-a4x74f"><span>7970</span></td><td id="LC7970" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7971" class="css-a4x74f"><span>7971</span></td><td id="LC7971" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7972" class="css-a4x74f"><span>7972</span></td><td id="LC7972" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> OPEN_SYNTAX: </code></td></tr><tr><td id="L7973" class="css-a4x74f"><span>7973</span></td><td id="LC7973" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> CLOSE_SYNTAX: </code></td></tr><tr><td id="L7974" class="css-a4x74f"><span>7974</span></td><td id="LC7974" class="css-1dcdqdg"><code> matchResult.match.push({ </code></td></tr><tr><td id="L7975" class="css-a4x74f"><span>7975</span></td><td id="LC7975" class="css-1dcdqdg"><code> type: item.type, </code></td></tr><tr><td id="L7976" class="css-a4x74f"><span>7976</span></td><td id="LC7976" class="css-1dcdqdg"><code> syntax: item.syntax </code></td></tr><tr><td id="L7977" class="css-a4x74f"><span>7977</span></td><td id="LC7977" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L7978" class="css-a4x74f"><span>7978</span></td><td id="LC7978" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7979" class="css-a4x74f"><span>7979</span></td><td id="LC7979" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7980" class="css-a4x74f"><span>7980</span></td><td id="LC7980" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L7981" class="css-a4x74f"><span>7981</span></td><td id="LC7981" class="css-1dcdqdg"><code> matchResult.match.push({ </code></td></tr><tr><td id="L7982" class="css-a4x74f"><span>7982</span></td><td id="LC7982" class="css-1dcdqdg"><code> token: item.token.value, </code></td></tr><tr><td id="L7983" class="css-a4x74f"><span>7983</span></td><td id="LC7983" class="css-1dcdqdg"><code> node: item.token.node </code></td></tr><tr><td id="L7984" class="css-a4x74f"><span>7984</span></td><td id="LC7984" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L7985" class="css-a4x74f"><span>7985</span></td><td id="LC7985" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L7986" class="css-a4x74f"><span>7986</span></td><td id="LC7986" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7987" class="css-a4x74f"><span>7987</span></td><td id="LC7987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7988" class="css-a4x74f"><span>7988</span></td><td id="LC7988" class="css-1dcdqdg"><code> item = item.prev; </code></td></tr><tr><td id="L7989" class="css-a4x74f"><span>7989</span></td><td id="LC7989" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7990" class="css-a4x74f"><span>7990</span></td><td id="LC7990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7991" class="css-a4x74f"><span>7991</span></td><td id="LC7991" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7992" class="css-a4x74f"><span>7992</span></td><td id="LC7992" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchResult; </code></td></tr><tr><td id="L7993" class="css-a4x74f"><span>7993</span></td><td id="LC7993" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L7994" class="css-a4x74f"><span>7994</span></td><td id="LC7994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7995" class="css-a4x74f"><span>7995</span></td><td id="LC7995" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">matchAsTree</span>(<span class="code-params">tokens, matchGraph, syntaxes</span>) </span>{ </code></td></tr><tr><td id="L7996" class="css-a4x74f"><span>7996</span></td><td id="LC7996" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); </code></td></tr><tr><td id="L7997" class="css-a4x74f"><span>7997</span></td><td id="LC7997" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L7998" class="css-a4x74f"><span>7998</span></td><td id="LC7998" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matchResult.match === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L7999" class="css-a4x74f"><span>7999</span></td><td id="LC7999" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchResult; </code></td></tr><tr><td id="L8000" class="css-a4x74f"><span>8000</span></td><td id="LC8000" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8001" class="css-a4x74f"><span>8001</span></td><td id="LC8001" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8002" class="css-a4x74f"><span>8002</span></td><td id="LC8002" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> item = matchResult.match; </code></td></tr><tr><td id="L8003" class="css-a4x74f"><span>8003</span></td><td id="LC8003" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> host = matchResult.match = { </code></td></tr><tr><td id="L8004" class="css-a4x74f"><span>8004</span></td><td id="LC8004" class="css-1dcdqdg"><code> syntax: matchGraph.syntax || <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8005" class="css-a4x74f"><span>8005</span></td><td id="LC8005" class="css-1dcdqdg"><code> match: [] </code></td></tr><tr><td id="L8006" class="css-a4x74f"><span>8006</span></td><td id="LC8006" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8007" class="css-a4x74f"><span>8007</span></td><td id="LC8007" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hostStack = [host]; </code></td></tr><tr><td id="L8008" class="css-a4x74f"><span>8008</span></td><td id="LC8008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8009" class="css-a4x74f"><span>8009</span></td><td id="LC8009" class="css-1dcdqdg"><code> <span class="code-comment">// revert a list and start with 2nd item since 1st is a stub item</span> </code></td></tr><tr><td id="L8010" class="css-a4x74f"><span>8010</span></td><td id="LC8010" class="css-1dcdqdg"><code> item = reverseList(item).prev; </code></td></tr><tr><td id="L8011" class="css-a4x74f"><span>8011</span></td><td id="LC8011" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8012" class="css-a4x74f"><span>8012</span></td><td id="LC8012" class="css-1dcdqdg"><code> <span class="code-comment">// build a tree</span> </code></td></tr><tr><td id="L8013" class="css-a4x74f"><span>8013</span></td><td id="LC8013" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (item !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8014" class="css-a4x74f"><span>8014</span></td><td id="LC8014" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (item.type) { </code></td></tr><tr><td id="L8015" class="css-a4x74f"><span>8015</span></td><td id="LC8015" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> OPEN_SYNTAX: </code></td></tr><tr><td id="L8016" class="css-a4x74f"><span>8016</span></td><td id="LC8016" class="css-1dcdqdg"><code> host.match.push(host = { </code></td></tr><tr><td id="L8017" class="css-a4x74f"><span>8017</span></td><td id="LC8017" class="css-1dcdqdg"><code> syntax: item.syntax, </code></td></tr><tr><td id="L8018" class="css-a4x74f"><span>8018</span></td><td id="LC8018" class="css-1dcdqdg"><code> match: [] </code></td></tr><tr><td id="L8019" class="css-a4x74f"><span>8019</span></td><td id="LC8019" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8020" class="css-a4x74f"><span>8020</span></td><td id="LC8020" class="css-1dcdqdg"><code> hostStack.push(host); </code></td></tr><tr><td id="L8021" class="css-a4x74f"><span>8021</span></td><td id="LC8021" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8022" class="css-a4x74f"><span>8022</span></td><td id="LC8022" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8023" class="css-a4x74f"><span>8023</span></td><td id="LC8023" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> CLOSE_SYNTAX: </code></td></tr><tr><td id="L8024" class="css-a4x74f"><span>8024</span></td><td id="LC8024" class="css-1dcdqdg"><code> hostStack.pop(); </code></td></tr><tr><td id="L8025" class="css-a4x74f"><span>8025</span></td><td id="LC8025" class="css-1dcdqdg"><code> host = hostStack[hostStack.length - <span class="code-number">1</span>]; </code></td></tr><tr><td id="L8026" class="css-a4x74f"><span>8026</span></td><td id="LC8026" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8027" class="css-a4x74f"><span>8027</span></td><td id="LC8027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8028" class="css-a4x74f"><span>8028</span></td><td id="LC8028" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L8029" class="css-a4x74f"><span>8029</span></td><td id="LC8029" class="css-1dcdqdg"><code> host.match.push({ </code></td></tr><tr><td id="L8030" class="css-a4x74f"><span>8030</span></td><td id="LC8030" class="css-1dcdqdg"><code> syntax: item.syntax || <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8031" class="css-a4x74f"><span>8031</span></td><td id="LC8031" class="css-1dcdqdg"><code> token: item.token.value, </code></td></tr><tr><td id="L8032" class="css-a4x74f"><span>8032</span></td><td id="LC8032" class="css-1dcdqdg"><code> node: item.token.node </code></td></tr><tr><td id="L8033" class="css-a4x74f"><span>8033</span></td><td id="LC8033" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8034" class="css-a4x74f"><span>8034</span></td><td id="LC8034" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8035" class="css-a4x74f"><span>8035</span></td><td id="LC8035" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8036" class="css-a4x74f"><span>8036</span></td><td id="LC8036" class="css-1dcdqdg"><code> item = item.prev; </code></td></tr><tr><td id="L8037" class="css-a4x74f"><span>8037</span></td><td id="LC8037" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8038" class="css-a4x74f"><span>8038</span></td><td id="LC8038" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8039" class="css-a4x74f"><span>8039</span></td><td id="LC8039" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchResult; </code></td></tr><tr><td id="L8040" class="css-a4x74f"><span>8040</span></td><td id="LC8040" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8041" class="css-a4x74f"><span>8041</span></td><td id="LC8041" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8042" class="css-a4x74f"><span>8042</span></td><td id="LC8042" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> match = { </code></td></tr><tr><td id="L8043" class="css-a4x74f"><span>8043</span></td><td id="LC8043" class="css-1dcdqdg"><code> matchAsList: matchAsList, </code></td></tr><tr><td id="L8044" class="css-a4x74f"><span>8044</span></td><td id="LC8044" class="css-1dcdqdg"><code> matchAsTree: matchAsTree, </code></td></tr><tr><td id="L8045" class="css-a4x74f"><span>8045</span></td><td id="LC8045" class="css-1dcdqdg"><code> getTotalIterationCount: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8046" class="css-a4x74f"><span>8046</span></td><td id="LC8046" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> totalIterationCount; </code></td></tr><tr><td id="L8047" class="css-a4x74f"><span>8047</span></td><td id="LC8047" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8048" class="css-a4x74f"><span>8048</span></td><td id="LC8048" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8049" class="css-a4x74f"><span>8049</span></td><td id="LC8049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8050" class="css-a4x74f"><span>8050</span></td><td id="LC8050" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getTrace</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L8051" class="css-a4x74f"><span>8051</span></td><td id="LC8051" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">shouldPutToTrace</span>(<span class="code-params">syntax</span>) </span>{ </code></td></tr><tr><td id="L8052" class="css-a4x74f"><span>8052</span></td><td id="LC8052" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (syntax === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8053" class="css-a4x74f"><span>8053</span></td><td id="LC8053" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8054" class="css-a4x74f"><span>8054</span></td><td id="LC8054" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8055" class="css-a4x74f"><span>8055</span></td><td id="LC8055" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8056" class="css-a4x74f"><span>8056</span></td><td id="LC8056" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L8057" class="css-a4x74f"><span>8057</span></td><td id="LC8057" class="css-1dcdqdg"><code> syntax.type === <span class="code-string">'Type'</span> || </code></td></tr><tr><td id="L8058" class="css-a4x74f"><span>8058</span></td><td id="LC8058" class="css-1dcdqdg"><code> syntax.type === <span class="code-string">'Property'</span> || </code></td></tr><tr><td id="L8059" class="css-a4x74f"><span>8059</span></td><td id="LC8059" class="css-1dcdqdg"><code> syntax.type === <span class="code-string">'Keyword'</span> </code></td></tr><tr><td id="L8060" class="css-a4x74f"><span>8060</span></td><td id="LC8060" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L8061" class="css-a4x74f"><span>8061</span></td><td id="LC8061" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8062" class="css-a4x74f"><span>8062</span></td><td id="LC8062" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8063" class="css-a4x74f"><span>8063</span></td><td id="LC8063" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">hasMatch</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8064" class="css-a4x74f"><span>8064</span></td><td id="LC8064" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(matchNode.match)) { </code></td></tr><tr><td id="L8065" class="css-a4x74f"><span>8065</span></td><td id="LC8065" class="css-1dcdqdg"><code> <span class="code-comment">// use for-loop for better perfomance</span> </code></td></tr><tr><td id="L8066" class="css-a4x74f"><span>8066</span></td><td id="LC8066" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < matchNode.match.length; i++) { </code></td></tr><tr><td id="L8067" class="css-a4x74f"><span>8067</span></td><td id="LC8067" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasMatch(matchNode.match[i])) { </code></td></tr><tr><td id="L8068" class="css-a4x74f"><span>8068</span></td><td id="LC8068" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (shouldPutToTrace(matchNode.syntax)) { </code></td></tr><tr><td id="L8069" class="css-a4x74f"><span>8069</span></td><td id="LC8069" class="css-1dcdqdg"><code> result.unshift(matchNode.syntax); </code></td></tr><tr><td id="L8070" class="css-a4x74f"><span>8070</span></td><td id="LC8070" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8071" class="css-a4x74f"><span>8071</span></td><td id="LC8071" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8072" class="css-a4x74f"><span>8072</span></td><td id="LC8072" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8073" class="css-a4x74f"><span>8073</span></td><td id="LC8073" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8074" class="css-a4x74f"><span>8074</span></td><td id="LC8074" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8075" class="css-a4x74f"><span>8075</span></td><td id="LC8075" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (matchNode.node === node) { </code></td></tr><tr><td id="L8076" class="css-a4x74f"><span>8076</span></td><td id="LC8076" class="css-1dcdqdg"><code> result = shouldPutToTrace(matchNode.syntax) </code></td></tr><tr><td id="L8077" class="css-a4x74f"><span>8077</span></td><td id="LC8077" class="css-1dcdqdg"><code> ? [matchNode.syntax] </code></td></tr><tr><td id="L8078" class="css-a4x74f"><span>8078</span></td><td id="LC8078" class="css-1dcdqdg"><code> : []; </code></td></tr><tr><td id="L8079" class="css-a4x74f"><span>8079</span></td><td id="LC8079" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8080" class="css-a4x74f"><span>8080</span></td><td id="LC8080" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8081" class="css-a4x74f"><span>8081</span></td><td id="LC8081" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8082" class="css-a4x74f"><span>8082</span></td><td id="LC8082" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8083" class="css-a4x74f"><span>8083</span></td><td id="LC8083" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8084" class="css-a4x74f"><span>8084</span></td><td id="LC8084" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8085" class="css-a4x74f"><span>8085</span></td><td id="LC8085" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8086" class="css-a4x74f"><span>8086</span></td><td id="LC8086" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8087" class="css-a4x74f"><span>8087</span></td><td id="LC8087" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8088" class="css-a4x74f"><span>8088</span></td><td id="LC8088" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.matched !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8089" class="css-a4x74f"><span>8089</span></td><td id="LC8089" class="css-1dcdqdg"><code> hasMatch(<span class="code-keyword">this</span>.matched); </code></td></tr><tr><td id="L8090" class="css-a4x74f"><span>8090</span></td><td id="LC8090" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8091" class="css-a4x74f"><span>8091</span></td><td id="LC8091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8092" class="css-a4x74f"><span>8092</span></td><td id="LC8092" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L8093" class="css-a4x74f"><span>8093</span></td><td id="LC8093" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8094" class="css-a4x74f"><span>8094</span></td><td id="LC8094" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8095" class="css-a4x74f"><span>8095</span></td><td id="LC8095" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">testNode</span>(<span class="code-params">match, node, fn</span>) </span>{ </code></td></tr><tr><td id="L8096" class="css-a4x74f"><span>8096</span></td><td id="LC8096" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> trace = getTrace.call(match, node); </code></td></tr><tr><td id="L8097" class="css-a4x74f"><span>8097</span></td><td id="LC8097" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8098" class="css-a4x74f"><span>8098</span></td><td id="LC8098" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (trace === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8099" class="css-a4x74f"><span>8099</span></td><td id="LC8099" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8100" class="css-a4x74f"><span>8100</span></td><td id="LC8100" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8101" class="css-a4x74f"><span>8101</span></td><td id="LC8101" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8102" class="css-a4x74f"><span>8102</span></td><td id="LC8102" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> trace.some(fn); </code></td></tr><tr><td id="L8103" class="css-a4x74f"><span>8103</span></td><td id="LC8103" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8104" class="css-a4x74f"><span>8104</span></td><td id="LC8104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8105" class="css-a4x74f"><span>8105</span></td><td id="LC8105" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isType</span>(<span class="code-params">node, type</span>) </span>{ </code></td></tr><tr><td id="L8106" class="css-a4x74f"><span>8106</span></td><td id="LC8106" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> testNode(<span class="code-keyword">this</span>, node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8107" class="css-a4x74f"><span>8107</span></td><td id="LC8107" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchNode.type === <span class="code-string">'Type'</span> && matchNode.name === type; </code></td></tr><tr><td id="L8108" class="css-a4x74f"><span>8108</span></td><td id="LC8108" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8109" class="css-a4x74f"><span>8109</span></td><td id="LC8109" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8110" class="css-a4x74f"><span>8110</span></td><td id="LC8110" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8111" class="css-a4x74f"><span>8111</span></td><td id="LC8111" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isProperty</span>(<span class="code-params">node, property</span>) </span>{ </code></td></tr><tr><td id="L8112" class="css-a4x74f"><span>8112</span></td><td id="LC8112" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> testNode(<span class="code-keyword">this</span>, node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8113" class="css-a4x74f"><span>8113</span></td><td id="LC8113" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchNode.type === <span class="code-string">'Property'</span> && matchNode.name === property; </code></td></tr><tr><td id="L8114" class="css-a4x74f"><span>8114</span></td><td id="LC8114" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8115" class="css-a4x74f"><span>8115</span></td><td id="LC8115" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8116" class="css-a4x74f"><span>8116</span></td><td id="LC8116" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8117" class="css-a4x74f"><span>8117</span></td><td id="LC8117" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isKeyword</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L8118" class="css-a4x74f"><span>8118</span></td><td id="LC8118" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> testNode(<span class="code-keyword">this</span>, node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8119" class="css-a4x74f"><span>8119</span></td><td id="LC8119" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchNode.type === <span class="code-string">'Keyword'</span>; </code></td></tr><tr><td id="L8120" class="css-a4x74f"><span>8120</span></td><td id="LC8120" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8121" class="css-a4x74f"><span>8121</span></td><td id="LC8121" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8122" class="css-a4x74f"><span>8122</span></td><td id="LC8122" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8123" class="css-a4x74f"><span>8123</span></td><td id="LC8123" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> trace = { </code></td></tr><tr><td id="L8124" class="css-a4x74f"><span>8124</span></td><td id="LC8124" class="css-1dcdqdg"><code> getTrace: getTrace, </code></td></tr><tr><td id="L8125" class="css-a4x74f"><span>8125</span></td><td id="LC8125" class="css-1dcdqdg"><code> isType: isType, </code></td></tr><tr><td id="L8126" class="css-a4x74f"><span>8126</span></td><td id="LC8126" class="css-1dcdqdg"><code> isProperty: isProperty, </code></td></tr><tr><td id="L8127" class="css-a4x74f"><span>8127</span></td><td id="LC8127" class="css-1dcdqdg"><code> isKeyword: isKeyword </code></td></tr><tr><td id="L8128" class="css-a4x74f"><span>8128</span></td><td id="LC8128" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8129" class="css-a4x74f"><span>8129</span></td><td id="LC8129" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8130" class="css-a4x74f"><span>8130</span></td><td id="LC8130" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getFirstMatchNode</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8131" class="css-a4x74f"><span>8131</span></td><td id="LC8131" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">'node'</span> <span class="code-keyword">in</span> matchNode) { </code></td></tr><tr><td id="L8132" class="css-a4x74f"><span>8132</span></td><td id="LC8132" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchNode.node; </code></td></tr><tr><td id="L8133" class="css-a4x74f"><span>8133</span></td><td id="LC8133" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8134" class="css-a4x74f"><span>8134</span></td><td id="LC8134" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8135" class="css-a4x74f"><span>8135</span></td><td id="LC8135" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getFirstMatchNode(matchNode.match[<span class="code-number">0</span>]); </code></td></tr><tr><td id="L8136" class="css-a4x74f"><span>8136</span></td><td id="LC8136" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8137" class="css-a4x74f"><span>8137</span></td><td id="LC8137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8138" class="css-a4x74f"><span>8138</span></td><td id="LC8138" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getLastMatchNode</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8139" class="css-a4x74f"><span>8139</span></td><td id="LC8139" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">'node'</span> <span class="code-keyword">in</span> matchNode) { </code></td></tr><tr><td id="L8140" class="css-a4x74f"><span>8140</span></td><td id="LC8140" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchNode.node; </code></td></tr><tr><td id="L8141" class="css-a4x74f"><span>8141</span></td><td id="LC8141" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8142" class="css-a4x74f"><span>8142</span></td><td id="LC8142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8143" class="css-a4x74f"><span>8143</span></td><td id="LC8143" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> getLastMatchNode(matchNode.match[matchNode.match.length - <span class="code-number">1</span>]); </code></td></tr><tr><td id="L8144" class="css-a4x74f"><span>8144</span></td><td id="LC8144" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8145" class="css-a4x74f"><span>8145</span></td><td id="LC8145" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8146" class="css-a4x74f"><span>8146</span></td><td id="LC8146" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">matchFragments</span>(<span class="code-params">lexer, ast, match, type, name</span>) </span>{ </code></td></tr><tr><td id="L8147" class="css-a4x74f"><span>8147</span></td><td id="LC8147" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">findFragments</span>(<span class="code-params">matchNode</span>) </span>{ </code></td></tr><tr><td id="L8148" class="css-a4x74f"><span>8148</span></td><td id="LC8148" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matchNode.syntax !== <span class="code-literal">null</span> && </code></td></tr><tr><td id="L8149" class="css-a4x74f"><span>8149</span></td><td id="LC8149" class="css-1dcdqdg"><code> matchNode.syntax.type === type && </code></td></tr><tr><td id="L8150" class="css-a4x74f"><span>8150</span></td><td id="LC8150" class="css-1dcdqdg"><code> matchNode.syntax.name === name) { </code></td></tr><tr><td id="L8151" class="css-a4x74f"><span>8151</span></td><td id="LC8151" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = getFirstMatchNode(matchNode); </code></td></tr><tr><td id="L8152" class="css-a4x74f"><span>8152</span></td><td id="LC8152" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = getLastMatchNode(matchNode); </code></td></tr><tr><td id="L8153" class="css-a4x74f"><span>8153</span></td><td id="LC8153" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8154" class="css-a4x74f"><span>8154</span></td><td id="LC8154" class="css-1dcdqdg"><code> lexer.syntax.walk(ast, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L8155" class="css-a4x74f"><span>8155</span></td><td id="LC8155" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node === start) { </code></td></tr><tr><td id="L8156" class="css-a4x74f"><span>8156</span></td><td id="LC8156" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodes = <span class="code-keyword">new</span> List_1(); </code></td></tr><tr><td id="L8157" class="css-a4x74f"><span>8157</span></td><td id="LC8157" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8158" class="css-a4x74f"><span>8158</span></td><td id="LC8158" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L8159" class="css-a4x74f"><span>8159</span></td><td id="LC8159" class="css-1dcdqdg"><code> nodes.appendData(item.data); </code></td></tr><tr><td id="L8160" class="css-a4x74f"><span>8160</span></td><td id="LC8160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8161" class="css-a4x74f"><span>8161</span></td><td id="LC8161" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (item.data === end) { </code></td></tr><tr><td id="L8162" class="css-a4x74f"><span>8162</span></td><td id="LC8162" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8163" class="css-a4x74f"><span>8163</span></td><td id="LC8163" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8164" class="css-a4x74f"><span>8164</span></td><td id="LC8164" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8165" class="css-a4x74f"><span>8165</span></td><td id="LC8165" class="css-1dcdqdg"><code> item = item.next; </code></td></tr><tr><td id="L8166" class="css-a4x74f"><span>8166</span></td><td id="LC8166" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (item !== <span class="code-literal">null</span>); </code></td></tr><tr><td id="L8167" class="css-a4x74f"><span>8167</span></td><td id="LC8167" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8168" class="css-a4x74f"><span>8168</span></td><td id="LC8168" class="css-1dcdqdg"><code> fragments.push({ </code></td></tr><tr><td id="L8169" class="css-a4x74f"><span>8169</span></td><td id="LC8169" class="css-1dcdqdg"><code> parent: list, </code></td></tr><tr><td id="L8170" class="css-a4x74f"><span>8170</span></td><td id="LC8170" class="css-1dcdqdg"><code> nodes: nodes </code></td></tr><tr><td id="L8171" class="css-a4x74f"><span>8171</span></td><td id="LC8171" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8172" class="css-a4x74f"><span>8172</span></td><td id="LC8172" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8173" class="css-a4x74f"><span>8173</span></td><td id="LC8173" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8174" class="css-a4x74f"><span>8174</span></td><td id="LC8174" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8175" class="css-a4x74f"><span>8175</span></td><td id="LC8175" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8176" class="css-a4x74f"><span>8176</span></td><td id="LC8176" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(matchNode.match)) { </code></td></tr><tr><td id="L8177" class="css-a4x74f"><span>8177</span></td><td id="LC8177" class="css-1dcdqdg"><code> matchNode.match.forEach(findFragments); </code></td></tr><tr><td id="L8178" class="css-a4x74f"><span>8178</span></td><td id="LC8178" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8179" class="css-a4x74f"><span>8179</span></td><td id="LC8179" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8180" class="css-a4x74f"><span>8180</span></td><td id="LC8180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8181" class="css-a4x74f"><span>8181</span></td><td id="LC8181" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fragments = []; </code></td></tr><tr><td id="L8182" class="css-a4x74f"><span>8182</span></td><td id="LC8182" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8183" class="css-a4x74f"><span>8183</span></td><td id="LC8183" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (match.matched !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8184" class="css-a4x74f"><span>8184</span></td><td id="LC8184" class="css-1dcdqdg"><code> findFragments(match.matched); </code></td></tr><tr><td id="L8185" class="css-a4x74f"><span>8185</span></td><td id="LC8185" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8186" class="css-a4x74f"><span>8186</span></td><td id="LC8186" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8187" class="css-a4x74f"><span>8187</span></td><td id="LC8187" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fragments; </code></td></tr><tr><td id="L8188" class="css-a4x74f"><span>8188</span></td><td id="LC8188" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8189" class="css-a4x74f"><span>8189</span></td><td id="LC8189" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8190" class="css-a4x74f"><span>8190</span></td><td id="LC8190" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> search = { </code></td></tr><tr><td id="L8191" class="css-a4x74f"><span>8191</span></td><td id="LC8191" class="css-1dcdqdg"><code> matchFragments: matchFragments </code></td></tr><tr><td id="L8192" class="css-a4x74f"><span>8192</span></td><td id="LC8192" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8193" class="css-a4x74f"><span>8193</span></td><td id="LC8193" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8194" class="css-a4x74f"><span>8194</span></td><td id="LC8194" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty$<span class="code-number">2</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L8195" class="css-a4x74f"><span>8195</span></td><td id="LC8195" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8196" class="css-a4x74f"><span>8196</span></td><td id="LC8196" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isValidNumber</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L8197" class="css-a4x74f"><span>8197</span></td><td id="LC8197" class="css-1dcdqdg"><code> <span class="code-comment">// Number.isInteger(value) && value >= 0</span> </code></td></tr><tr><td id="L8198" class="css-a4x74f"><span>8198</span></td><td id="LC8198" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L8199" class="css-a4x74f"><span>8199</span></td><td id="LC8199" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> value === <span class="code-string">'number'</span> && </code></td></tr><tr><td id="L8200" class="css-a4x74f"><span>8200</span></td><td id="LC8200" class="css-1dcdqdg"><code> <span class="code-built_in">isFinite</span>(value) && </code></td></tr><tr><td id="L8201" class="css-a4x74f"><span>8201</span></td><td id="LC8201" class="css-1dcdqdg"><code> <span class="code-built_in">Math</span>.floor(value) === value && </code></td></tr><tr><td id="L8202" class="css-a4x74f"><span>8202</span></td><td id="LC8202" class="css-1dcdqdg"><code> value >= <span class="code-number">0</span> </code></td></tr><tr><td id="L8203" class="css-a4x74f"><span>8203</span></td><td id="LC8203" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L8204" class="css-a4x74f"><span>8204</span></td><td id="LC8204" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8205" class="css-a4x74f"><span>8205</span></td><td id="LC8205" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8206" class="css-a4x74f"><span>8206</span></td><td id="LC8206" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isValidLocation</span>(<span class="code-params">loc</span>) </span>{ </code></td></tr><tr><td id="L8207" class="css-a4x74f"><span>8207</span></td><td id="LC8207" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L8208" class="css-a4x74f"><span>8208</span></td><td id="LC8208" class="css-1dcdqdg"><code> <span class="code-built_in">Boolean</span>(loc) && </code></td></tr><tr><td id="L8209" class="css-a4x74f"><span>8209</span></td><td id="LC8209" class="css-1dcdqdg"><code> isValidNumber(loc.offset) && </code></td></tr><tr><td id="L8210" class="css-a4x74f"><span>8210</span></td><td id="LC8210" class="css-1dcdqdg"><code> isValidNumber(loc.line) && </code></td></tr><tr><td id="L8211" class="css-a4x74f"><span>8211</span></td><td id="LC8211" class="css-1dcdqdg"><code> isValidNumber(loc.column) </code></td></tr><tr><td id="L8212" class="css-a4x74f"><span>8212</span></td><td id="LC8212" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L8213" class="css-a4x74f"><span>8213</span></td><td id="LC8213" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8214" class="css-a4x74f"><span>8214</span></td><td id="LC8214" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8215" class="css-a4x74f"><span>8215</span></td><td id="LC8215" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createNodeStructureChecker</span>(<span class="code-params">type, fields</span>) </span>{ </code></td></tr><tr><td id="L8216" class="css-a4x74f"><span>8216</span></td><td id="LC8216" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">checkNode</span>(<span class="code-params">node, warn</span>) </span>{ </code></td></tr><tr><td id="L8217" class="css-a4x74f"><span>8217</span></td><td id="LC8217" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node || node.constructor !== <span class="code-built_in">Object</span>) { </code></td></tr><tr><td id="L8218" class="css-a4x74f"><span>8218</span></td><td id="LC8218" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> warn(node, <span class="code-string">'Type of node should be an Object'</span>); </code></td></tr><tr><td id="L8219" class="css-a4x74f"><span>8219</span></td><td id="LC8219" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8220" class="css-a4x74f"><span>8220</span></td><td id="LC8220" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8221" class="css-a4x74f"><span>8221</span></td><td id="LC8221" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> node) { </code></td></tr><tr><td id="L8222" class="css-a4x74f"><span>8222</span></td><td id="LC8222" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> valid = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8223" class="css-a4x74f"><span>8223</span></td><td id="LC8223" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8224" class="css-a4x74f"><span>8224</span></td><td id="LC8224" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">2.</span>call(node, key) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L8225" class="css-a4x74f"><span>8225</span></td><td id="LC8225" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8226" class="css-a4x74f"><span>8226</span></td><td id="LC8226" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8227" class="css-a4x74f"><span>8227</span></td><td id="LC8227" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8228" class="css-a4x74f"><span>8228</span></td><td id="LC8228" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (key === <span class="code-string">'type'</span>) { </code></td></tr><tr><td id="L8229" class="css-a4x74f"><span>8229</span></td><td id="LC8229" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.type !== type) { </code></td></tr><tr><td id="L8230" class="css-a4x74f"><span>8230</span></td><td id="LC8230" class="css-1dcdqdg"><code> warn(node, <span class="code-string">'Wrong node type `'</span> + node.type + <span class="code-string">'`, expected `'</span> + type + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L8231" class="css-a4x74f"><span>8231</span></td><td id="LC8231" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8232" class="css-a4x74f"><span>8232</span></td><td id="LC8232" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (key === <span class="code-string">'loc'</span>) { </code></td></tr><tr><td id="L8233" class="css-a4x74f"><span>8233</span></td><td id="LC8233" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.loc === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8234" class="css-a4x74f"><span>8234</span></td><td id="LC8234" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8235" class="css-a4x74f"><span>8235</span></td><td id="LC8235" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (node.loc && node.loc.constructor === <span class="code-built_in">Object</span>) { </code></td></tr><tr><td id="L8236" class="css-a4x74f"><span>8236</span></td><td id="LC8236" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> node.loc.source !== <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L8237" class="css-a4x74f"><span>8237</span></td><td id="LC8237" class="css-1dcdqdg"><code> key += <span class="code-string">'.source'</span>; </code></td></tr><tr><td id="L8238" class="css-a4x74f"><span>8238</span></td><td id="LC8238" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!isValidLocation(node.loc.start)) { </code></td></tr><tr><td id="L8239" class="css-a4x74f"><span>8239</span></td><td id="LC8239" class="css-1dcdqdg"><code> key += <span class="code-string">'.start'</span>; </code></td></tr><tr><td id="L8240" class="css-a4x74f"><span>8240</span></td><td id="LC8240" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!isValidLocation(node.loc.end)) { </code></td></tr><tr><td id="L8241" class="css-a4x74f"><span>8241</span></td><td id="LC8241" class="css-1dcdqdg"><code> key += <span class="code-string">'.end'</span>; </code></td></tr><tr><td id="L8242" class="css-a4x74f"><span>8242</span></td><td id="LC8242" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8243" class="css-a4x74f"><span>8243</span></td><td id="LC8243" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8244" class="css-a4x74f"><span>8244</span></td><td id="LC8244" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8245" class="css-a4x74f"><span>8245</span></td><td id="LC8245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8246" class="css-a4x74f"><span>8246</span></td><td id="LC8246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8247" class="css-a4x74f"><span>8247</span></td><td id="LC8247" class="css-1dcdqdg"><code> valid = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8248" class="css-a4x74f"><span>8248</span></td><td id="LC8248" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (fields.hasOwnProperty(key)) { </code></td></tr><tr><td id="L8249" class="css-a4x74f"><span>8249</span></td><td id="LC8249" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>, valid = <span class="code-literal">false</span>; !valid && i < fields[key].length; i++) { </code></td></tr><tr><td id="L8250" class="css-a4x74f"><span>8250</span></td><td id="LC8250" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fieldType = fields[key][i]; </code></td></tr><tr><td id="L8251" class="css-a4x74f"><span>8251</span></td><td id="LC8251" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8252" class="css-a4x74f"><span>8252</span></td><td id="LC8252" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (fieldType) { </code></td></tr><tr><td id="L8253" class="css-a4x74f"><span>8253</span></td><td id="LC8253" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-built_in">String</span>: </code></td></tr><tr><td id="L8254" class="css-a4x74f"><span>8254</span></td><td id="LC8254" class="css-1dcdqdg"><code> valid = <span class="code-keyword">typeof</span> node[key] === <span class="code-string">'string'</span>; </code></td></tr><tr><td id="L8255" class="css-a4x74f"><span>8255</span></td><td id="LC8255" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8256" class="css-a4x74f"><span>8256</span></td><td id="LC8256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8257" class="css-a4x74f"><span>8257</span></td><td id="LC8257" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-built_in">Boolean</span>: </code></td></tr><tr><td id="L8258" class="css-a4x74f"><span>8258</span></td><td id="LC8258" class="css-1dcdqdg"><code> valid = <span class="code-keyword">typeof</span> node[key] === <span class="code-string">'boolean'</span>; </code></td></tr><tr><td id="L8259" class="css-a4x74f"><span>8259</span></td><td id="LC8259" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8260" class="css-a4x74f"><span>8260</span></td><td id="LC8260" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8261" class="css-a4x74f"><span>8261</span></td><td id="LC8261" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-literal">null</span>: </code></td></tr><tr><td id="L8262" class="css-a4x74f"><span>8262</span></td><td id="LC8262" class="css-1dcdqdg"><code> valid = node[key] === <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8263" class="css-a4x74f"><span>8263</span></td><td id="LC8263" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8264" class="css-a4x74f"><span>8264</span></td><td id="LC8264" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8265" class="css-a4x74f"><span>8265</span></td><td id="LC8265" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L8266" class="css-a4x74f"><span>8266</span></td><td id="LC8266" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> fieldType === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L8267" class="css-a4x74f"><span>8267</span></td><td id="LC8267" class="css-1dcdqdg"><code> valid = node[key] && node[key].type === fieldType; </code></td></tr><tr><td id="L8268" class="css-a4x74f"><span>8268</span></td><td id="LC8268" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(fieldType)) { </code></td></tr><tr><td id="L8269" class="css-a4x74f"><span>8269</span></td><td id="LC8269" class="css-1dcdqdg"><code> valid = node[key] <span class="code-keyword">instanceof</span> List_1; </code></td></tr><tr><td id="L8270" class="css-a4x74f"><span>8270</span></td><td id="LC8270" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8271" class="css-a4x74f"><span>8271</span></td><td id="LC8271" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8272" class="css-a4x74f"><span>8272</span></td><td id="LC8272" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8273" class="css-a4x74f"><span>8273</span></td><td id="LC8273" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8274" class="css-a4x74f"><span>8274</span></td><td id="LC8274" class="css-1dcdqdg"><code> warn(node, <span class="code-string">'Unknown field `'</span> + key + <span class="code-string">'` for '</span> + type + <span class="code-string">' node type'</span>); </code></td></tr><tr><td id="L8275" class="css-a4x74f"><span>8275</span></td><td id="LC8275" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8276" class="css-a4x74f"><span>8276</span></td><td id="LC8276" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8277" class="css-a4x74f"><span>8277</span></td><td id="LC8277" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!valid) { </code></td></tr><tr><td id="L8278" class="css-a4x74f"><span>8278</span></td><td id="LC8278" class="css-1dcdqdg"><code> warn(node, <span class="code-string">'Bad value for `'</span> + type + <span class="code-string">'.'</span> + key + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L8279" class="css-a4x74f"><span>8279</span></td><td id="LC8279" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8280" class="css-a4x74f"><span>8280</span></td><td id="LC8280" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8281" class="css-a4x74f"><span>8281</span></td><td id="LC8281" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8282" class="css-a4x74f"><span>8282</span></td><td id="LC8282" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> fields) { </code></td></tr><tr><td id="L8283" class="css-a4x74f"><span>8283</span></td><td id="LC8283" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">2.</span>call(fields, key) && </code></td></tr><tr><td id="L8284" class="css-a4x74f"><span>8284</span></td><td id="LC8284" class="css-1dcdqdg"><code> hasOwnProperty$<span class="code-number">2.</span>call(node, key) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L8285" class="css-a4x74f"><span>8285</span></td><td id="LC8285" class="css-1dcdqdg"><code> warn(node, <span class="code-string">'Field `'</span> + type + <span class="code-string">'.'</span> + key + <span class="code-string">'` is missed'</span>); </code></td></tr><tr><td id="L8286" class="css-a4x74f"><span>8286</span></td><td id="LC8286" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8287" class="css-a4x74f"><span>8287</span></td><td id="LC8287" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8288" class="css-a4x74f"><span>8288</span></td><td id="LC8288" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8289" class="css-a4x74f"><span>8289</span></td><td id="LC8289" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8290" class="css-a4x74f"><span>8290</span></td><td id="LC8290" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8291" class="css-a4x74f"><span>8291</span></td><td id="LC8291" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">processStructure</span>(<span class="code-params">name, nodeType</span>) </span>{ </code></td></tr><tr><td id="L8292" class="css-a4x74f"><span>8292</span></td><td id="LC8292" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> structure = nodeType.structure; </code></td></tr><tr><td id="L8293" class="css-a4x74f"><span>8293</span></td><td id="LC8293" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fields = { </code></td></tr><tr><td id="L8294" class="css-a4x74f"><span>8294</span></td><td id="LC8294" class="css-1dcdqdg"><code> type: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L8295" class="css-a4x74f"><span>8295</span></td><td id="LC8295" class="css-1dcdqdg"><code> loc: <span class="code-literal">true</span> </code></td></tr><tr><td id="L8296" class="css-a4x74f"><span>8296</span></td><td id="LC8296" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8297" class="css-a4x74f"><span>8297</span></td><td id="LC8297" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> docs = { </code></td></tr><tr><td id="L8298" class="css-a4x74f"><span>8298</span></td><td id="LC8298" class="css-1dcdqdg"><code> type: <span class="code-string">'"'</span> + name + <span class="code-string">'"'</span> </code></td></tr><tr><td id="L8299" class="css-a4x74f"><span>8299</span></td><td id="LC8299" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8300" class="css-a4x74f"><span>8300</span></td><td id="LC8300" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8301" class="css-a4x74f"><span>8301</span></td><td id="LC8301" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> structure) { </code></td></tr><tr><td id="L8302" class="css-a4x74f"><span>8302</span></td><td id="LC8302" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">2.</span>call(structure, key) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L8303" class="css-a4x74f"><span>8303</span></td><td id="LC8303" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8304" class="css-a4x74f"><span>8304</span></td><td id="LC8304" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8305" class="css-a4x74f"><span>8305</span></td><td id="LC8305" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8306" class="css-a4x74f"><span>8306</span></td><td id="LC8306" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> docsTypes = []; </code></td></tr><tr><td id="L8307" class="css-a4x74f"><span>8307</span></td><td id="LC8307" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fieldTypes = fields[key] = <span class="code-built_in">Array</span>.isArray(structure[key]) </code></td></tr><tr><td id="L8308" class="css-a4x74f"><span>8308</span></td><td id="LC8308" class="css-1dcdqdg"><code> ? structure[key].slice() </code></td></tr><tr><td id="L8309" class="css-a4x74f"><span>8309</span></td><td id="LC8309" class="css-1dcdqdg"><code> : [structure[key]]; </code></td></tr><tr><td id="L8310" class="css-a4x74f"><span>8310</span></td><td id="LC8310" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8311" class="css-a4x74f"><span>8311</span></td><td id="LC8311" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < fieldTypes.length; i++) { </code></td></tr><tr><td id="L8312" class="css-a4x74f"><span>8312</span></td><td id="LC8312" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fieldType = fieldTypes[i]; </code></td></tr><tr><td id="L8313" class="css-a4x74f"><span>8313</span></td><td id="LC8313" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fieldType === <span class="code-built_in">String</span> || fieldType === <span class="code-built_in">Boolean</span>) { </code></td></tr><tr><td id="L8314" class="css-a4x74f"><span>8314</span></td><td id="LC8314" class="css-1dcdqdg"><code> docsTypes.push(fieldType.name); </code></td></tr><tr><td id="L8315" class="css-a4x74f"><span>8315</span></td><td id="LC8315" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (fieldType === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8316" class="css-a4x74f"><span>8316</span></td><td id="LC8316" class="css-1dcdqdg"><code> docsTypes.push(<span class="code-string">'null'</span>); </code></td></tr><tr><td id="L8317" class="css-a4x74f"><span>8317</span></td><td id="LC8317" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> fieldType === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L8318" class="css-a4x74f"><span>8318</span></td><td id="LC8318" class="css-1dcdqdg"><code> docsTypes.push(<span class="code-string">'<'</span> + fieldType + <span class="code-string">'>'</span>); </code></td></tr><tr><td id="L8319" class="css-a4x74f"><span>8319</span></td><td id="LC8319" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(fieldType)) { </code></td></tr><tr><td id="L8320" class="css-a4x74f"><span>8320</span></td><td id="LC8320" class="css-1dcdqdg"><code> docsTypes.push(<span class="code-string">'List'</span>); <span class="code-comment">// <span class="code-doctag">TODO:</span> use type enum</span> </code></td></tr><tr><td id="L8321" class="css-a4x74f"><span>8321</span></td><td id="LC8321" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8322" class="css-a4x74f"><span>8322</span></td><td id="LC8322" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Wrong value `'</span> + fieldType + <span class="code-string">'` in `'</span> + name + <span class="code-string">'.'</span> + key + <span class="code-string">'` structure definition'</span>); </code></td></tr><tr><td id="L8323" class="css-a4x74f"><span>8323</span></td><td id="LC8323" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8324" class="css-a4x74f"><span>8324</span></td><td id="LC8324" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8325" class="css-a4x74f"><span>8325</span></td><td id="LC8325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8326" class="css-a4x74f"><span>8326</span></td><td id="LC8326" class="css-1dcdqdg"><code> docs[key] = docsTypes.join(<span class="code-string">' | '</span>); </code></td></tr><tr><td id="L8327" class="css-a4x74f"><span>8327</span></td><td id="LC8327" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8328" class="css-a4x74f"><span>8328</span></td><td id="LC8328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8329" class="css-a4x74f"><span>8329</span></td><td id="LC8329" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8330" class="css-a4x74f"><span>8330</span></td><td id="LC8330" class="css-1dcdqdg"><code> docs: docs, </code></td></tr><tr><td id="L8331" class="css-a4x74f"><span>8331</span></td><td id="LC8331" class="css-1dcdqdg"><code> check: createNodeStructureChecker(name, fields) </code></td></tr><tr><td id="L8332" class="css-a4x74f"><span>8332</span></td><td id="LC8332" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8333" class="css-a4x74f"><span>8333</span></td><td id="LC8333" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8334" class="css-a4x74f"><span>8334</span></td><td id="LC8334" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8335" class="css-a4x74f"><span>8335</span></td><td id="LC8335" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> structure = { </code></td></tr><tr><td id="L8336" class="css-a4x74f"><span>8336</span></td><td id="LC8336" class="css-1dcdqdg"><code> getStructureFromConfig: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L8337" class="css-a4x74f"><span>8337</span></td><td id="LC8337" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> structure = {}; </code></td></tr><tr><td id="L8338" class="css-a4x74f"><span>8338</span></td><td id="LC8338" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8339" class="css-a4x74f"><span>8339</span></td><td id="LC8339" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.node) { </code></td></tr><tr><td id="L8340" class="css-a4x74f"><span>8340</span></td><td id="LC8340" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.node) { </code></td></tr><tr><td id="L8341" class="css-a4x74f"><span>8341</span></td><td id="LC8341" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">2.</span>call(config.node, name)) { </code></td></tr><tr><td id="L8342" class="css-a4x74f"><span>8342</span></td><td id="LC8342" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodeType = config.node[name]; </code></td></tr><tr><td id="L8343" class="css-a4x74f"><span>8343</span></td><td id="LC8343" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8344" class="css-a4x74f"><span>8344</span></td><td id="LC8344" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nodeType.structure) { </code></td></tr><tr><td id="L8345" class="css-a4x74f"><span>8345</span></td><td id="LC8345" class="css-1dcdqdg"><code> structure[name] = processStructure(name, nodeType); </code></td></tr><tr><td id="L8346" class="css-a4x74f"><span>8346</span></td><td id="LC8346" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8347" class="css-a4x74f"><span>8347</span></td><td id="LC8347" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Missed `structure` field in `'</span> + name + <span class="code-string">'` node type definition'</span>); </code></td></tr><tr><td id="L8348" class="css-a4x74f"><span>8348</span></td><td id="LC8348" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8349" class="css-a4x74f"><span>8349</span></td><td id="LC8349" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8350" class="css-a4x74f"><span>8350</span></td><td id="LC8350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8351" class="css-a4x74f"><span>8351</span></td><td id="LC8351" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8352" class="css-a4x74f"><span>8352</span></td><td id="LC8352" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8353" class="css-a4x74f"><span>8353</span></td><td id="LC8353" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> structure; </code></td></tr><tr><td id="L8354" class="css-a4x74f"><span>8354</span></td><td id="LC8354" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8355" class="css-a4x74f"><span>8355</span></td><td id="LC8355" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8356" class="css-a4x74f"><span>8356</span></td><td id="LC8356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8357" class="css-a4x74f"><span>8357</span></td><td id="LC8357" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SyntaxReferenceError$<span class="code-number">1</span> = error.SyntaxReferenceError; </code></td></tr><tr><td id="L8358" class="css-a4x74f"><span>8358</span></td><td id="LC8358" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MatchError$<span class="code-number">1</span> = error.MatchError; </code></td></tr><tr><td id="L8359" class="css-a4x74f"><span>8359</span></td><td id="LC8359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8360" class="css-a4x74f"><span>8360</span></td><td id="LC8360" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8361" class="css-a4x74f"><span>8361</span></td><td id="LC8361" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8362" class="css-a4x74f"><span>8362</span></td><td id="LC8362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8363" class="css-a4x74f"><span>8363</span></td><td id="LC8363" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8364" class="css-a4x74f"><span>8364</span></td><td id="LC8364" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8365" class="css-a4x74f"><span>8365</span></td><td id="LC8365" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> buildMatchGraph$<span class="code-number">1</span> = matchGraph.buildMatchGraph; </code></td></tr><tr><td id="L8366" class="css-a4x74f"><span>8366</span></td><td id="LC8366" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matchAsTree$<span class="code-number">1</span> = match.matchAsTree; </code></td></tr><tr><td id="L8367" class="css-a4x74f"><span>8367</span></td><td id="LC8367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8368" class="css-a4x74f"><span>8368</span></td><td id="LC8368" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8369" class="css-a4x74f"><span>8369</span></td><td id="LC8369" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> getStructureFromConfig = structure.getStructureFromConfig; </code></td></tr><tr><td id="L8370" class="css-a4x74f"><span>8370</span></td><td id="LC8370" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cssWideKeywords$<span class="code-number">1</span> = buildMatchGraph$<span class="code-number">1</span>(<span class="code-string">'inherit | initial | unset'</span>); </code></td></tr><tr><td id="L8371" class="css-a4x74f"><span>8371</span></td><td id="LC8371" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cssWideKeywordsWithExpression = buildMatchGraph$<span class="code-number">1</span>(<span class="code-string">'inherit | initial | unset | <-ms-legacy-expression>'</span>); </code></td></tr><tr><td id="L8372" class="css-a4x74f"><span>8372</span></td><td id="LC8372" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8373" class="css-a4x74f"><span>8373</span></td><td id="LC8373" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">dumpMapSyntax</span>(<span class="code-params">map, compact, syntaxAsAst</span>) </span>{ </code></td></tr><tr><td id="L8374" class="css-a4x74f"><span>8374</span></td><td id="LC8374" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = {}; </code></td></tr><tr><td id="L8375" class="css-a4x74f"><span>8375</span></td><td id="LC8375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8376" class="css-a4x74f"><span>8376</span></td><td id="LC8376" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> map) { </code></td></tr><tr><td id="L8377" class="css-a4x74f"><span>8377</span></td><td id="LC8377" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (map[name].syntax) { </code></td></tr><tr><td id="L8378" class="css-a4x74f"><span>8378</span></td><td id="LC8378" class="css-1dcdqdg"><code> result[name] = syntaxAsAst </code></td></tr><tr><td id="L8379" class="css-a4x74f"><span>8379</span></td><td id="LC8379" class="css-1dcdqdg"><code> ? map[name].syntax </code></td></tr><tr><td id="L8380" class="css-a4x74f"><span>8380</span></td><td id="LC8380" class="css-1dcdqdg"><code> : generate_1(map[name].syntax, { <span class="code-attr">compact</span>: compact }); </code></td></tr><tr><td id="L8381" class="css-a4x74f"><span>8381</span></td><td id="LC8381" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8382" class="css-a4x74f"><span>8382</span></td><td id="LC8382" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8383" class="css-a4x74f"><span>8383</span></td><td id="LC8383" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8384" class="css-a4x74f"><span>8384</span></td><td id="LC8384" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L8385" class="css-a4x74f"><span>8385</span></td><td id="LC8385" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8386" class="css-a4x74f"><span>8386</span></td><td id="LC8386" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8387" class="css-a4x74f"><span>8387</span></td><td id="LC8387" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">valueHasVar</span>(<span class="code-params">tokens</span>) </span>{ </code></td></tr><tr><td id="L8388" class="css-a4x74f"><span>8388</span></td><td id="LC8388" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < tokens.length; i++) { </code></td></tr><tr><td id="L8389" class="css-a4x74f"><span>8389</span></td><td id="LC8389" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokens[i].value.toLowerCase() === <span class="code-string">'var('</span>) { </code></td></tr><tr><td id="L8390" class="css-a4x74f"><span>8390</span></td><td id="LC8390" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8391" class="css-a4x74f"><span>8391</span></td><td id="LC8391" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8392" class="css-a4x74f"><span>8392</span></td><td id="LC8392" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8393" class="css-a4x74f"><span>8393</span></td><td id="LC8393" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8394" class="css-a4x74f"><span>8394</span></td><td id="LC8394" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8395" class="css-a4x74f"><span>8395</span></td><td id="LC8395" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8396" class="css-a4x74f"><span>8396</span></td><td id="LC8396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8397" class="css-a4x74f"><span>8397</span></td><td id="LC8397" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">buildMatchResult</span>(<span class="code-params">match, error, iterations</span>) </span>{ </code></td></tr><tr><td id="L8398" class="css-a4x74f"><span>8398</span></td><td id="LC8398" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8399" class="css-a4x74f"><span>8399</span></td><td id="LC8399" class="css-1dcdqdg"><code> matched: match, </code></td></tr><tr><td id="L8400" class="css-a4x74f"><span>8400</span></td><td id="LC8400" class="css-1dcdqdg"><code> iterations: iterations, </code></td></tr><tr><td id="L8401" class="css-a4x74f"><span>8401</span></td><td id="LC8401" class="css-1dcdqdg"><code> error: error, </code></td></tr><tr><td id="L8402" class="css-a4x74f"><span>8402</span></td><td id="LC8402" class="css-1dcdqdg"><code> getTrace: trace.getTrace, </code></td></tr><tr><td id="L8403" class="css-a4x74f"><span>8403</span></td><td id="LC8403" class="css-1dcdqdg"><code> isType: trace.isType, </code></td></tr><tr><td id="L8404" class="css-a4x74f"><span>8404</span></td><td id="LC8404" class="css-1dcdqdg"><code> isProperty: trace.isProperty, </code></td></tr><tr><td id="L8405" class="css-a4x74f"><span>8405</span></td><td id="LC8405" class="css-1dcdqdg"><code> isKeyword: trace.isKeyword </code></td></tr><tr><td id="L8406" class="css-a4x74f"><span>8406</span></td><td id="LC8406" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8407" class="css-a4x74f"><span>8407</span></td><td id="LC8407" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8408" class="css-a4x74f"><span>8408</span></td><td id="LC8408" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8409" class="css-a4x74f"><span>8409</span></td><td id="LC8409" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">matchSyntax</span>(<span class="code-params">lexer, syntax, value, useCommon</span>) </span>{ </code></td></tr><tr><td id="L8410" class="css-a4x74f"><span>8410</span></td><td id="LC8410" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tokens = prepareTokens_1(value, lexer.syntax); </code></td></tr><tr><td id="L8411" class="css-a4x74f"><span>8411</span></td><td id="LC8411" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result; </code></td></tr><tr><td id="L8412" class="css-a4x74f"><span>8412</span></td><td id="LC8412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8413" class="css-a4x74f"><span>8413</span></td><td id="LC8413" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (valueHasVar(tokens)) { </code></td></tr><tr><td id="L8414" class="css-a4x74f"><span>8414</span></td><td id="LC8414" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Matching for a tree with var() is not supported'</span>)); </code></td></tr><tr><td id="L8415" class="css-a4x74f"><span>8415</span></td><td id="LC8415" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8416" class="css-a4x74f"><span>8416</span></td><td id="LC8416" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8417" class="css-a4x74f"><span>8417</span></td><td id="LC8417" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (useCommon) { </code></td></tr><tr><td id="L8418" class="css-a4x74f"><span>8418</span></td><td id="LC8418" class="css-1dcdqdg"><code> result = matchAsTree$<span class="code-number">1</span>(tokens, lexer.valueCommonSyntax, lexer); </code></td></tr><tr><td id="L8419" class="css-a4x74f"><span>8419</span></td><td id="LC8419" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8420" class="css-a4x74f"><span>8420</span></td><td id="LC8420" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8421" class="css-a4x74f"><span>8421</span></td><td id="LC8421" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!useCommon || !result.match) { </code></td></tr><tr><td id="L8422" class="css-a4x74f"><span>8422</span></td><td id="LC8422" class="css-1dcdqdg"><code> result = matchAsTree$<span class="code-number">1</span>(tokens, syntax.match, lexer); </code></td></tr><tr><td id="L8423" class="css-a4x74f"><span>8423</span></td><td id="LC8423" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!result.match) { </code></td></tr><tr><td id="L8424" class="css-a4x74f"><span>8424</span></td><td id="LC8424" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult( </code></td></tr><tr><td id="L8425" class="css-a4x74f"><span>8425</span></td><td id="LC8425" class="css-1dcdqdg"><code> <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8426" class="css-a4x74f"><span>8426</span></td><td id="LC8426" class="css-1dcdqdg"><code> <span class="code-keyword">new</span> MatchError$<span class="code-number">1</span>(result.reason, syntax.syntax, value, result), </code></td></tr><tr><td id="L8427" class="css-a4x74f"><span>8427</span></td><td id="LC8427" class="css-1dcdqdg"><code> result.iterations </code></td></tr><tr><td id="L8428" class="css-a4x74f"><span>8428</span></td><td id="LC8428" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L8429" class="css-a4x74f"><span>8429</span></td><td id="LC8429" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8430" class="css-a4x74f"><span>8430</span></td><td id="LC8430" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8431" class="css-a4x74f"><span>8431</span></td><td id="LC8431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8432" class="css-a4x74f"><span>8432</span></td><td id="LC8432" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(result.match, <span class="code-literal">null</span>, result.iterations); </code></td></tr><tr><td id="L8433" class="css-a4x74f"><span>8433</span></td><td id="LC8433" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8434" class="css-a4x74f"><span>8434</span></td><td id="LC8434" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8435" class="css-a4x74f"><span>8435</span></td><td id="LC8435" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Lexer = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">config, syntax, structure</span>) </span>{ </code></td></tr><tr><td id="L8436" class="css-a4x74f"><span>8436</span></td><td id="LC8436" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.valueCommonSyntax = cssWideKeywords$<span class="code-number">1</span>; </code></td></tr><tr><td id="L8437" class="css-a4x74f"><span>8437</span></td><td id="LC8437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.syntax = syntax; </code></td></tr><tr><td id="L8438" class="css-a4x74f"><span>8438</span></td><td id="LC8438" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.generic = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8439" class="css-a4x74f"><span>8439</span></td><td id="LC8439" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.atrules = {}; </code></td></tr><tr><td id="L8440" class="css-a4x74f"><span>8440</span></td><td id="LC8440" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.properties = {}; </code></td></tr><tr><td id="L8441" class="css-a4x74f"><span>8441</span></td><td id="LC8441" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.types = {}; </code></td></tr><tr><td id="L8442" class="css-a4x74f"><span>8442</span></td><td id="LC8442" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.structure = structure || getStructureFromConfig(config); </code></td></tr><tr><td id="L8443" class="css-a4x74f"><span>8443</span></td><td id="LC8443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8444" class="css-a4x74f"><span>8444</span></td><td id="LC8444" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config) { </code></td></tr><tr><td id="L8445" class="css-a4x74f"><span>8445</span></td><td id="LC8445" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.types) { </code></td></tr><tr><td id="L8446" class="css-a4x74f"><span>8446</span></td><td id="LC8446" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.types) { </code></td></tr><tr><td id="L8447" class="css-a4x74f"><span>8447</span></td><td id="LC8447" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addType_(name, config.types[name]); </code></td></tr><tr><td id="L8448" class="css-a4x74f"><span>8448</span></td><td id="LC8448" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8449" class="css-a4x74f"><span>8449</span></td><td id="LC8449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8450" class="css-a4x74f"><span>8450</span></td><td id="LC8450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8451" class="css-a4x74f"><span>8451</span></td><td id="LC8451" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.generic) { </code></td></tr><tr><td id="L8452" class="css-a4x74f"><span>8452</span></td><td id="LC8452" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.generic = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8453" class="css-a4x74f"><span>8453</span></td><td id="LC8453" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> generic) { </code></td></tr><tr><td id="L8454" class="css-a4x74f"><span>8454</span></td><td id="LC8454" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addType_(name, generic[name]); </code></td></tr><tr><td id="L8455" class="css-a4x74f"><span>8455</span></td><td id="LC8455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8456" class="css-a4x74f"><span>8456</span></td><td id="LC8456" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8457" class="css-a4x74f"><span>8457</span></td><td id="LC8457" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8458" class="css-a4x74f"><span>8458</span></td><td id="LC8458" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.atrules) { </code></td></tr><tr><td id="L8459" class="css-a4x74f"><span>8459</span></td><td id="LC8459" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.atrules) { </code></td></tr><tr><td id="L8460" class="css-a4x74f"><span>8460</span></td><td id="LC8460" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addAtrule_(name, config.atrules[name]); </code></td></tr><tr><td id="L8461" class="css-a4x74f"><span>8461</span></td><td id="LC8461" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8462" class="css-a4x74f"><span>8462</span></td><td id="LC8462" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8463" class="css-a4x74f"><span>8463</span></td><td id="LC8463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8464" class="css-a4x74f"><span>8464</span></td><td id="LC8464" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.properties) { </code></td></tr><tr><td id="L8465" class="css-a4x74f"><span>8465</span></td><td id="LC8465" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.properties) { </code></td></tr><tr><td id="L8466" class="css-a4x74f"><span>8466</span></td><td id="LC8466" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addProperty_(name, config.properties[name]); </code></td></tr><tr><td id="L8467" class="css-a4x74f"><span>8467</span></td><td id="LC8467" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8468" class="css-a4x74f"><span>8468</span></td><td id="LC8468" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8469" class="css-a4x74f"><span>8469</span></td><td id="LC8469" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8470" class="css-a4x74f"><span>8470</span></td><td id="LC8470" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8471" class="css-a4x74f"><span>8471</span></td><td id="LC8471" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8472" class="css-a4x74f"><span>8472</span></td><td id="LC8472" class="css-1dcdqdg"><code> Lexer.prototype = { </code></td></tr><tr><td id="L8473" class="css-a4x74f"><span>8473</span></td><td id="LC8473" class="css-1dcdqdg"><code> structure: {}, </code></td></tr><tr><td id="L8474" class="css-a4x74f"><span>8474</span></td><td id="LC8474" class="css-1dcdqdg"><code> checkStructure: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast</span>) </span>{ </code></td></tr><tr><td id="L8475" class="css-a4x74f"><span>8475</span></td><td id="LC8475" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">collectWarning</span>(<span class="code-params">node, message</span>) </span>{ </code></td></tr><tr><td id="L8476" class="css-a4x74f"><span>8476</span></td><td id="LC8476" class="css-1dcdqdg"><code> warns.push({ </code></td></tr><tr><td id="L8477" class="css-a4x74f"><span>8477</span></td><td id="LC8477" class="css-1dcdqdg"><code> node: node, </code></td></tr><tr><td id="L8478" class="css-a4x74f"><span>8478</span></td><td id="LC8478" class="css-1dcdqdg"><code> message: message </code></td></tr><tr><td id="L8479" class="css-a4x74f"><span>8479</span></td><td id="LC8479" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8480" class="css-a4x74f"><span>8480</span></td><td id="LC8480" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8481" class="css-a4x74f"><span>8481</span></td><td id="LC8481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8482" class="css-a4x74f"><span>8482</span></td><td id="LC8482" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> structure = <span class="code-keyword">this</span>.structure; </code></td></tr><tr><td id="L8483" class="css-a4x74f"><span>8483</span></td><td id="LC8483" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> warns = []; </code></td></tr><tr><td id="L8484" class="css-a4x74f"><span>8484</span></td><td id="LC8484" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8485" class="css-a4x74f"><span>8485</span></td><td id="LC8485" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.syntax.walk(ast, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L8486" class="css-a4x74f"><span>8486</span></td><td id="LC8486" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (structure.hasOwnProperty(node.type)) { </code></td></tr><tr><td id="L8487" class="css-a4x74f"><span>8487</span></td><td id="LC8487" class="css-1dcdqdg"><code> structure[node.type].check(node, collectWarning); </code></td></tr><tr><td id="L8488" class="css-a4x74f"><span>8488</span></td><td id="LC8488" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8489" class="css-a4x74f"><span>8489</span></td><td id="LC8489" class="css-1dcdqdg"><code> collectWarning(node, <span class="code-string">'Unknown node type `'</span> + node.type + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L8490" class="css-a4x74f"><span>8490</span></td><td id="LC8490" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8491" class="css-a4x74f"><span>8491</span></td><td id="LC8491" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8492" class="css-a4x74f"><span>8492</span></td><td id="LC8492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8493" class="css-a4x74f"><span>8493</span></td><td id="LC8493" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> warns.length ? warns : <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8494" class="css-a4x74f"><span>8494</span></td><td id="LC8494" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8495" class="css-a4x74f"><span>8495</span></td><td id="LC8495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8496" class="css-a4x74f"><span>8496</span></td><td id="LC8496" class="css-1dcdqdg"><code> createDescriptor: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">syntax, type, name</span>) </span>{ </code></td></tr><tr><td id="L8497" class="css-a4x74f"><span>8497</span></td><td id="LC8497" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ref = { </code></td></tr><tr><td id="L8498" class="css-a4x74f"><span>8498</span></td><td id="LC8498" class="css-1dcdqdg"><code> type: type, </code></td></tr><tr><td id="L8499" class="css-a4x74f"><span>8499</span></td><td id="LC8499" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L8500" class="css-a4x74f"><span>8500</span></td><td id="LC8500" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8501" class="css-a4x74f"><span>8501</span></td><td id="LC8501" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> descriptor = { </code></td></tr><tr><td id="L8502" class="css-a4x74f"><span>8502</span></td><td id="LC8502" class="css-1dcdqdg"><code> type: type, </code></td></tr><tr><td id="L8503" class="css-a4x74f"><span>8503</span></td><td id="LC8503" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L8504" class="css-a4x74f"><span>8504</span></td><td id="LC8504" class="css-1dcdqdg"><code> syntax: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8505" class="css-a4x74f"><span>8505</span></td><td id="LC8505" class="css-1dcdqdg"><code> match: <span class="code-literal">null</span> </code></td></tr><tr><td id="L8506" class="css-a4x74f"><span>8506</span></td><td id="LC8506" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8507" class="css-a4x74f"><span>8507</span></td><td id="LC8507" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8508" class="css-a4x74f"><span>8508</span></td><td id="LC8508" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> syntax === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L8509" class="css-a4x74f"><span>8509</span></td><td id="LC8509" class="css-1dcdqdg"><code> descriptor.match = buildMatchGraph$<span class="code-number">1</span>(syntax, ref); </code></td></tr><tr><td id="L8510" class="css-a4x74f"><span>8510</span></td><td id="LC8510" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8511" class="css-a4x74f"><span>8511</span></td><td id="LC8511" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> syntax === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L8512" class="css-a4x74f"><span>8512</span></td><td id="LC8512" class="css-1dcdqdg"><code> <span class="code-comment">// lazy parsing on first access</span> </code></td></tr><tr><td id="L8513" class="css-a4x74f"><span>8513</span></td><td id="LC8513" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(descriptor, <span class="code-string">'syntax'</span>, { </code></td></tr><tr><td id="L8514" class="css-a4x74f"><span>8514</span></td><td id="LC8514" class="css-1dcdqdg"><code> <span class="code-keyword">get</span>: function() { </code></td></tr><tr><td id="L8515" class="css-a4x74f"><span>8515</span></td><td id="LC8515" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(descriptor, <span class="code-string">'syntax'</span>, { </code></td></tr><tr><td id="L8516" class="css-a4x74f"><span>8516</span></td><td id="LC8516" class="css-1dcdqdg"><code> value: parse_1(syntax) </code></td></tr><tr><td id="L8517" class="css-a4x74f"><span>8517</span></td><td id="LC8517" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8518" class="css-a4x74f"><span>8518</span></td><td id="LC8518" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8519" class="css-a4x74f"><span>8519</span></td><td id="LC8519" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> descriptor.syntax; </code></td></tr><tr><td id="L8520" class="css-a4x74f"><span>8520</span></td><td id="LC8520" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8521" class="css-a4x74f"><span>8521</span></td><td id="LC8521" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8522" class="css-a4x74f"><span>8522</span></td><td id="LC8522" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8523" class="css-a4x74f"><span>8523</span></td><td id="LC8523" class="css-1dcdqdg"><code> descriptor.syntax = syntax; </code></td></tr><tr><td id="L8524" class="css-a4x74f"><span>8524</span></td><td id="LC8524" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8525" class="css-a4x74f"><span>8525</span></td><td id="LC8525" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8526" class="css-a4x74f"><span>8526</span></td><td id="LC8526" class="css-1dcdqdg"><code> <span class="code-comment">// lazy graph build on first access</span> </code></td></tr><tr><td id="L8527" class="css-a4x74f"><span>8527</span></td><td id="LC8527" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(descriptor, <span class="code-string">'match'</span>, { </code></td></tr><tr><td id="L8528" class="css-a4x74f"><span>8528</span></td><td id="LC8528" class="css-1dcdqdg"><code> <span class="code-keyword">get</span>: function() { </code></td></tr><tr><td id="L8529" class="css-a4x74f"><span>8529</span></td><td id="LC8529" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.defineProperty(descriptor, <span class="code-string">'match'</span>, { </code></td></tr><tr><td id="L8530" class="css-a4x74f"><span>8530</span></td><td id="LC8530" class="css-1dcdqdg"><code> value: buildMatchGraph$<span class="code-number">1</span>(descriptor.syntax, ref) </code></td></tr><tr><td id="L8531" class="css-a4x74f"><span>8531</span></td><td id="LC8531" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8532" class="css-a4x74f"><span>8532</span></td><td id="LC8532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8533" class="css-a4x74f"><span>8533</span></td><td id="LC8533" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> descriptor.match; </code></td></tr><tr><td id="L8534" class="css-a4x74f"><span>8534</span></td><td id="LC8534" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8535" class="css-a4x74f"><span>8535</span></td><td id="LC8535" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8536" class="css-a4x74f"><span>8536</span></td><td id="LC8536" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8537" class="css-a4x74f"><span>8537</span></td><td id="LC8537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8538" class="css-a4x74f"><span>8538</span></td><td id="LC8538" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> descriptor; </code></td></tr><tr><td id="L8539" class="css-a4x74f"><span>8539</span></td><td id="LC8539" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8540" class="css-a4x74f"><span>8540</span></td><td id="LC8540" class="css-1dcdqdg"><code> addAtrule_: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name, syntax</span>) </span>{ </code></td></tr><tr><td id="L8541" class="css-a4x74f"><span>8541</span></td><td id="LC8541" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.atrules[name] = { </code></td></tr><tr><td id="L8542" class="css-a4x74f"><span>8542</span></td><td id="LC8542" class="css-1dcdqdg"><code> prelude: syntax.prelude ? <span class="code-keyword">this</span>.createDescriptor(syntax.prelude, <span class="code-string">'AtrulePrelude'</span>, name) : <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8543" class="css-a4x74f"><span>8543</span></td><td id="LC8543" class="css-1dcdqdg"><code> descriptors: syntax.descriptors </code></td></tr><tr><td id="L8544" class="css-a4x74f"><span>8544</span></td><td id="LC8544" class="css-1dcdqdg"><code> ? <span class="code-built_in">Object</span>.keys(syntax.descriptors).reduce(<span class="code-function">(<span class="code-params">res, name</span>) =></span> { </code></td></tr><tr><td id="L8545" class="css-a4x74f"><span>8545</span></td><td id="LC8545" class="css-1dcdqdg"><code> res[name] = <span class="code-keyword">this</span>.createDescriptor(syntax.descriptors[name], <span class="code-string">'AtruleDescriptor'</span>, name); </code></td></tr><tr><td id="L8546" class="css-a4x74f"><span>8546</span></td><td id="LC8546" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> res; </code></td></tr><tr><td id="L8547" class="css-a4x74f"><span>8547</span></td><td id="LC8547" class="css-1dcdqdg"><code> }, {}) </code></td></tr><tr><td id="L8548" class="css-a4x74f"><span>8548</span></td><td id="LC8548" class="css-1dcdqdg"><code> : <span class="code-literal">null</span> </code></td></tr><tr><td id="L8549" class="css-a4x74f"><span>8549</span></td><td id="LC8549" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8550" class="css-a4x74f"><span>8550</span></td><td id="LC8550" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8551" class="css-a4x74f"><span>8551</span></td><td id="LC8551" class="css-1dcdqdg"><code> addProperty_: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name, syntax</span>) </span>{ </code></td></tr><tr><td id="L8552" class="css-a4x74f"><span>8552</span></td><td id="LC8552" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.properties[name] = <span class="code-keyword">this</span>.createDescriptor(syntax, <span class="code-string">'Property'</span>, name); </code></td></tr><tr><td id="L8553" class="css-a4x74f"><span>8553</span></td><td id="LC8553" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8554" class="css-a4x74f"><span>8554</span></td><td id="LC8554" class="css-1dcdqdg"><code> addType_: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name, syntax</span>) </span>{ </code></td></tr><tr><td id="L8555" class="css-a4x74f"><span>8555</span></td><td id="LC8555" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.types[name] = <span class="code-keyword">this</span>.createDescriptor(syntax, <span class="code-string">'Type'</span>, name); </code></td></tr><tr><td id="L8556" class="css-a4x74f"><span>8556</span></td><td id="LC8556" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8557" class="css-a4x74f"><span>8557</span></td><td id="LC8557" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (syntax === generic[<span class="code-string">'-ms-legacy-expression'</span>]) { </code></td></tr><tr><td id="L8558" class="css-a4x74f"><span>8558</span></td><td id="LC8558" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.valueCommonSyntax = cssWideKeywordsWithExpression; </code></td></tr><tr><td id="L8559" class="css-a4x74f"><span>8559</span></td><td id="LC8559" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8560" class="css-a4x74f"><span>8560</span></td><td id="LC8560" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8561" class="css-a4x74f"><span>8561</span></td><td id="LC8561" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8562" class="css-a4x74f"><span>8562</span></td><td id="LC8562" class="css-1dcdqdg"><code> matchAtrulePrelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">atruleName, prelude</span>) </span>{ </code></td></tr><tr><td id="L8563" class="css-a4x74f"><span>8563</span></td><td id="LC8563" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrule = names.keyword(atruleName); </code></td></tr><tr><td id="L8564" class="css-a4x74f"><span>8564</span></td><td id="LC8564" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8565" class="css-a4x74f"><span>8565</span></td><td id="LC8565" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrulePreludeSyntax = atrule.vendor </code></td></tr><tr><td id="L8566" class="css-a4x74f"><span>8566</span></td><td id="LC8566" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.getAtrulePrelude(atrule.name) || <span class="code-keyword">this</span>.getAtrulePrelude(atrule.basename) </code></td></tr><tr><td id="L8567" class="css-a4x74f"><span>8567</span></td><td id="LC8567" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.getAtrulePrelude(atrule.name); </code></td></tr><tr><td id="L8568" class="css-a4x74f"><span>8568</span></td><td id="LC8568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8569" class="css-a4x74f"><span>8569</span></td><td id="LC8569" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!atrulePreludeSyntax) { </code></td></tr><tr><td id="L8570" class="css-a4x74f"><span>8570</span></td><td id="LC8570" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (atrule.basename <span class="code-keyword">in</span> <span class="code-keyword">this</span>.atrules) { </code></td></tr><tr><td id="L8571" class="css-a4x74f"><span>8571</span></td><td id="LC8571" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'At-rule `'</span> + atruleName + <span class="code-string">'` should not contain a prelude'</span>)); </code></td></tr><tr><td id="L8572" class="css-a4x74f"><span>8572</span></td><td id="LC8572" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8573" class="css-a4x74f"><span>8573</span></td><td id="LC8573" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8574" class="css-a4x74f"><span>8574</span></td><td id="LC8574" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Unknown at-rule'</span>, atruleName)); </code></td></tr><tr><td id="L8575" class="css-a4x74f"><span>8575</span></td><td id="LC8575" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8576" class="css-a4x74f"><span>8576</span></td><td id="LC8576" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8577" class="css-a4x74f"><span>8577</span></td><td id="LC8577" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchSyntax(<span class="code-keyword">this</span>, atrulePreludeSyntax, prelude, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L8578" class="css-a4x74f"><span>8578</span></td><td id="LC8578" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8579" class="css-a4x74f"><span>8579</span></td><td id="LC8579" class="css-1dcdqdg"><code> matchAtruleDescriptor: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">atruleName, descriptorName, value</span>) </span>{ </code></td></tr><tr><td id="L8580" class="css-a4x74f"><span>8580</span></td><td id="LC8580" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrule = names.keyword(atruleName); </code></td></tr><tr><td id="L8581" class="css-a4x74f"><span>8581</span></td><td id="LC8581" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> descriptor = names.keyword(descriptorName); </code></td></tr><tr><td id="L8582" class="css-a4x74f"><span>8582</span></td><td id="LC8582" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8583" class="css-a4x74f"><span>8583</span></td><td id="LC8583" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atruleEntry = atrule.vendor </code></td></tr><tr><td id="L8584" class="css-a4x74f"><span>8584</span></td><td id="LC8584" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.atrules[atrule.name] || <span class="code-keyword">this</span>.atrules[atrule.basename] </code></td></tr><tr><td id="L8585" class="css-a4x74f"><span>8585</span></td><td id="LC8585" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.atrules[atrule.name]; </code></td></tr><tr><td id="L8586" class="css-a4x74f"><span>8586</span></td><td id="LC8586" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8587" class="css-a4x74f"><span>8587</span></td><td id="LC8587" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!atruleEntry) { </code></td></tr><tr><td id="L8588" class="css-a4x74f"><span>8588</span></td><td id="LC8588" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Unknown at-rule'</span>, atruleName)); </code></td></tr><tr><td id="L8589" class="css-a4x74f"><span>8589</span></td><td id="LC8589" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8590" class="css-a4x74f"><span>8590</span></td><td id="LC8590" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8591" class="css-a4x74f"><span>8591</span></td><td id="LC8591" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!atruleEntry.descriptors) { </code></td></tr><tr><td id="L8592" class="css-a4x74f"><span>8592</span></td><td id="LC8592" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'At-rule `'</span> + atruleName + <span class="code-string">'` has no known descriptors'</span>)); </code></td></tr><tr><td id="L8593" class="css-a4x74f"><span>8593</span></td><td id="LC8593" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8594" class="css-a4x74f"><span>8594</span></td><td id="LC8594" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8595" class="css-a4x74f"><span>8595</span></td><td id="LC8595" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atruleDescriptorSyntax = descriptor.vendor </code></td></tr><tr><td id="L8596" class="css-a4x74f"><span>8596</span></td><td id="LC8596" class="css-1dcdqdg"><code> ? atruleEntry.descriptors[descriptor.name] || atruleEntry.descriptors[descriptor.basename] </code></td></tr><tr><td id="L8597" class="css-a4x74f"><span>8597</span></td><td id="LC8597" class="css-1dcdqdg"><code> : atruleEntry.descriptors[descriptor.name]; </code></td></tr><tr><td id="L8598" class="css-a4x74f"><span>8598</span></td><td id="LC8598" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8599" class="css-a4x74f"><span>8599</span></td><td id="LC8599" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!atruleDescriptorSyntax) { </code></td></tr><tr><td id="L8600" class="css-a4x74f"><span>8600</span></td><td id="LC8600" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Unknown at-rule descriptor'</span>, descriptorName)); </code></td></tr><tr><td id="L8601" class="css-a4x74f"><span>8601</span></td><td id="LC8601" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8602" class="css-a4x74f"><span>8602</span></td><td id="LC8602" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8603" class="css-a4x74f"><span>8603</span></td><td id="LC8603" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchSyntax(<span class="code-keyword">this</span>, atruleDescriptorSyntax, value, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L8604" class="css-a4x74f"><span>8604</span></td><td id="LC8604" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8605" class="css-a4x74f"><span>8605</span></td><td id="LC8605" class="css-1dcdqdg"><code> matchDeclaration: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L8606" class="css-a4x74f"><span>8606</span></td><td id="LC8606" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.type !== <span class="code-string">'Declaration'</span>) { </code></td></tr><tr><td id="L8607" class="css-a4x74f"><span>8607</span></td><td id="LC8607" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Not a Declaration node'</span>)); </code></td></tr><tr><td id="L8608" class="css-a4x74f"><span>8608</span></td><td id="LC8608" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8609" class="css-a4x74f"><span>8609</span></td><td id="LC8609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8610" class="css-a4x74f"><span>8610</span></td><td id="LC8610" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.matchProperty(node.property, node.value); </code></td></tr><tr><td id="L8611" class="css-a4x74f"><span>8611</span></td><td id="LC8611" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8612" class="css-a4x74f"><span>8612</span></td><td id="LC8612" class="css-1dcdqdg"><code> matchProperty: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">propertyName, value</span>) </span>{ </code></td></tr><tr><td id="L8613" class="css-a4x74f"><span>8613</span></td><td id="LC8613" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> property = names.property(propertyName); </code></td></tr><tr><td id="L8614" class="css-a4x74f"><span>8614</span></td><td id="LC8614" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8615" class="css-a4x74f"><span>8615</span></td><td id="LC8615" class="css-1dcdqdg"><code> <span class="code-comment">// don't match syntax for a custom property</span> </code></td></tr><tr><td id="L8616" class="css-a4x74f"><span>8616</span></td><td id="LC8616" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property.custom) { </code></td></tr><tr><td id="L8617" class="css-a4x74f"><span>8617</span></td><td id="LC8617" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Lexer matching doesn\'t applicable for custom properties'</span>)); </code></td></tr><tr><td id="L8618" class="css-a4x74f"><span>8618</span></td><td id="LC8618" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8619" class="css-a4x74f"><span>8619</span></td><td id="LC8619" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8620" class="css-a4x74f"><span>8620</span></td><td id="LC8620" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> propertySyntax = property.vendor </code></td></tr><tr><td id="L8621" class="css-a4x74f"><span>8621</span></td><td id="LC8621" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.getProperty(property.name) || <span class="code-keyword">this</span>.getProperty(property.basename) </code></td></tr><tr><td id="L8622" class="css-a4x74f"><span>8622</span></td><td id="LC8622" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.getProperty(property.name); </code></td></tr><tr><td id="L8623" class="css-a4x74f"><span>8623</span></td><td id="LC8623" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8624" class="css-a4x74f"><span>8624</span></td><td id="LC8624" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!propertySyntax) { </code></td></tr><tr><td id="L8625" class="css-a4x74f"><span>8625</span></td><td id="LC8625" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Unknown property'</span>, propertyName)); </code></td></tr><tr><td id="L8626" class="css-a4x74f"><span>8626</span></td><td id="LC8626" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8627" class="css-a4x74f"><span>8627</span></td><td id="LC8627" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8628" class="css-a4x74f"><span>8628</span></td><td id="LC8628" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchSyntax(<span class="code-keyword">this</span>, propertySyntax, value, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L8629" class="css-a4x74f"><span>8629</span></td><td id="LC8629" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8630" class="css-a4x74f"><span>8630</span></td><td id="LC8630" class="css-1dcdqdg"><code> matchType: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">typeName, value</span>) </span>{ </code></td></tr><tr><td id="L8631" class="css-a4x74f"><span>8631</span></td><td id="LC8631" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> typeSyntax = <span class="code-keyword">this</span>.getType(typeName); </code></td></tr><tr><td id="L8632" class="css-a4x74f"><span>8632</span></td><td id="LC8632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8633" class="css-a4x74f"><span>8633</span></td><td id="LC8633" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!typeSyntax) { </code></td></tr><tr><td id="L8634" class="css-a4x74f"><span>8634</span></td><td id="LC8634" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Unknown type'</span>, typeName)); </code></td></tr><tr><td id="L8635" class="css-a4x74f"><span>8635</span></td><td id="LC8635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8636" class="css-a4x74f"><span>8636</span></td><td id="LC8636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8637" class="css-a4x74f"><span>8637</span></td><td id="LC8637" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchSyntax(<span class="code-keyword">this</span>, typeSyntax, value, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L8638" class="css-a4x74f"><span>8638</span></td><td id="LC8638" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8639" class="css-a4x74f"><span>8639</span></td><td id="LC8639" class="css-1dcdqdg"><code> match: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">syntax, value</span>) </span>{ </code></td></tr><tr><td id="L8640" class="css-a4x74f"><span>8640</span></td><td id="LC8640" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> syntax !== <span class="code-string">'string'</span> && (!syntax || !syntax.type)) { </code></td></tr><tr><td id="L8641" class="css-a4x74f"><span>8641</span></td><td id="LC8641" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buildMatchResult(<span class="code-literal">null</span>, <span class="code-keyword">new</span> SyntaxReferenceError$<span class="code-number">1</span>(<span class="code-string">'Bad syntax'</span>)); </code></td></tr><tr><td id="L8642" class="css-a4x74f"><span>8642</span></td><td id="LC8642" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8643" class="css-a4x74f"><span>8643</span></td><td id="LC8643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8644" class="css-a4x74f"><span>8644</span></td><td id="LC8644" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> syntax === <span class="code-string">'string'</span> || !syntax.match) { </code></td></tr><tr><td id="L8645" class="css-a4x74f"><span>8645</span></td><td id="LC8645" class="css-1dcdqdg"><code> syntax = <span class="code-keyword">this</span>.createDescriptor(syntax, <span class="code-string">'Type'</span>, <span class="code-string">'anonymous'</span>); </code></td></tr><tr><td id="L8646" class="css-a4x74f"><span>8646</span></td><td id="LC8646" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8647" class="css-a4x74f"><span>8647</span></td><td id="LC8647" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8648" class="css-a4x74f"><span>8648</span></td><td id="LC8648" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> matchSyntax(<span class="code-keyword">this</span>, syntax, value, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L8649" class="css-a4x74f"><span>8649</span></td><td id="LC8649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8650" class="css-a4x74f"><span>8650</span></td><td id="LC8650" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8651" class="css-a4x74f"><span>8651</span></td><td id="LC8651" class="css-1dcdqdg"><code> findValueFragments: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">propertyName, value, type, name</span>) </span>{ </code></td></tr><tr><td id="L8652" class="css-a4x74f"><span>8652</span></td><td id="LC8652" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> search.matchFragments(<span class="code-keyword">this</span>, value, <span class="code-keyword">this</span>.matchProperty(propertyName, value), type, name); </code></td></tr><tr><td id="L8653" class="css-a4x74f"><span>8653</span></td><td id="LC8653" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8654" class="css-a4x74f"><span>8654</span></td><td id="LC8654" class="css-1dcdqdg"><code> findDeclarationValueFragments: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">declaration, type, name</span>) </span>{ </code></td></tr><tr><td id="L8655" class="css-a4x74f"><span>8655</span></td><td id="LC8655" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> search.matchFragments(<span class="code-keyword">this</span>, declaration.value, <span class="code-keyword">this</span>.matchDeclaration(declaration), type, name); </code></td></tr><tr><td id="L8656" class="css-a4x74f"><span>8656</span></td><td id="LC8656" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8657" class="css-a4x74f"><span>8657</span></td><td id="LC8657" class="css-1dcdqdg"><code> findAllFragments: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast, type, name</span>) </span>{ </code></td></tr><tr><td id="L8658" class="css-a4x74f"><span>8658</span></td><td id="LC8658" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = []; </code></td></tr><tr><td id="L8659" class="css-a4x74f"><span>8659</span></td><td id="LC8659" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8660" class="css-a4x74f"><span>8660</span></td><td id="LC8660" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.syntax.walk(ast, { </code></td></tr><tr><td id="L8661" class="css-a4x74f"><span>8661</span></td><td id="LC8661" class="css-1dcdqdg"><code> visit: <span class="code-string">'Declaration'</span>, </code></td></tr><tr><td id="L8662" class="css-a4x74f"><span>8662</span></td><td id="LC8662" class="css-1dcdqdg"><code> enter: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">declaration</span>) </span>{ </code></td></tr><tr><td id="L8663" class="css-a4x74f"><span>8663</span></td><td id="LC8663" class="css-1dcdqdg"><code> result.push.apply(result, <span class="code-keyword">this</span>.findDeclarationValueFragments(declaration, type, name)); </code></td></tr><tr><td id="L8664" class="css-a4x74f"><span>8664</span></td><td id="LC8664" class="css-1dcdqdg"><code> }.bind(<span class="code-keyword">this</span>) </code></td></tr><tr><td id="L8665" class="css-a4x74f"><span>8665</span></td><td id="LC8665" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8666" class="css-a4x74f"><span>8666</span></td><td id="LC8666" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8667" class="css-a4x74f"><span>8667</span></td><td id="LC8667" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L8668" class="css-a4x74f"><span>8668</span></td><td id="LC8668" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8669" class="css-a4x74f"><span>8669</span></td><td id="LC8669" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8670" class="css-a4x74f"><span>8670</span></td><td id="LC8670" class="css-1dcdqdg"><code> getAtrulePrelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">atruleName</span>) </span>{ </code></td></tr><tr><td id="L8671" class="css-a4x74f"><span>8671</span></td><td id="LC8671" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.atrules.hasOwnProperty(atruleName) ? <span class="code-keyword">this</span>.atrules[atruleName].prelude : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8672" class="css-a4x74f"><span>8672</span></td><td id="LC8672" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8673" class="css-a4x74f"><span>8673</span></td><td id="LC8673" class="css-1dcdqdg"><code> getAtruleDescriptor: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">atruleName, name</span>) </span>{ </code></td></tr><tr><td id="L8674" class="css-a4x74f"><span>8674</span></td><td id="LC8674" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.atrules.hasOwnProperty(atruleName) && <span class="code-keyword">this</span>.atrules.declarators </code></td></tr><tr><td id="L8675" class="css-a4x74f"><span>8675</span></td><td id="LC8675" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.atrules[atruleName].declarators[name] || <span class="code-literal">null</span> </code></td></tr><tr><td id="L8676" class="css-a4x74f"><span>8676</span></td><td id="LC8676" class="css-1dcdqdg"><code> : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8677" class="css-a4x74f"><span>8677</span></td><td id="LC8677" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8678" class="css-a4x74f"><span>8678</span></td><td id="LC8678" class="css-1dcdqdg"><code> getProperty: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L8679" class="css-a4x74f"><span>8679</span></td><td id="LC8679" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.properties.hasOwnProperty(name) ? <span class="code-keyword">this</span>.properties[name] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8680" class="css-a4x74f"><span>8680</span></td><td id="LC8680" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8681" class="css-a4x74f"><span>8681</span></td><td id="LC8681" class="css-1dcdqdg"><code> getType: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L8682" class="css-a4x74f"><span>8682</span></td><td id="LC8682" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.types.hasOwnProperty(name) ? <span class="code-keyword">this</span>.types[name] : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8683" class="css-a4x74f"><span>8683</span></td><td id="LC8683" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8684" class="css-a4x74f"><span>8684</span></td><td id="LC8684" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8685" class="css-a4x74f"><span>8685</span></td><td id="LC8685" class="css-1dcdqdg"><code> validate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8686" class="css-a4x74f"><span>8686</span></td><td id="LC8686" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">validate</span>(<span class="code-params">syntax, name, broken, descriptor</span>) </span>{ </code></td></tr><tr><td id="L8687" class="css-a4x74f"><span>8687</span></td><td id="LC8687" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (broken.hasOwnProperty(name)) { </code></td></tr><tr><td id="L8688" class="css-a4x74f"><span>8688</span></td><td id="LC8688" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> broken[name]; </code></td></tr><tr><td id="L8689" class="css-a4x74f"><span>8689</span></td><td id="LC8689" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8690" class="css-a4x74f"><span>8690</span></td><td id="LC8690" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8691" class="css-a4x74f"><span>8691</span></td><td id="LC8691" class="css-1dcdqdg"><code> broken[name] = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8692" class="css-a4x74f"><span>8692</span></td><td id="LC8692" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (descriptor.syntax !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8693" class="css-a4x74f"><span>8693</span></td><td id="LC8693" class="css-1dcdqdg"><code> walk$<span class="code-number">1</span>(descriptor.syntax, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L8694" class="css-a4x74f"><span>8694</span></td><td id="LC8694" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.type !== <span class="code-string">'Type'</span> && node.type !== <span class="code-string">'Property'</span>) { </code></td></tr><tr><td id="L8695" class="css-a4x74f"><span>8695</span></td><td id="LC8695" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L8696" class="css-a4x74f"><span>8696</span></td><td id="LC8696" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8697" class="css-a4x74f"><span>8697</span></td><td id="LC8697" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8698" class="css-a4x74f"><span>8698</span></td><td id="LC8698" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = node.type === <span class="code-string">'Type'</span> ? syntax.types : syntax.properties; </code></td></tr><tr><td id="L8699" class="css-a4x74f"><span>8699</span></td><td id="LC8699" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> brokenMap = node.type === <span class="code-string">'Type'</span> ? brokenTypes : brokenProperties; </code></td></tr><tr><td id="L8700" class="css-a4x74f"><span>8700</span></td><td id="LC8700" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8701" class="css-a4x74f"><span>8701</span></td><td id="LC8701" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!map.hasOwnProperty(node.name) || validate(syntax, node.name, brokenMap, map[node.name])) { </code></td></tr><tr><td id="L8702" class="css-a4x74f"><span>8702</span></td><td id="LC8702" class="css-1dcdqdg"><code> broken[name] = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8703" class="css-a4x74f"><span>8703</span></td><td id="LC8703" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8704" class="css-a4x74f"><span>8704</span></td><td id="LC8704" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L8705" class="css-a4x74f"><span>8705</span></td><td id="LC8705" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8706" class="css-a4x74f"><span>8706</span></td><td id="LC8706" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8707" class="css-a4x74f"><span>8707</span></td><td id="LC8707" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8708" class="css-a4x74f"><span>8708</span></td><td id="LC8708" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> brokenTypes = {}; </code></td></tr><tr><td id="L8709" class="css-a4x74f"><span>8709</span></td><td id="LC8709" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> brokenProperties = {}; </code></td></tr><tr><td id="L8710" class="css-a4x74f"><span>8710</span></td><td id="LC8710" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8711" class="css-a4x74f"><span>8711</span></td><td id="LC8711" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> <span class="code-keyword">this</span>.types) { </code></td></tr><tr><td id="L8712" class="css-a4x74f"><span>8712</span></td><td id="LC8712" class="css-1dcdqdg"><code> validate(<span class="code-keyword">this</span>, key, brokenTypes, <span class="code-keyword">this</span>.types[key]); </code></td></tr><tr><td id="L8713" class="css-a4x74f"><span>8713</span></td><td id="LC8713" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8714" class="css-a4x74f"><span>8714</span></td><td id="LC8714" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8715" class="css-a4x74f"><span>8715</span></td><td id="LC8715" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> <span class="code-keyword">this</span>.properties) { </code></td></tr><tr><td id="L8716" class="css-a4x74f"><span>8716</span></td><td id="LC8716" class="css-1dcdqdg"><code> validate(<span class="code-keyword">this</span>, key, brokenProperties, <span class="code-keyword">this</span>.properties[key]); </code></td></tr><tr><td id="L8717" class="css-a4x74f"><span>8717</span></td><td id="LC8717" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8718" class="css-a4x74f"><span>8718</span></td><td id="LC8718" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8719" class="css-a4x74f"><span>8719</span></td><td id="LC8719" class="css-1dcdqdg"><code> brokenTypes = <span class="code-built_in">Object</span>.keys(brokenTypes).filter(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L8720" class="css-a4x74f"><span>8720</span></td><td id="LC8720" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> brokenTypes[name]; </code></td></tr><tr><td id="L8721" class="css-a4x74f"><span>8721</span></td><td id="LC8721" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8722" class="css-a4x74f"><span>8722</span></td><td id="LC8722" class="css-1dcdqdg"><code> brokenProperties = <span class="code-built_in">Object</span>.keys(brokenProperties).filter(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L8723" class="css-a4x74f"><span>8723</span></td><td id="LC8723" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> brokenProperties[name]; </code></td></tr><tr><td id="L8724" class="css-a4x74f"><span>8724</span></td><td id="LC8724" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L8725" class="css-a4x74f"><span>8725</span></td><td id="LC8725" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8726" class="css-a4x74f"><span>8726</span></td><td id="LC8726" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (brokenTypes.length || brokenProperties.length) { </code></td></tr><tr><td id="L8727" class="css-a4x74f"><span>8727</span></td><td id="LC8727" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8728" class="css-a4x74f"><span>8728</span></td><td id="LC8728" class="css-1dcdqdg"><code> types: brokenTypes, </code></td></tr><tr><td id="L8729" class="css-a4x74f"><span>8729</span></td><td id="LC8729" class="css-1dcdqdg"><code> properties: brokenProperties </code></td></tr><tr><td id="L8730" class="css-a4x74f"><span>8730</span></td><td id="LC8730" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8731" class="css-a4x74f"><span>8731</span></td><td id="LC8731" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8732" class="css-a4x74f"><span>8732</span></td><td id="LC8732" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8733" class="css-a4x74f"><span>8733</span></td><td id="LC8733" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8734" class="css-a4x74f"><span>8734</span></td><td id="LC8734" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8735" class="css-a4x74f"><span>8735</span></td><td id="LC8735" class="css-1dcdqdg"><code> dump: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">syntaxAsAst, pretty</span>) </span>{ </code></td></tr><tr><td id="L8736" class="css-a4x74f"><span>8736</span></td><td id="LC8736" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8737" class="css-a4x74f"><span>8737</span></td><td id="LC8737" class="css-1dcdqdg"><code> generic: <span class="code-keyword">this</span>.generic, </code></td></tr><tr><td id="L8738" class="css-a4x74f"><span>8738</span></td><td id="LC8738" class="css-1dcdqdg"><code> types: dumpMapSyntax(<span class="code-keyword">this</span>.types, !pretty, syntaxAsAst), </code></td></tr><tr><td id="L8739" class="css-a4x74f"><span>8739</span></td><td id="LC8739" class="css-1dcdqdg"><code> properties: dumpMapSyntax(<span class="code-keyword">this</span>.properties, !pretty, syntaxAsAst) </code></td></tr><tr><td id="L8740" class="css-a4x74f"><span>8740</span></td><td id="LC8740" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8741" class="css-a4x74f"><span>8741</span></td><td id="LC8741" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8742" class="css-a4x74f"><span>8742</span></td><td id="LC8742" class="css-1dcdqdg"><code> toString: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8743" class="css-a4x74f"><span>8743</span></td><td id="LC8743" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">JSON</span>.stringify(<span class="code-keyword">this</span>.dump()); </code></td></tr><tr><td id="L8744" class="css-a4x74f"><span>8744</span></td><td id="LC8744" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8745" class="css-a4x74f"><span>8745</span></td><td id="LC8745" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8746" class="css-a4x74f"><span>8746</span></td><td id="LC8746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8747" class="css-a4x74f"><span>8747</span></td><td id="LC8747" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Lexer_1 = Lexer; </code></td></tr><tr><td id="L8748" class="css-a4x74f"><span>8748</span></td><td id="LC8748" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8749" class="css-a4x74f"><span>8749</span></td><td id="LC8749" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> definitionSyntax = { </code></td></tr><tr><td id="L8750" class="css-a4x74f"><span>8750</span></td><td id="LC8750" class="css-1dcdqdg"><code> <span class="code-built_in">SyntaxError</span>: _SyntaxError$<span class="code-number">1</span>, </code></td></tr><tr><td id="L8751" class="css-a4x74f"><span>8751</span></td><td id="LC8751" class="css-1dcdqdg"><code> parse: parse_1, </code></td></tr><tr><td id="L8752" class="css-a4x74f"><span>8752</span></td><td id="LC8752" class="css-1dcdqdg"><code> generate: generate_1, </code></td></tr><tr><td id="L8753" class="css-a4x74f"><span>8753</span></td><td id="LC8753" class="css-1dcdqdg"><code> walk: walk$<span class="code-number">1</span> </code></td></tr><tr><td id="L8754" class="css-a4x74f"><span>8754</span></td><td id="LC8754" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8755" class="css-a4x74f"><span>8755</span></td><td id="LC8755" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8756" class="css-a4x74f"><span>8756</span></td><td id="LC8756" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isBOM$<span class="code-number">2</span> = tokenizer.isBOM; </code></td></tr><tr><td id="L8757" class="css-a4x74f"><span>8757</span></td><td id="LC8757" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8758" class="css-a4x74f"><span>8758</span></td><td id="LC8758" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> N$<span class="code-number">3</span> = <span class="code-number">10</span>; </code></td></tr><tr><td id="L8759" class="css-a4x74f"><span>8759</span></td><td id="LC8759" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> F$<span class="code-number">2</span> = <span class="code-number">12</span>; </code></td></tr><tr><td id="L8760" class="css-a4x74f"><span>8760</span></td><td id="LC8760" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> R$<span class="code-number">2</span> = <span class="code-number">13</span>; </code></td></tr><tr><td id="L8761" class="css-a4x74f"><span>8761</span></td><td id="LC8761" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8762" class="css-a4x74f"><span>8762</span></td><td id="LC8762" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">computeLinesAndColumns</span>(<span class="code-params">host, source</span>) </span>{ </code></td></tr><tr><td id="L8763" class="css-a4x74f"><span>8763</span></td><td id="LC8763" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceLength = source.length; </code></td></tr><tr><td id="L8764" class="css-a4x74f"><span>8764</span></td><td id="LC8764" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lines = adoptBuffer(host.lines, sourceLength); <span class="code-comment">// +1</span> </code></td></tr><tr><td id="L8765" class="css-a4x74f"><span>8765</span></td><td id="LC8765" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> line = host.startLine; </code></td></tr><tr><td id="L8766" class="css-a4x74f"><span>8766</span></td><td id="LC8766" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> columns = adoptBuffer(host.columns, sourceLength); </code></td></tr><tr><td id="L8767" class="css-a4x74f"><span>8767</span></td><td id="LC8767" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> column = host.startColumn; </code></td></tr><tr><td id="L8768" class="css-a4x74f"><span>8768</span></td><td id="LC8768" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startOffset = source.length > <span class="code-number">0</span> ? isBOM$<span class="code-number">2</span>(source.charCodeAt(<span class="code-number">0</span>)) : <span class="code-number">0</span>; </code></td></tr><tr><td id="L8769" class="css-a4x74f"><span>8769</span></td><td id="LC8769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8770" class="css-a4x74f"><span>8770</span></td><td id="LC8770" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = startOffset; i < sourceLength; i++) { <span class="code-comment">// -1</span> </code></td></tr><tr><td id="L8771" class="css-a4x74f"><span>8771</span></td><td id="LC8771" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = source.charCodeAt(i); </code></td></tr><tr><td id="L8772" class="css-a4x74f"><span>8772</span></td><td id="LC8772" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8773" class="css-a4x74f"><span>8773</span></td><td id="LC8773" class="css-1dcdqdg"><code> lines[i] = line; </code></td></tr><tr><td id="L8774" class="css-a4x74f"><span>8774</span></td><td id="LC8774" class="css-1dcdqdg"><code> columns[i] = column++; </code></td></tr><tr><td id="L8775" class="css-a4x74f"><span>8775</span></td><td id="LC8775" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8776" class="css-a4x74f"><span>8776</span></td><td id="LC8776" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === N$<span class="code-number">3</span> || code === R$<span class="code-number">2</span> || code === F$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L8777" class="css-a4x74f"><span>8777</span></td><td id="LC8777" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === R$<span class="code-number">2</span> && i + <span class="code-number">1</span> < sourceLength && source.charCodeAt(i + <span class="code-number">1</span>) === N$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L8778" class="css-a4x74f"><span>8778</span></td><td id="LC8778" class="css-1dcdqdg"><code> i++; </code></td></tr><tr><td id="L8779" class="css-a4x74f"><span>8779</span></td><td id="LC8779" class="css-1dcdqdg"><code> lines[i] = line; </code></td></tr><tr><td id="L8780" class="css-a4x74f"><span>8780</span></td><td id="LC8780" class="css-1dcdqdg"><code> columns[i] = column; </code></td></tr><tr><td id="L8781" class="css-a4x74f"><span>8781</span></td><td id="LC8781" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8782" class="css-a4x74f"><span>8782</span></td><td id="LC8782" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8783" class="css-a4x74f"><span>8783</span></td><td id="LC8783" class="css-1dcdqdg"><code> line++; </code></td></tr><tr><td id="L8784" class="css-a4x74f"><span>8784</span></td><td id="LC8784" class="css-1dcdqdg"><code> column = <span class="code-number">1</span>; </code></td></tr><tr><td id="L8785" class="css-a4x74f"><span>8785</span></td><td id="LC8785" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8786" class="css-a4x74f"><span>8786</span></td><td id="LC8786" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8787" class="css-a4x74f"><span>8787</span></td><td id="LC8787" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8788" class="css-a4x74f"><span>8788</span></td><td id="LC8788" class="css-1dcdqdg"><code> lines[i] = line; </code></td></tr><tr><td id="L8789" class="css-a4x74f"><span>8789</span></td><td id="LC8789" class="css-1dcdqdg"><code> columns[i] = column; </code></td></tr><tr><td id="L8790" class="css-a4x74f"><span>8790</span></td><td id="LC8790" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8791" class="css-a4x74f"><span>8791</span></td><td id="LC8791" class="css-1dcdqdg"><code> host.lines = lines; </code></td></tr><tr><td id="L8792" class="css-a4x74f"><span>8792</span></td><td id="LC8792" class="css-1dcdqdg"><code> host.columns = columns; </code></td></tr><tr><td id="L8793" class="css-a4x74f"><span>8793</span></td><td id="LC8793" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8794" class="css-a4x74f"><span>8794</span></td><td id="LC8794" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8795" class="css-a4x74f"><span>8795</span></td><td id="LC8795" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OffsetToLocation = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8796" class="css-a4x74f"><span>8796</span></td><td id="LC8796" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.lines = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8797" class="css-a4x74f"><span>8797</span></td><td id="LC8797" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.columns = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8798" class="css-a4x74f"><span>8798</span></td><td id="LC8798" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.linesAndColumnsComputed = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8799" class="css-a4x74f"><span>8799</span></td><td id="LC8799" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8800" class="css-a4x74f"><span>8800</span></td><td id="LC8800" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8801" class="css-a4x74f"><span>8801</span></td><td id="LC8801" class="css-1dcdqdg"><code> OffsetToLocation.prototype = { </code></td></tr><tr><td id="L8802" class="css-a4x74f"><span>8802</span></td><td id="LC8802" class="css-1dcdqdg"><code> setSource: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">source, startOffset, startLine, startColumn</span>) </span>{ </code></td></tr><tr><td id="L8803" class="css-a4x74f"><span>8803</span></td><td id="LC8803" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.source = source; </code></td></tr><tr><td id="L8804" class="css-a4x74f"><span>8804</span></td><td id="LC8804" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.startOffset = <span class="code-keyword">typeof</span> startOffset === <span class="code-string">'undefined'</span> ? <span class="code-number">0</span> : startOffset; </code></td></tr><tr><td id="L8805" class="css-a4x74f"><span>8805</span></td><td id="LC8805" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.startLine = <span class="code-keyword">typeof</span> startLine === <span class="code-string">'undefined'</span> ? <span class="code-number">1</span> : startLine; </code></td></tr><tr><td id="L8806" class="css-a4x74f"><span>8806</span></td><td id="LC8806" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.startColumn = <span class="code-keyword">typeof</span> startColumn === <span class="code-string">'undefined'</span> ? <span class="code-number">1</span> : startColumn; </code></td></tr><tr><td id="L8807" class="css-a4x74f"><span>8807</span></td><td id="LC8807" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.linesAndColumnsComputed = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8808" class="css-a4x74f"><span>8808</span></td><td id="LC8808" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8809" class="css-a4x74f"><span>8809</span></td><td id="LC8809" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8810" class="css-a4x74f"><span>8810</span></td><td id="LC8810" class="css-1dcdqdg"><code> ensureLinesAndColumnsComputed: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8811" class="css-a4x74f"><span>8811</span></td><td id="LC8811" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.linesAndColumnsComputed) { </code></td></tr><tr><td id="L8812" class="css-a4x74f"><span>8812</span></td><td id="LC8812" class="css-1dcdqdg"><code> computeLinesAndColumns(<span class="code-keyword">this</span>, <span class="code-keyword">this</span>.source); </code></td></tr><tr><td id="L8813" class="css-a4x74f"><span>8813</span></td><td id="LC8813" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.linesAndColumnsComputed = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8814" class="css-a4x74f"><span>8814</span></td><td id="LC8814" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8815" class="css-a4x74f"><span>8815</span></td><td id="LC8815" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8816" class="css-a4x74f"><span>8816</span></td><td id="LC8816" class="css-1dcdqdg"><code> getLocation: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">offset, filename</span>) </span>{ </code></td></tr><tr><td id="L8817" class="css-a4x74f"><span>8817</span></td><td id="LC8817" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ensureLinesAndColumnsComputed(); </code></td></tr><tr><td id="L8818" class="css-a4x74f"><span>8818</span></td><td id="LC8818" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8819" class="css-a4x74f"><span>8819</span></td><td id="LC8819" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8820" class="css-a4x74f"><span>8820</span></td><td id="LC8820" class="css-1dcdqdg"><code> source: filename, </code></td></tr><tr><td id="L8821" class="css-a4x74f"><span>8821</span></td><td id="LC8821" class="css-1dcdqdg"><code> offset: <span class="code-keyword">this</span>.startOffset + offset, </code></td></tr><tr><td id="L8822" class="css-a4x74f"><span>8822</span></td><td id="LC8822" class="css-1dcdqdg"><code> line: <span class="code-keyword">this</span>.lines[offset], </code></td></tr><tr><td id="L8823" class="css-a4x74f"><span>8823</span></td><td id="LC8823" class="css-1dcdqdg"><code> column: <span class="code-keyword">this</span>.columns[offset] </code></td></tr><tr><td id="L8824" class="css-a4x74f"><span>8824</span></td><td id="LC8824" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8825" class="css-a4x74f"><span>8825</span></td><td id="LC8825" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8826" class="css-a4x74f"><span>8826</span></td><td id="LC8826" class="css-1dcdqdg"><code> getLocationRange: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">start, end, filename</span>) </span>{ </code></td></tr><tr><td id="L8827" class="css-a4x74f"><span>8827</span></td><td id="LC8827" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ensureLinesAndColumnsComputed(); </code></td></tr><tr><td id="L8828" class="css-a4x74f"><span>8828</span></td><td id="LC8828" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8829" class="css-a4x74f"><span>8829</span></td><td id="LC8829" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L8830" class="css-a4x74f"><span>8830</span></td><td id="LC8830" class="css-1dcdqdg"><code> source: filename, </code></td></tr><tr><td id="L8831" class="css-a4x74f"><span>8831</span></td><td id="LC8831" class="css-1dcdqdg"><code> start: { </code></td></tr><tr><td id="L8832" class="css-a4x74f"><span>8832</span></td><td id="LC8832" class="css-1dcdqdg"><code> offset: <span class="code-keyword">this</span>.startOffset + start, </code></td></tr><tr><td id="L8833" class="css-a4x74f"><span>8833</span></td><td id="LC8833" class="css-1dcdqdg"><code> line: <span class="code-keyword">this</span>.lines[start], </code></td></tr><tr><td id="L8834" class="css-a4x74f"><span>8834</span></td><td id="LC8834" class="css-1dcdqdg"><code> column: <span class="code-keyword">this</span>.columns[start] </code></td></tr><tr><td id="L8835" class="css-a4x74f"><span>8835</span></td><td id="LC8835" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L8836" class="css-a4x74f"><span>8836</span></td><td id="LC8836" class="css-1dcdqdg"><code> end: { </code></td></tr><tr><td id="L8837" class="css-a4x74f"><span>8837</span></td><td id="LC8837" class="css-1dcdqdg"><code> offset: <span class="code-keyword">this</span>.startOffset + end, </code></td></tr><tr><td id="L8838" class="css-a4x74f"><span>8838</span></td><td id="LC8838" class="css-1dcdqdg"><code> line: <span class="code-keyword">this</span>.lines[end], </code></td></tr><tr><td id="L8839" class="css-a4x74f"><span>8839</span></td><td id="LC8839" class="css-1dcdqdg"><code> column: <span class="code-keyword">this</span>.columns[end] </code></td></tr><tr><td id="L8840" class="css-a4x74f"><span>8840</span></td><td id="LC8840" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8841" class="css-a4x74f"><span>8841</span></td><td id="LC8841" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8842" class="css-a4x74f"><span>8842</span></td><td id="LC8842" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8843" class="css-a4x74f"><span>8843</span></td><td id="LC8843" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8844" class="css-a4x74f"><span>8844</span></td><td id="LC8844" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8845" class="css-a4x74f"><span>8845</span></td><td id="LC8845" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> OffsetToLocation_1 = OffsetToLocation; </code></td></tr><tr><td id="L8846" class="css-a4x74f"><span>8846</span></td><td id="LC8846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8847" class="css-a4x74f"><span>8847</span></td><td id="LC8847" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">7</span> = tokenizer.TYPE; </code></td></tr><tr><td id="L8848" class="css-a4x74f"><span>8848</span></td><td id="LC8848" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">2</span> = TYPE$<span class="code-number">7.</span>WhiteSpace; </code></td></tr><tr><td id="L8849" class="css-a4x74f"><span>8849</span></td><td id="LC8849" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">2</span> = TYPE$<span class="code-number">7.</span>Comment; </code></td></tr><tr><td id="L8850" class="css-a4x74f"><span>8850</span></td><td id="LC8850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8851" class="css-a4x74f"><span>8851</span></td><td id="LC8851" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sequence = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readSequence</span>(<span class="code-params">recognizer</span>) </span>{ </code></td></tr><tr><td id="L8852" class="css-a4x74f"><span>8852</span></td><td id="LC8852" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L8853" class="css-a4x74f"><span>8853</span></td><td id="LC8853" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> child = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8854" class="css-a4x74f"><span>8854</span></td><td id="LC8854" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> context = { </code></td></tr><tr><td id="L8855" class="css-a4x74f"><span>8855</span></td><td id="LC8855" class="css-1dcdqdg"><code> recognizer: recognizer, </code></td></tr><tr><td id="L8856" class="css-a4x74f"><span>8856</span></td><td id="LC8856" class="css-1dcdqdg"><code> space: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L8857" class="css-a4x74f"><span>8857</span></td><td id="LC8857" class="css-1dcdqdg"><code> ignoreWS: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L8858" class="css-a4x74f"><span>8858</span></td><td id="LC8858" class="css-1dcdqdg"><code> ignoreWSAfter: <span class="code-literal">false</span> </code></td></tr><tr><td id="L8859" class="css-a4x74f"><span>8859</span></td><td id="LC8859" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8860" class="css-a4x74f"><span>8860</span></td><td id="LC8860" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8861" class="css-a4x74f"><span>8861</span></td><td id="LC8861" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L8862" class="css-a4x74f"><span>8862</span></td><td id="LC8862" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8863" class="css-a4x74f"><span>8863</span></td><td id="LC8863" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L8864" class="css-a4x74f"><span>8864</span></td><td id="LC8864" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L8865" class="css-a4x74f"><span>8865</span></td><td id="LC8865" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">2</span>: </code></td></tr><tr><td id="L8866" class="css-a4x74f"><span>8866</span></td><td id="LC8866" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L8867" class="css-a4x74f"><span>8867</span></td><td id="LC8867" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8868" class="css-a4x74f"><span>8868</span></td><td id="LC8868" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8869" class="css-a4x74f"><span>8869</span></td><td id="LC8869" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$<span class="code-number">2</span>: </code></td></tr><tr><td id="L8870" class="css-a4x74f"><span>8870</span></td><td id="LC8870" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context.ignoreWS) { </code></td></tr><tr><td id="L8871" class="css-a4x74f"><span>8871</span></td><td id="LC8871" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L8872" class="css-a4x74f"><span>8872</span></td><td id="LC8872" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8873" class="css-a4x74f"><span>8873</span></td><td id="LC8873" class="css-1dcdqdg"><code> context.space = <span class="code-keyword">this</span>.WhiteSpace(); </code></td></tr><tr><td id="L8874" class="css-a4x74f"><span>8874</span></td><td id="LC8874" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8875" class="css-a4x74f"><span>8875</span></td><td id="LC8875" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L8876" class="css-a4x74f"><span>8876</span></td><td id="LC8876" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8877" class="css-a4x74f"><span>8877</span></td><td id="LC8877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8878" class="css-a4x74f"><span>8878</span></td><td id="LC8878" class="css-1dcdqdg"><code> child = recognizer.getNode.call(<span class="code-keyword">this</span>, context); </code></td></tr><tr><td id="L8879" class="css-a4x74f"><span>8879</span></td><td id="LC8879" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8880" class="css-a4x74f"><span>8880</span></td><td id="LC8880" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L8881" class="css-a4x74f"><span>8881</span></td><td id="LC8881" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8882" class="css-a4x74f"><span>8882</span></td><td id="LC8882" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8883" class="css-a4x74f"><span>8883</span></td><td id="LC8883" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8884" class="css-a4x74f"><span>8884</span></td><td id="LC8884" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context.space !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L8885" class="css-a4x74f"><span>8885</span></td><td id="LC8885" class="css-1dcdqdg"><code> children.push(context.space); </code></td></tr><tr><td id="L8886" class="css-a4x74f"><span>8886</span></td><td id="LC8886" class="css-1dcdqdg"><code> context.space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L8887" class="css-a4x74f"><span>8887</span></td><td id="LC8887" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8888" class="css-a4x74f"><span>8888</span></td><td id="LC8888" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8889" class="css-a4x74f"><span>8889</span></td><td id="LC8889" class="css-1dcdqdg"><code> children.push(child); </code></td></tr><tr><td id="L8890" class="css-a4x74f"><span>8890</span></td><td id="LC8890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8891" class="css-a4x74f"><span>8891</span></td><td id="LC8891" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (context.ignoreWSAfter) { </code></td></tr><tr><td id="L8892" class="css-a4x74f"><span>8892</span></td><td id="LC8892" class="css-1dcdqdg"><code> context.ignoreWSAfter = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8893" class="css-a4x74f"><span>8893</span></td><td id="LC8893" class="css-1dcdqdg"><code> context.ignoreWS = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L8894" class="css-a4x74f"><span>8894</span></td><td id="LC8894" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L8895" class="css-a4x74f"><span>8895</span></td><td id="LC8895" class="css-1dcdqdg"><code> context.ignoreWS = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L8896" class="css-a4x74f"><span>8896</span></td><td id="LC8896" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8897" class="css-a4x74f"><span>8897</span></td><td id="LC8897" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8898" class="css-a4x74f"><span>8898</span></td><td id="LC8898" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8899" class="css-a4x74f"><span>8899</span></td><td id="LC8899" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L8900" class="css-a4x74f"><span>8900</span></td><td id="LC8900" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8901" class="css-a4x74f"><span>8901</span></td><td id="LC8901" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8902" class="css-a4x74f"><span>8902</span></td><td id="LC8902" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> findWhiteSpaceStart$<span class="code-number">1</span> = utils.findWhiteSpaceStart; </code></td></tr><tr><td id="L8903" class="css-a4x74f"><span>8903</span></td><td id="LC8903" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8904" class="css-a4x74f"><span>8904</span></td><td id="LC8904" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> noop$<span class="code-number">3</span> = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{}; </code></td></tr><tr><td id="L8905" class="css-a4x74f"><span>8905</span></td><td id="LC8905" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8906" class="css-a4x74f"><span>8906</span></td><td id="LC8906" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">8</span> = _const.TYPE; </code></td></tr><tr><td id="L8907" class="css-a4x74f"><span>8907</span></td><td id="LC8907" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NAME$<span class="code-number">2</span> = _const.NAME; </code></td></tr><tr><td id="L8908" class="css-a4x74f"><span>8908</span></td><td id="LC8908" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">3</span> = TYPE$<span class="code-number">8.</span>WhiteSpace; </code></td></tr><tr><td id="L8909" class="css-a4x74f"><span>8909</span></td><td id="LC8909" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">2</span> = TYPE$<span class="code-number">8.</span>Ident; </code></td></tr><tr><td id="L8910" class="css-a4x74f"><span>8910</span></td><td id="LC8910" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION = TYPE$<span class="code-number">8.</span><span class="code-built_in">Function</span>; </code></td></tr><tr><td id="L8911" class="css-a4x74f"><span>8911</span></td><td id="LC8911" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> URL$<span class="code-number">1</span> = TYPE$<span class="code-number">8.</span>Url; </code></td></tr><tr><td id="L8912" class="css-a4x74f"><span>8912</span></td><td id="LC8912" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH = TYPE$<span class="code-number">8.</span>Hash; </code></td></tr><tr><td id="L8913" class="css-a4x74f"><span>8913</span></td><td id="LC8913" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PERCENTAGE = TYPE$<span class="code-number">8.</span>Percentage; </code></td></tr><tr><td id="L8914" class="css-a4x74f"><span>8914</span></td><td id="LC8914" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">2</span> = TYPE$<span class="code-number">8.</span><span class="code-built_in">Number</span>; </code></td></tr><tr><td id="L8915" class="css-a4x74f"><span>8915</span></td><td id="LC8915" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBERSIGN$<span class="code-number">1</span> = <span class="code-number">0x0023</span>; <span class="code-comment">// U+0023 NUMBER SIGN (#)</span> </code></td></tr><tr><td id="L8916" class="css-a4x74f"><span>8916</span></td><td id="LC8916" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NULL = <span class="code-number">0</span>; </code></td></tr><tr><td id="L8917" class="css-a4x74f"><span>8917</span></td><td id="LC8917" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8918" class="css-a4x74f"><span>8918</span></td><td id="LC8918" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createParseContext</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L8919" class="css-a4x74f"><span>8919</span></td><td id="LC8919" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8920" class="css-a4x74f"><span>8920</span></td><td id="LC8920" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>[name](); </code></td></tr><tr><td id="L8921" class="css-a4x74f"><span>8921</span></td><td id="LC8921" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8922" class="css-a4x74f"><span>8922</span></td><td id="LC8922" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8923" class="css-a4x74f"><span>8923</span></td><td id="LC8923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8924" class="css-a4x74f"><span>8924</span></td><td id="LC8924" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">processConfig</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L8925" class="css-a4x74f"><span>8925</span></td><td id="LC8925" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parserConfig = { </code></td></tr><tr><td id="L8926" class="css-a4x74f"><span>8926</span></td><td id="LC8926" class="css-1dcdqdg"><code> context: {}, </code></td></tr><tr><td id="L8927" class="css-a4x74f"><span>8927</span></td><td id="LC8927" class="css-1dcdqdg"><code> scope: {}, </code></td></tr><tr><td id="L8928" class="css-a4x74f"><span>8928</span></td><td id="LC8928" class="css-1dcdqdg"><code> atrule: {}, </code></td></tr><tr><td id="L8929" class="css-a4x74f"><span>8929</span></td><td id="LC8929" class="css-1dcdqdg"><code> pseudo: {} </code></td></tr><tr><td id="L8930" class="css-a4x74f"><span>8930</span></td><td id="LC8930" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L8931" class="css-a4x74f"><span>8931</span></td><td id="LC8931" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8932" class="css-a4x74f"><span>8932</span></td><td id="LC8932" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.parseContext) { </code></td></tr><tr><td id="L8933" class="css-a4x74f"><span>8933</span></td><td id="LC8933" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.parseContext) { </code></td></tr><tr><td id="L8934" class="css-a4x74f"><span>8934</span></td><td id="LC8934" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">typeof</span> config.parseContext[name]) { </code></td></tr><tr><td id="L8935" class="css-a4x74f"><span>8935</span></td><td id="LC8935" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'function'</span>: </code></td></tr><tr><td id="L8936" class="css-a4x74f"><span>8936</span></td><td id="LC8936" class="css-1dcdqdg"><code> parserConfig.context[name] = config.parseContext[name]; </code></td></tr><tr><td id="L8937" class="css-a4x74f"><span>8937</span></td><td id="LC8937" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8938" class="css-a4x74f"><span>8938</span></td><td id="LC8938" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8939" class="css-a4x74f"><span>8939</span></td><td id="LC8939" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">'string'</span>: </code></td></tr><tr><td id="L8940" class="css-a4x74f"><span>8940</span></td><td id="LC8940" class="css-1dcdqdg"><code> parserConfig.context[name] = createParseContext(config.parseContext[name]); </code></td></tr><tr><td id="L8941" class="css-a4x74f"><span>8941</span></td><td id="LC8941" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L8942" class="css-a4x74f"><span>8942</span></td><td id="LC8942" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8943" class="css-a4x74f"><span>8943</span></td><td id="LC8943" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8944" class="css-a4x74f"><span>8944</span></td><td id="LC8944" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8945" class="css-a4x74f"><span>8945</span></td><td id="LC8945" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8946" class="css-a4x74f"><span>8946</span></td><td id="LC8946" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.scope) { </code></td></tr><tr><td id="L8947" class="css-a4x74f"><span>8947</span></td><td id="LC8947" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.scope) { </code></td></tr><tr><td id="L8948" class="css-a4x74f"><span>8948</span></td><td id="LC8948" class="css-1dcdqdg"><code> parserConfig.scope[name] = config.scope[name]; </code></td></tr><tr><td id="L8949" class="css-a4x74f"><span>8949</span></td><td id="LC8949" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8950" class="css-a4x74f"><span>8950</span></td><td id="LC8950" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8951" class="css-a4x74f"><span>8951</span></td><td id="LC8951" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8952" class="css-a4x74f"><span>8952</span></td><td id="LC8952" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.atrule) { </code></td></tr><tr><td id="L8953" class="css-a4x74f"><span>8953</span></td><td id="LC8953" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.atrule) { </code></td></tr><tr><td id="L8954" class="css-a4x74f"><span>8954</span></td><td id="LC8954" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrule = config.atrule[name]; </code></td></tr><tr><td id="L8955" class="css-a4x74f"><span>8955</span></td><td id="LC8955" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8956" class="css-a4x74f"><span>8956</span></td><td id="LC8956" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (atrule.parse) { </code></td></tr><tr><td id="L8957" class="css-a4x74f"><span>8957</span></td><td id="LC8957" class="css-1dcdqdg"><code> parserConfig.atrule[name] = atrule.parse; </code></td></tr><tr><td id="L8958" class="css-a4x74f"><span>8958</span></td><td id="LC8958" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8959" class="css-a4x74f"><span>8959</span></td><td id="LC8959" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8960" class="css-a4x74f"><span>8960</span></td><td id="LC8960" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8961" class="css-a4x74f"><span>8961</span></td><td id="LC8961" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8962" class="css-a4x74f"><span>8962</span></td><td id="LC8962" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.pseudo) { </code></td></tr><tr><td id="L8963" class="css-a4x74f"><span>8963</span></td><td id="LC8963" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.pseudo) { </code></td></tr><tr><td id="L8964" class="css-a4x74f"><span>8964</span></td><td id="LC8964" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pseudo = config.pseudo[name]; </code></td></tr><tr><td id="L8965" class="css-a4x74f"><span>8965</span></td><td id="LC8965" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8966" class="css-a4x74f"><span>8966</span></td><td id="LC8966" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pseudo.parse) { </code></td></tr><tr><td id="L8967" class="css-a4x74f"><span>8967</span></td><td id="LC8967" class="css-1dcdqdg"><code> parserConfig.pseudo[name] = pseudo.parse; </code></td></tr><tr><td id="L8968" class="css-a4x74f"><span>8968</span></td><td id="LC8968" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8969" class="css-a4x74f"><span>8969</span></td><td id="LC8969" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8970" class="css-a4x74f"><span>8970</span></td><td id="LC8970" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8971" class="css-a4x74f"><span>8971</span></td><td id="LC8971" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8972" class="css-a4x74f"><span>8972</span></td><td id="LC8972" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.node) { </code></td></tr><tr><td id="L8973" class="css-a4x74f"><span>8973</span></td><td id="LC8973" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.node) { </code></td></tr><tr><td id="L8974" class="css-a4x74f"><span>8974</span></td><td id="LC8974" class="css-1dcdqdg"><code> parserConfig[name] = config.node[name].parse; </code></td></tr><tr><td id="L8975" class="css-a4x74f"><span>8975</span></td><td id="LC8975" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8976" class="css-a4x74f"><span>8976</span></td><td id="LC8976" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8977" class="css-a4x74f"><span>8977</span></td><td id="LC8977" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8978" class="css-a4x74f"><span>8978</span></td><td id="LC8978" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> parserConfig; </code></td></tr><tr><td id="L8979" class="css-a4x74f"><span>8979</span></td><td id="LC8979" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L8980" class="css-a4x74f"><span>8980</span></td><td id="LC8980" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8981" class="css-a4x74f"><span>8981</span></td><td id="LC8981" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createParser</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L8982" class="css-a4x74f"><span>8982</span></td><td id="LC8982" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parser = { </code></td></tr><tr><td id="L8983" class="css-a4x74f"><span>8983</span></td><td id="LC8983" class="css-1dcdqdg"><code> scanner: <span class="code-keyword">new</span> TokenStream_1(), </code></td></tr><tr><td id="L8984" class="css-a4x74f"><span>8984</span></td><td id="LC8984" class="css-1dcdqdg"><code> locationMap: <span class="code-keyword">new</span> OffsetToLocation_1(), </code></td></tr><tr><td id="L8985" class="css-a4x74f"><span>8985</span></td><td id="LC8985" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8986" class="css-a4x74f"><span>8986</span></td><td id="LC8986" class="css-1dcdqdg"><code> filename: <span class="code-string">'<unknown>'</span>, </code></td></tr><tr><td id="L8987" class="css-a4x74f"><span>8987</span></td><td id="LC8987" class="css-1dcdqdg"><code> needPositions: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L8988" class="css-a4x74f"><span>8988</span></td><td id="LC8988" class="css-1dcdqdg"><code> onParseError: noop$<span class="code-number">3</span>, </code></td></tr><tr><td id="L8989" class="css-a4x74f"><span>8989</span></td><td id="LC8989" class="css-1dcdqdg"><code> onParseErrorThrow: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L8990" class="css-a4x74f"><span>8990</span></td><td id="LC8990" class="css-1dcdqdg"><code> parseAtrulePrelude: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L8991" class="css-a4x74f"><span>8991</span></td><td id="LC8991" class="css-1dcdqdg"><code> parseRulePrelude: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L8992" class="css-a4x74f"><span>8992</span></td><td id="LC8992" class="css-1dcdqdg"><code> parseValue: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L8993" class="css-a4x74f"><span>8993</span></td><td id="LC8993" class="css-1dcdqdg"><code> parseCustomProperty: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L8994" class="css-a4x74f"><span>8994</span></td><td id="LC8994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8995" class="css-a4x74f"><span>8995</span></td><td id="LC8995" class="css-1dcdqdg"><code> readSequence: sequence, </code></td></tr><tr><td id="L8996" class="css-a4x74f"><span>8996</span></td><td id="LC8996" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L8997" class="css-a4x74f"><span>8997</span></td><td id="LC8997" class="css-1dcdqdg"><code> createList: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L8998" class="css-a4x74f"><span>8998</span></td><td id="LC8998" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> List_1(); </code></td></tr><tr><td id="L8999" class="css-a4x74f"><span>8999</span></td><td id="LC8999" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9000" class="css-a4x74f"><span>9000</span></td><td id="LC9000" class="css-1dcdqdg"><code> createSingleNodeList: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L9001" class="css-a4x74f"><span>9001</span></td><td id="LC9001" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> List_1().appendData(node); </code></td></tr><tr><td id="L9002" class="css-a4x74f"><span>9002</span></td><td id="LC9002" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9003" class="css-a4x74f"><span>9003</span></td><td id="LC9003" class="css-1dcdqdg"><code> getFirstListNode: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L9004" class="css-a4x74f"><span>9004</span></td><td id="LC9004" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> list && list.first(); </code></td></tr><tr><td id="L9005" class="css-a4x74f"><span>9005</span></td><td id="LC9005" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9006" class="css-a4x74f"><span>9006</span></td><td id="LC9006" class="css-1dcdqdg"><code> getLastListNode: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L9007" class="css-a4x74f"><span>9007</span></td><td id="LC9007" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> list.last(); </code></td></tr><tr><td id="L9008" class="css-a4x74f"><span>9008</span></td><td id="LC9008" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9009" class="css-a4x74f"><span>9009</span></td><td id="LC9009" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9010" class="css-a4x74f"><span>9010</span></td><td id="LC9010" class="css-1dcdqdg"><code> parseWithFallback: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">consumer, fallback</span>) </span>{ </code></td></tr><tr><td id="L9011" class="css-a4x74f"><span>9011</span></td><td id="LC9011" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startToken = <span class="code-keyword">this</span>.scanner.tokenIndex; </code></td></tr><tr><td id="L9012" class="css-a4x74f"><span>9012</span></td><td id="LC9012" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9013" class="css-a4x74f"><span>9013</span></td><td id="LC9013" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L9014" class="css-a4x74f"><span>9014</span></td><td id="LC9014" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumer.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L9015" class="css-a4x74f"><span>9015</span></td><td id="LC9015" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L9016" class="css-a4x74f"><span>9016</span></td><td id="LC9016" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.onParseErrorThrow) { </code></td></tr><tr><td id="L9017" class="css-a4x74f"><span>9017</span></td><td id="LC9017" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> e; </code></td></tr><tr><td id="L9018" class="css-a4x74f"><span>9018</span></td><td id="LC9018" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9019" class="css-a4x74f"><span>9019</span></td><td id="LC9019" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9020" class="css-a4x74f"><span>9020</span></td><td id="LC9020" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fallbackNode = fallback.call(<span class="code-keyword">this</span>, startToken); </code></td></tr><tr><td id="L9021" class="css-a4x74f"><span>9021</span></td><td id="LC9021" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9022" class="css-a4x74f"><span>9022</span></td><td id="LC9022" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.onParseErrorThrow = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L9023" class="css-a4x74f"><span>9023</span></td><td id="LC9023" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.onParseError(e, fallbackNode); </code></td></tr><tr><td id="L9024" class="css-a4x74f"><span>9024</span></td><td id="LC9024" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.onParseErrorThrow = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9025" class="css-a4x74f"><span>9025</span></td><td id="LC9025" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9026" class="css-a4x74f"><span>9026</span></td><td id="LC9026" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fallbackNode; </code></td></tr><tr><td id="L9027" class="css-a4x74f"><span>9027</span></td><td id="LC9027" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9028" class="css-a4x74f"><span>9028</span></td><td id="LC9028" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9029" class="css-a4x74f"><span>9029</span></td><td id="LC9029" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9030" class="css-a4x74f"><span>9030</span></td><td id="LC9030" class="css-1dcdqdg"><code> lookupNonWSType: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">offset</span>) </span>{ </code></td></tr><tr><td id="L9031" class="css-a4x74f"><span>9031</span></td><td id="LC9031" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L9032" class="css-a4x74f"><span>9032</span></td><td id="LC9032" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> type = <span class="code-keyword">this</span>.scanner.lookupType(offset++); </code></td></tr><tr><td id="L9033" class="css-a4x74f"><span>9033</span></td><td id="LC9033" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type !== WHITESPACE$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L9034" class="css-a4x74f"><span>9034</span></td><td id="LC9034" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> type; </code></td></tr><tr><td id="L9035" class="css-a4x74f"><span>9035</span></td><td id="LC9035" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9036" class="css-a4x74f"><span>9036</span></td><td id="LC9036" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (type !== NULL); </code></td></tr><tr><td id="L9037" class="css-a4x74f"><span>9037</span></td><td id="LC9037" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9038" class="css-a4x74f"><span>9038</span></td><td id="LC9038" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NULL; </code></td></tr><tr><td id="L9039" class="css-a4x74f"><span>9039</span></td><td id="LC9039" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9040" class="css-a4x74f"><span>9040</span></td><td id="LC9040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9041" class="css-a4x74f"><span>9041</span></td><td id="LC9041" class="css-1dcdqdg"><code> eat: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">tokenType</span>) </span>{ </code></td></tr><tr><td id="L9042" class="css-a4x74f"><span>9042</span></td><td id="LC9042" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== tokenType) { </code></td></tr><tr><td id="L9043" class="css-a4x74f"><span>9043</span></td><td id="LC9043" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L9044" class="css-a4x74f"><span>9044</span></td><td id="LC9044" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> message = NAME$<span class="code-number">2</span>[tokenType] + <span class="code-string">' is expected'</span>; </code></td></tr><tr><td id="L9045" class="css-a4x74f"><span>9045</span></td><td id="LC9045" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9046" class="css-a4x74f"><span>9046</span></td><td id="LC9046" class="css-1dcdqdg"><code> <span class="code-comment">// tweak message and offset</span> </code></td></tr><tr><td id="L9047" class="css-a4x74f"><span>9047</span></td><td id="LC9047" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (tokenType) { </code></td></tr><tr><td id="L9048" class="css-a4x74f"><span>9048</span></td><td id="LC9048" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$<span class="code-number">2</span>: </code></td></tr><tr><td id="L9049" class="css-a4x74f"><span>9049</span></td><td id="LC9049" class="css-1dcdqdg"><code> <span class="code-comment">// when identifier is expected but there is a function or url</span> </code></td></tr><tr><td id="L9050" class="css-a4x74f"><span>9050</span></td><td id="LC9050" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === FUNCTION || <span class="code-keyword">this</span>.scanner.tokenType === URL$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L9051" class="css-a4x74f"><span>9051</span></td><td id="LC9051" class="css-1dcdqdg"><code> offset = <span class="code-keyword">this</span>.scanner.tokenEnd - <span class="code-number">1</span>; </code></td></tr><tr><td id="L9052" class="css-a4x74f"><span>9052</span></td><td id="LC9052" class="css-1dcdqdg"><code> message = <span class="code-string">'Identifier is expected but function found'</span>; </code></td></tr><tr><td id="L9053" class="css-a4x74f"><span>9053</span></td><td id="LC9053" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L9054" class="css-a4x74f"><span>9054</span></td><td id="LC9054" class="css-1dcdqdg"><code> message = <span class="code-string">'Identifier is expected'</span>; </code></td></tr><tr><td id="L9055" class="css-a4x74f"><span>9055</span></td><td id="LC9055" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9056" class="css-a4x74f"><span>9056</span></td><td id="LC9056" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L9057" class="css-a4x74f"><span>9057</span></td><td id="LC9057" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9058" class="css-a4x74f"><span>9058</span></td><td id="LC9058" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> HASH: </code></td></tr><tr><td id="L9059" class="css-a4x74f"><span>9059</span></td><td id="LC9059" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(NUMBERSIGN$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L9060" class="css-a4x74f"><span>9060</span></td><td id="LC9060" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L9061" class="css-a4x74f"><span>9061</span></td><td id="LC9061" class="css-1dcdqdg"><code> offset++; </code></td></tr><tr><td id="L9062" class="css-a4x74f"><span>9062</span></td><td id="LC9062" class="css-1dcdqdg"><code> message = <span class="code-string">'Name is expected'</span>; </code></td></tr><tr><td id="L9063" class="css-a4x74f"><span>9063</span></td><td id="LC9063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9064" class="css-a4x74f"><span>9064</span></td><td id="LC9064" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L9065" class="css-a4x74f"><span>9065</span></td><td id="LC9065" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9066" class="css-a4x74f"><span>9066</span></td><td id="LC9066" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PERCENTAGE: </code></td></tr><tr><td id="L9067" class="css-a4x74f"><span>9067</span></td><td id="LC9067" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === NUMBER$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L9068" class="css-a4x74f"><span>9068</span></td><td id="LC9068" class="css-1dcdqdg"><code> offset = <span class="code-keyword">this</span>.scanner.tokenEnd; </code></td></tr><tr><td id="L9069" class="css-a4x74f"><span>9069</span></td><td id="LC9069" class="css-1dcdqdg"><code> message = <span class="code-string">'Percent sign is expected'</span>; </code></td></tr><tr><td id="L9070" class="css-a4x74f"><span>9070</span></td><td id="LC9070" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9071" class="css-a4x74f"><span>9071</span></td><td id="LC9071" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L9072" class="css-a4x74f"><span>9072</span></td><td id="LC9072" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9073" class="css-a4x74f"><span>9073</span></td><td id="LC9073" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L9074" class="css-a4x74f"><span>9074</span></td><td id="LC9074" class="css-1dcdqdg"><code> <span class="code-comment">// when test type is part of another token show error for current position + 1</span> </code></td></tr><tr><td id="L9075" class="css-a4x74f"><span>9075</span></td><td id="LC9075" class="css-1dcdqdg"><code> <span class="code-comment">// e.g. eat(HYPHENMINUS) will fail on "-foo", but pointing on "-" is odd</span> </code></td></tr><tr><td id="L9076" class="css-a4x74f"><span>9076</span></td><td id="LC9076" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart) === tokenType) { </code></td></tr><tr><td id="L9077" class="css-a4x74f"><span>9077</span></td><td id="LC9077" class="css-1dcdqdg"><code> offset = offset + <span class="code-number">1</span>; </code></td></tr><tr><td id="L9078" class="css-a4x74f"><span>9078</span></td><td id="LC9078" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9079" class="css-a4x74f"><span>9079</span></td><td id="LC9079" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9080" class="css-a4x74f"><span>9080</span></td><td id="LC9080" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9081" class="css-a4x74f"><span>9081</span></td><td id="LC9081" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(message, offset); </code></td></tr><tr><td id="L9082" class="css-a4x74f"><span>9082</span></td><td id="LC9082" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9083" class="css-a4x74f"><span>9083</span></td><td id="LC9083" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9084" class="css-a4x74f"><span>9084</span></td><td id="LC9084" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L9085" class="css-a4x74f"><span>9085</span></td><td id="LC9085" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9086" class="css-a4x74f"><span>9086</span></td><td id="LC9086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9087" class="css-a4x74f"><span>9087</span></td><td id="LC9087" class="css-1dcdqdg"><code> consume: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">tokenType</span>) </span>{ </code></td></tr><tr><td id="L9088" class="css-a4x74f"><span>9088</span></td><td id="LC9088" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = <span class="code-keyword">this</span>.scanner.getTokenValue(); </code></td></tr><tr><td id="L9089" class="css-a4x74f"><span>9089</span></td><td id="LC9089" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9090" class="css-a4x74f"><span>9090</span></td><td id="LC9090" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(tokenType); </code></td></tr><tr><td id="L9091" class="css-a4x74f"><span>9091</span></td><td id="LC9091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9092" class="css-a4x74f"><span>9092</span></td><td id="LC9092" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L9093" class="css-a4x74f"><span>9093</span></td><td id="LC9093" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9094" class="css-a4x74f"><span>9094</span></td><td id="LC9094" class="css-1dcdqdg"><code> consumeFunctionName: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L9095" class="css-a4x74f"><span>9095</span></td><td id="LC9095" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = <span class="code-keyword">this</span>.scanner.source.substring(<span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd - <span class="code-number">1</span>); </code></td></tr><tr><td id="L9096" class="css-a4x74f"><span>9096</span></td><td id="LC9096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9097" class="css-a4x74f"><span>9097</span></td><td id="LC9097" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(FUNCTION); </code></td></tr><tr><td id="L9098" class="css-a4x74f"><span>9098</span></td><td id="LC9098" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9099" class="css-a4x74f"><span>9099</span></td><td id="LC9099" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name; </code></td></tr><tr><td id="L9100" class="css-a4x74f"><span>9100</span></td><td id="LC9100" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9101" class="css-a4x74f"><span>9101</span></td><td id="LC9101" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9102" class="css-a4x74f"><span>9102</span></td><td id="LC9102" class="css-1dcdqdg"><code> getLocation: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">start, end</span>) </span>{ </code></td></tr><tr><td id="L9103" class="css-a4x74f"><span>9103</span></td><td id="LC9103" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.needPositions) { </code></td></tr><tr><td id="L9104" class="css-a4x74f"><span>9104</span></td><td id="LC9104" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.locationMap.getLocationRange( </code></td></tr><tr><td id="L9105" class="css-a4x74f"><span>9105</span></td><td id="LC9105" class="css-1dcdqdg"><code> start, </code></td></tr><tr><td id="L9106" class="css-a4x74f"><span>9106</span></td><td id="LC9106" class="css-1dcdqdg"><code> end, </code></td></tr><tr><td id="L9107" class="css-a4x74f"><span>9107</span></td><td id="LC9107" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.filename </code></td></tr><tr><td id="L9108" class="css-a4x74f"><span>9108</span></td><td id="LC9108" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L9109" class="css-a4x74f"><span>9109</span></td><td id="LC9109" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9110" class="css-a4x74f"><span>9110</span></td><td id="LC9110" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9111" class="css-a4x74f"><span>9111</span></td><td id="LC9111" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L9112" class="css-a4x74f"><span>9112</span></td><td id="LC9112" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9113" class="css-a4x74f"><span>9113</span></td><td id="LC9113" class="css-1dcdqdg"><code> getLocationFromList: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">list</span>) </span>{ </code></td></tr><tr><td id="L9114" class="css-a4x74f"><span>9114</span></td><td id="LC9114" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.needPositions) { </code></td></tr><tr><td id="L9115" class="css-a4x74f"><span>9115</span></td><td id="LC9115" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> head = <span class="code-keyword">this</span>.getFirstListNode(list); </code></td></tr><tr><td id="L9116" class="css-a4x74f"><span>9116</span></td><td id="LC9116" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tail = <span class="code-keyword">this</span>.getLastListNode(list); </code></td></tr><tr><td id="L9117" class="css-a4x74f"><span>9117</span></td><td id="LC9117" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.locationMap.getLocationRange( </code></td></tr><tr><td id="L9118" class="css-a4x74f"><span>9118</span></td><td id="LC9118" class="css-1dcdqdg"><code> head !== <span class="code-literal">null</span> ? head.loc.start.offset - <span class="code-keyword">this</span>.locationMap.startOffset : <span class="code-keyword">this</span>.scanner.tokenStart, </code></td></tr><tr><td id="L9119" class="css-a4x74f"><span>9119</span></td><td id="LC9119" class="css-1dcdqdg"><code> tail !== <span class="code-literal">null</span> ? tail.loc.end.offset - <span class="code-keyword">this</span>.locationMap.startOffset : <span class="code-keyword">this</span>.scanner.tokenStart, </code></td></tr><tr><td id="L9120" class="css-a4x74f"><span>9120</span></td><td id="LC9120" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.filename </code></td></tr><tr><td id="L9121" class="css-a4x74f"><span>9121</span></td><td id="LC9121" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L9122" class="css-a4x74f"><span>9122</span></td><td id="LC9122" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9123" class="css-a4x74f"><span>9123</span></td><td id="LC9123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9124" class="css-a4x74f"><span>9124</span></td><td id="LC9124" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L9125" class="css-a4x74f"><span>9125</span></td><td id="LC9125" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L9126" class="css-a4x74f"><span>9126</span></td><td id="LC9126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9127" class="css-a4x74f"><span>9127</span></td><td id="LC9127" class="css-1dcdqdg"><code> error: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">message, offset</span>) </span>{ </code></td></tr><tr><td id="L9128" class="css-a4x74f"><span>9128</span></td><td id="LC9128" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> location = <span class="code-keyword">typeof</span> offset !== <span class="code-string">'undefined'</span> && offset < <span class="code-keyword">this</span>.scanner.source.length </code></td></tr><tr><td id="L9129" class="css-a4x74f"><span>9129</span></td><td id="LC9129" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.locationMap.getLocation(offset) </code></td></tr><tr><td id="L9130" class="css-a4x74f"><span>9130</span></td><td id="LC9130" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.scanner.eof </code></td></tr><tr><td id="L9131" class="css-a4x74f"><span>9131</span></td><td id="LC9131" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.locationMap.getLocation(findWhiteSpaceStart$<span class="code-number">1</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.source.length - <span class="code-number">1</span>)) </code></td></tr><tr><td id="L9132" class="css-a4x74f"><span>9132</span></td><td id="LC9132" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.locationMap.getLocation(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L9133" class="css-a4x74f"><span>9133</span></td><td id="LC9133" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9134" class="css-a4x74f"><span>9134</span></td><td id="LC9134" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> _SyntaxError( </code></td></tr><tr><td id="L9135" class="css-a4x74f"><span>9135</span></td><td id="LC9135" class="css-1dcdqdg"><code> message || <span class="code-string">'Unexpected input'</span>, </code></td></tr><tr><td id="L9136" class="css-a4x74f"><span>9136</span></td><td id="LC9136" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.source, </code></td></tr><tr><td id="L9137" class="css-a4x74f"><span>9137</span></td><td id="LC9137" class="css-1dcdqdg"><code> location.offset, </code></td></tr><tr><td id="L9138" class="css-a4x74f"><span>9138</span></td><td id="LC9138" class="css-1dcdqdg"><code> location.line, </code></td></tr><tr><td id="L9139" class="css-a4x74f"><span>9139</span></td><td id="LC9139" class="css-1dcdqdg"><code> location.column </code></td></tr><tr><td id="L9140" class="css-a4x74f"><span>9140</span></td><td id="LC9140" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L9141" class="css-a4x74f"><span>9141</span></td><td id="LC9141" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9142" class="css-a4x74f"><span>9142</span></td><td id="LC9142" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9143" class="css-a4x74f"><span>9143</span></td><td id="LC9143" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9144" class="css-a4x74f"><span>9144</span></td><td id="LC9144" class="css-1dcdqdg"><code> config = processConfig(config || {}); </code></td></tr><tr><td id="L9145" class="css-a4x74f"><span>9145</span></td><td id="LC9145" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> config) { </code></td></tr><tr><td id="L9146" class="css-a4x74f"><span>9146</span></td><td id="LC9146" class="css-1dcdqdg"><code> parser[key] = config[key]; </code></td></tr><tr><td id="L9147" class="css-a4x74f"><span>9147</span></td><td id="LC9147" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9148" class="css-a4x74f"><span>9148</span></td><td id="LC9148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9149" class="css-a4x74f"><span>9149</span></td><td id="LC9149" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">source, options</span>) </span>{ </code></td></tr><tr><td id="L9150" class="css-a4x74f"><span>9150</span></td><td id="LC9150" class="css-1dcdqdg"><code> options = options || {}; </code></td></tr><tr><td id="L9151" class="css-a4x74f"><span>9151</span></td><td id="LC9151" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9152" class="css-a4x74f"><span>9152</span></td><td id="LC9152" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> context = options.context || <span class="code-string">'default'</span>; </code></td></tr><tr><td id="L9153" class="css-a4x74f"><span>9153</span></td><td id="LC9153" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ast; </code></td></tr><tr><td id="L9154" class="css-a4x74f"><span>9154</span></td><td id="LC9154" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9155" class="css-a4x74f"><span>9155</span></td><td id="LC9155" class="css-1dcdqdg"><code> tokenizer(source, parser.scanner); </code></td></tr><tr><td id="L9156" class="css-a4x74f"><span>9156</span></td><td id="LC9156" class="css-1dcdqdg"><code> parser.locationMap.setSource( </code></td></tr><tr><td id="L9157" class="css-a4x74f"><span>9157</span></td><td id="LC9157" class="css-1dcdqdg"><code> source, </code></td></tr><tr><td id="L9158" class="css-a4x74f"><span>9158</span></td><td id="LC9158" class="css-1dcdqdg"><code> options.offset, </code></td></tr><tr><td id="L9159" class="css-a4x74f"><span>9159</span></td><td id="LC9159" class="css-1dcdqdg"><code> options.line, </code></td></tr><tr><td id="L9160" class="css-a4x74f"><span>9160</span></td><td id="LC9160" class="css-1dcdqdg"><code> options.column </code></td></tr><tr><td id="L9161" class="css-a4x74f"><span>9161</span></td><td id="LC9161" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L9162" class="css-a4x74f"><span>9162</span></td><td id="LC9162" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9163" class="css-a4x74f"><span>9163</span></td><td id="LC9163" class="css-1dcdqdg"><code> parser.filename = options.filename || <span class="code-string">'<unknown>'</span>; </code></td></tr><tr><td id="L9164" class="css-a4x74f"><span>9164</span></td><td id="LC9164" class="css-1dcdqdg"><code> parser.needPositions = <span class="code-built_in">Boolean</span>(options.positions); </code></td></tr><tr><td id="L9165" class="css-a4x74f"><span>9165</span></td><td id="LC9165" class="css-1dcdqdg"><code> parser.onParseError = <span class="code-keyword">typeof</span> options.onParseError === <span class="code-string">'function'</span> ? options.onParseError : noop$<span class="code-number">3</span>; </code></td></tr><tr><td id="L9166" class="css-a4x74f"><span>9166</span></td><td id="LC9166" class="css-1dcdqdg"><code> parser.onParseErrorThrow = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9167" class="css-a4x74f"><span>9167</span></td><td id="LC9167" class="css-1dcdqdg"><code> parser.parseAtrulePrelude = <span class="code-string">'parseAtrulePrelude'</span> <span class="code-keyword">in</span> options ? <span class="code-built_in">Boolean</span>(options.parseAtrulePrelude) : <span class="code-literal">true</span>; </code></td></tr><tr><td id="L9168" class="css-a4x74f"><span>9168</span></td><td id="LC9168" class="css-1dcdqdg"><code> parser.parseRulePrelude = <span class="code-string">'parseRulePrelude'</span> <span class="code-keyword">in</span> options ? <span class="code-built_in">Boolean</span>(options.parseRulePrelude) : <span class="code-literal">true</span>; </code></td></tr><tr><td id="L9169" class="css-a4x74f"><span>9169</span></td><td id="LC9169" class="css-1dcdqdg"><code> parser.parseValue = <span class="code-string">'parseValue'</span> <span class="code-keyword">in</span> options ? <span class="code-built_in">Boolean</span>(options.parseValue) : <span class="code-literal">true</span>; </code></td></tr><tr><td id="L9170" class="css-a4x74f"><span>9170</span></td><td id="LC9170" class="css-1dcdqdg"><code> parser.parseCustomProperty = <span class="code-string">'parseCustomProperty'</span> <span class="code-keyword">in</span> options ? <span class="code-built_in">Boolean</span>(options.parseCustomProperty) : <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9171" class="css-a4x74f"><span>9171</span></td><td id="LC9171" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9172" class="css-a4x74f"><span>9172</span></td><td id="LC9172" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parser.context.hasOwnProperty(context)) { </code></td></tr><tr><td id="L9173" class="css-a4x74f"><span>9173</span></td><td id="LC9173" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown context `'</span> + context + <span class="code-string">'`'</span>); </code></td></tr><tr><td id="L9174" class="css-a4x74f"><span>9174</span></td><td id="LC9174" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9175" class="css-a4x74f"><span>9175</span></td><td id="LC9175" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9176" class="css-a4x74f"><span>9176</span></td><td id="LC9176" class="css-1dcdqdg"><code> ast = parser.context[context].call(parser, options); </code></td></tr><tr><td id="L9177" class="css-a4x74f"><span>9177</span></td><td id="LC9177" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9178" class="css-a4x74f"><span>9178</span></td><td id="LC9178" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parser.scanner.eof) { </code></td></tr><tr><td id="L9179" class="css-a4x74f"><span>9179</span></td><td id="LC9179" class="css-1dcdqdg"><code> parser.error(); </code></td></tr><tr><td id="L9180" class="css-a4x74f"><span>9180</span></td><td id="LC9180" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9181" class="css-a4x74f"><span>9181</span></td><td id="LC9181" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9182" class="css-a4x74f"><span>9182</span></td><td id="LC9182" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ast; </code></td></tr><tr><td id="L9183" class="css-a4x74f"><span>9183</span></td><td id="LC9183" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9184" class="css-a4x74f"><span>9184</span></td><td id="LC9184" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9185" class="css-a4x74f"><span>9185</span></td><td id="LC9185" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9186" class="css-a4x74f"><span>9186</span></td><td id="LC9186" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L9187" class="css-a4x74f"><span>9187</span></td><td id="LC9187" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L9188" class="css-a4x74f"><span>9188</span></td><td id="LC9188" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L9189" class="css-a4x74f"><span>9189</span></td><td id="LC9189" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L9190" class="css-a4x74f"><span>9190</span></td><td id="LC9190" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L9191" class="css-a4x74f"><span>9191</span></td><td id="LC9191" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9192" class="css-a4x74f"><span>9192</span></td><td id="LC9192" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9193" class="css-a4x74f"><span>9193</span></td><td id="LC9193" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> intToCharMap = <span class="code-string">'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'</span>.split(<span class="code-string">''</span>); </code></td></tr><tr><td id="L9194" class="css-a4x74f"><span>9194</span></td><td id="LC9194" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9195" class="css-a4x74f"><span>9195</span></td><td id="LC9195" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9196" class="css-a4x74f"><span>9196</span></td><td id="LC9196" class="css-1dcdqdg"><code><span class="code-comment"> * Encode an integer in the range of 0 to 63 to a single base 64 digit. </span></code></td></tr><tr><td id="L9197" class="css-a4x74f"><span>9197</span></td><td id="LC9197" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9198" class="css-a4x74f"><span>9198</span></td><td id="LC9198" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> encode = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">number</span>) </span>{ </code></td></tr><tr><td id="L9199" class="css-a4x74f"><span>9199</span></td><td id="LC9199" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-number">0</span> <= number && number < intToCharMap.length) { </code></td></tr><tr><td id="L9200" class="css-a4x74f"><span>9200</span></td><td id="LC9200" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> intToCharMap[number]; </code></td></tr><tr><td id="L9201" class="css-a4x74f"><span>9201</span></td><td id="LC9201" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9202" class="css-a4x74f"><span>9202</span></td><td id="LC9202" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(<span class="code-string">"Must be between 0 and 63: "</span> + number); </code></td></tr><tr><td id="L9203" class="css-a4x74f"><span>9203</span></td><td id="LC9203" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9204" class="css-a4x74f"><span>9204</span></td><td id="LC9204" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9205" class="css-a4x74f"><span>9205</span></td><td id="LC9205" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9206" class="css-a4x74f"><span>9206</span></td><td id="LC9206" class="css-1dcdqdg"><code><span class="code-comment"> * Decode a single base 64 character code digit to an integer. Returns -1 on </span></code></td></tr><tr><td id="L9207" class="css-a4x74f"><span>9207</span></td><td id="LC9207" class="css-1dcdqdg"><code><span class="code-comment"> * failure. </span></code></td></tr><tr><td id="L9208" class="css-a4x74f"><span>9208</span></td><td id="LC9208" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9209" class="css-a4x74f"><span>9209</span></td><td id="LC9209" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> decode = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">charCode</span>) </span>{ </code></td></tr><tr><td id="L9210" class="css-a4x74f"><span>9210</span></td><td id="LC9210" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> bigA = <span class="code-number">65</span>; <span class="code-comment">// 'A'</span> </code></td></tr><tr><td id="L9211" class="css-a4x74f"><span>9211</span></td><td id="LC9211" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> bigZ = <span class="code-number">90</span>; <span class="code-comment">// 'Z'</span> </code></td></tr><tr><td id="L9212" class="css-a4x74f"><span>9212</span></td><td id="LC9212" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9213" class="css-a4x74f"><span>9213</span></td><td id="LC9213" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> littleA = <span class="code-number">97</span>; <span class="code-comment">// 'a'</span> </code></td></tr><tr><td id="L9214" class="css-a4x74f"><span>9214</span></td><td id="LC9214" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> littleZ = <span class="code-number">122</span>; <span class="code-comment">// 'z'</span> </code></td></tr><tr><td id="L9215" class="css-a4x74f"><span>9215</span></td><td id="LC9215" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9216" class="css-a4x74f"><span>9216</span></td><td id="LC9216" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> zero = <span class="code-number">48</span>; <span class="code-comment">// '0'</span> </code></td></tr><tr><td id="L9217" class="css-a4x74f"><span>9217</span></td><td id="LC9217" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nine = <span class="code-number">57</span>; <span class="code-comment">// '9'</span> </code></td></tr><tr><td id="L9218" class="css-a4x74f"><span>9218</span></td><td id="LC9218" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9219" class="css-a4x74f"><span>9219</span></td><td id="LC9219" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> plus = <span class="code-number">43</span>; <span class="code-comment">// '+'</span> </code></td></tr><tr><td id="L9220" class="css-a4x74f"><span>9220</span></td><td id="LC9220" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> slash = <span class="code-number">47</span>; <span class="code-comment">// '/'</span> </code></td></tr><tr><td id="L9221" class="css-a4x74f"><span>9221</span></td><td id="LC9221" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9222" class="css-a4x74f"><span>9222</span></td><td id="LC9222" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> littleOffset = <span class="code-number">26</span>; </code></td></tr><tr><td id="L9223" class="css-a4x74f"><span>9223</span></td><td id="LC9223" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberOffset = <span class="code-number">52</span>; </code></td></tr><tr><td id="L9224" class="css-a4x74f"><span>9224</span></td><td id="LC9224" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9225" class="css-a4x74f"><span>9225</span></td><td id="LC9225" class="css-1dcdqdg"><code> <span class="code-comment">// 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ</span> </code></td></tr><tr><td id="L9226" class="css-a4x74f"><span>9226</span></td><td id="LC9226" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bigA <= charCode && charCode <= bigZ) { </code></td></tr><tr><td id="L9227" class="css-a4x74f"><span>9227</span></td><td id="LC9227" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (charCode - bigA); </code></td></tr><tr><td id="L9228" class="css-a4x74f"><span>9228</span></td><td id="LC9228" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9229" class="css-a4x74f"><span>9229</span></td><td id="LC9229" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9230" class="css-a4x74f"><span>9230</span></td><td id="LC9230" class="css-1dcdqdg"><code> <span class="code-comment">// 26 - 51: abcdefghijklmnopqrstuvwxyz</span> </code></td></tr><tr><td id="L9231" class="css-a4x74f"><span>9231</span></td><td id="LC9231" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (littleA <= charCode && charCode <= littleZ) { </code></td></tr><tr><td id="L9232" class="css-a4x74f"><span>9232</span></td><td id="LC9232" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (charCode - littleA + littleOffset); </code></td></tr><tr><td id="L9233" class="css-a4x74f"><span>9233</span></td><td id="LC9233" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9234" class="css-a4x74f"><span>9234</span></td><td id="LC9234" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9235" class="css-a4x74f"><span>9235</span></td><td id="LC9235" class="css-1dcdqdg"><code> <span class="code-comment">// 52 - 61: 0123456789</span> </code></td></tr><tr><td id="L9236" class="css-a4x74f"><span>9236</span></td><td id="LC9236" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (zero <= charCode && charCode <= nine) { </code></td></tr><tr><td id="L9237" class="css-a4x74f"><span>9237</span></td><td id="LC9237" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (charCode - zero + numberOffset); </code></td></tr><tr><td id="L9238" class="css-a4x74f"><span>9238</span></td><td id="LC9238" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9239" class="css-a4x74f"><span>9239</span></td><td id="LC9239" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9240" class="css-a4x74f"><span>9240</span></td><td id="LC9240" class="css-1dcdqdg"><code> <span class="code-comment">// 62: +</span> </code></td></tr><tr><td id="L9241" class="css-a4x74f"><span>9241</span></td><td id="LC9241" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (charCode == plus) { </code></td></tr><tr><td id="L9242" class="css-a4x74f"><span>9242</span></td><td id="LC9242" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">62</span>; </code></td></tr><tr><td id="L9243" class="css-a4x74f"><span>9243</span></td><td id="LC9243" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9244" class="css-a4x74f"><span>9244</span></td><td id="LC9244" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9245" class="css-a4x74f"><span>9245</span></td><td id="LC9245" class="css-1dcdqdg"><code> <span class="code-comment">// 63: /</span> </code></td></tr><tr><td id="L9246" class="css-a4x74f"><span>9246</span></td><td id="LC9246" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (charCode == slash) { </code></td></tr><tr><td id="L9247" class="css-a4x74f"><span>9247</span></td><td id="LC9247" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">63</span>; </code></td></tr><tr><td id="L9248" class="css-a4x74f"><span>9248</span></td><td id="LC9248" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9249" class="css-a4x74f"><span>9249</span></td><td id="LC9249" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9250" class="css-a4x74f"><span>9250</span></td><td id="LC9250" class="css-1dcdqdg"><code> <span class="code-comment">// Invalid base64 digit.</span> </code></td></tr><tr><td id="L9251" class="css-a4x74f"><span>9251</span></td><td id="LC9251" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L9252" class="css-a4x74f"><span>9252</span></td><td id="LC9252" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9253" class="css-a4x74f"><span>9253</span></td><td id="LC9253" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9254" class="css-a4x74f"><span>9254</span></td><td id="LC9254" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> base64 = { </code></td></tr><tr><td id="L9255" class="css-a4x74f"><span>9255</span></td><td id="LC9255" class="css-1dcdqdg"><code> encode: encode, </code></td></tr><tr><td id="L9256" class="css-a4x74f"><span>9256</span></td><td id="LC9256" class="css-1dcdqdg"><code> decode: decode </code></td></tr><tr><td id="L9257" class="css-a4x74f"><span>9257</span></td><td id="LC9257" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9258" class="css-a4x74f"><span>9258</span></td><td id="LC9258" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9259" class="css-a4x74f"><span>9259</span></td><td id="LC9259" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L9260" class="css-a4x74f"><span>9260</span></td><td id="LC9260" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L9261" class="css-a4x74f"><span>9261</span></td><td id="LC9261" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L9262" class="css-a4x74f"><span>9262</span></td><td id="LC9262" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L9263" class="css-a4x74f"><span>9263</span></td><td id="LC9263" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L9264" class="css-a4x74f"><span>9264</span></td><td id="LC9264" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9265" class="css-a4x74f"><span>9265</span></td><td id="LC9265" class="css-1dcdqdg"><code><span class="code-comment"> * Based on the Base 64 VLQ implementation in Closure Compiler: </span></code></td></tr><tr><td id="L9266" class="css-a4x74f"><span>9266</span></td><td id="LC9266" class="css-1dcdqdg"><code><span class="code-comment"> * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java </span></code></td></tr><tr><td id="L9267" class="css-a4x74f"><span>9267</span></td><td id="LC9267" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9268" class="css-a4x74f"><span>9268</span></td><td id="LC9268" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 The Closure Compiler Authors. All rights reserved. </span></code></td></tr><tr><td id="L9269" class="css-a4x74f"><span>9269</span></td><td id="LC9269" class="css-1dcdqdg"><code><span class="code-comment"> * Redistribution and use in source and binary forms, with or without </span></code></td></tr><tr><td id="L9270" class="css-a4x74f"><span>9270</span></td><td id="LC9270" class="css-1dcdqdg"><code><span class="code-comment"> * modification, are permitted provided that the following conditions are </span></code></td></tr><tr><td id="L9271" class="css-a4x74f"><span>9271</span></td><td id="LC9271" class="css-1dcdqdg"><code><span class="code-comment"> * met: </span></code></td></tr><tr><td id="L9272" class="css-a4x74f"><span>9272</span></td><td id="LC9272" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9273" class="css-a4x74f"><span>9273</span></td><td id="LC9273" class="css-1dcdqdg"><code><span class="code-comment"> * * Redistributions of source code must retain the above copyright </span></code></td></tr><tr><td id="L9274" class="css-a4x74f"><span>9274</span></td><td id="LC9274" class="css-1dcdqdg"><code><span class="code-comment"> * notice, this list of conditions and the following disclaimer. </span></code></td></tr><tr><td id="L9275" class="css-a4x74f"><span>9275</span></td><td id="LC9275" class="css-1dcdqdg"><code><span class="code-comment"> * * Redistributions in binary form must reproduce the above </span></code></td></tr><tr><td id="L9276" class="css-a4x74f"><span>9276</span></td><td id="LC9276" class="css-1dcdqdg"><code><span class="code-comment"> * copyright notice, this list of conditions and the following </span></code></td></tr><tr><td id="L9277" class="css-a4x74f"><span>9277</span></td><td id="LC9277" class="css-1dcdqdg"><code><span class="code-comment"> * disclaimer in the documentation and/or other materials provided </span></code></td></tr><tr><td id="L9278" class="css-a4x74f"><span>9278</span></td><td id="LC9278" class="css-1dcdqdg"><code><span class="code-comment"> * with the distribution. </span></code></td></tr><tr><td id="L9279" class="css-a4x74f"><span>9279</span></td><td id="LC9279" class="css-1dcdqdg"><code><span class="code-comment"> * * Neither the name of Google Inc. nor the names of its </span></code></td></tr><tr><td id="L9280" class="css-a4x74f"><span>9280</span></td><td id="LC9280" class="css-1dcdqdg"><code><span class="code-comment"> * contributors may be used to endorse or promote products derived </span></code></td></tr><tr><td id="L9281" class="css-a4x74f"><span>9281</span></td><td id="LC9281" class="css-1dcdqdg"><code><span class="code-comment"> * from this software without specific prior written permission. </span></code></td></tr><tr><td id="L9282" class="css-a4x74f"><span>9282</span></td><td id="LC9282" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9283" class="css-a4x74f"><span>9283</span></td><td id="LC9283" class="css-1dcdqdg"><code><span class="code-comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span></code></td></tr><tr><td id="L9284" class="css-a4x74f"><span>9284</span></td><td id="LC9284" class="css-1dcdqdg"><code><span class="code-comment"> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span></code></td></tr><tr><td id="L9285" class="css-a4x74f"><span>9285</span></td><td id="LC9285" class="css-1dcdqdg"><code><span class="code-comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span></code></td></tr><tr><td id="L9286" class="css-a4x74f"><span>9286</span></td><td id="LC9286" class="css-1dcdqdg"><code><span class="code-comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span></code></td></tr><tr><td id="L9287" class="css-a4x74f"><span>9287</span></td><td id="LC9287" class="css-1dcdqdg"><code><span class="code-comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span></code></td></tr><tr><td id="L9288" class="css-a4x74f"><span>9288</span></td><td id="LC9288" class="css-1dcdqdg"><code><span class="code-comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span></code></td></tr><tr><td id="L9289" class="css-a4x74f"><span>9289</span></td><td id="LC9289" class="css-1dcdqdg"><code><span class="code-comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span></code></td></tr><tr><td id="L9290" class="css-a4x74f"><span>9290</span></td><td id="LC9290" class="css-1dcdqdg"><code><span class="code-comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span></code></td></tr><tr><td id="L9291" class="css-a4x74f"><span>9291</span></td><td id="LC9291" class="css-1dcdqdg"><code><span class="code-comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span></code></td></tr><tr><td id="L9292" class="css-a4x74f"><span>9292</span></td><td id="LC9292" class="css-1dcdqdg"><code><span class="code-comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span></code></td></tr><tr><td id="L9293" class="css-a4x74f"><span>9293</span></td><td id="LC9293" class="css-1dcdqdg"><code><span class="code-comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. </span></code></td></tr><tr><td id="L9294" class="css-a4x74f"><span>9294</span></td><td id="LC9294" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9295" class="css-a4x74f"><span>9295</span></td><td id="LC9295" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9296" class="css-a4x74f"><span>9296</span></td><td id="LC9296" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9297" class="css-a4x74f"><span>9297</span></td><td id="LC9297" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9298" class="css-a4x74f"><span>9298</span></td><td id="LC9298" class="css-1dcdqdg"><code> <span class="code-comment">// A single base 64 digit can contain 6 bits of data. For the base 64 variable</span> </code></td></tr><tr><td id="L9299" class="css-a4x74f"><span>9299</span></td><td id="LC9299" class="css-1dcdqdg"><code> <span class="code-comment">// length quantities we use in the source map spec, the first bit is the sign,</span> </code></td></tr><tr><td id="L9300" class="css-a4x74f"><span>9300</span></td><td id="LC9300" class="css-1dcdqdg"><code> <span class="code-comment">// the next four bits are the actual value, and the 6th bit is the</span> </code></td></tr><tr><td id="L9301" class="css-a4x74f"><span>9301</span></td><td id="LC9301" class="css-1dcdqdg"><code> <span class="code-comment">// continuation bit. The continuation bit tells us whether there are more</span> </code></td></tr><tr><td id="L9302" class="css-a4x74f"><span>9302</span></td><td id="LC9302" class="css-1dcdqdg"><code> <span class="code-comment">// digits in this value following this digit.</span> </code></td></tr><tr><td id="L9303" class="css-a4x74f"><span>9303</span></td><td id="LC9303" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L9304" class="css-a4x74f"><span>9304</span></td><td id="LC9304" class="css-1dcdqdg"><code> <span class="code-comment">// Continuation</span> </code></td></tr><tr><td id="L9305" class="css-a4x74f"><span>9305</span></td><td id="LC9305" class="css-1dcdqdg"><code> <span class="code-comment">// | Sign</span> </code></td></tr><tr><td id="L9306" class="css-a4x74f"><span>9306</span></td><td id="LC9306" class="css-1dcdqdg"><code> <span class="code-comment">// | |</span> </code></td></tr><tr><td id="L9307" class="css-a4x74f"><span>9307</span></td><td id="LC9307" class="css-1dcdqdg"><code> <span class="code-comment">// V V</span> </code></td></tr><tr><td id="L9308" class="css-a4x74f"><span>9308</span></td><td id="LC9308" class="css-1dcdqdg"><code> <span class="code-comment">// 101011</span> </code></td></tr><tr><td id="L9309" class="css-a4x74f"><span>9309</span></td><td id="LC9309" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9310" class="css-a4x74f"><span>9310</span></td><td id="LC9310" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VLQ_BASE_SHIFT = <span class="code-number">5</span>; </code></td></tr><tr><td id="L9311" class="css-a4x74f"><span>9311</span></td><td id="LC9311" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9312" class="css-a4x74f"><span>9312</span></td><td id="LC9312" class="css-1dcdqdg"><code> <span class="code-comment">// binary: 100000</span> </code></td></tr><tr><td id="L9313" class="css-a4x74f"><span>9313</span></td><td id="LC9313" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VLQ_BASE = <span class="code-number">1</span> << VLQ_BASE_SHIFT; </code></td></tr><tr><td id="L9314" class="css-a4x74f"><span>9314</span></td><td id="LC9314" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9315" class="css-a4x74f"><span>9315</span></td><td id="LC9315" class="css-1dcdqdg"><code> <span class="code-comment">// binary: 011111</span> </code></td></tr><tr><td id="L9316" class="css-a4x74f"><span>9316</span></td><td id="LC9316" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VLQ_BASE_MASK = VLQ_BASE - <span class="code-number">1</span>; </code></td></tr><tr><td id="L9317" class="css-a4x74f"><span>9317</span></td><td id="LC9317" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9318" class="css-a4x74f"><span>9318</span></td><td id="LC9318" class="css-1dcdqdg"><code> <span class="code-comment">// binary: 100000</span> </code></td></tr><tr><td id="L9319" class="css-a4x74f"><span>9319</span></td><td id="LC9319" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VLQ_CONTINUATION_BIT = VLQ_BASE; </code></td></tr><tr><td id="L9320" class="css-a4x74f"><span>9320</span></td><td id="LC9320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9321" class="css-a4x74f"><span>9321</span></td><td id="LC9321" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9322" class="css-a4x74f"><span>9322</span></td><td id="LC9322" class="css-1dcdqdg"><code><span class="code-comment"> * Converts from a two-complement value to a value where the sign bit is </span></code></td></tr><tr><td id="L9323" class="css-a4x74f"><span>9323</span></td><td id="LC9323" class="css-1dcdqdg"><code><span class="code-comment"> * placed in the least significant bit. For example, as decimals: </span></code></td></tr><tr><td id="L9324" class="css-a4x74f"><span>9324</span></td><td id="LC9324" class="css-1dcdqdg"><code><span class="code-comment"> * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) </span></code></td></tr><tr><td id="L9325" class="css-a4x74f"><span>9325</span></td><td id="LC9325" class="css-1dcdqdg"><code><span class="code-comment"> * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) </span></code></td></tr><tr><td id="L9326" class="css-a4x74f"><span>9326</span></td><td id="LC9326" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9327" class="css-a4x74f"><span>9327</span></td><td id="LC9327" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">toVLQSigned</span>(<span class="code-params">aValue</span>) </span>{ </code></td></tr><tr><td id="L9328" class="css-a4x74f"><span>9328</span></td><td id="LC9328" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aValue < <span class="code-number">0</span> </code></td></tr><tr><td id="L9329" class="css-a4x74f"><span>9329</span></td><td id="LC9329" class="css-1dcdqdg"><code> ? ((-aValue) << <span class="code-number">1</span>) + <span class="code-number">1</span> </code></td></tr><tr><td id="L9330" class="css-a4x74f"><span>9330</span></td><td id="LC9330" class="css-1dcdqdg"><code> : (aValue << <span class="code-number">1</span>) + <span class="code-number">0</span>; </code></td></tr><tr><td id="L9331" class="css-a4x74f"><span>9331</span></td><td id="LC9331" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9332" class="css-a4x74f"><span>9332</span></td><td id="LC9332" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9333" class="css-a4x74f"><span>9333</span></td><td id="LC9333" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9334" class="css-a4x74f"><span>9334</span></td><td id="LC9334" class="css-1dcdqdg"><code><span class="code-comment"> * Converts to a two-complement value from a value where the sign bit is </span></code></td></tr><tr><td id="L9335" class="css-a4x74f"><span>9335</span></td><td id="LC9335" class="css-1dcdqdg"><code><span class="code-comment"> * placed in the least significant bit. For example, as decimals: </span></code></td></tr><tr><td id="L9336" class="css-a4x74f"><span>9336</span></td><td id="LC9336" class="css-1dcdqdg"><code><span class="code-comment"> * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 </span></code></td></tr><tr><td id="L9337" class="css-a4x74f"><span>9337</span></td><td id="LC9337" class="css-1dcdqdg"><code><span class="code-comment"> * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 </span></code></td></tr><tr><td id="L9338" class="css-a4x74f"><span>9338</span></td><td id="LC9338" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9339" class="css-a4x74f"><span>9339</span></td><td id="LC9339" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">fromVLQSigned</span>(<span class="code-params">aValue</span>) </span>{ </code></td></tr><tr><td id="L9340" class="css-a4x74f"><span>9340</span></td><td id="LC9340" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isNegative = (aValue & <span class="code-number">1</span>) === <span class="code-number">1</span>; </code></td></tr><tr><td id="L9341" class="css-a4x74f"><span>9341</span></td><td id="LC9341" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shifted = aValue >> <span class="code-number">1</span>; </code></td></tr><tr><td id="L9342" class="css-a4x74f"><span>9342</span></td><td id="LC9342" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> isNegative </code></td></tr><tr><td id="L9343" class="css-a4x74f"><span>9343</span></td><td id="LC9343" class="css-1dcdqdg"><code> ? -shifted </code></td></tr><tr><td id="L9344" class="css-a4x74f"><span>9344</span></td><td id="LC9344" class="css-1dcdqdg"><code> : shifted; </code></td></tr><tr><td id="L9345" class="css-a4x74f"><span>9345</span></td><td id="LC9345" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9346" class="css-a4x74f"><span>9346</span></td><td id="LC9346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9347" class="css-a4x74f"><span>9347</span></td><td id="LC9347" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9348" class="css-a4x74f"><span>9348</span></td><td id="LC9348" class="css-1dcdqdg"><code><span class="code-comment"> * Returns the base 64 VLQ encoded value. </span></code></td></tr><tr><td id="L9349" class="css-a4x74f"><span>9349</span></td><td id="LC9349" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9350" class="css-a4x74f"><span>9350</span></td><td id="LC9350" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> encode$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">base64VLQ_encode</span>(<span class="code-params">aValue</span>) </span>{ </code></td></tr><tr><td id="L9351" class="css-a4x74f"><span>9351</span></td><td id="LC9351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> encoded = <span class="code-string">""</span>; </code></td></tr><tr><td id="L9352" class="css-a4x74f"><span>9352</span></td><td id="LC9352" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> digit; </code></td></tr><tr><td id="L9353" class="css-a4x74f"><span>9353</span></td><td id="LC9353" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9354" class="css-a4x74f"><span>9354</span></td><td id="LC9354" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> vlq = toVLQSigned(aValue); </code></td></tr><tr><td id="L9355" class="css-a4x74f"><span>9355</span></td><td id="LC9355" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9356" class="css-a4x74f"><span>9356</span></td><td id="LC9356" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L9357" class="css-a4x74f"><span>9357</span></td><td id="LC9357" class="css-1dcdqdg"><code> digit = vlq & VLQ_BASE_MASK; </code></td></tr><tr><td id="L9358" class="css-a4x74f"><span>9358</span></td><td id="LC9358" class="css-1dcdqdg"><code> vlq >>>= VLQ_BASE_SHIFT; </code></td></tr><tr><td id="L9359" class="css-a4x74f"><span>9359</span></td><td id="LC9359" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (vlq > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9360" class="css-a4x74f"><span>9360</span></td><td id="LC9360" class="css-1dcdqdg"><code> <span class="code-comment">// There are still more digits in this value, so we must make sure the</span> </code></td></tr><tr><td id="L9361" class="css-a4x74f"><span>9361</span></td><td id="LC9361" class="css-1dcdqdg"><code> <span class="code-comment">// continuation bit is marked.</span> </code></td></tr><tr><td id="L9362" class="css-a4x74f"><span>9362</span></td><td id="LC9362" class="css-1dcdqdg"><code> digit |= VLQ_CONTINUATION_BIT; </code></td></tr><tr><td id="L9363" class="css-a4x74f"><span>9363</span></td><td id="LC9363" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9364" class="css-a4x74f"><span>9364</span></td><td id="LC9364" class="css-1dcdqdg"><code> encoded += base64.encode(digit); </code></td></tr><tr><td id="L9365" class="css-a4x74f"><span>9365</span></td><td id="LC9365" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (vlq > <span class="code-number">0</span>); </code></td></tr><tr><td id="L9366" class="css-a4x74f"><span>9366</span></td><td id="LC9366" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9367" class="css-a4x74f"><span>9367</span></td><td id="LC9367" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> encoded; </code></td></tr><tr><td id="L9368" class="css-a4x74f"><span>9368</span></td><td id="LC9368" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9369" class="css-a4x74f"><span>9369</span></td><td id="LC9369" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9370" class="css-a4x74f"><span>9370</span></td><td id="LC9370" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9371" class="css-a4x74f"><span>9371</span></td><td id="LC9371" class="css-1dcdqdg"><code><span class="code-comment"> * Decodes the next base 64 VLQ value from the given string and returns the </span></code></td></tr><tr><td id="L9372" class="css-a4x74f"><span>9372</span></td><td id="LC9372" class="css-1dcdqdg"><code><span class="code-comment"> * value and the rest of the string via the out parameter. </span></code></td></tr><tr><td id="L9373" class="css-a4x74f"><span>9373</span></td><td id="LC9373" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9374" class="css-a4x74f"><span>9374</span></td><td id="LC9374" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> decode$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">base64VLQ_decode</span>(<span class="code-params">aStr, aIndex, aOutParam</span>) </span>{ </code></td></tr><tr><td id="L9375" class="css-a4x74f"><span>9375</span></td><td id="LC9375" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> strLen = aStr.length; </code></td></tr><tr><td id="L9376" class="css-a4x74f"><span>9376</span></td><td id="LC9376" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-number">0</span>; </code></td></tr><tr><td id="L9377" class="css-a4x74f"><span>9377</span></td><td id="LC9377" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shift = <span class="code-number">0</span>; </code></td></tr><tr><td id="L9378" class="css-a4x74f"><span>9378</span></td><td id="LC9378" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> continuation, digit; </code></td></tr><tr><td id="L9379" class="css-a4x74f"><span>9379</span></td><td id="LC9379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9380" class="css-a4x74f"><span>9380</span></td><td id="LC9380" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L9381" class="css-a4x74f"><span>9381</span></td><td id="LC9381" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aIndex >= strLen) { </code></td></tr><tr><td id="L9382" class="css-a4x74f"><span>9382</span></td><td id="LC9382" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">"Expected more digits in base 64 VLQ value."</span>); </code></td></tr><tr><td id="L9383" class="css-a4x74f"><span>9383</span></td><td id="LC9383" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9384" class="css-a4x74f"><span>9384</span></td><td id="LC9384" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9385" class="css-a4x74f"><span>9385</span></td><td id="LC9385" class="css-1dcdqdg"><code> digit = base64.decode(aStr.charCodeAt(aIndex++)); </code></td></tr><tr><td id="L9386" class="css-a4x74f"><span>9386</span></td><td id="LC9386" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (digit === <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L9387" class="css-a4x74f"><span>9387</span></td><td id="LC9387" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">"Invalid base64 digit: "</span> + aStr.charAt(aIndex - <span class="code-number">1</span>)); </code></td></tr><tr><td id="L9388" class="css-a4x74f"><span>9388</span></td><td id="LC9388" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9389" class="css-a4x74f"><span>9389</span></td><td id="LC9389" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9390" class="css-a4x74f"><span>9390</span></td><td id="LC9390" class="css-1dcdqdg"><code> continuation = !!(digit & VLQ_CONTINUATION_BIT); </code></td></tr><tr><td id="L9391" class="css-a4x74f"><span>9391</span></td><td id="LC9391" class="css-1dcdqdg"><code> digit &= VLQ_BASE_MASK; </code></td></tr><tr><td id="L9392" class="css-a4x74f"><span>9392</span></td><td id="LC9392" class="css-1dcdqdg"><code> result = result + (digit << shift); </code></td></tr><tr><td id="L9393" class="css-a4x74f"><span>9393</span></td><td id="LC9393" class="css-1dcdqdg"><code> shift += VLQ_BASE_SHIFT; </code></td></tr><tr><td id="L9394" class="css-a4x74f"><span>9394</span></td><td id="LC9394" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (continuation); </code></td></tr><tr><td id="L9395" class="css-a4x74f"><span>9395</span></td><td id="LC9395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9396" class="css-a4x74f"><span>9396</span></td><td id="LC9396" class="css-1dcdqdg"><code> aOutParam.value = fromVLQSigned(result); </code></td></tr><tr><td id="L9397" class="css-a4x74f"><span>9397</span></td><td id="LC9397" class="css-1dcdqdg"><code> aOutParam.rest = aIndex; </code></td></tr><tr><td id="L9398" class="css-a4x74f"><span>9398</span></td><td id="LC9398" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9399" class="css-a4x74f"><span>9399</span></td><td id="LC9399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9400" class="css-a4x74f"><span>9400</span></td><td id="LC9400" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> base64Vlq = { </code></td></tr><tr><td id="L9401" class="css-a4x74f"><span>9401</span></td><td id="LC9401" class="css-1dcdqdg"><code> encode: encode$<span class="code-number">1</span>, </code></td></tr><tr><td id="L9402" class="css-a4x74f"><span>9402</span></td><td id="LC9402" class="css-1dcdqdg"><code> decode: decode$<span class="code-number">1</span> </code></td></tr><tr><td id="L9403" class="css-a4x74f"><span>9403</span></td><td id="LC9403" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9404" class="css-a4x74f"><span>9404</span></td><td id="LC9404" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9405" class="css-a4x74f"><span>9405</span></td><td id="LC9405" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util = createCommonjsModule(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">module, exports</span>) </span>{ </code></td></tr><tr><td id="L9406" class="css-a4x74f"><span>9406</span></td><td id="LC9406" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L9407" class="css-a4x74f"><span>9407</span></td><td id="LC9407" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L9408" class="css-a4x74f"><span>9408</span></td><td id="LC9408" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L9409" class="css-a4x74f"><span>9409</span></td><td id="LC9409" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L9410" class="css-a4x74f"><span>9410</span></td><td id="LC9410" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L9411" class="css-a4x74f"><span>9411</span></td><td id="LC9411" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9412" class="css-a4x74f"><span>9412</span></td><td id="LC9412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9413" class="css-a4x74f"><span>9413</span></td><td id="LC9413" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9414" class="css-a4x74f"><span>9414</span></td><td id="LC9414" class="css-1dcdqdg"><code><span class="code-comment"> * This is a helper function for getting values from parameter/options </span></code></td></tr><tr><td id="L9415" class="css-a4x74f"><span>9415</span></td><td id="LC9415" class="css-1dcdqdg"><code><span class="code-comment"> * objects. </span></code></td></tr><tr><td id="L9416" class="css-a4x74f"><span>9416</span></td><td id="LC9416" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9417" class="css-a4x74f"><span>9417</span></td><td id="LC9417" class="css-1dcdqdg"><code><span class="code-comment"> * @param args The object we are extracting values from </span></code></td></tr><tr><td id="L9418" class="css-a4x74f"><span>9418</span></td><td id="LC9418" class="css-1dcdqdg"><code><span class="code-comment"> * @param name The name of the property we are getting. </span></code></td></tr><tr><td id="L9419" class="css-a4x74f"><span>9419</span></td><td id="LC9419" class="css-1dcdqdg"><code><span class="code-comment"> * @param defaultValue An optional value to return if the property is missing </span></code></td></tr><tr><td id="L9420" class="css-a4x74f"><span>9420</span></td><td id="LC9420" class="css-1dcdqdg"><code><span class="code-comment"> * from the object. If this is not specified and the property is missing, an </span></code></td></tr><tr><td id="L9421" class="css-a4x74f"><span>9421</span></td><td id="LC9421" class="css-1dcdqdg"><code><span class="code-comment"> * error will be thrown. </span></code></td></tr><tr><td id="L9422" class="css-a4x74f"><span>9422</span></td><td id="LC9422" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9423" class="css-a4x74f"><span>9423</span></td><td id="LC9423" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getArg</span>(<span class="code-params">aArgs, aName, aDefaultValue</span>) </span>{ </code></td></tr><tr><td id="L9424" class="css-a4x74f"><span>9424</span></td><td id="LC9424" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aName <span class="code-keyword">in</span> aArgs) { </code></td></tr><tr><td id="L9425" class="css-a4x74f"><span>9425</span></td><td id="LC9425" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aArgs[aName]; </code></td></tr><tr><td id="L9426" class="css-a4x74f"><span>9426</span></td><td id="LC9426" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-built_in">arguments</span>.length === <span class="code-number">3</span>) { </code></td></tr><tr><td id="L9427" class="css-a4x74f"><span>9427</span></td><td id="LC9427" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aDefaultValue; </code></td></tr><tr><td id="L9428" class="css-a4x74f"><span>9428</span></td><td id="LC9428" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L9429" class="css-a4x74f"><span>9429</span></td><td id="LC9429" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'"'</span> + aName + <span class="code-string">'" is a required argument.'</span>); </code></td></tr><tr><td id="L9430" class="css-a4x74f"><span>9430</span></td><td id="LC9430" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9431" class="css-a4x74f"><span>9431</span></td><td id="LC9431" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9432" class="css-a4x74f"><span>9432</span></td><td id="LC9432" class="css-1dcdqdg"><code> exports.getArg = getArg; </code></td></tr><tr><td id="L9433" class="css-a4x74f"><span>9433</span></td><td id="LC9433" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9434" class="css-a4x74f"><span>9434</span></td><td id="LC9434" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> urlRegexp = <span class="code-regexp">/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/</span>; </code></td></tr><tr><td id="L9435" class="css-a4x74f"><span>9435</span></td><td id="LC9435" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> dataUrlRegexp = <span class="code-regexp">/^data:.+\,.+$/</span>; </code></td></tr><tr><td id="L9436" class="css-a4x74f"><span>9436</span></td><td id="LC9436" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9437" class="css-a4x74f"><span>9437</span></td><td id="LC9437" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">urlParse</span>(<span class="code-params">aUrl</span>) </span>{ </code></td></tr><tr><td id="L9438" class="css-a4x74f"><span>9438</span></td><td id="LC9438" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> match = aUrl.match(urlRegexp); </code></td></tr><tr><td id="L9439" class="css-a4x74f"><span>9439</span></td><td id="LC9439" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!match) { </code></td></tr><tr><td id="L9440" class="css-a4x74f"><span>9440</span></td><td id="LC9440" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L9441" class="css-a4x74f"><span>9441</span></td><td id="LC9441" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9442" class="css-a4x74f"><span>9442</span></td><td id="LC9442" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L9443" class="css-a4x74f"><span>9443</span></td><td id="LC9443" class="css-1dcdqdg"><code> scheme: match[<span class="code-number">1</span>], </code></td></tr><tr><td id="L9444" class="css-a4x74f"><span>9444</span></td><td id="LC9444" class="css-1dcdqdg"><code> auth: match[<span class="code-number">2</span>], </code></td></tr><tr><td id="L9445" class="css-a4x74f"><span>9445</span></td><td id="LC9445" class="css-1dcdqdg"><code> host: match[<span class="code-number">3</span>], </code></td></tr><tr><td id="L9446" class="css-a4x74f"><span>9446</span></td><td id="LC9446" class="css-1dcdqdg"><code> port: match[<span class="code-number">4</span>], </code></td></tr><tr><td id="L9447" class="css-a4x74f"><span>9447</span></td><td id="LC9447" class="css-1dcdqdg"><code> path: match[<span class="code-number">5</span>] </code></td></tr><tr><td id="L9448" class="css-a4x74f"><span>9448</span></td><td id="LC9448" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9449" class="css-a4x74f"><span>9449</span></td><td id="LC9449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9450" class="css-a4x74f"><span>9450</span></td><td id="LC9450" class="css-1dcdqdg"><code> exports.urlParse = urlParse; </code></td></tr><tr><td id="L9451" class="css-a4x74f"><span>9451</span></td><td id="LC9451" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9452" class="css-a4x74f"><span>9452</span></td><td id="LC9452" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">urlGenerate</span>(<span class="code-params">aParsedUrl</span>) </span>{ </code></td></tr><tr><td id="L9453" class="css-a4x74f"><span>9453</span></td><td id="LC9453" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> url = <span class="code-string">''</span>; </code></td></tr><tr><td id="L9454" class="css-a4x74f"><span>9454</span></td><td id="LC9454" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aParsedUrl.scheme) { </code></td></tr><tr><td id="L9455" class="css-a4x74f"><span>9455</span></td><td id="LC9455" class="css-1dcdqdg"><code> url += aParsedUrl.scheme + <span class="code-string">':'</span>; </code></td></tr><tr><td id="L9456" class="css-a4x74f"><span>9456</span></td><td id="LC9456" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9457" class="css-a4x74f"><span>9457</span></td><td id="LC9457" class="css-1dcdqdg"><code> url += <span class="code-string">'//'</span>; </code></td></tr><tr><td id="L9458" class="css-a4x74f"><span>9458</span></td><td id="LC9458" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aParsedUrl.auth) { </code></td></tr><tr><td id="L9459" class="css-a4x74f"><span>9459</span></td><td id="LC9459" class="css-1dcdqdg"><code> url += aParsedUrl.auth + <span class="code-string">'@'</span>; </code></td></tr><tr><td id="L9460" class="css-a4x74f"><span>9460</span></td><td id="LC9460" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9461" class="css-a4x74f"><span>9461</span></td><td id="LC9461" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aParsedUrl.host) { </code></td></tr><tr><td id="L9462" class="css-a4x74f"><span>9462</span></td><td id="LC9462" class="css-1dcdqdg"><code> url += aParsedUrl.host; </code></td></tr><tr><td id="L9463" class="css-a4x74f"><span>9463</span></td><td id="LC9463" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9464" class="css-a4x74f"><span>9464</span></td><td id="LC9464" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aParsedUrl.port) { </code></td></tr><tr><td id="L9465" class="css-a4x74f"><span>9465</span></td><td id="LC9465" class="css-1dcdqdg"><code> url += <span class="code-string">":"</span> + aParsedUrl.port; </code></td></tr><tr><td id="L9466" class="css-a4x74f"><span>9466</span></td><td id="LC9466" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9467" class="css-a4x74f"><span>9467</span></td><td id="LC9467" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aParsedUrl.path) { </code></td></tr><tr><td id="L9468" class="css-a4x74f"><span>9468</span></td><td id="LC9468" class="css-1dcdqdg"><code> url += aParsedUrl.path; </code></td></tr><tr><td id="L9469" class="css-a4x74f"><span>9469</span></td><td id="LC9469" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9470" class="css-a4x74f"><span>9470</span></td><td id="LC9470" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> url; </code></td></tr><tr><td id="L9471" class="css-a4x74f"><span>9471</span></td><td id="LC9471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9472" class="css-a4x74f"><span>9472</span></td><td id="LC9472" class="css-1dcdqdg"><code> exports.urlGenerate = urlGenerate; </code></td></tr><tr><td id="L9473" class="css-a4x74f"><span>9473</span></td><td id="LC9473" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9474" class="css-a4x74f"><span>9474</span></td><td id="LC9474" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9475" class="css-a4x74f"><span>9475</span></td><td id="LC9475" class="css-1dcdqdg"><code><span class="code-comment"> * Normalizes a path, or the path portion of a URL: </span></code></td></tr><tr><td id="L9476" class="css-a4x74f"><span>9476</span></td><td id="LC9476" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9477" class="css-a4x74f"><span>9477</span></td><td id="LC9477" class="css-1dcdqdg"><code><span class="code-comment"> * - Replaces consecutive slashes with one slash. </span></code></td></tr><tr><td id="L9478" class="css-a4x74f"><span>9478</span></td><td id="LC9478" class="css-1dcdqdg"><code><span class="code-comment"> * - Removes unnecessary '.' parts. </span></code></td></tr><tr><td id="L9479" class="css-a4x74f"><span>9479</span></td><td id="LC9479" class="css-1dcdqdg"><code><span class="code-comment"> * - Removes unnecessary '<dir>/..' parts. </span></code></td></tr><tr><td id="L9480" class="css-a4x74f"><span>9480</span></td><td id="LC9480" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9481" class="css-a4x74f"><span>9481</span></td><td id="LC9481" class="css-1dcdqdg"><code><span class="code-comment"> * Based on code in the Node.js 'path' core module. </span></code></td></tr><tr><td id="L9482" class="css-a4x74f"><span>9482</span></td><td id="LC9482" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9483" class="css-a4x74f"><span>9483</span></td><td id="LC9483" class="css-1dcdqdg"><code><span class="code-comment"> * @param aPath The path or url to normalize. </span></code></td></tr><tr><td id="L9484" class="css-a4x74f"><span>9484</span></td><td id="LC9484" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9485" class="css-a4x74f"><span>9485</span></td><td id="LC9485" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">normalize</span>(<span class="code-params">aPath</span>) </span>{ </code></td></tr><tr><td id="L9486" class="css-a4x74f"><span>9486</span></td><td id="LC9486" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> path = aPath; </code></td></tr><tr><td id="L9487" class="css-a4x74f"><span>9487</span></td><td id="LC9487" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> url = urlParse(aPath); </code></td></tr><tr><td id="L9488" class="css-a4x74f"><span>9488</span></td><td id="LC9488" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (url) { </code></td></tr><tr><td id="L9489" class="css-a4x74f"><span>9489</span></td><td id="LC9489" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!url.path) { </code></td></tr><tr><td id="L9490" class="css-a4x74f"><span>9490</span></td><td id="LC9490" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aPath; </code></td></tr><tr><td id="L9491" class="css-a4x74f"><span>9491</span></td><td id="LC9491" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9492" class="css-a4x74f"><span>9492</span></td><td id="LC9492" class="css-1dcdqdg"><code> path = url.path; </code></td></tr><tr><td id="L9493" class="css-a4x74f"><span>9493</span></td><td id="LC9493" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9494" class="css-a4x74f"><span>9494</span></td><td id="LC9494" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isAbsolute = exports.isAbsolute(path); </code></td></tr><tr><td id="L9495" class="css-a4x74f"><span>9495</span></td><td id="LC9495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9496" class="css-a4x74f"><span>9496</span></td><td id="LC9496" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parts = path.split(<span class="code-regexp">/\/+/</span>); </code></td></tr><tr><td id="L9497" class="css-a4x74f"><span>9497</span></td><td id="LC9497" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> part, up = <span class="code-number">0</span>, i = parts.length - <span class="code-number">1</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L9498" class="css-a4x74f"><span>9498</span></td><td id="LC9498" class="css-1dcdqdg"><code> part = parts[i]; </code></td></tr><tr><td id="L9499" class="css-a4x74f"><span>9499</span></td><td id="LC9499" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (part === <span class="code-string">'.'</span>) { </code></td></tr><tr><td id="L9500" class="css-a4x74f"><span>9500</span></td><td id="LC9500" class="css-1dcdqdg"><code> parts.splice(i, <span class="code-number">1</span>); </code></td></tr><tr><td id="L9501" class="css-a4x74f"><span>9501</span></td><td id="LC9501" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (part === <span class="code-string">'..'</span>) { </code></td></tr><tr><td id="L9502" class="css-a4x74f"><span>9502</span></td><td id="LC9502" class="css-1dcdqdg"><code> up++; </code></td></tr><tr><td id="L9503" class="css-a4x74f"><span>9503</span></td><td id="LC9503" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (up > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9504" class="css-a4x74f"><span>9504</span></td><td id="LC9504" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (part === <span class="code-string">''</span>) { </code></td></tr><tr><td id="L9505" class="css-a4x74f"><span>9505</span></td><td id="LC9505" class="css-1dcdqdg"><code> <span class="code-comment">// The first part is blank if the path is absolute. Trying to go</span> </code></td></tr><tr><td id="L9506" class="css-a4x74f"><span>9506</span></td><td id="LC9506" class="css-1dcdqdg"><code> <span class="code-comment">// above the root is a no-op. Therefore we can remove all '..' parts</span> </code></td></tr><tr><td id="L9507" class="css-a4x74f"><span>9507</span></td><td id="LC9507" class="css-1dcdqdg"><code> <span class="code-comment">// directly after the root.</span> </code></td></tr><tr><td id="L9508" class="css-a4x74f"><span>9508</span></td><td id="LC9508" class="css-1dcdqdg"><code> parts.splice(i + <span class="code-number">1</span>, up); </code></td></tr><tr><td id="L9509" class="css-a4x74f"><span>9509</span></td><td id="LC9509" class="css-1dcdqdg"><code> up = <span class="code-number">0</span>; </code></td></tr><tr><td id="L9510" class="css-a4x74f"><span>9510</span></td><td id="LC9510" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L9511" class="css-a4x74f"><span>9511</span></td><td id="LC9511" class="css-1dcdqdg"><code> parts.splice(i, <span class="code-number">2</span>); </code></td></tr><tr><td id="L9512" class="css-a4x74f"><span>9512</span></td><td id="LC9512" class="css-1dcdqdg"><code> up--; </code></td></tr><tr><td id="L9513" class="css-a4x74f"><span>9513</span></td><td id="LC9513" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9514" class="css-a4x74f"><span>9514</span></td><td id="LC9514" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9515" class="css-a4x74f"><span>9515</span></td><td id="LC9515" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9516" class="css-a4x74f"><span>9516</span></td><td id="LC9516" class="css-1dcdqdg"><code> path = parts.join(<span class="code-string">'/'</span>); </code></td></tr><tr><td id="L9517" class="css-a4x74f"><span>9517</span></td><td id="LC9517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9518" class="css-a4x74f"><span>9518</span></td><td id="LC9518" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (path === <span class="code-string">''</span>) { </code></td></tr><tr><td id="L9519" class="css-a4x74f"><span>9519</span></td><td id="LC9519" class="css-1dcdqdg"><code> path = isAbsolute ? <span class="code-string">'/'</span> : <span class="code-string">'.'</span>; </code></td></tr><tr><td id="L9520" class="css-a4x74f"><span>9520</span></td><td id="LC9520" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9521" class="css-a4x74f"><span>9521</span></td><td id="LC9521" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9522" class="css-a4x74f"><span>9522</span></td><td id="LC9522" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (url) { </code></td></tr><tr><td id="L9523" class="css-a4x74f"><span>9523</span></td><td id="LC9523" class="css-1dcdqdg"><code> url.path = path; </code></td></tr><tr><td id="L9524" class="css-a4x74f"><span>9524</span></td><td id="LC9524" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> urlGenerate(url); </code></td></tr><tr><td id="L9525" class="css-a4x74f"><span>9525</span></td><td id="LC9525" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9526" class="css-a4x74f"><span>9526</span></td><td id="LC9526" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> path; </code></td></tr><tr><td id="L9527" class="css-a4x74f"><span>9527</span></td><td id="LC9527" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9528" class="css-a4x74f"><span>9528</span></td><td id="LC9528" class="css-1dcdqdg"><code> exports.normalize = normalize; </code></td></tr><tr><td id="L9529" class="css-a4x74f"><span>9529</span></td><td id="LC9529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9530" class="css-a4x74f"><span>9530</span></td><td id="LC9530" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9531" class="css-a4x74f"><span>9531</span></td><td id="LC9531" class="css-1dcdqdg"><code><span class="code-comment"> * Joins two paths/URLs. </span></code></td></tr><tr><td id="L9532" class="css-a4x74f"><span>9532</span></td><td id="LC9532" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9533" class="css-a4x74f"><span>9533</span></td><td id="LC9533" class="css-1dcdqdg"><code><span class="code-comment"> * @param aRoot The root path or URL. </span></code></td></tr><tr><td id="L9534" class="css-a4x74f"><span>9534</span></td><td id="LC9534" class="css-1dcdqdg"><code><span class="code-comment"> * @param aPath The path or URL to be joined with the root. </span></code></td></tr><tr><td id="L9535" class="css-a4x74f"><span>9535</span></td><td id="LC9535" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9536" class="css-a4x74f"><span>9536</span></td><td id="LC9536" class="css-1dcdqdg"><code><span class="code-comment"> * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a </span></code></td></tr><tr><td id="L9537" class="css-a4x74f"><span>9537</span></td><td id="LC9537" class="css-1dcdqdg"><code><span class="code-comment"> * scheme-relative URL: Then the scheme of aRoot, if any, is prepended </span></code></td></tr><tr><td id="L9538" class="css-a4x74f"><span>9538</span></td><td id="LC9538" class="css-1dcdqdg"><code><span class="code-comment"> * first. </span></code></td></tr><tr><td id="L9539" class="css-a4x74f"><span>9539</span></td><td id="LC9539" class="css-1dcdqdg"><code><span class="code-comment"> * - Otherwise aPath is a path. If aRoot is a URL, then its path portion </span></code></td></tr><tr><td id="L9540" class="css-a4x74f"><span>9540</span></td><td id="LC9540" class="css-1dcdqdg"><code><span class="code-comment"> * is updated with the result and aRoot is returned. Otherwise the result </span></code></td></tr><tr><td id="L9541" class="css-a4x74f"><span>9541</span></td><td id="LC9541" class="css-1dcdqdg"><code><span class="code-comment"> * is returned. </span></code></td></tr><tr><td id="L9542" class="css-a4x74f"><span>9542</span></td><td id="LC9542" class="css-1dcdqdg"><code><span class="code-comment"> * - If aPath is absolute, the result is aPath. </span></code></td></tr><tr><td id="L9543" class="css-a4x74f"><span>9543</span></td><td id="LC9543" class="css-1dcdqdg"><code><span class="code-comment"> * - Otherwise the two paths are joined with a slash. </span></code></td></tr><tr><td id="L9544" class="css-a4x74f"><span>9544</span></td><td id="LC9544" class="css-1dcdqdg"><code><span class="code-comment"> * - Joining for example 'http://' and 'www.example.com' is also supported. </span></code></td></tr><tr><td id="L9545" class="css-a4x74f"><span>9545</span></td><td id="LC9545" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9546" class="css-a4x74f"><span>9546</span></td><td id="LC9546" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">join</span>(<span class="code-params">aRoot, aPath</span>) </span>{ </code></td></tr><tr><td id="L9547" class="css-a4x74f"><span>9547</span></td><td id="LC9547" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRoot === <span class="code-string">""</span>) { </code></td></tr><tr><td id="L9548" class="css-a4x74f"><span>9548</span></td><td id="LC9548" class="css-1dcdqdg"><code> aRoot = <span class="code-string">"."</span>; </code></td></tr><tr><td id="L9549" class="css-a4x74f"><span>9549</span></td><td id="LC9549" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9550" class="css-a4x74f"><span>9550</span></td><td id="LC9550" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aPath === <span class="code-string">""</span>) { </code></td></tr><tr><td id="L9551" class="css-a4x74f"><span>9551</span></td><td id="LC9551" class="css-1dcdqdg"><code> aPath = <span class="code-string">"."</span>; </code></td></tr><tr><td id="L9552" class="css-a4x74f"><span>9552</span></td><td id="LC9552" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9553" class="css-a4x74f"><span>9553</span></td><td id="LC9553" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> aPathUrl = urlParse(aPath); </code></td></tr><tr><td id="L9554" class="css-a4x74f"><span>9554</span></td><td id="LC9554" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> aRootUrl = urlParse(aRoot); </code></td></tr><tr><td id="L9555" class="css-a4x74f"><span>9555</span></td><td id="LC9555" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRootUrl) { </code></td></tr><tr><td id="L9556" class="css-a4x74f"><span>9556</span></td><td id="LC9556" class="css-1dcdqdg"><code> aRoot = aRootUrl.path || <span class="code-string">'/'</span>; </code></td></tr><tr><td id="L9557" class="css-a4x74f"><span>9557</span></td><td id="LC9557" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9558" class="css-a4x74f"><span>9558</span></td><td id="LC9558" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9559" class="css-a4x74f"><span>9559</span></td><td id="LC9559" class="css-1dcdqdg"><code> <span class="code-comment">// `join(foo, '//www.example.org')`</span> </code></td></tr><tr><td id="L9560" class="css-a4x74f"><span>9560</span></td><td id="LC9560" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aPathUrl && !aPathUrl.scheme) { </code></td></tr><tr><td id="L9561" class="css-a4x74f"><span>9561</span></td><td id="LC9561" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRootUrl) { </code></td></tr><tr><td id="L9562" class="css-a4x74f"><span>9562</span></td><td id="LC9562" class="css-1dcdqdg"><code> aPathUrl.scheme = aRootUrl.scheme; </code></td></tr><tr><td id="L9563" class="css-a4x74f"><span>9563</span></td><td id="LC9563" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9564" class="css-a4x74f"><span>9564</span></td><td id="LC9564" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> urlGenerate(aPathUrl); </code></td></tr><tr><td id="L9565" class="css-a4x74f"><span>9565</span></td><td id="LC9565" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9566" class="css-a4x74f"><span>9566</span></td><td id="LC9566" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9567" class="css-a4x74f"><span>9567</span></td><td id="LC9567" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aPathUrl || aPath.match(dataUrlRegexp)) { </code></td></tr><tr><td id="L9568" class="css-a4x74f"><span>9568</span></td><td id="LC9568" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aPath; </code></td></tr><tr><td id="L9569" class="css-a4x74f"><span>9569</span></td><td id="LC9569" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9570" class="css-a4x74f"><span>9570</span></td><td id="LC9570" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9571" class="css-a4x74f"><span>9571</span></td><td id="LC9571" class="css-1dcdqdg"><code> <span class="code-comment">// `join('http://', 'www.example.com')`</span> </code></td></tr><tr><td id="L9572" class="css-a4x74f"><span>9572</span></td><td id="LC9572" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRootUrl && !aRootUrl.host && !aRootUrl.path) { </code></td></tr><tr><td id="L9573" class="css-a4x74f"><span>9573</span></td><td id="LC9573" class="css-1dcdqdg"><code> aRootUrl.host = aPath; </code></td></tr><tr><td id="L9574" class="css-a4x74f"><span>9574</span></td><td id="LC9574" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> urlGenerate(aRootUrl); </code></td></tr><tr><td id="L9575" class="css-a4x74f"><span>9575</span></td><td id="LC9575" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9576" class="css-a4x74f"><span>9576</span></td><td id="LC9576" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9577" class="css-a4x74f"><span>9577</span></td><td id="LC9577" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> joined = aPath.charAt(<span class="code-number">0</span>) === <span class="code-string">'/'</span> </code></td></tr><tr><td id="L9578" class="css-a4x74f"><span>9578</span></td><td id="LC9578" class="css-1dcdqdg"><code> ? aPath </code></td></tr><tr><td id="L9579" class="css-a4x74f"><span>9579</span></td><td id="LC9579" class="css-1dcdqdg"><code> : normalize(aRoot.replace(<span class="code-regexp">/\/+$/</span>, <span class="code-string">''</span>) + <span class="code-string">'/'</span> + aPath); </code></td></tr><tr><td id="L9580" class="css-a4x74f"><span>9580</span></td><td id="LC9580" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9581" class="css-a4x74f"><span>9581</span></td><td id="LC9581" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRootUrl) { </code></td></tr><tr><td id="L9582" class="css-a4x74f"><span>9582</span></td><td id="LC9582" class="css-1dcdqdg"><code> aRootUrl.path = joined; </code></td></tr><tr><td id="L9583" class="css-a4x74f"><span>9583</span></td><td id="LC9583" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> urlGenerate(aRootUrl); </code></td></tr><tr><td id="L9584" class="css-a4x74f"><span>9584</span></td><td id="LC9584" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9585" class="css-a4x74f"><span>9585</span></td><td id="LC9585" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> joined; </code></td></tr><tr><td id="L9586" class="css-a4x74f"><span>9586</span></td><td id="LC9586" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9587" class="css-a4x74f"><span>9587</span></td><td id="LC9587" class="css-1dcdqdg"><code> exports.join = join; </code></td></tr><tr><td id="L9588" class="css-a4x74f"><span>9588</span></td><td id="LC9588" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9589" class="css-a4x74f"><span>9589</span></td><td id="LC9589" class="css-1dcdqdg"><code> exports.isAbsolute = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">aPath</span>) </span>{ </code></td></tr><tr><td id="L9590" class="css-a4x74f"><span>9590</span></td><td id="LC9590" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aPath.charAt(<span class="code-number">0</span>) === <span class="code-string">'/'</span> || urlRegexp.test(aPath); </code></td></tr><tr><td id="L9591" class="css-a4x74f"><span>9591</span></td><td id="LC9591" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9592" class="css-a4x74f"><span>9592</span></td><td id="LC9592" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9593" class="css-a4x74f"><span>9593</span></td><td id="LC9593" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9594" class="css-a4x74f"><span>9594</span></td><td id="LC9594" class="css-1dcdqdg"><code><span class="code-comment"> * Make a path relative to a URL or another path. </span></code></td></tr><tr><td id="L9595" class="css-a4x74f"><span>9595</span></td><td id="LC9595" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9596" class="css-a4x74f"><span>9596</span></td><td id="LC9596" class="css-1dcdqdg"><code><span class="code-comment"> * @param aRoot The root path or URL. </span></code></td></tr><tr><td id="L9597" class="css-a4x74f"><span>9597</span></td><td id="LC9597" class="css-1dcdqdg"><code><span class="code-comment"> * @param aPath The path or URL to be made relative to aRoot. </span></code></td></tr><tr><td id="L9598" class="css-a4x74f"><span>9598</span></td><td id="LC9598" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9599" class="css-a4x74f"><span>9599</span></td><td id="LC9599" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">relative</span>(<span class="code-params">aRoot, aPath</span>) </span>{ </code></td></tr><tr><td id="L9600" class="css-a4x74f"><span>9600</span></td><td id="LC9600" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRoot === <span class="code-string">""</span>) { </code></td></tr><tr><td id="L9601" class="css-a4x74f"><span>9601</span></td><td id="LC9601" class="css-1dcdqdg"><code> aRoot = <span class="code-string">"."</span>; </code></td></tr><tr><td id="L9602" class="css-a4x74f"><span>9602</span></td><td id="LC9602" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9603" class="css-a4x74f"><span>9603</span></td><td id="LC9603" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9604" class="css-a4x74f"><span>9604</span></td><td id="LC9604" class="css-1dcdqdg"><code> aRoot = aRoot.replace(<span class="code-regexp">/\/$/</span>, <span class="code-string">''</span>); </code></td></tr><tr><td id="L9605" class="css-a4x74f"><span>9605</span></td><td id="LC9605" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9606" class="css-a4x74f"><span>9606</span></td><td id="LC9606" class="css-1dcdqdg"><code> <span class="code-comment">// It is possible for the path to be above the root. In this case, simply</span> </code></td></tr><tr><td id="L9607" class="css-a4x74f"><span>9607</span></td><td id="LC9607" class="css-1dcdqdg"><code> <span class="code-comment">// checking whether the root is a prefix of the path won't work. Instead, we</span> </code></td></tr><tr><td id="L9608" class="css-a4x74f"><span>9608</span></td><td id="LC9608" class="css-1dcdqdg"><code> <span class="code-comment">// need to remove components from the root one by one, until either we find</span> </code></td></tr><tr><td id="L9609" class="css-a4x74f"><span>9609</span></td><td id="LC9609" class="css-1dcdqdg"><code> <span class="code-comment">// a prefix that fits, or we run out of components to remove.</span> </code></td></tr><tr><td id="L9610" class="css-a4x74f"><span>9610</span></td><td id="LC9610" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> level = <span class="code-number">0</span>; </code></td></tr><tr><td id="L9611" class="css-a4x74f"><span>9611</span></td><td id="LC9611" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (aPath.indexOf(aRoot + <span class="code-string">'/'</span>) !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9612" class="css-a4x74f"><span>9612</span></td><td id="LC9612" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> index = aRoot.lastIndexOf(<span class="code-string">"/"</span>); </code></td></tr><tr><td id="L9613" class="css-a4x74f"><span>9613</span></td><td id="LC9613" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index < <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9614" class="css-a4x74f"><span>9614</span></td><td id="LC9614" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aPath; </code></td></tr><tr><td id="L9615" class="css-a4x74f"><span>9615</span></td><td id="LC9615" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9616" class="css-a4x74f"><span>9616</span></td><td id="LC9616" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9617" class="css-a4x74f"><span>9617</span></td><td id="LC9617" class="css-1dcdqdg"><code> <span class="code-comment">// If the only part of the root that is left is the scheme (i.e. http://,</span> </code></td></tr><tr><td id="L9618" class="css-a4x74f"><span>9618</span></td><td id="LC9618" class="css-1dcdqdg"><code> <span class="code-comment">// file:///, etc.), one or more slashes (/), or simply nothing at all, we</span> </code></td></tr><tr><td id="L9619" class="css-a4x74f"><span>9619</span></td><td id="LC9619" class="css-1dcdqdg"><code> <span class="code-comment">// have exhausted all components, so the path is not relative to the root.</span> </code></td></tr><tr><td id="L9620" class="css-a4x74f"><span>9620</span></td><td id="LC9620" class="css-1dcdqdg"><code> aRoot = aRoot.slice(<span class="code-number">0</span>, index); </code></td></tr><tr><td id="L9621" class="css-a4x74f"><span>9621</span></td><td id="LC9621" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aRoot.match(<span class="code-regexp">/^([^\/]+:\/)?\/*$/</span>)) { </code></td></tr><tr><td id="L9622" class="css-a4x74f"><span>9622</span></td><td id="LC9622" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aPath; </code></td></tr><tr><td id="L9623" class="css-a4x74f"><span>9623</span></td><td id="LC9623" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9624" class="css-a4x74f"><span>9624</span></td><td id="LC9624" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9625" class="css-a4x74f"><span>9625</span></td><td id="LC9625" class="css-1dcdqdg"><code> ++level; </code></td></tr><tr><td id="L9626" class="css-a4x74f"><span>9626</span></td><td id="LC9626" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9627" class="css-a4x74f"><span>9627</span></td><td id="LC9627" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9628" class="css-a4x74f"><span>9628</span></td><td id="LC9628" class="css-1dcdqdg"><code> <span class="code-comment">// Make sure we add a "../" for each component we removed from the root.</span> </code></td></tr><tr><td id="L9629" class="css-a4x74f"><span>9629</span></td><td id="LC9629" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Array</span>(level + <span class="code-number">1</span>).join(<span class="code-string">"../"</span>) + aPath.substr(aRoot.length + <span class="code-number">1</span>); </code></td></tr><tr><td id="L9630" class="css-a4x74f"><span>9630</span></td><td id="LC9630" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9631" class="css-a4x74f"><span>9631</span></td><td id="LC9631" class="css-1dcdqdg"><code> exports.relative = relative; </code></td></tr><tr><td id="L9632" class="css-a4x74f"><span>9632</span></td><td id="LC9632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9633" class="css-a4x74f"><span>9633</span></td><td id="LC9633" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> supportsNullProto = (<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L9634" class="css-a4x74f"><span>9634</span></td><td id="LC9634" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> obj = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L9635" class="css-a4x74f"><span>9635</span></td><td id="LC9635" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !(<span class="code-string">'__proto__'</span> <span class="code-keyword">in</span> obj); </code></td></tr><tr><td id="L9636" class="css-a4x74f"><span>9636</span></td><td id="LC9636" class="css-1dcdqdg"><code> }()); </code></td></tr><tr><td id="L9637" class="css-a4x74f"><span>9637</span></td><td id="LC9637" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9638" class="css-a4x74f"><span>9638</span></td><td id="LC9638" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">identity</span> (<span class="code-params">s</span>) </span>{ </code></td></tr><tr><td id="L9639" class="css-a4x74f"><span>9639</span></td><td id="LC9639" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> s; </code></td></tr><tr><td id="L9640" class="css-a4x74f"><span>9640</span></td><td id="LC9640" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9641" class="css-a4x74f"><span>9641</span></td><td id="LC9641" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9642" class="css-a4x74f"><span>9642</span></td><td id="LC9642" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9643" class="css-a4x74f"><span>9643</span></td><td id="LC9643" class="css-1dcdqdg"><code><span class="code-comment"> * Because behavior goes wacky when you set `__proto__` on objects, we </span></code></td></tr><tr><td id="L9644" class="css-a4x74f"><span>9644</span></td><td id="LC9644" class="css-1dcdqdg"><code><span class="code-comment"> * have to prefix all the strings in our set with an arbitrary character. </span></code></td></tr><tr><td id="L9645" class="css-a4x74f"><span>9645</span></td><td id="LC9645" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9646" class="css-a4x74f"><span>9646</span></td><td id="LC9646" class="css-1dcdqdg"><code><span class="code-comment"> * See https://github.com/mozilla/source-map/pull/31 and </span></code></td></tr><tr><td id="L9647" class="css-a4x74f"><span>9647</span></td><td id="LC9647" class="css-1dcdqdg"><code><span class="code-comment"> * https://github.com/mozilla/source-map/issues/30 </span></code></td></tr><tr><td id="L9648" class="css-a4x74f"><span>9648</span></td><td id="LC9648" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9649" class="css-a4x74f"><span>9649</span></td><td id="LC9649" class="css-1dcdqdg"><code><span class="code-comment"> * @param String aStr </span></code></td></tr><tr><td id="L9650" class="css-a4x74f"><span>9650</span></td><td id="LC9650" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9651" class="css-a4x74f"><span>9651</span></td><td id="LC9651" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">toSetString</span>(<span class="code-params">aStr</span>) </span>{ </code></td></tr><tr><td id="L9652" class="css-a4x74f"><span>9652</span></td><td id="LC9652" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isProtoString(aStr)) { </code></td></tr><tr><td id="L9653" class="css-a4x74f"><span>9653</span></td><td id="LC9653" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">'$'</span> + aStr; </code></td></tr><tr><td id="L9654" class="css-a4x74f"><span>9654</span></td><td id="LC9654" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9655" class="css-a4x74f"><span>9655</span></td><td id="LC9655" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9656" class="css-a4x74f"><span>9656</span></td><td id="LC9656" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aStr; </code></td></tr><tr><td id="L9657" class="css-a4x74f"><span>9657</span></td><td id="LC9657" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9658" class="css-a4x74f"><span>9658</span></td><td id="LC9658" class="css-1dcdqdg"><code> exports.toSetString = supportsNullProto ? identity : toSetString; </code></td></tr><tr><td id="L9659" class="css-a4x74f"><span>9659</span></td><td id="LC9659" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9660" class="css-a4x74f"><span>9660</span></td><td id="LC9660" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">fromSetString</span>(<span class="code-params">aStr</span>) </span>{ </code></td></tr><tr><td id="L9661" class="css-a4x74f"><span>9661</span></td><td id="LC9661" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isProtoString(aStr)) { </code></td></tr><tr><td id="L9662" class="css-a4x74f"><span>9662</span></td><td id="LC9662" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aStr.slice(<span class="code-number">1</span>); </code></td></tr><tr><td id="L9663" class="css-a4x74f"><span>9663</span></td><td id="LC9663" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9664" class="css-a4x74f"><span>9664</span></td><td id="LC9664" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9665" class="css-a4x74f"><span>9665</span></td><td id="LC9665" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aStr; </code></td></tr><tr><td id="L9666" class="css-a4x74f"><span>9666</span></td><td id="LC9666" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9667" class="css-a4x74f"><span>9667</span></td><td id="LC9667" class="css-1dcdqdg"><code> exports.fromSetString = supportsNullProto ? identity : fromSetString; </code></td></tr><tr><td id="L9668" class="css-a4x74f"><span>9668</span></td><td id="LC9668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9669" class="css-a4x74f"><span>9669</span></td><td id="LC9669" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isProtoString</span>(<span class="code-params">s</span>) </span>{ </code></td></tr><tr><td id="L9670" class="css-a4x74f"><span>9670</span></td><td id="LC9670" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!s) { </code></td></tr><tr><td id="L9671" class="css-a4x74f"><span>9671</span></td><td id="LC9671" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9672" class="css-a4x74f"><span>9672</span></td><td id="LC9672" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9673" class="css-a4x74f"><span>9673</span></td><td id="LC9673" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9674" class="css-a4x74f"><span>9674</span></td><td id="LC9674" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> length = s.length; </code></td></tr><tr><td id="L9675" class="css-a4x74f"><span>9675</span></td><td id="LC9675" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9676" class="css-a4x74f"><span>9676</span></td><td id="LC9676" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length < <span class="code-number">9</span> <span class="code-comment">/* "__proto__".length */</span>) { </code></td></tr><tr><td id="L9677" class="css-a4x74f"><span>9677</span></td><td id="LC9677" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9678" class="css-a4x74f"><span>9678</span></td><td id="LC9678" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9679" class="css-a4x74f"><span>9679</span></td><td id="LC9679" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9680" class="css-a4x74f"><span>9680</span></td><td id="LC9680" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (s.charCodeAt(length - <span class="code-number">1</span>) !== <span class="code-number">95</span> <span class="code-comment">/* '_' */</span> || </code></td></tr><tr><td id="L9681" class="css-a4x74f"><span>9681</span></td><td id="LC9681" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">2</span>) !== <span class="code-number">95</span> <span class="code-comment">/* '_' */</span> || </code></td></tr><tr><td id="L9682" class="css-a4x74f"><span>9682</span></td><td id="LC9682" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">3</span>) !== <span class="code-number">111</span> <span class="code-comment">/* 'o' */</span> || </code></td></tr><tr><td id="L9683" class="css-a4x74f"><span>9683</span></td><td id="LC9683" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">4</span>) !== <span class="code-number">116</span> <span class="code-comment">/* 't' */</span> || </code></td></tr><tr><td id="L9684" class="css-a4x74f"><span>9684</span></td><td id="LC9684" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">5</span>) !== <span class="code-number">111</span> <span class="code-comment">/* 'o' */</span> || </code></td></tr><tr><td id="L9685" class="css-a4x74f"><span>9685</span></td><td id="LC9685" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">6</span>) !== <span class="code-number">114</span> <span class="code-comment">/* 'r' */</span> || </code></td></tr><tr><td id="L9686" class="css-a4x74f"><span>9686</span></td><td id="LC9686" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">7</span>) !== <span class="code-number">112</span> <span class="code-comment">/* 'p' */</span> || </code></td></tr><tr><td id="L9687" class="css-a4x74f"><span>9687</span></td><td id="LC9687" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">8</span>) !== <span class="code-number">95</span> <span class="code-comment">/* '_' */</span> || </code></td></tr><tr><td id="L9688" class="css-a4x74f"><span>9688</span></td><td id="LC9688" class="css-1dcdqdg"><code> s.charCodeAt(length - <span class="code-number">9</span>) !== <span class="code-number">95</span> <span class="code-comment">/* '_' */</span>) { </code></td></tr><tr><td id="L9689" class="css-a4x74f"><span>9689</span></td><td id="LC9689" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9690" class="css-a4x74f"><span>9690</span></td><td id="LC9690" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9691" class="css-a4x74f"><span>9691</span></td><td id="LC9691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9692" class="css-a4x74f"><span>9692</span></td><td id="LC9692" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = length - <span class="code-number">10</span>; i >= <span class="code-number">0</span>; i--) { </code></td></tr><tr><td id="L9693" class="css-a4x74f"><span>9693</span></td><td id="LC9693" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (s.charCodeAt(i) !== <span class="code-number">36</span> <span class="code-comment">/* '$' */</span>) { </code></td></tr><tr><td id="L9694" class="css-a4x74f"><span>9694</span></td><td id="LC9694" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L9695" class="css-a4x74f"><span>9695</span></td><td id="LC9695" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9696" class="css-a4x74f"><span>9696</span></td><td id="LC9696" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9697" class="css-a4x74f"><span>9697</span></td><td id="LC9697" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9698" class="css-a4x74f"><span>9698</span></td><td id="LC9698" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L9699" class="css-a4x74f"><span>9699</span></td><td id="LC9699" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9700" class="css-a4x74f"><span>9700</span></td><td id="LC9700" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9701" class="css-a4x74f"><span>9701</span></td><td id="LC9701" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9702" class="css-a4x74f"><span>9702</span></td><td id="LC9702" class="css-1dcdqdg"><code><span class="code-comment"> * Comparator between two mappings where the original positions are compared. </span></code></td></tr><tr><td id="L9703" class="css-a4x74f"><span>9703</span></td><td id="LC9703" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9704" class="css-a4x74f"><span>9704</span></td><td id="LC9704" class="css-1dcdqdg"><code><span class="code-comment"> * Optionally pass in `true` as `onlyCompareGenerated` to consider two </span></code></td></tr><tr><td id="L9705" class="css-a4x74f"><span>9705</span></td><td id="LC9705" class="css-1dcdqdg"><code><span class="code-comment"> * mappings with the same original source/line/column, but different generated </span></code></td></tr><tr><td id="L9706" class="css-a4x74f"><span>9706</span></td><td id="LC9706" class="css-1dcdqdg"><code><span class="code-comment"> * line and column the same. Useful when searching for a mapping with a </span></code></td></tr><tr><td id="L9707" class="css-a4x74f"><span>9707</span></td><td id="LC9707" class="css-1dcdqdg"><code><span class="code-comment"> * stubbed out mapping. </span></code></td></tr><tr><td id="L9708" class="css-a4x74f"><span>9708</span></td><td id="LC9708" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9709" class="css-a4x74f"><span>9709</span></td><td id="LC9709" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">compareByOriginalPositions</span>(<span class="code-params">mappingA, mappingB, onlyCompareOriginal</span>) </span>{ </code></td></tr><tr><td id="L9710" class="css-a4x74f"><span>9710</span></td><td id="LC9710" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmp = strcmp(mappingA.source, mappingB.source); </code></td></tr><tr><td id="L9711" class="css-a4x74f"><span>9711</span></td><td id="LC9711" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9712" class="css-a4x74f"><span>9712</span></td><td id="LC9712" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9713" class="css-a4x74f"><span>9713</span></td><td id="LC9713" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9714" class="css-a4x74f"><span>9714</span></td><td id="LC9714" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9715" class="css-a4x74f"><span>9715</span></td><td id="LC9715" class="css-1dcdqdg"><code> cmp = mappingA.originalLine - mappingB.originalLine; </code></td></tr><tr><td id="L9716" class="css-a4x74f"><span>9716</span></td><td id="LC9716" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9717" class="css-a4x74f"><span>9717</span></td><td id="LC9717" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9718" class="css-a4x74f"><span>9718</span></td><td id="LC9718" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9719" class="css-a4x74f"><span>9719</span></td><td id="LC9719" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9720" class="css-a4x74f"><span>9720</span></td><td id="LC9720" class="css-1dcdqdg"><code> cmp = mappingA.originalColumn - mappingB.originalColumn; </code></td></tr><tr><td id="L9721" class="css-a4x74f"><span>9721</span></td><td id="LC9721" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span> || onlyCompareOriginal) { </code></td></tr><tr><td id="L9722" class="css-a4x74f"><span>9722</span></td><td id="LC9722" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9723" class="css-a4x74f"><span>9723</span></td><td id="LC9723" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9724" class="css-a4x74f"><span>9724</span></td><td id="LC9724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9725" class="css-a4x74f"><span>9725</span></td><td id="LC9725" class="css-1dcdqdg"><code> cmp = mappingA.generatedColumn - mappingB.generatedColumn; </code></td></tr><tr><td id="L9726" class="css-a4x74f"><span>9726</span></td><td id="LC9726" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9727" class="css-a4x74f"><span>9727</span></td><td id="LC9727" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9728" class="css-a4x74f"><span>9728</span></td><td id="LC9728" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9729" class="css-a4x74f"><span>9729</span></td><td id="LC9729" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9730" class="css-a4x74f"><span>9730</span></td><td id="LC9730" class="css-1dcdqdg"><code> cmp = mappingA.generatedLine - mappingB.generatedLine; </code></td></tr><tr><td id="L9731" class="css-a4x74f"><span>9731</span></td><td id="LC9731" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9732" class="css-a4x74f"><span>9732</span></td><td id="LC9732" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9733" class="css-a4x74f"><span>9733</span></td><td id="LC9733" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9734" class="css-a4x74f"><span>9734</span></td><td id="LC9734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9735" class="css-a4x74f"><span>9735</span></td><td id="LC9735" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> strcmp(mappingA.name, mappingB.name); </code></td></tr><tr><td id="L9736" class="css-a4x74f"><span>9736</span></td><td id="LC9736" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9737" class="css-a4x74f"><span>9737</span></td><td id="LC9737" class="css-1dcdqdg"><code> exports.compareByOriginalPositions = compareByOriginalPositions; </code></td></tr><tr><td id="L9738" class="css-a4x74f"><span>9738</span></td><td id="LC9738" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9739" class="css-a4x74f"><span>9739</span></td><td id="LC9739" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9740" class="css-a4x74f"><span>9740</span></td><td id="LC9740" class="css-1dcdqdg"><code><span class="code-comment"> * Comparator between two mappings with deflated source and name indices where </span></code></td></tr><tr><td id="L9741" class="css-a4x74f"><span>9741</span></td><td id="LC9741" class="css-1dcdqdg"><code><span class="code-comment"> * the generated positions are compared. </span></code></td></tr><tr><td id="L9742" class="css-a4x74f"><span>9742</span></td><td id="LC9742" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9743" class="css-a4x74f"><span>9743</span></td><td id="LC9743" class="css-1dcdqdg"><code><span class="code-comment"> * Optionally pass in `true` as `onlyCompareGenerated` to consider two </span></code></td></tr><tr><td id="L9744" class="css-a4x74f"><span>9744</span></td><td id="LC9744" class="css-1dcdqdg"><code><span class="code-comment"> * mappings with the same generated line and column, but different </span></code></td></tr><tr><td id="L9745" class="css-a4x74f"><span>9745</span></td><td id="LC9745" class="css-1dcdqdg"><code><span class="code-comment"> * source/name/original line and column the same. Useful when searching for a </span></code></td></tr><tr><td id="L9746" class="css-a4x74f"><span>9746</span></td><td id="LC9746" class="css-1dcdqdg"><code><span class="code-comment"> * mapping with a stubbed out mapping. </span></code></td></tr><tr><td id="L9747" class="css-a4x74f"><span>9747</span></td><td id="LC9747" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9748" class="css-a4x74f"><span>9748</span></td><td id="LC9748" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">compareByGeneratedPositionsDeflated</span>(<span class="code-params">mappingA, mappingB, onlyCompareGenerated</span>) </span>{ </code></td></tr><tr><td id="L9749" class="css-a4x74f"><span>9749</span></td><td id="LC9749" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmp = mappingA.generatedLine - mappingB.generatedLine; </code></td></tr><tr><td id="L9750" class="css-a4x74f"><span>9750</span></td><td id="LC9750" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9751" class="css-a4x74f"><span>9751</span></td><td id="LC9751" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9752" class="css-a4x74f"><span>9752</span></td><td id="LC9752" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9753" class="css-a4x74f"><span>9753</span></td><td id="LC9753" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9754" class="css-a4x74f"><span>9754</span></td><td id="LC9754" class="css-1dcdqdg"><code> cmp = mappingA.generatedColumn - mappingB.generatedColumn; </code></td></tr><tr><td id="L9755" class="css-a4x74f"><span>9755</span></td><td id="LC9755" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span> || onlyCompareGenerated) { </code></td></tr><tr><td id="L9756" class="css-a4x74f"><span>9756</span></td><td id="LC9756" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9757" class="css-a4x74f"><span>9757</span></td><td id="LC9757" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9758" class="css-a4x74f"><span>9758</span></td><td id="LC9758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9759" class="css-a4x74f"><span>9759</span></td><td id="LC9759" class="css-1dcdqdg"><code> cmp = strcmp(mappingA.source, mappingB.source); </code></td></tr><tr><td id="L9760" class="css-a4x74f"><span>9760</span></td><td id="LC9760" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9761" class="css-a4x74f"><span>9761</span></td><td id="LC9761" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9762" class="css-a4x74f"><span>9762</span></td><td id="LC9762" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9763" class="css-a4x74f"><span>9763</span></td><td id="LC9763" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9764" class="css-a4x74f"><span>9764</span></td><td id="LC9764" class="css-1dcdqdg"><code> cmp = mappingA.originalLine - mappingB.originalLine; </code></td></tr><tr><td id="L9765" class="css-a4x74f"><span>9765</span></td><td id="LC9765" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9766" class="css-a4x74f"><span>9766</span></td><td id="LC9766" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9767" class="css-a4x74f"><span>9767</span></td><td id="LC9767" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9768" class="css-a4x74f"><span>9768</span></td><td id="LC9768" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9769" class="css-a4x74f"><span>9769</span></td><td id="LC9769" class="css-1dcdqdg"><code> cmp = mappingA.originalColumn - mappingB.originalColumn; </code></td></tr><tr><td id="L9770" class="css-a4x74f"><span>9770</span></td><td id="LC9770" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9771" class="css-a4x74f"><span>9771</span></td><td id="LC9771" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9772" class="css-a4x74f"><span>9772</span></td><td id="LC9772" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9773" class="css-a4x74f"><span>9773</span></td><td id="LC9773" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9774" class="css-a4x74f"><span>9774</span></td><td id="LC9774" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> strcmp(mappingA.name, mappingB.name); </code></td></tr><tr><td id="L9775" class="css-a4x74f"><span>9775</span></td><td id="LC9775" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9776" class="css-a4x74f"><span>9776</span></td><td id="LC9776" class="css-1dcdqdg"><code> exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; </code></td></tr><tr><td id="L9777" class="css-a4x74f"><span>9777</span></td><td id="LC9777" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9778" class="css-a4x74f"><span>9778</span></td><td id="LC9778" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">strcmp</span>(<span class="code-params">aStr1, aStr2</span>) </span>{ </code></td></tr><tr><td id="L9779" class="css-a4x74f"><span>9779</span></td><td id="LC9779" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aStr1 === aStr2) { </code></td></tr><tr><td id="L9780" class="css-a4x74f"><span>9780</span></td><td id="LC9780" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L9781" class="css-a4x74f"><span>9781</span></td><td id="LC9781" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9782" class="css-a4x74f"><span>9782</span></td><td id="LC9782" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9783" class="css-a4x74f"><span>9783</span></td><td id="LC9783" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aStr1 === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L9784" class="css-a4x74f"><span>9784</span></td><td id="LC9784" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; <span class="code-comment">// aStr2 !== null</span> </code></td></tr><tr><td id="L9785" class="css-a4x74f"><span>9785</span></td><td id="LC9785" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9786" class="css-a4x74f"><span>9786</span></td><td id="LC9786" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9787" class="css-a4x74f"><span>9787</span></td><td id="LC9787" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aStr2 === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L9788" class="css-a4x74f"><span>9788</span></td><td id="LC9788" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; <span class="code-comment">// aStr1 !== null</span> </code></td></tr><tr><td id="L9789" class="css-a4x74f"><span>9789</span></td><td id="LC9789" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9790" class="css-a4x74f"><span>9790</span></td><td id="LC9790" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9791" class="css-a4x74f"><span>9791</span></td><td id="LC9791" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aStr1 > aStr2) { </code></td></tr><tr><td id="L9792" class="css-a4x74f"><span>9792</span></td><td id="LC9792" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L9793" class="css-a4x74f"><span>9793</span></td><td id="LC9793" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9794" class="css-a4x74f"><span>9794</span></td><td id="LC9794" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9795" class="css-a4x74f"><span>9795</span></td><td id="LC9795" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L9796" class="css-a4x74f"><span>9796</span></td><td id="LC9796" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9797" class="css-a4x74f"><span>9797</span></td><td id="LC9797" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9798" class="css-a4x74f"><span>9798</span></td><td id="LC9798" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9799" class="css-a4x74f"><span>9799</span></td><td id="LC9799" class="css-1dcdqdg"><code><span class="code-comment"> * Comparator between two mappings with inflated source and name strings where </span></code></td></tr><tr><td id="L9800" class="css-a4x74f"><span>9800</span></td><td id="LC9800" class="css-1dcdqdg"><code><span class="code-comment"> * the generated positions are compared. </span></code></td></tr><tr><td id="L9801" class="css-a4x74f"><span>9801</span></td><td id="LC9801" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9802" class="css-a4x74f"><span>9802</span></td><td id="LC9802" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">compareByGeneratedPositionsInflated</span>(<span class="code-params">mappingA, mappingB</span>) </span>{ </code></td></tr><tr><td id="L9803" class="css-a4x74f"><span>9803</span></td><td id="LC9803" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmp = mappingA.generatedLine - mappingB.generatedLine; </code></td></tr><tr><td id="L9804" class="css-a4x74f"><span>9804</span></td><td id="LC9804" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9805" class="css-a4x74f"><span>9805</span></td><td id="LC9805" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9806" class="css-a4x74f"><span>9806</span></td><td id="LC9806" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9807" class="css-a4x74f"><span>9807</span></td><td id="LC9807" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9808" class="css-a4x74f"><span>9808</span></td><td id="LC9808" class="css-1dcdqdg"><code> cmp = mappingA.generatedColumn - mappingB.generatedColumn; </code></td></tr><tr><td id="L9809" class="css-a4x74f"><span>9809</span></td><td id="LC9809" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9810" class="css-a4x74f"><span>9810</span></td><td id="LC9810" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9811" class="css-a4x74f"><span>9811</span></td><td id="LC9811" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9812" class="css-a4x74f"><span>9812</span></td><td id="LC9812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9813" class="css-a4x74f"><span>9813</span></td><td id="LC9813" class="css-1dcdqdg"><code> cmp = strcmp(mappingA.source, mappingB.source); </code></td></tr><tr><td id="L9814" class="css-a4x74f"><span>9814</span></td><td id="LC9814" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9815" class="css-a4x74f"><span>9815</span></td><td id="LC9815" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9816" class="css-a4x74f"><span>9816</span></td><td id="LC9816" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9817" class="css-a4x74f"><span>9817</span></td><td id="LC9817" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9818" class="css-a4x74f"><span>9818</span></td><td id="LC9818" class="css-1dcdqdg"><code> cmp = mappingA.originalLine - mappingB.originalLine; </code></td></tr><tr><td id="L9819" class="css-a4x74f"><span>9819</span></td><td id="LC9819" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9820" class="css-a4x74f"><span>9820</span></td><td id="LC9820" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9821" class="css-a4x74f"><span>9821</span></td><td id="LC9821" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9822" class="css-a4x74f"><span>9822</span></td><td id="LC9822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9823" class="css-a4x74f"><span>9823</span></td><td id="LC9823" class="css-1dcdqdg"><code> cmp = mappingA.originalColumn - mappingB.originalColumn; </code></td></tr><tr><td id="L9824" class="css-a4x74f"><span>9824</span></td><td id="LC9824" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmp !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9825" class="css-a4x74f"><span>9825</span></td><td id="LC9825" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmp; </code></td></tr><tr><td id="L9826" class="css-a4x74f"><span>9826</span></td><td id="LC9826" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9827" class="css-a4x74f"><span>9827</span></td><td id="LC9827" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9828" class="css-a4x74f"><span>9828</span></td><td id="LC9828" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> strcmp(mappingA.name, mappingB.name); </code></td></tr><tr><td id="L9829" class="css-a4x74f"><span>9829</span></td><td id="LC9829" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9830" class="css-a4x74f"><span>9830</span></td><td id="LC9830" class="css-1dcdqdg"><code> exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; </code></td></tr><tr><td id="L9831" class="css-a4x74f"><span>9831</span></td><td id="LC9831" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9832" class="css-a4x74f"><span>9832</span></td><td id="LC9832" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9833" class="css-a4x74f"><span>9833</span></td><td id="LC9833" class="css-1dcdqdg"><code><span class="code-comment"> * Strip any JSON XSSI avoidance prefix from the string (as documented </span></code></td></tr><tr><td id="L9834" class="css-a4x74f"><span>9834</span></td><td id="LC9834" class="css-1dcdqdg"><code><span class="code-comment"> * in the source maps specification), and then parse the string as </span></code></td></tr><tr><td id="L9835" class="css-a4x74f"><span>9835</span></td><td id="LC9835" class="css-1dcdqdg"><code><span class="code-comment"> * JSON. </span></code></td></tr><tr><td id="L9836" class="css-a4x74f"><span>9836</span></td><td id="LC9836" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9837" class="css-a4x74f"><span>9837</span></td><td id="LC9837" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">parseSourceMapInput</span>(<span class="code-params">str</span>) </span>{ </code></td></tr><tr><td id="L9838" class="css-a4x74f"><span>9838</span></td><td id="LC9838" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">JSON</span>.parse(str.replace(<span class="code-regexp">/^\)]}'[^\n]*\n/</span>, <span class="code-string">''</span>)); </code></td></tr><tr><td id="L9839" class="css-a4x74f"><span>9839</span></td><td id="LC9839" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9840" class="css-a4x74f"><span>9840</span></td><td id="LC9840" class="css-1dcdqdg"><code> exports.parseSourceMapInput = parseSourceMapInput; </code></td></tr><tr><td id="L9841" class="css-a4x74f"><span>9841</span></td><td id="LC9841" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9842" class="css-a4x74f"><span>9842</span></td><td id="LC9842" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9843" class="css-a4x74f"><span>9843</span></td><td id="LC9843" class="css-1dcdqdg"><code><span class="code-comment"> * Compute the URL of a source given the the source root, the source's </span></code></td></tr><tr><td id="L9844" class="css-a4x74f"><span>9844</span></td><td id="LC9844" class="css-1dcdqdg"><code><span class="code-comment"> * URL, and the source map's URL. </span></code></td></tr><tr><td id="L9845" class="css-a4x74f"><span>9845</span></td><td id="LC9845" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9846" class="css-a4x74f"><span>9846</span></td><td id="LC9846" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">computeSourceURL</span>(<span class="code-params">sourceRoot, sourceURL, sourceMapURL</span>) </span>{ </code></td></tr><tr><td id="L9847" class="css-a4x74f"><span>9847</span></td><td id="LC9847" class="css-1dcdqdg"><code> sourceURL = sourceURL || <span class="code-string">''</span>; </code></td></tr><tr><td id="L9848" class="css-a4x74f"><span>9848</span></td><td id="LC9848" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9849" class="css-a4x74f"><span>9849</span></td><td id="LC9849" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot) { </code></td></tr><tr><td id="L9850" class="css-a4x74f"><span>9850</span></td><td id="LC9850" class="css-1dcdqdg"><code> <span class="code-comment">// This follows what Chrome does.</span> </code></td></tr><tr><td id="L9851" class="css-a4x74f"><span>9851</span></td><td id="LC9851" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot[sourceRoot.length - <span class="code-number">1</span>] !== <span class="code-string">'/'</span> && sourceURL[<span class="code-number">0</span>] !== <span class="code-string">'/'</span>) { </code></td></tr><tr><td id="L9852" class="css-a4x74f"><span>9852</span></td><td id="LC9852" class="css-1dcdqdg"><code> sourceRoot += <span class="code-string">'/'</span>; </code></td></tr><tr><td id="L9853" class="css-a4x74f"><span>9853</span></td><td id="LC9853" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9854" class="css-a4x74f"><span>9854</span></td><td id="LC9854" class="css-1dcdqdg"><code> <span class="code-comment">// The spec says:</span> </code></td></tr><tr><td id="L9855" class="css-a4x74f"><span>9855</span></td><td id="LC9855" class="css-1dcdqdg"><code> <span class="code-comment">// Line 4: An optional source root, useful for relocating source</span> </code></td></tr><tr><td id="L9856" class="css-a4x74f"><span>9856</span></td><td id="LC9856" class="css-1dcdqdg"><code> <span class="code-comment">// files on a server or removing repeated values in the</span> </code></td></tr><tr><td id="L9857" class="css-a4x74f"><span>9857</span></td><td id="LC9857" class="css-1dcdqdg"><code> <span class="code-comment">// “sources” entry. This value is prepended to the individual</span> </code></td></tr><tr><td id="L9858" class="css-a4x74f"><span>9858</span></td><td id="LC9858" class="css-1dcdqdg"><code> <span class="code-comment">// entries in the “source” field.</span> </code></td></tr><tr><td id="L9859" class="css-a4x74f"><span>9859</span></td><td id="LC9859" class="css-1dcdqdg"><code> sourceURL = sourceRoot + sourceURL; </code></td></tr><tr><td id="L9860" class="css-a4x74f"><span>9860</span></td><td id="LC9860" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9861" class="css-a4x74f"><span>9861</span></td><td id="LC9861" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9862" class="css-a4x74f"><span>9862</span></td><td id="LC9862" class="css-1dcdqdg"><code> <span class="code-comment">// Historically, SourceMapConsumer did not take the sourceMapURL as</span> </code></td></tr><tr><td id="L9863" class="css-a4x74f"><span>9863</span></td><td id="LC9863" class="css-1dcdqdg"><code> <span class="code-comment">// a parameter. This mode is still somewhat supported, which is why</span> </code></td></tr><tr><td id="L9864" class="css-a4x74f"><span>9864</span></td><td id="LC9864" class="css-1dcdqdg"><code> <span class="code-comment">// this code block is conditional. However, it's preferable to pass</span> </code></td></tr><tr><td id="L9865" class="css-a4x74f"><span>9865</span></td><td id="LC9865" class="css-1dcdqdg"><code> <span class="code-comment">// the source map URL to SourceMapConsumer, so that this function</span> </code></td></tr><tr><td id="L9866" class="css-a4x74f"><span>9866</span></td><td id="LC9866" class="css-1dcdqdg"><code> <span class="code-comment">// can implement the source URL resolution algorithm as outlined in</span> </code></td></tr><tr><td id="L9867" class="css-a4x74f"><span>9867</span></td><td id="LC9867" class="css-1dcdqdg"><code> <span class="code-comment">// the spec. This block is basically the equivalent of:</span> </code></td></tr><tr><td id="L9868" class="css-a4x74f"><span>9868</span></td><td id="LC9868" class="css-1dcdqdg"><code> <span class="code-comment">// new URL(sourceURL, sourceMapURL).toString()</span> </code></td></tr><tr><td id="L9869" class="css-a4x74f"><span>9869</span></td><td id="LC9869" class="css-1dcdqdg"><code> <span class="code-comment">// ... except it avoids using URL, which wasn't available in the</span> </code></td></tr><tr><td id="L9870" class="css-a4x74f"><span>9870</span></td><td id="LC9870" class="css-1dcdqdg"><code> <span class="code-comment">// older releases of node still supported by this library.</span> </code></td></tr><tr><td id="L9871" class="css-a4x74f"><span>9871</span></td><td id="LC9871" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L9872" class="css-a4x74f"><span>9872</span></td><td id="LC9872" class="css-1dcdqdg"><code> <span class="code-comment">// The spec says:</span> </code></td></tr><tr><td id="L9873" class="css-a4x74f"><span>9873</span></td><td id="LC9873" class="css-1dcdqdg"><code> <span class="code-comment">// If the sources are not absolute URLs after prepending of the</span> </code></td></tr><tr><td id="L9874" class="css-a4x74f"><span>9874</span></td><td id="LC9874" class="css-1dcdqdg"><code> <span class="code-comment">// “sourceRoot”, the sources are resolved relative to the</span> </code></td></tr><tr><td id="L9875" class="css-a4x74f"><span>9875</span></td><td id="LC9875" class="css-1dcdqdg"><code> <span class="code-comment">// SourceMap (like resolving script src in a html document).</span> </code></td></tr><tr><td id="L9876" class="css-a4x74f"><span>9876</span></td><td id="LC9876" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceMapURL) { </code></td></tr><tr><td id="L9877" class="css-a4x74f"><span>9877</span></td><td id="LC9877" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parsed = urlParse(sourceMapURL); </code></td></tr><tr><td id="L9878" class="css-a4x74f"><span>9878</span></td><td id="LC9878" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parsed) { </code></td></tr><tr><td id="L9879" class="css-a4x74f"><span>9879</span></td><td id="LC9879" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">"sourceMapURL could not be parsed"</span>); </code></td></tr><tr><td id="L9880" class="css-a4x74f"><span>9880</span></td><td id="LC9880" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9881" class="css-a4x74f"><span>9881</span></td><td id="LC9881" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parsed.path) { </code></td></tr><tr><td id="L9882" class="css-a4x74f"><span>9882</span></td><td id="LC9882" class="css-1dcdqdg"><code> <span class="code-comment">// Strip the last path component, but keep the "/".</span> </code></td></tr><tr><td id="L9883" class="css-a4x74f"><span>9883</span></td><td id="LC9883" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> index = parsed.path.lastIndexOf(<span class="code-string">'/'</span>); </code></td></tr><tr><td id="L9884" class="css-a4x74f"><span>9884</span></td><td id="LC9884" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index >= <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9885" class="css-a4x74f"><span>9885</span></td><td id="LC9885" class="css-1dcdqdg"><code> parsed.path = parsed.path.substring(<span class="code-number">0</span>, index + <span class="code-number">1</span>); </code></td></tr><tr><td id="L9886" class="css-a4x74f"><span>9886</span></td><td id="LC9886" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9887" class="css-a4x74f"><span>9887</span></td><td id="LC9887" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9888" class="css-a4x74f"><span>9888</span></td><td id="LC9888" class="css-1dcdqdg"><code> sourceURL = join(urlGenerate(parsed), sourceURL); </code></td></tr><tr><td id="L9889" class="css-a4x74f"><span>9889</span></td><td id="LC9889" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9890" class="css-a4x74f"><span>9890</span></td><td id="LC9890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9891" class="css-a4x74f"><span>9891</span></td><td id="LC9891" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> normalize(sourceURL); </code></td></tr><tr><td id="L9892" class="css-a4x74f"><span>9892</span></td><td id="LC9892" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9893" class="css-a4x74f"><span>9893</span></td><td id="LC9893" class="css-1dcdqdg"><code> exports.computeSourceURL = computeSourceURL; </code></td></tr><tr><td id="L9894" class="css-a4x74f"><span>9894</span></td><td id="LC9894" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L9895" class="css-a4x74f"><span>9895</span></td><td id="LC9895" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_1 = util.getArg; </code></td></tr><tr><td id="L9896" class="css-a4x74f"><span>9896</span></td><td id="LC9896" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_2 = util.urlParse; </code></td></tr><tr><td id="L9897" class="css-a4x74f"><span>9897</span></td><td id="LC9897" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_3 = util.urlGenerate; </code></td></tr><tr><td id="L9898" class="css-a4x74f"><span>9898</span></td><td id="LC9898" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_4 = util.normalize; </code></td></tr><tr><td id="L9899" class="css-a4x74f"><span>9899</span></td><td id="LC9899" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_5 = util.join; </code></td></tr><tr><td id="L9900" class="css-a4x74f"><span>9900</span></td><td id="LC9900" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_6 = util.isAbsolute; </code></td></tr><tr><td id="L9901" class="css-a4x74f"><span>9901</span></td><td id="LC9901" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_7 = util.relative; </code></td></tr><tr><td id="L9902" class="css-a4x74f"><span>9902</span></td><td id="LC9902" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_8 = util.toSetString; </code></td></tr><tr><td id="L9903" class="css-a4x74f"><span>9903</span></td><td id="LC9903" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_9 = util.fromSetString; </code></td></tr><tr><td id="L9904" class="css-a4x74f"><span>9904</span></td><td id="LC9904" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_10 = util.compareByOriginalPositions; </code></td></tr><tr><td id="L9905" class="css-a4x74f"><span>9905</span></td><td id="LC9905" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_11 = util.compareByGeneratedPositionsDeflated; </code></td></tr><tr><td id="L9906" class="css-a4x74f"><span>9906</span></td><td id="LC9906" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_12 = util.compareByGeneratedPositionsInflated; </code></td></tr><tr><td id="L9907" class="css-a4x74f"><span>9907</span></td><td id="LC9907" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_13 = util.parseSourceMapInput; </code></td></tr><tr><td id="L9908" class="css-a4x74f"><span>9908</span></td><td id="LC9908" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> util_14 = util.computeSourceURL; </code></td></tr><tr><td id="L9909" class="css-a4x74f"><span>9909</span></td><td id="LC9909" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9910" class="css-a4x74f"><span>9910</span></td><td id="LC9910" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L9911" class="css-a4x74f"><span>9911</span></td><td id="LC9911" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L9912" class="css-a4x74f"><span>9912</span></td><td id="LC9912" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L9913" class="css-a4x74f"><span>9913</span></td><td id="LC9913" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L9914" class="css-a4x74f"><span>9914</span></td><td id="LC9914" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L9915" class="css-a4x74f"><span>9915</span></td><td id="LC9915" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9916" class="css-a4x74f"><span>9916</span></td><td id="LC9916" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9917" class="css-a4x74f"><span>9917</span></td><td id="LC9917" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9918" class="css-a4x74f"><span>9918</span></td><td id="LC9918" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> has = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L9919" class="css-a4x74f"><span>9919</span></td><td id="LC9919" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasNativeMap = <span class="code-keyword">typeof</span> <span class="code-built_in">Map</span> !== <span class="code-string">"undefined"</span>; </code></td></tr><tr><td id="L9920" class="css-a4x74f"><span>9920</span></td><td id="LC9920" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9921" class="css-a4x74f"><span>9921</span></td><td id="LC9921" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9922" class="css-a4x74f"><span>9922</span></td><td id="LC9922" class="css-1dcdqdg"><code><span class="code-comment"> * A data structure which is a combination of an array and a set. Adding a new </span></code></td></tr><tr><td id="L9923" class="css-a4x74f"><span>9923</span></td><td id="LC9923" class="css-1dcdqdg"><code><span class="code-comment"> * member is O(1), testing for membership is O(1), and finding the index of an </span></code></td></tr><tr><td id="L9924" class="css-a4x74f"><span>9924</span></td><td id="LC9924" class="css-1dcdqdg"><code><span class="code-comment"> * element is O(1). Removing elements from the set is not supported. Only </span></code></td></tr><tr><td id="L9925" class="css-a4x74f"><span>9925</span></td><td id="LC9925" class="css-1dcdqdg"><code><span class="code-comment"> * strings are supported for membership. </span></code></td></tr><tr><td id="L9926" class="css-a4x74f"><span>9926</span></td><td id="LC9926" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9927" class="css-a4x74f"><span>9927</span></td><td id="LC9927" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L9928" class="css-a4x74f"><span>9928</span></td><td id="LC9928" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array = []; </code></td></tr><tr><td id="L9929" class="css-a4x74f"><span>9929</span></td><td id="LC9929" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._set = hasNativeMap ? <span class="code-keyword">new</span> <span class="code-built_in">Map</span>() : <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L9930" class="css-a4x74f"><span>9930</span></td><td id="LC9930" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9931" class="css-a4x74f"><span>9931</span></td><td id="LC9931" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9932" class="css-a4x74f"><span>9932</span></td><td id="LC9932" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9933" class="css-a4x74f"><span>9933</span></td><td id="LC9933" class="css-1dcdqdg"><code><span class="code-comment"> * Static method for creating ArraySet instances from an existing array. </span></code></td></tr><tr><td id="L9934" class="css-a4x74f"><span>9934</span></td><td id="LC9934" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9935" class="css-a4x74f"><span>9935</span></td><td id="LC9935" class="css-1dcdqdg"><code> ArraySet.fromArray = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_fromArray</span>(<span class="code-params">aArray, aAllowDuplicates</span>) </span>{ </code></td></tr><tr><td id="L9936" class="css-a4x74f"><span>9936</span></td><td id="LC9936" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> <span class="code-keyword">set</span> = new ArraySet(); </code></td></tr><tr><td id="L9937" class="css-a4x74f"><span>9937</span></td><td id="LC9937" class="css-1dcdqdg"><code> for (var i = 0, len = aArray.length; i < len; i++) { </code></td></tr><tr><td id="L9938" class="css-a4x74f"><span>9938</span></td><td id="LC9938" class="css-1dcdqdg"><code> <span class="code-keyword">set</span>.add(aArray[i], aAllowDuplicates); </code></td></tr><tr><td id="L9939" class="css-a4x74f"><span>9939</span></td><td id="LC9939" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9940" class="css-a4x74f"><span>9940</span></td><td id="LC9940" class="css-1dcdqdg"><code> return <span class="code-keyword">set</span>; </code></td></tr><tr><td id="L9941" class="css-a4x74f"><span>9941</span></td><td id="LC9941" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9942" class="css-a4x74f"><span>9942</span></td><td id="LC9942" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9943" class="css-a4x74f"><span>9943</span></td><td id="LC9943" class="css-1dcdqdg"><code> /** </code></td></tr><tr><td id="L9944" class="css-a4x74f"><span>9944</span></td><td id="LC9944" class="css-1dcdqdg"><code> * Return how many unique items are in this ArraySet. If duplicates have been </code></td></tr><tr><td id="L9945" class="css-a4x74f"><span>9945</span></td><td id="LC9945" class="css-1dcdqdg"><code> * added, than those do not count towards the size. </code></td></tr><tr><td id="L9946" class="css-a4x74f"><span>9946</span></td><td id="LC9946" class="css-1dcdqdg"><code> * </code></td></tr><tr><td id="L9947" class="css-a4x74f"><span>9947</span></td><td id="LC9947" class="css-1dcdqdg"><code> * @returns Number </code></td></tr><tr><td id="L9948" class="css-a4x74f"><span>9948</span></td><td id="LC9948" class="css-1dcdqdg"><code> */ </code></td></tr><tr><td id="L9949" class="css-a4x74f"><span>9949</span></td><td id="LC9949" class="css-1dcdqdg"><code> ArraySet.prototype.size = function ArraySet_size() { </code></td></tr><tr><td id="L9950" class="css-a4x74f"><span>9950</span></td><td id="LC9950" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> hasNativeMap ? <span class="code-keyword">this</span>._set.size : <span class="code-built_in">Object</span>.getOwnPropertyNames(<span class="code-keyword">this</span>._set).length; </code></td></tr><tr><td id="L9951" class="css-a4x74f"><span>9951</span></td><td id="LC9951" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9952" class="css-a4x74f"><span>9952</span></td><td id="LC9952" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9953" class="css-a4x74f"><span>9953</span></td><td id="LC9953" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9954" class="css-a4x74f"><span>9954</span></td><td id="LC9954" class="css-1dcdqdg"><code><span class="code-comment"> * Add the given string to this set. </span></code></td></tr><tr><td id="L9955" class="css-a4x74f"><span>9955</span></td><td id="LC9955" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9956" class="css-a4x74f"><span>9956</span></td><td id="LC9956" class="css-1dcdqdg"><code><span class="code-comment"> * @param String aStr </span></code></td></tr><tr><td id="L9957" class="css-a4x74f"><span>9957</span></td><td id="LC9957" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9958" class="css-a4x74f"><span>9958</span></td><td id="LC9958" class="css-1dcdqdg"><code> ArraySet.prototype.add = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_add</span>(<span class="code-params">aStr, aAllowDuplicates</span>) </span>{ </code></td></tr><tr><td id="L9959" class="css-a4x74f"><span>9959</span></td><td id="LC9959" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sStr = hasNativeMap ? aStr : util.toSetString(aStr); </code></td></tr><tr><td id="L9960" class="css-a4x74f"><span>9960</span></td><td id="LC9960" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDuplicate = hasNativeMap ? <span class="code-keyword">this</span>.has(aStr) : has.call(<span class="code-keyword">this</span>._set, sStr); </code></td></tr><tr><td id="L9961" class="css-a4x74f"><span>9961</span></td><td id="LC9961" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> idx = <span class="code-keyword">this</span>._array.length; </code></td></tr><tr><td id="L9962" class="css-a4x74f"><span>9962</span></td><td id="LC9962" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDuplicate || aAllowDuplicates) { </code></td></tr><tr><td id="L9963" class="css-a4x74f"><span>9963</span></td><td id="LC9963" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array.push(aStr); </code></td></tr><tr><td id="L9964" class="css-a4x74f"><span>9964</span></td><td id="LC9964" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9965" class="css-a4x74f"><span>9965</span></td><td id="LC9965" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDuplicate) { </code></td></tr><tr><td id="L9966" class="css-a4x74f"><span>9966</span></td><td id="LC9966" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasNativeMap) { </code></td></tr><tr><td id="L9967" class="css-a4x74f"><span>9967</span></td><td id="LC9967" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._set.set(aStr, idx); </code></td></tr><tr><td id="L9968" class="css-a4x74f"><span>9968</span></td><td id="LC9968" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L9969" class="css-a4x74f"><span>9969</span></td><td id="LC9969" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._set[sStr] = idx; </code></td></tr><tr><td id="L9970" class="css-a4x74f"><span>9970</span></td><td id="LC9970" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9971" class="css-a4x74f"><span>9971</span></td><td id="LC9971" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9972" class="css-a4x74f"><span>9972</span></td><td id="LC9972" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9973" class="css-a4x74f"><span>9973</span></td><td id="LC9973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9974" class="css-a4x74f"><span>9974</span></td><td id="LC9974" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9975" class="css-a4x74f"><span>9975</span></td><td id="LC9975" class="css-1dcdqdg"><code><span class="code-comment"> * Is the given string a member of this set? </span></code></td></tr><tr><td id="L9976" class="css-a4x74f"><span>9976</span></td><td id="LC9976" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9977" class="css-a4x74f"><span>9977</span></td><td id="LC9977" class="css-1dcdqdg"><code><span class="code-comment"> * @param String aStr </span></code></td></tr><tr><td id="L9978" class="css-a4x74f"><span>9978</span></td><td id="LC9978" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9979" class="css-a4x74f"><span>9979</span></td><td id="LC9979" class="css-1dcdqdg"><code> ArraySet.prototype.has = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_has</span>(<span class="code-params">aStr</span>) </span>{ </code></td></tr><tr><td id="L9980" class="css-a4x74f"><span>9980</span></td><td id="LC9980" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasNativeMap) { </code></td></tr><tr><td id="L9981" class="css-a4x74f"><span>9981</span></td><td id="LC9981" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._set.has(aStr); </code></td></tr><tr><td id="L9982" class="css-a4x74f"><span>9982</span></td><td id="LC9982" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L9983" class="css-a4x74f"><span>9983</span></td><td id="LC9983" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sStr = util.toSetString(aStr); </code></td></tr><tr><td id="L9984" class="css-a4x74f"><span>9984</span></td><td id="LC9984" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> has.call(<span class="code-keyword">this</span>._set, sStr); </code></td></tr><tr><td id="L9985" class="css-a4x74f"><span>9985</span></td><td id="LC9985" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9986" class="css-a4x74f"><span>9986</span></td><td id="LC9986" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L9987" class="css-a4x74f"><span>9987</span></td><td id="LC9987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L9988" class="css-a4x74f"><span>9988</span></td><td id="LC9988" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L9989" class="css-a4x74f"><span>9989</span></td><td id="LC9989" class="css-1dcdqdg"><code><span class="code-comment"> * What is the index of the given string in the array? </span></code></td></tr><tr><td id="L9990" class="css-a4x74f"><span>9990</span></td><td id="LC9990" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L9991" class="css-a4x74f"><span>9991</span></td><td id="LC9991" class="css-1dcdqdg"><code><span class="code-comment"> * @param String aStr </span></code></td></tr><tr><td id="L9992" class="css-a4x74f"><span>9992</span></td><td id="LC9992" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L9993" class="css-a4x74f"><span>9993</span></td><td id="LC9993" class="css-1dcdqdg"><code> ArraySet.prototype.indexOf = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_indexOf</span>(<span class="code-params">aStr</span>) </span>{ </code></td></tr><tr><td id="L9994" class="css-a4x74f"><span>9994</span></td><td id="LC9994" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasNativeMap) { </code></td></tr><tr><td id="L9995" class="css-a4x74f"><span>9995</span></td><td id="LC9995" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> idx = <span class="code-keyword">this</span>._set.get(aStr); </code></td></tr><tr><td id="L9996" class="css-a4x74f"><span>9996</span></td><td id="LC9996" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (idx >= <span class="code-number">0</span>) { </code></td></tr><tr><td id="L9997" class="css-a4x74f"><span>9997</span></td><td id="LC9997" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> idx; </code></td></tr><tr><td id="L9998" class="css-a4x74f"><span>9998</span></td><td id="LC9998" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L9999" class="css-a4x74f"><span>9999</span></td><td id="LC9999" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10000" class="css-a4x74f"><span>10000</span></td><td id="LC10000" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sStr = util.toSetString(aStr); </code></td></tr><tr><td id="L10001" class="css-a4x74f"><span>10001</span></td><td id="LC10001" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (has.call(<span class="code-keyword">this</span>._set, sStr)) { </code></td></tr><tr><td id="L10002" class="css-a4x74f"><span>10002</span></td><td id="LC10002" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._set[sStr]; </code></td></tr><tr><td id="L10003" class="css-a4x74f"><span>10003</span></td><td id="LC10003" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10004" class="css-a4x74f"><span>10004</span></td><td id="LC10004" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10005" class="css-a4x74f"><span>10005</span></td><td id="LC10005" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10006" class="css-a4x74f"><span>10006</span></td><td id="LC10006" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'"'</span> + aStr + <span class="code-string">'" is not in the set.'</span>); </code></td></tr><tr><td id="L10007" class="css-a4x74f"><span>10007</span></td><td id="LC10007" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10008" class="css-a4x74f"><span>10008</span></td><td id="LC10008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10009" class="css-a4x74f"><span>10009</span></td><td id="LC10009" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10010" class="css-a4x74f"><span>10010</span></td><td id="LC10010" class="css-1dcdqdg"><code><span class="code-comment"> * What is the element at the given index? </span></code></td></tr><tr><td id="L10011" class="css-a4x74f"><span>10011</span></td><td id="LC10011" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10012" class="css-a4x74f"><span>10012</span></td><td id="LC10012" class="css-1dcdqdg"><code><span class="code-comment"> * @param Number aIdx </span></code></td></tr><tr><td id="L10013" class="css-a4x74f"><span>10013</span></td><td id="LC10013" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10014" class="css-a4x74f"><span>10014</span></td><td id="LC10014" class="css-1dcdqdg"><code> ArraySet.prototype.at = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_at</span>(<span class="code-params">aIdx</span>) </span>{ </code></td></tr><tr><td id="L10015" class="css-a4x74f"><span>10015</span></td><td id="LC10015" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aIdx >= <span class="code-number">0</span> && aIdx < <span class="code-keyword">this</span>._array.length) { </code></td></tr><tr><td id="L10016" class="css-a4x74f"><span>10016</span></td><td id="LC10016" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._array[aIdx]; </code></td></tr><tr><td id="L10017" class="css-a4x74f"><span>10017</span></td><td id="LC10017" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10018" class="css-a4x74f"><span>10018</span></td><td id="LC10018" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'No element indexed by '</span> + aIdx); </code></td></tr><tr><td id="L10019" class="css-a4x74f"><span>10019</span></td><td id="LC10019" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10020" class="css-a4x74f"><span>10020</span></td><td id="LC10020" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10021" class="css-a4x74f"><span>10021</span></td><td id="LC10021" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10022" class="css-a4x74f"><span>10022</span></td><td id="LC10022" class="css-1dcdqdg"><code><span class="code-comment"> * Returns the array representation of this set (which has the proper indices </span></code></td></tr><tr><td id="L10023" class="css-a4x74f"><span>10023</span></td><td id="LC10023" class="css-1dcdqdg"><code><span class="code-comment"> * indicated by indexOf). Note that this is a copy of the internal array used </span></code></td></tr><tr><td id="L10024" class="css-a4x74f"><span>10024</span></td><td id="LC10024" class="css-1dcdqdg"><code><span class="code-comment"> * for storing the members so that no one can mess with internal state. </span></code></td></tr><tr><td id="L10025" class="css-a4x74f"><span>10025</span></td><td id="LC10025" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10026" class="css-a4x74f"><span>10026</span></td><td id="LC10026" class="css-1dcdqdg"><code> ArraySet.prototype.toArray = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ArraySet_toArray</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10027" class="css-a4x74f"><span>10027</span></td><td id="LC10027" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._array.slice(); </code></td></tr><tr><td id="L10028" class="css-a4x74f"><span>10028</span></td><td id="LC10028" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10029" class="css-a4x74f"><span>10029</span></td><td id="LC10029" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10030" class="css-a4x74f"><span>10030</span></td><td id="LC10030" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ArraySet_1 = ArraySet; </code></td></tr><tr><td id="L10031" class="css-a4x74f"><span>10031</span></td><td id="LC10031" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10032" class="css-a4x74f"><span>10032</span></td><td id="LC10032" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> arraySet = { </code></td></tr><tr><td id="L10033" class="css-a4x74f"><span>10033</span></td><td id="LC10033" class="css-1dcdqdg"><code> ArraySet: ArraySet_1 </code></td></tr><tr><td id="L10034" class="css-a4x74f"><span>10034</span></td><td id="LC10034" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10035" class="css-a4x74f"><span>10035</span></td><td id="LC10035" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10036" class="css-a4x74f"><span>10036</span></td><td id="LC10036" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L10037" class="css-a4x74f"><span>10037</span></td><td id="LC10037" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L10038" class="css-a4x74f"><span>10038</span></td><td id="LC10038" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2014 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L10039" class="css-a4x74f"><span>10039</span></td><td id="LC10039" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L10040" class="css-a4x74f"><span>10040</span></td><td id="LC10040" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L10041" class="css-a4x74f"><span>10041</span></td><td id="LC10041" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10042" class="css-a4x74f"><span>10042</span></td><td id="LC10042" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10043" class="css-a4x74f"><span>10043</span></td><td id="LC10043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10044" class="css-a4x74f"><span>10044</span></td><td id="LC10044" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10045" class="css-a4x74f"><span>10045</span></td><td id="LC10045" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10046" class="css-a4x74f"><span>10046</span></td><td id="LC10046" class="css-1dcdqdg"><code><span class="code-comment"> * Determine whether mappingB is after mappingA with respect to generated </span></code></td></tr><tr><td id="L10047" class="css-a4x74f"><span>10047</span></td><td id="LC10047" class="css-1dcdqdg"><code><span class="code-comment"> * position. </span></code></td></tr><tr><td id="L10048" class="css-a4x74f"><span>10048</span></td><td id="LC10048" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10049" class="css-a4x74f"><span>10049</span></td><td id="LC10049" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generatedPositionAfter</span>(<span class="code-params">mappingA, mappingB</span>) </span>{ </code></td></tr><tr><td id="L10050" class="css-a4x74f"><span>10050</span></td><td id="LC10050" class="css-1dcdqdg"><code> <span class="code-comment">// Optimized for most common case</span> </code></td></tr><tr><td id="L10051" class="css-a4x74f"><span>10051</span></td><td id="LC10051" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lineA = mappingA.generatedLine; </code></td></tr><tr><td id="L10052" class="css-a4x74f"><span>10052</span></td><td id="LC10052" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lineB = mappingB.generatedLine; </code></td></tr><tr><td id="L10053" class="css-a4x74f"><span>10053</span></td><td id="LC10053" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> columnA = mappingA.generatedColumn; </code></td></tr><tr><td id="L10054" class="css-a4x74f"><span>10054</span></td><td id="LC10054" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> columnB = mappingB.generatedColumn; </code></td></tr><tr><td id="L10055" class="css-a4x74f"><span>10055</span></td><td id="LC10055" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> lineB > lineA || lineB == lineA && columnB >= columnA || </code></td></tr><tr><td id="L10056" class="css-a4x74f"><span>10056</span></td><td id="LC10056" class="css-1dcdqdg"><code> util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= <span class="code-number">0</span>; </code></td></tr><tr><td id="L10057" class="css-a4x74f"><span>10057</span></td><td id="LC10057" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10058" class="css-a4x74f"><span>10058</span></td><td id="LC10058" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10059" class="css-a4x74f"><span>10059</span></td><td id="LC10059" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10060" class="css-a4x74f"><span>10060</span></td><td id="LC10060" class="css-1dcdqdg"><code><span class="code-comment"> * A data structure to provide a sorted view of accumulated mappings in a </span></code></td></tr><tr><td id="L10061" class="css-a4x74f"><span>10061</span></td><td id="LC10061" class="css-1dcdqdg"><code><span class="code-comment"> * performance conscious manner. It trades a neglibable overhead in general </span></code></td></tr><tr><td id="L10062" class="css-a4x74f"><span>10062</span></td><td id="LC10062" class="css-1dcdqdg"><code><span class="code-comment"> * case for a large speedup in case of mappings being added in order. </span></code></td></tr><tr><td id="L10063" class="css-a4x74f"><span>10063</span></td><td id="LC10063" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10064" class="css-a4x74f"><span>10064</span></td><td id="LC10064" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">MappingList</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10065" class="css-a4x74f"><span>10065</span></td><td id="LC10065" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array = []; </code></td></tr><tr><td id="L10066" class="css-a4x74f"><span>10066</span></td><td id="LC10066" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sorted = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L10067" class="css-a4x74f"><span>10067</span></td><td id="LC10067" class="css-1dcdqdg"><code> <span class="code-comment">// Serves as infimum</span> </code></td></tr><tr><td id="L10068" class="css-a4x74f"><span>10068</span></td><td id="LC10068" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._last = {<span class="code-attr">generatedLine</span>: <span class="code-number">-1</span>, <span class="code-attr">generatedColumn</span>: <span class="code-number">0</span>}; </code></td></tr><tr><td id="L10069" class="css-a4x74f"><span>10069</span></td><td id="LC10069" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10070" class="css-a4x74f"><span>10070</span></td><td id="LC10070" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10071" class="css-a4x74f"><span>10071</span></td><td id="LC10071" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10072" class="css-a4x74f"><span>10072</span></td><td id="LC10072" class="css-1dcdqdg"><code><span class="code-comment"> * Iterate through internal items. This method takes the same arguments that </span></code></td></tr><tr><td id="L10073" class="css-a4x74f"><span>10073</span></td><td id="LC10073" class="css-1dcdqdg"><code><span class="code-comment"> * `Array.prototype.forEach` takes. </span></code></td></tr><tr><td id="L10074" class="css-a4x74f"><span>10074</span></td><td id="LC10074" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10075" class="css-a4x74f"><span>10075</span></td><td id="LC10075" class="css-1dcdqdg"><code><span class="code-comment"> * <span class="code-doctag">NOTE:</span> The order of the mappings is NOT guaranteed. </span></code></td></tr><tr><td id="L10076" class="css-a4x74f"><span>10076</span></td><td id="LC10076" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10077" class="css-a4x74f"><span>10077</span></td><td id="LC10077" class="css-1dcdqdg"><code> MappingList.prototype.unsortedForEach = </code></td></tr><tr><td id="L10078" class="css-a4x74f"><span>10078</span></td><td id="LC10078" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">MappingList_forEach</span>(<span class="code-params">aCallback, aThisArg</span>) </span>{ </code></td></tr><tr><td id="L10079" class="css-a4x74f"><span>10079</span></td><td id="LC10079" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array.forEach(aCallback, aThisArg); </code></td></tr><tr><td id="L10080" class="css-a4x74f"><span>10080</span></td><td id="LC10080" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10081" class="css-a4x74f"><span>10081</span></td><td id="LC10081" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10082" class="css-a4x74f"><span>10082</span></td><td id="LC10082" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10083" class="css-a4x74f"><span>10083</span></td><td id="LC10083" class="css-1dcdqdg"><code><span class="code-comment"> * Add the given source mapping. </span></code></td></tr><tr><td id="L10084" class="css-a4x74f"><span>10084</span></td><td id="LC10084" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10085" class="css-a4x74f"><span>10085</span></td><td id="LC10085" class="css-1dcdqdg"><code><span class="code-comment"> * @param Object aMapping </span></code></td></tr><tr><td id="L10086" class="css-a4x74f"><span>10086</span></td><td id="LC10086" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10087" class="css-a4x74f"><span>10087</span></td><td id="LC10087" class="css-1dcdqdg"><code> MappingList.prototype.add = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">MappingList_add</span>(<span class="code-params">aMapping</span>) </span>{ </code></td></tr><tr><td id="L10088" class="css-a4x74f"><span>10088</span></td><td id="LC10088" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (generatedPositionAfter(<span class="code-keyword">this</span>._last, aMapping)) { </code></td></tr><tr><td id="L10089" class="css-a4x74f"><span>10089</span></td><td id="LC10089" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._last = aMapping; </code></td></tr><tr><td id="L10090" class="css-a4x74f"><span>10090</span></td><td id="LC10090" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array.push(aMapping); </code></td></tr><tr><td id="L10091" class="css-a4x74f"><span>10091</span></td><td id="LC10091" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10092" class="css-a4x74f"><span>10092</span></td><td id="LC10092" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sorted = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L10093" class="css-a4x74f"><span>10093</span></td><td id="LC10093" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array.push(aMapping); </code></td></tr><tr><td id="L10094" class="css-a4x74f"><span>10094</span></td><td id="LC10094" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10095" class="css-a4x74f"><span>10095</span></td><td id="LC10095" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10096" class="css-a4x74f"><span>10096</span></td><td id="LC10096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10097" class="css-a4x74f"><span>10097</span></td><td id="LC10097" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10098" class="css-a4x74f"><span>10098</span></td><td id="LC10098" class="css-1dcdqdg"><code><span class="code-comment"> * Returns the flat, sorted array of mappings. The mappings are sorted by </span></code></td></tr><tr><td id="L10099" class="css-a4x74f"><span>10099</span></td><td id="LC10099" class="css-1dcdqdg"><code><span class="code-comment"> * generated position. </span></code></td></tr><tr><td id="L10100" class="css-a4x74f"><span>10100</span></td><td id="LC10100" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10101" class="css-a4x74f"><span>10101</span></td><td id="LC10101" class="css-1dcdqdg"><code><span class="code-comment"> * WARNING: This method returns internal data without copying, for </span></code></td></tr><tr><td id="L10102" class="css-a4x74f"><span>10102</span></td><td id="LC10102" class="css-1dcdqdg"><code><span class="code-comment"> * performance. The return value must NOT be mutated, and should be treated as </span></code></td></tr><tr><td id="L10103" class="css-a4x74f"><span>10103</span></td><td id="LC10103" class="css-1dcdqdg"><code><span class="code-comment"> * an immutable borrow. If you want to take ownership, you must make your own </span></code></td></tr><tr><td id="L10104" class="css-a4x74f"><span>10104</span></td><td id="LC10104" class="css-1dcdqdg"><code><span class="code-comment"> * copy. </span></code></td></tr><tr><td id="L10105" class="css-a4x74f"><span>10105</span></td><td id="LC10105" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10106" class="css-a4x74f"><span>10106</span></td><td id="LC10106" class="css-1dcdqdg"><code> MappingList.prototype.toArray = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">MappingList_toArray</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10107" class="css-a4x74f"><span>10107</span></td><td id="LC10107" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._sorted) { </code></td></tr><tr><td id="L10108" class="css-a4x74f"><span>10108</span></td><td id="LC10108" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._array.sort(util.compareByGeneratedPositionsInflated); </code></td></tr><tr><td id="L10109" class="css-a4x74f"><span>10109</span></td><td id="LC10109" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sorted = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L10110" class="css-a4x74f"><span>10110</span></td><td id="LC10110" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10111" class="css-a4x74f"><span>10111</span></td><td id="LC10111" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._array; </code></td></tr><tr><td id="L10112" class="css-a4x74f"><span>10112</span></td><td id="LC10112" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10113" class="css-a4x74f"><span>10113</span></td><td id="LC10113" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10114" class="css-a4x74f"><span>10114</span></td><td id="LC10114" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MappingList_1 = MappingList; </code></td></tr><tr><td id="L10115" class="css-a4x74f"><span>10115</span></td><td id="LC10115" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10116" class="css-a4x74f"><span>10116</span></td><td id="LC10116" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mappingList = { </code></td></tr><tr><td id="L10117" class="css-a4x74f"><span>10117</span></td><td id="LC10117" class="css-1dcdqdg"><code> MappingList: MappingList_1 </code></td></tr><tr><td id="L10118" class="css-a4x74f"><span>10118</span></td><td id="LC10118" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10119" class="css-a4x74f"><span>10119</span></td><td id="LC10119" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10120" class="css-a4x74f"><span>10120</span></td><td id="LC10120" class="css-1dcdqdg"><code> <span class="code-comment">/* -*- Mode: js; js-indent-level: 2; -*- */</span> </code></td></tr><tr><td id="L10121" class="css-a4x74f"><span>10121</span></td><td id="LC10121" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L10122" class="css-a4x74f"><span>10122</span></td><td id="LC10122" class="css-1dcdqdg"><code><span class="code-comment"> * Copyright 2011 Mozilla Foundation and contributors </span></code></td></tr><tr><td id="L10123" class="css-a4x74f"><span>10123</span></td><td id="LC10123" class="css-1dcdqdg"><code><span class="code-comment"> * Licensed under the New BSD license. See LICENSE or: </span></code></td></tr><tr><td id="L10124" class="css-a4x74f"><span>10124</span></td><td id="LC10124" class="css-1dcdqdg"><code><span class="code-comment"> * http://opensource.org/licenses/BSD-3-Clause </span></code></td></tr><tr><td id="L10125" class="css-a4x74f"><span>10125</span></td><td id="LC10125" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10126" class="css-a4x74f"><span>10126</span></td><td id="LC10126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10127" class="css-a4x74f"><span>10127</span></td><td id="LC10127" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10128" class="css-a4x74f"><span>10128</span></td><td id="LC10128" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10129" class="css-a4x74f"><span>10129</span></td><td id="LC10129" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ArraySet$<span class="code-number">1</span> = arraySet.ArraySet; </code></td></tr><tr><td id="L10130" class="css-a4x74f"><span>10130</span></td><td id="LC10130" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MappingList$<span class="code-number">1</span> = mappingList.MappingList; </code></td></tr><tr><td id="L10131" class="css-a4x74f"><span>10131</span></td><td id="LC10131" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10132" class="css-a4x74f"><span>10132</span></td><td id="LC10132" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10133" class="css-a4x74f"><span>10133</span></td><td id="LC10133" class="css-1dcdqdg"><code><span class="code-comment"> * An instance of the SourceMapGenerator represents a source map which is </span></code></td></tr><tr><td id="L10134" class="css-a4x74f"><span>10134</span></td><td id="LC10134" class="css-1dcdqdg"><code><span class="code-comment"> * being built incrementally. You may pass an object with the following </span></code></td></tr><tr><td id="L10135" class="css-a4x74f"><span>10135</span></td><td id="LC10135" class="css-1dcdqdg"><code><span class="code-comment"> * properties: </span></code></td></tr><tr><td id="L10136" class="css-a4x74f"><span>10136</span></td><td id="LC10136" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10137" class="css-a4x74f"><span>10137</span></td><td id="LC10137" class="css-1dcdqdg"><code><span class="code-comment"> * - file: The filename of the generated source. </span></code></td></tr><tr><td id="L10138" class="css-a4x74f"><span>10138</span></td><td id="LC10138" class="css-1dcdqdg"><code><span class="code-comment"> * - sourceRoot: A root for all relative URLs in this source map. </span></code></td></tr><tr><td id="L10139" class="css-a4x74f"><span>10139</span></td><td id="LC10139" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10140" class="css-a4x74f"><span>10140</span></td><td id="LC10140" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator</span>(<span class="code-params">aArgs</span>) </span>{ </code></td></tr><tr><td id="L10141" class="css-a4x74f"><span>10141</span></td><td id="LC10141" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!aArgs) { </code></td></tr><tr><td id="L10142" class="css-a4x74f"><span>10142</span></td><td id="LC10142" class="css-1dcdqdg"><code> aArgs = {}; </code></td></tr><tr><td id="L10143" class="css-a4x74f"><span>10143</span></td><td id="LC10143" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10144" class="css-a4x74f"><span>10144</span></td><td id="LC10144" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._file = util.getArg(aArgs, <span class="code-string">'file'</span>, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L10145" class="css-a4x74f"><span>10145</span></td><td id="LC10145" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sourceRoot = util.getArg(aArgs, <span class="code-string">'sourceRoot'</span>, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L10146" class="css-a4x74f"><span>10146</span></td><td id="LC10146" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._skipValidation = util.getArg(aArgs, <span class="code-string">'skipValidation'</span>, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L10147" class="css-a4x74f"><span>10147</span></td><td id="LC10147" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sources = <span class="code-keyword">new</span> ArraySet$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10148" class="css-a4x74f"><span>10148</span></td><td id="LC10148" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._names = <span class="code-keyword">new</span> ArraySet$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10149" class="css-a4x74f"><span>10149</span></td><td id="LC10149" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._mappings = <span class="code-keyword">new</span> MappingList$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10150" class="css-a4x74f"><span>10150</span></td><td id="LC10150" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sourcesContents = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10151" class="css-a4x74f"><span>10151</span></td><td id="LC10151" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10152" class="css-a4x74f"><span>10152</span></td><td id="LC10152" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10153" class="css-a4x74f"><span>10153</span></td><td id="LC10153" class="css-1dcdqdg"><code> SourceMapGenerator.prototype._version = <span class="code-number">3</span>; </code></td></tr><tr><td id="L10154" class="css-a4x74f"><span>10154</span></td><td id="LC10154" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10155" class="css-a4x74f"><span>10155</span></td><td id="LC10155" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10156" class="css-a4x74f"><span>10156</span></td><td id="LC10156" class="css-1dcdqdg"><code><span class="code-comment"> * Creates a new SourceMapGenerator based on a SourceMapConsumer </span></code></td></tr><tr><td id="L10157" class="css-a4x74f"><span>10157</span></td><td id="LC10157" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10158" class="css-a4x74f"><span>10158</span></td><td id="LC10158" class="css-1dcdqdg"><code><span class="code-comment"> * @param aSourceMapConsumer The SourceMap. </span></code></td></tr><tr><td id="L10159" class="css-a4x74f"><span>10159</span></td><td id="LC10159" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10160" class="css-a4x74f"><span>10160</span></td><td id="LC10160" class="css-1dcdqdg"><code> SourceMapGenerator.fromSourceMap = </code></td></tr><tr><td id="L10161" class="css-a4x74f"><span>10161</span></td><td id="LC10161" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_fromSourceMap</span>(<span class="code-params">aSourceMapConsumer</span>) </span>{ </code></td></tr><tr><td id="L10162" class="css-a4x74f"><span>10162</span></td><td id="LC10162" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceRoot = aSourceMapConsumer.sourceRoot; </code></td></tr><tr><td id="L10163" class="css-a4x74f"><span>10163</span></td><td id="LC10163" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generator = <span class="code-keyword">new</span> SourceMapGenerator({ </code></td></tr><tr><td id="L10164" class="css-a4x74f"><span>10164</span></td><td id="LC10164" class="css-1dcdqdg"><code> file: aSourceMapConsumer.file, </code></td></tr><tr><td id="L10165" class="css-a4x74f"><span>10165</span></td><td id="LC10165" class="css-1dcdqdg"><code> sourceRoot: sourceRoot </code></td></tr><tr><td id="L10166" class="css-a4x74f"><span>10166</span></td><td id="LC10166" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10167" class="css-a4x74f"><span>10167</span></td><td id="LC10167" class="css-1dcdqdg"><code> aSourceMapConsumer.eachMapping(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">mapping</span>) </span>{ </code></td></tr><tr><td id="L10168" class="css-a4x74f"><span>10168</span></td><td id="LC10168" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> newMapping = { </code></td></tr><tr><td id="L10169" class="css-a4x74f"><span>10169</span></td><td id="LC10169" class="css-1dcdqdg"><code> generated: { </code></td></tr><tr><td id="L10170" class="css-a4x74f"><span>10170</span></td><td id="LC10170" class="css-1dcdqdg"><code> line: mapping.generatedLine, </code></td></tr><tr><td id="L10171" class="css-a4x74f"><span>10171</span></td><td id="LC10171" class="css-1dcdqdg"><code> column: mapping.generatedColumn </code></td></tr><tr><td id="L10172" class="css-a4x74f"><span>10172</span></td><td id="LC10172" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10173" class="css-a4x74f"><span>10173</span></td><td id="LC10173" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10174" class="css-a4x74f"><span>10174</span></td><td id="LC10174" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10175" class="css-a4x74f"><span>10175</span></td><td id="LC10175" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.source != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10176" class="css-a4x74f"><span>10176</span></td><td id="LC10176" class="css-1dcdqdg"><code> newMapping.source = mapping.source; </code></td></tr><tr><td id="L10177" class="css-a4x74f"><span>10177</span></td><td id="LC10177" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10178" class="css-a4x74f"><span>10178</span></td><td id="LC10178" class="css-1dcdqdg"><code> newMapping.source = util.relative(sourceRoot, newMapping.source); </code></td></tr><tr><td id="L10179" class="css-a4x74f"><span>10179</span></td><td id="LC10179" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10180" class="css-a4x74f"><span>10180</span></td><td id="LC10180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10181" class="css-a4x74f"><span>10181</span></td><td id="LC10181" class="css-1dcdqdg"><code> newMapping.original = { </code></td></tr><tr><td id="L10182" class="css-a4x74f"><span>10182</span></td><td id="LC10182" class="css-1dcdqdg"><code> line: mapping.originalLine, </code></td></tr><tr><td id="L10183" class="css-a4x74f"><span>10183</span></td><td id="LC10183" class="css-1dcdqdg"><code> column: mapping.originalColumn </code></td></tr><tr><td id="L10184" class="css-a4x74f"><span>10184</span></td><td id="LC10184" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10185" class="css-a4x74f"><span>10185</span></td><td id="LC10185" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10186" class="css-a4x74f"><span>10186</span></td><td id="LC10186" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.name != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10187" class="css-a4x74f"><span>10187</span></td><td id="LC10187" class="css-1dcdqdg"><code> newMapping.name = mapping.name; </code></td></tr><tr><td id="L10188" class="css-a4x74f"><span>10188</span></td><td id="LC10188" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10189" class="css-a4x74f"><span>10189</span></td><td id="LC10189" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10190" class="css-a4x74f"><span>10190</span></td><td id="LC10190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10191" class="css-a4x74f"><span>10191</span></td><td id="LC10191" class="css-1dcdqdg"><code> generator.addMapping(newMapping); </code></td></tr><tr><td id="L10192" class="css-a4x74f"><span>10192</span></td><td id="LC10192" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10193" class="css-a4x74f"><span>10193</span></td><td id="LC10193" class="css-1dcdqdg"><code> aSourceMapConsumer.sources.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">sourceFile</span>) </span>{ </code></td></tr><tr><td id="L10194" class="css-a4x74f"><span>10194</span></td><td id="LC10194" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceRelative = sourceFile; </code></td></tr><tr><td id="L10195" class="css-a4x74f"><span>10195</span></td><td id="LC10195" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10196" class="css-a4x74f"><span>10196</span></td><td id="LC10196" class="css-1dcdqdg"><code> sourceRelative = util.relative(sourceRoot, sourceFile); </code></td></tr><tr><td id="L10197" class="css-a4x74f"><span>10197</span></td><td id="LC10197" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10198" class="css-a4x74f"><span>10198</span></td><td id="LC10198" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10199" class="css-a4x74f"><span>10199</span></td><td id="LC10199" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!generator._sources.has(sourceRelative)) { </code></td></tr><tr><td id="L10200" class="css-a4x74f"><span>10200</span></td><td id="LC10200" class="css-1dcdqdg"><code> generator._sources.add(sourceRelative); </code></td></tr><tr><td id="L10201" class="css-a4x74f"><span>10201</span></td><td id="LC10201" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10202" class="css-a4x74f"><span>10202</span></td><td id="LC10202" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10203" class="css-a4x74f"><span>10203</span></td><td id="LC10203" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> content = aSourceMapConsumer.sourceContentFor(sourceFile); </code></td></tr><tr><td id="L10204" class="css-a4x74f"><span>10204</span></td><td id="LC10204" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (content != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10205" class="css-a4x74f"><span>10205</span></td><td id="LC10205" class="css-1dcdqdg"><code> generator.setSourceContent(sourceFile, content); </code></td></tr><tr><td id="L10206" class="css-a4x74f"><span>10206</span></td><td id="LC10206" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10207" class="css-a4x74f"><span>10207</span></td><td id="LC10207" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10208" class="css-a4x74f"><span>10208</span></td><td id="LC10208" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> generator; </code></td></tr><tr><td id="L10209" class="css-a4x74f"><span>10209</span></td><td id="LC10209" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10210" class="css-a4x74f"><span>10210</span></td><td id="LC10210" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10211" class="css-a4x74f"><span>10211</span></td><td id="LC10211" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10212" class="css-a4x74f"><span>10212</span></td><td id="LC10212" class="css-1dcdqdg"><code><span class="code-comment"> * Add a single mapping from original source line and column to the generated </span></code></td></tr><tr><td id="L10213" class="css-a4x74f"><span>10213</span></td><td id="LC10213" class="css-1dcdqdg"><code><span class="code-comment"> * source's line and column for this source map being created. The mapping </span></code></td></tr><tr><td id="L10214" class="css-a4x74f"><span>10214</span></td><td id="LC10214" class="css-1dcdqdg"><code><span class="code-comment"> * object should have the following properties: </span></code></td></tr><tr><td id="L10215" class="css-a4x74f"><span>10215</span></td><td id="LC10215" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10216" class="css-a4x74f"><span>10216</span></td><td id="LC10216" class="css-1dcdqdg"><code><span class="code-comment"> * - generated: An object with the generated line and column positions. </span></code></td></tr><tr><td id="L10217" class="css-a4x74f"><span>10217</span></td><td id="LC10217" class="css-1dcdqdg"><code><span class="code-comment"> * - original: An object with the original line and column positions. </span></code></td></tr><tr><td id="L10218" class="css-a4x74f"><span>10218</span></td><td id="LC10218" class="css-1dcdqdg"><code><span class="code-comment"> * - source: The original source file (relative to the sourceRoot). </span></code></td></tr><tr><td id="L10219" class="css-a4x74f"><span>10219</span></td><td id="LC10219" class="css-1dcdqdg"><code><span class="code-comment"> * - name: An optional original token name for this mapping. </span></code></td></tr><tr><td id="L10220" class="css-a4x74f"><span>10220</span></td><td id="LC10220" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10221" class="css-a4x74f"><span>10221</span></td><td id="LC10221" class="css-1dcdqdg"><code> SourceMapGenerator.prototype.addMapping = </code></td></tr><tr><td id="L10222" class="css-a4x74f"><span>10222</span></td><td id="LC10222" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_addMapping</span>(<span class="code-params">aArgs</span>) </span>{ </code></td></tr><tr><td id="L10223" class="css-a4x74f"><span>10223</span></td><td id="LC10223" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generated = util.getArg(aArgs, <span class="code-string">'generated'</span>); </code></td></tr><tr><td id="L10224" class="css-a4x74f"><span>10224</span></td><td id="LC10224" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> original = util.getArg(aArgs, <span class="code-string">'original'</span>, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L10225" class="css-a4x74f"><span>10225</span></td><td id="LC10225" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> source = util.getArg(aArgs, <span class="code-string">'source'</span>, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L10226" class="css-a4x74f"><span>10226</span></td><td id="LC10226" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = util.getArg(aArgs, <span class="code-string">'name'</span>, <span class="code-literal">null</span>); </code></td></tr><tr><td id="L10227" class="css-a4x74f"><span>10227</span></td><td id="LC10227" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10228" class="css-a4x74f"><span>10228</span></td><td id="LC10228" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._skipValidation) { </code></td></tr><tr><td id="L10229" class="css-a4x74f"><span>10229</span></td><td id="LC10229" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._validateMapping(generated, original, source, name); </code></td></tr><tr><td id="L10230" class="css-a4x74f"><span>10230</span></td><td id="LC10230" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10231" class="css-a4x74f"><span>10231</span></td><td id="LC10231" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10232" class="css-a4x74f"><span>10232</span></td><td id="LC10232" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (source != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10233" class="css-a4x74f"><span>10233</span></td><td id="LC10233" class="css-1dcdqdg"><code> source = <span class="code-built_in">String</span>(source); </code></td></tr><tr><td id="L10234" class="css-a4x74f"><span>10234</span></td><td id="LC10234" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._sources.has(source)) { </code></td></tr><tr><td id="L10235" class="css-a4x74f"><span>10235</span></td><td id="LC10235" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sources.add(source); </code></td></tr><tr><td id="L10236" class="css-a4x74f"><span>10236</span></td><td id="LC10236" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10237" class="css-a4x74f"><span>10237</span></td><td id="LC10237" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10238" class="css-a4x74f"><span>10238</span></td><td id="LC10238" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10239" class="css-a4x74f"><span>10239</span></td><td id="LC10239" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10240" class="css-a4x74f"><span>10240</span></td><td id="LC10240" class="css-1dcdqdg"><code> name = <span class="code-built_in">String</span>(name); </code></td></tr><tr><td id="L10241" class="css-a4x74f"><span>10241</span></td><td id="LC10241" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._names.has(name)) { </code></td></tr><tr><td id="L10242" class="css-a4x74f"><span>10242</span></td><td id="LC10242" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._names.add(name); </code></td></tr><tr><td id="L10243" class="css-a4x74f"><span>10243</span></td><td id="LC10243" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10244" class="css-a4x74f"><span>10244</span></td><td id="LC10244" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10245" class="css-a4x74f"><span>10245</span></td><td id="LC10245" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10246" class="css-a4x74f"><span>10246</span></td><td id="LC10246" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._mappings.add({ </code></td></tr><tr><td id="L10247" class="css-a4x74f"><span>10247</span></td><td id="LC10247" class="css-1dcdqdg"><code> generatedLine: generated.line, </code></td></tr><tr><td id="L10248" class="css-a4x74f"><span>10248</span></td><td id="LC10248" class="css-1dcdqdg"><code> generatedColumn: generated.column, </code></td></tr><tr><td id="L10249" class="css-a4x74f"><span>10249</span></td><td id="LC10249" class="css-1dcdqdg"><code> originalLine: original != <span class="code-literal">null</span> && original.line, </code></td></tr><tr><td id="L10250" class="css-a4x74f"><span>10250</span></td><td id="LC10250" class="css-1dcdqdg"><code> originalColumn: original != <span class="code-literal">null</span> && original.column, </code></td></tr><tr><td id="L10251" class="css-a4x74f"><span>10251</span></td><td id="LC10251" class="css-1dcdqdg"><code> source: source, </code></td></tr><tr><td id="L10252" class="css-a4x74f"><span>10252</span></td><td id="LC10252" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L10253" class="css-a4x74f"><span>10253</span></td><td id="LC10253" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10254" class="css-a4x74f"><span>10254</span></td><td id="LC10254" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10255" class="css-a4x74f"><span>10255</span></td><td id="LC10255" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10256" class="css-a4x74f"><span>10256</span></td><td id="LC10256" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10257" class="css-a4x74f"><span>10257</span></td><td id="LC10257" class="css-1dcdqdg"><code><span class="code-comment"> * Set the source content for a source file. </span></code></td></tr><tr><td id="L10258" class="css-a4x74f"><span>10258</span></td><td id="LC10258" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10259" class="css-a4x74f"><span>10259</span></td><td id="LC10259" class="css-1dcdqdg"><code> SourceMapGenerator.prototype.setSourceContent = </code></td></tr><tr><td id="L10260" class="css-a4x74f"><span>10260</span></td><td id="LC10260" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_setSourceContent</span>(<span class="code-params">aSourceFile, aSourceContent</span>) </span>{ </code></td></tr><tr><td id="L10261" class="css-a4x74f"><span>10261</span></td><td id="LC10261" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> source = aSourceFile; </code></td></tr><tr><td id="L10262" class="css-a4x74f"><span>10262</span></td><td id="LC10262" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>._sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10263" class="css-a4x74f"><span>10263</span></td><td id="LC10263" class="css-1dcdqdg"><code> source = util.relative(<span class="code-keyword">this</span>._sourceRoot, source); </code></td></tr><tr><td id="L10264" class="css-a4x74f"><span>10264</span></td><td id="LC10264" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10265" class="css-a4x74f"><span>10265</span></td><td id="LC10265" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10266" class="css-a4x74f"><span>10266</span></td><td id="LC10266" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceContent != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10267" class="css-a4x74f"><span>10267</span></td><td id="LC10267" class="css-1dcdqdg"><code> <span class="code-comment">// Add the source content to the _sourcesContents map.</span> </code></td></tr><tr><td id="L10268" class="css-a4x74f"><span>10268</span></td><td id="LC10268" class="css-1dcdqdg"><code> <span class="code-comment">// Create a new _sourcesContents map if the property is null.</span> </code></td></tr><tr><td id="L10269" class="css-a4x74f"><span>10269</span></td><td id="LC10269" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._sourcesContents) { </code></td></tr><tr><td id="L10270" class="css-a4x74f"><span>10270</span></td><td id="LC10270" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sourcesContents = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L10271" class="css-a4x74f"><span>10271</span></td><td id="LC10271" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10272" class="css-a4x74f"><span>10272</span></td><td id="LC10272" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sourcesContents[util.toSetString(source)] = aSourceContent; </code></td></tr><tr><td id="L10273" class="css-a4x74f"><span>10273</span></td><td id="LC10273" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>._sourcesContents) { </code></td></tr><tr><td id="L10274" class="css-a4x74f"><span>10274</span></td><td id="LC10274" class="css-1dcdqdg"><code> <span class="code-comment">// Remove the source file from the _sourcesContents map.</span> </code></td></tr><tr><td id="L10275" class="css-a4x74f"><span>10275</span></td><td id="LC10275" class="css-1dcdqdg"><code> <span class="code-comment">// If the _sourcesContents map is empty, set the property to null.</span> </code></td></tr><tr><td id="L10276" class="css-a4x74f"><span>10276</span></td><td id="LC10276" class="css-1dcdqdg"><code> <span class="code-keyword">delete</span> <span class="code-keyword">this</span>._sourcesContents[util.toSetString(source)]; </code></td></tr><tr><td id="L10277" class="css-a4x74f"><span>10277</span></td><td id="LC10277" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>._sourcesContents).length === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L10278" class="css-a4x74f"><span>10278</span></td><td id="LC10278" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sourcesContents = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10279" class="css-a4x74f"><span>10279</span></td><td id="LC10279" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10280" class="css-a4x74f"><span>10280</span></td><td id="LC10280" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10281" class="css-a4x74f"><span>10281</span></td><td id="LC10281" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10282" class="css-a4x74f"><span>10282</span></td><td id="LC10282" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10283" class="css-a4x74f"><span>10283</span></td><td id="LC10283" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10284" class="css-a4x74f"><span>10284</span></td><td id="LC10284" class="css-1dcdqdg"><code><span class="code-comment"> * Applies the mappings of a sub-source-map for a specific source file to the </span></code></td></tr><tr><td id="L10285" class="css-a4x74f"><span>10285</span></td><td id="LC10285" class="css-1dcdqdg"><code><span class="code-comment"> * source map being generated. Each mapping to the supplied source file is </span></code></td></tr><tr><td id="L10286" class="css-a4x74f"><span>10286</span></td><td id="LC10286" class="css-1dcdqdg"><code><span class="code-comment"> * rewritten using the supplied source map. <span class="code-doctag">Note:</span> The resolution for the </span></code></td></tr><tr><td id="L10287" class="css-a4x74f"><span>10287</span></td><td id="LC10287" class="css-1dcdqdg"><code><span class="code-comment"> * resulting mappings is the minimium of this map and the supplied map. </span></code></td></tr><tr><td id="L10288" class="css-a4x74f"><span>10288</span></td><td id="LC10288" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10289" class="css-a4x74f"><span>10289</span></td><td id="LC10289" class="css-1dcdqdg"><code><span class="code-comment"> * @param aSourceMapConsumer The source map to be applied. </span></code></td></tr><tr><td id="L10290" class="css-a4x74f"><span>10290</span></td><td id="LC10290" class="css-1dcdqdg"><code><span class="code-comment"> * @param aSourceFile Optional. The filename of the source file. </span></code></td></tr><tr><td id="L10291" class="css-a4x74f"><span>10291</span></td><td id="LC10291" class="css-1dcdqdg"><code><span class="code-comment"> * If omitted, SourceMapConsumer's file property will be used. </span></code></td></tr><tr><td id="L10292" class="css-a4x74f"><span>10292</span></td><td id="LC10292" class="css-1dcdqdg"><code><span class="code-comment"> * @param aSourceMapPath Optional. The dirname of the path to the source map </span></code></td></tr><tr><td id="L10293" class="css-a4x74f"><span>10293</span></td><td id="LC10293" class="css-1dcdqdg"><code><span class="code-comment"> * to be applied. If relative, it is relative to the SourceMapConsumer. </span></code></td></tr><tr><td id="L10294" class="css-a4x74f"><span>10294</span></td><td id="LC10294" class="css-1dcdqdg"><code><span class="code-comment"> * This parameter is needed when the two source maps aren't in the same </span></code></td></tr><tr><td id="L10295" class="css-a4x74f"><span>10295</span></td><td id="LC10295" class="css-1dcdqdg"><code><span class="code-comment"> * directory, and the source map to be applied contains relative source </span></code></td></tr><tr><td id="L10296" class="css-a4x74f"><span>10296</span></td><td id="LC10296" class="css-1dcdqdg"><code><span class="code-comment"> * paths. If so, those relative source paths need to be rewritten </span></code></td></tr><tr><td id="L10297" class="css-a4x74f"><span>10297</span></td><td id="LC10297" class="css-1dcdqdg"><code><span class="code-comment"> * relative to the SourceMapGenerator. </span></code></td></tr><tr><td id="L10298" class="css-a4x74f"><span>10298</span></td><td id="LC10298" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10299" class="css-a4x74f"><span>10299</span></td><td id="LC10299" class="css-1dcdqdg"><code> SourceMapGenerator.prototype.applySourceMap = </code></td></tr><tr><td id="L10300" class="css-a4x74f"><span>10300</span></td><td id="LC10300" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_applySourceMap</span>(<span class="code-params">aSourceMapConsumer, aSourceFile, aSourceMapPath</span>) </span>{ </code></td></tr><tr><td id="L10301" class="css-a4x74f"><span>10301</span></td><td id="LC10301" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceFile = aSourceFile; </code></td></tr><tr><td id="L10302" class="css-a4x74f"><span>10302</span></td><td id="LC10302" class="css-1dcdqdg"><code> <span class="code-comment">// If aSourceFile is omitted, we will use the file property of the SourceMap</span> </code></td></tr><tr><td id="L10303" class="css-a4x74f"><span>10303</span></td><td id="LC10303" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceFile == <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10304" class="css-a4x74f"><span>10304</span></td><td id="LC10304" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceMapConsumer.file == <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10305" class="css-a4x74f"><span>10305</span></td><td id="LC10305" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>( </code></td></tr><tr><td id="L10306" class="css-a4x74f"><span>10306</span></td><td id="LC10306" class="css-1dcdqdg"><code> <span class="code-string">'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, '</span> + </code></td></tr><tr><td id="L10307" class="css-a4x74f"><span>10307</span></td><td id="LC10307" class="css-1dcdqdg"><code> <span class="code-string">'or the source map\'s "file" property. Both were omitted.'</span> </code></td></tr><tr><td id="L10308" class="css-a4x74f"><span>10308</span></td><td id="LC10308" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L10309" class="css-a4x74f"><span>10309</span></td><td id="LC10309" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10310" class="css-a4x74f"><span>10310</span></td><td id="LC10310" class="css-1dcdqdg"><code> sourceFile = aSourceMapConsumer.file; </code></td></tr><tr><td id="L10311" class="css-a4x74f"><span>10311</span></td><td id="LC10311" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10312" class="css-a4x74f"><span>10312</span></td><td id="LC10312" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceRoot = <span class="code-keyword">this</span>._sourceRoot; </code></td></tr><tr><td id="L10313" class="css-a4x74f"><span>10313</span></td><td id="LC10313" class="css-1dcdqdg"><code> <span class="code-comment">// Make "sourceFile" relative if an absolute Url is passed.</span> </code></td></tr><tr><td id="L10314" class="css-a4x74f"><span>10314</span></td><td id="LC10314" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10315" class="css-a4x74f"><span>10315</span></td><td id="LC10315" class="css-1dcdqdg"><code> sourceFile = util.relative(sourceRoot, sourceFile); </code></td></tr><tr><td id="L10316" class="css-a4x74f"><span>10316</span></td><td id="LC10316" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10317" class="css-a4x74f"><span>10317</span></td><td id="LC10317" class="css-1dcdqdg"><code> <span class="code-comment">// Applying the SourceMap can add and remove items from the sources and</span> </code></td></tr><tr><td id="L10318" class="css-a4x74f"><span>10318</span></td><td id="LC10318" class="css-1dcdqdg"><code> <span class="code-comment">// the names array.</span> </code></td></tr><tr><td id="L10319" class="css-a4x74f"><span>10319</span></td><td id="LC10319" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> newSources = <span class="code-keyword">new</span> ArraySet$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10320" class="css-a4x74f"><span>10320</span></td><td id="LC10320" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> newNames = <span class="code-keyword">new</span> ArraySet$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10321" class="css-a4x74f"><span>10321</span></td><td id="LC10321" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10322" class="css-a4x74f"><span>10322</span></td><td id="LC10322" class="css-1dcdqdg"><code> <span class="code-comment">// Find mappings for the "sourceFile"</span> </code></td></tr><tr><td id="L10323" class="css-a4x74f"><span>10323</span></td><td id="LC10323" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._mappings.unsortedForEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">mapping</span>) </span>{ </code></td></tr><tr><td id="L10324" class="css-a4x74f"><span>10324</span></td><td id="LC10324" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.source === sourceFile && mapping.originalLine != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10325" class="css-a4x74f"><span>10325</span></td><td id="LC10325" class="css-1dcdqdg"><code> <span class="code-comment">// Check if it can be mapped by the source map, then update the mapping.</span> </code></td></tr><tr><td id="L10326" class="css-a4x74f"><span>10326</span></td><td id="LC10326" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> original = aSourceMapConsumer.originalPositionFor({ </code></td></tr><tr><td id="L10327" class="css-a4x74f"><span>10327</span></td><td id="LC10327" class="css-1dcdqdg"><code> line: mapping.originalLine, </code></td></tr><tr><td id="L10328" class="css-a4x74f"><span>10328</span></td><td id="LC10328" class="css-1dcdqdg"><code> column: mapping.originalColumn </code></td></tr><tr><td id="L10329" class="css-a4x74f"><span>10329</span></td><td id="LC10329" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10330" class="css-a4x74f"><span>10330</span></td><td id="LC10330" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (original.source != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10331" class="css-a4x74f"><span>10331</span></td><td id="LC10331" class="css-1dcdqdg"><code> <span class="code-comment">// Copy mapping</span> </code></td></tr><tr><td id="L10332" class="css-a4x74f"><span>10332</span></td><td id="LC10332" class="css-1dcdqdg"><code> mapping.source = original.source; </code></td></tr><tr><td id="L10333" class="css-a4x74f"><span>10333</span></td><td id="LC10333" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceMapPath != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10334" class="css-a4x74f"><span>10334</span></td><td id="LC10334" class="css-1dcdqdg"><code> mapping.source = util.join(aSourceMapPath, mapping.source); </code></td></tr><tr><td id="L10335" class="css-a4x74f"><span>10335</span></td><td id="LC10335" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10336" class="css-a4x74f"><span>10336</span></td><td id="LC10336" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10337" class="css-a4x74f"><span>10337</span></td><td id="LC10337" class="css-1dcdqdg"><code> mapping.source = util.relative(sourceRoot, mapping.source); </code></td></tr><tr><td id="L10338" class="css-a4x74f"><span>10338</span></td><td id="LC10338" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10339" class="css-a4x74f"><span>10339</span></td><td id="LC10339" class="css-1dcdqdg"><code> mapping.originalLine = original.line; </code></td></tr><tr><td id="L10340" class="css-a4x74f"><span>10340</span></td><td id="LC10340" class="css-1dcdqdg"><code> mapping.originalColumn = original.column; </code></td></tr><tr><td id="L10341" class="css-a4x74f"><span>10341</span></td><td id="LC10341" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (original.name != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10342" class="css-a4x74f"><span>10342</span></td><td id="LC10342" class="css-1dcdqdg"><code> mapping.name = original.name; </code></td></tr><tr><td id="L10343" class="css-a4x74f"><span>10343</span></td><td id="LC10343" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10344" class="css-a4x74f"><span>10344</span></td><td id="LC10344" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10345" class="css-a4x74f"><span>10345</span></td><td id="LC10345" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10346" class="css-a4x74f"><span>10346</span></td><td id="LC10346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10347" class="css-a4x74f"><span>10347</span></td><td id="LC10347" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> source = mapping.source; </code></td></tr><tr><td id="L10348" class="css-a4x74f"><span>10348</span></td><td id="LC10348" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (source != <span class="code-literal">null</span> && !newSources.has(source)) { </code></td></tr><tr><td id="L10349" class="css-a4x74f"><span>10349</span></td><td id="LC10349" class="css-1dcdqdg"><code> newSources.add(source); </code></td></tr><tr><td id="L10350" class="css-a4x74f"><span>10350</span></td><td id="LC10350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10351" class="css-a4x74f"><span>10351</span></td><td id="LC10351" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10352" class="css-a4x74f"><span>10352</span></td><td id="LC10352" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = mapping.name; </code></td></tr><tr><td id="L10353" class="css-a4x74f"><span>10353</span></td><td id="LC10353" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name != <span class="code-literal">null</span> && !newNames.has(name)) { </code></td></tr><tr><td id="L10354" class="css-a4x74f"><span>10354</span></td><td id="LC10354" class="css-1dcdqdg"><code> newNames.add(name); </code></td></tr><tr><td id="L10355" class="css-a4x74f"><span>10355</span></td><td id="LC10355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10356" class="css-a4x74f"><span>10356</span></td><td id="LC10356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10357" class="css-a4x74f"><span>10357</span></td><td id="LC10357" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L10358" class="css-a4x74f"><span>10358</span></td><td id="LC10358" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._sources = newSources; </code></td></tr><tr><td id="L10359" class="css-a4x74f"><span>10359</span></td><td id="LC10359" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._names = newNames; </code></td></tr><tr><td id="L10360" class="css-a4x74f"><span>10360</span></td><td id="LC10360" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10361" class="css-a4x74f"><span>10361</span></td><td id="LC10361" class="css-1dcdqdg"><code> <span class="code-comment">// Copy sourcesContents of applied map.</span> </code></td></tr><tr><td id="L10362" class="css-a4x74f"><span>10362</span></td><td id="LC10362" class="css-1dcdqdg"><code> aSourceMapConsumer.sources.forEach(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">sourceFile</span>) </span>{ </code></td></tr><tr><td id="L10363" class="css-a4x74f"><span>10363</span></td><td id="LC10363" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> content = aSourceMapConsumer.sourceContentFor(sourceFile); </code></td></tr><tr><td id="L10364" class="css-a4x74f"><span>10364</span></td><td id="LC10364" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (content != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10365" class="css-a4x74f"><span>10365</span></td><td id="LC10365" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceMapPath != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10366" class="css-a4x74f"><span>10366</span></td><td id="LC10366" class="css-1dcdqdg"><code> sourceFile = util.join(aSourceMapPath, sourceFile); </code></td></tr><tr><td id="L10367" class="css-a4x74f"><span>10367</span></td><td id="LC10367" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10368" class="css-a4x74f"><span>10368</span></td><td id="LC10368" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10369" class="css-a4x74f"><span>10369</span></td><td id="LC10369" class="css-1dcdqdg"><code> sourceFile = util.relative(sourceRoot, sourceFile); </code></td></tr><tr><td id="L10370" class="css-a4x74f"><span>10370</span></td><td id="LC10370" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10371" class="css-a4x74f"><span>10371</span></td><td id="LC10371" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.setSourceContent(sourceFile, content); </code></td></tr><tr><td id="L10372" class="css-a4x74f"><span>10372</span></td><td id="LC10372" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10373" class="css-a4x74f"><span>10373</span></td><td id="LC10373" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L10374" class="css-a4x74f"><span>10374</span></td><td id="LC10374" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10375" class="css-a4x74f"><span>10375</span></td><td id="LC10375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10376" class="css-a4x74f"><span>10376</span></td><td id="LC10376" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10377" class="css-a4x74f"><span>10377</span></td><td id="LC10377" class="css-1dcdqdg"><code><span class="code-comment"> * A mapping can have one of the three levels of data: </span></code></td></tr><tr><td id="L10378" class="css-a4x74f"><span>10378</span></td><td id="LC10378" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10379" class="css-a4x74f"><span>10379</span></td><td id="LC10379" class="css-1dcdqdg"><code><span class="code-comment"> * 1. Just the generated position. </span></code></td></tr><tr><td id="L10380" class="css-a4x74f"><span>10380</span></td><td id="LC10380" class="css-1dcdqdg"><code><span class="code-comment"> * 2. The Generated position, original position, and original source. </span></code></td></tr><tr><td id="L10381" class="css-a4x74f"><span>10381</span></td><td id="LC10381" class="css-1dcdqdg"><code><span class="code-comment"> * 3. Generated and original position, original source, as well as a name </span></code></td></tr><tr><td id="L10382" class="css-a4x74f"><span>10382</span></td><td id="LC10382" class="css-1dcdqdg"><code><span class="code-comment"> * token. </span></code></td></tr><tr><td id="L10383" class="css-a4x74f"><span>10383</span></td><td id="LC10383" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L10384" class="css-a4x74f"><span>10384</span></td><td id="LC10384" class="css-1dcdqdg"><code><span class="code-comment"> * To maintain consistency, we validate that any new mapping being added falls </span></code></td></tr><tr><td id="L10385" class="css-a4x74f"><span>10385</span></td><td id="LC10385" class="css-1dcdqdg"><code><span class="code-comment"> * in to one of these categories. </span></code></td></tr><tr><td id="L10386" class="css-a4x74f"><span>10386</span></td><td id="LC10386" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10387" class="css-a4x74f"><span>10387</span></td><td id="LC10387" class="css-1dcdqdg"><code> SourceMapGenerator.prototype._validateMapping = </code></td></tr><tr><td id="L10388" class="css-a4x74f"><span>10388</span></td><td id="LC10388" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_validateMapping</span>(<span class="code-params">aGenerated, aOriginal, aSource, </span></span></code></td></tr><tr><td id="L10389" class="css-a4x74f"><span>10389</span></td><td id="LC10389" class="css-1dcdqdg"><code><span class="code-function"><span class="code-params"> aName</span>) </span>{ </code></td></tr><tr><td id="L10390" class="css-a4x74f"><span>10390</span></td><td id="LC10390" class="css-1dcdqdg"><code> <span class="code-comment">// When aOriginal is truthy but has empty values for .line and .column,</span> </code></td></tr><tr><td id="L10391" class="css-a4x74f"><span>10391</span></td><td id="LC10391" class="css-1dcdqdg"><code> <span class="code-comment">// it is most likely a programmer error. In this case we throw a very</span> </code></td></tr><tr><td id="L10392" class="css-a4x74f"><span>10392</span></td><td id="LC10392" class="css-1dcdqdg"><code> <span class="code-comment">// specific error message to try to guide them the right way.</span> </code></td></tr><tr><td id="L10393" class="css-a4x74f"><span>10393</span></td><td id="LC10393" class="css-1dcdqdg"><code> <span class="code-comment">// For example: https://github.com/Polymer/polymer-bundler/pull/519</span> </code></td></tr><tr><td id="L10394" class="css-a4x74f"><span>10394</span></td><td id="LC10394" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aOriginal && <span class="code-keyword">typeof</span> aOriginal.line !== <span class="code-string">'number'</span> && <span class="code-keyword">typeof</span> aOriginal.column !== <span class="code-string">'number'</span>) { </code></td></tr><tr><td id="L10395" class="css-a4x74f"><span>10395</span></td><td id="LC10395" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>( </code></td></tr><tr><td id="L10396" class="css-a4x74f"><span>10396</span></td><td id="LC10396" class="css-1dcdqdg"><code> <span class="code-string">'original.line and original.column are not numbers -- you probably meant to omit '</span> + </code></td></tr><tr><td id="L10397" class="css-a4x74f"><span>10397</span></td><td id="LC10397" class="css-1dcdqdg"><code> <span class="code-string">'the original mapping entirely and only map the generated position. If so, pass '</span> + </code></td></tr><tr><td id="L10398" class="css-a4x74f"><span>10398</span></td><td id="LC10398" class="css-1dcdqdg"><code> <span class="code-string">'null for the original mapping instead of an object with empty or null values.'</span> </code></td></tr><tr><td id="L10399" class="css-a4x74f"><span>10399</span></td><td id="LC10399" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L10400" class="css-a4x74f"><span>10400</span></td><td id="LC10400" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10401" class="css-a4x74f"><span>10401</span></td><td id="LC10401" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10402" class="css-a4x74f"><span>10402</span></td><td id="LC10402" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aGenerated && <span class="code-string">'line'</span> <span class="code-keyword">in</span> aGenerated && <span class="code-string">'column'</span> <span class="code-keyword">in</span> aGenerated </code></td></tr><tr><td id="L10403" class="css-a4x74f"><span>10403</span></td><td id="LC10403" class="css-1dcdqdg"><code> && aGenerated.line > <span class="code-number">0</span> && aGenerated.column >= <span class="code-number">0</span> </code></td></tr><tr><td id="L10404" class="css-a4x74f"><span>10404</span></td><td id="LC10404" class="css-1dcdqdg"><code> && !aOriginal && !aSource && !aName) { </code></td></tr><tr><td id="L10405" class="css-a4x74f"><span>10405</span></td><td id="LC10405" class="css-1dcdqdg"><code> <span class="code-comment">// Case 1.</span> </code></td></tr><tr><td id="L10406" class="css-a4x74f"><span>10406</span></td><td id="LC10406" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L10407" class="css-a4x74f"><span>10407</span></td><td id="LC10407" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10408" class="css-a4x74f"><span>10408</span></td><td id="LC10408" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (aGenerated && <span class="code-string">'line'</span> <span class="code-keyword">in</span> aGenerated && <span class="code-string">'column'</span> <span class="code-keyword">in</span> aGenerated </code></td></tr><tr><td id="L10409" class="css-a4x74f"><span>10409</span></td><td id="LC10409" class="css-1dcdqdg"><code> && aOriginal && <span class="code-string">'line'</span> <span class="code-keyword">in</span> aOriginal && <span class="code-string">'column'</span> <span class="code-keyword">in</span> aOriginal </code></td></tr><tr><td id="L10410" class="css-a4x74f"><span>10410</span></td><td id="LC10410" class="css-1dcdqdg"><code> && aGenerated.line > <span class="code-number">0</span> && aGenerated.column >= <span class="code-number">0</span> </code></td></tr><tr><td id="L10411" class="css-a4x74f"><span>10411</span></td><td id="LC10411" class="css-1dcdqdg"><code> && aOriginal.line > <span class="code-number">0</span> && aOriginal.column >= <span class="code-number">0</span> </code></td></tr><tr><td id="L10412" class="css-a4x74f"><span>10412</span></td><td id="LC10412" class="css-1dcdqdg"><code> && aSource) { </code></td></tr><tr><td id="L10413" class="css-a4x74f"><span>10413</span></td><td id="LC10413" class="css-1dcdqdg"><code> <span class="code-comment">// Cases 2 and 3.</span> </code></td></tr><tr><td id="L10414" class="css-a4x74f"><span>10414</span></td><td id="LC10414" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L10415" class="css-a4x74f"><span>10415</span></td><td id="LC10415" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10416" class="css-a4x74f"><span>10416</span></td><td id="LC10416" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10417" class="css-a4x74f"><span>10417</span></td><td id="LC10417" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Invalid mapping: '</span> + <span class="code-built_in">JSON</span>.stringify({ </code></td></tr><tr><td id="L10418" class="css-a4x74f"><span>10418</span></td><td id="LC10418" class="css-1dcdqdg"><code> generated: aGenerated, </code></td></tr><tr><td id="L10419" class="css-a4x74f"><span>10419</span></td><td id="LC10419" class="css-1dcdqdg"><code> source: aSource, </code></td></tr><tr><td id="L10420" class="css-a4x74f"><span>10420</span></td><td id="LC10420" class="css-1dcdqdg"><code> original: aOriginal, </code></td></tr><tr><td id="L10421" class="css-a4x74f"><span>10421</span></td><td id="LC10421" class="css-1dcdqdg"><code> name: aName </code></td></tr><tr><td id="L10422" class="css-a4x74f"><span>10422</span></td><td id="LC10422" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L10423" class="css-a4x74f"><span>10423</span></td><td id="LC10423" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10424" class="css-a4x74f"><span>10424</span></td><td id="LC10424" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10425" class="css-a4x74f"><span>10425</span></td><td id="LC10425" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10426" class="css-a4x74f"><span>10426</span></td><td id="LC10426" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10427" class="css-a4x74f"><span>10427</span></td><td id="LC10427" class="css-1dcdqdg"><code><span class="code-comment"> * Serialize the accumulated mappings in to the stream of base 64 VLQs </span></code></td></tr><tr><td id="L10428" class="css-a4x74f"><span>10428</span></td><td id="LC10428" class="css-1dcdqdg"><code><span class="code-comment"> * specified by the source map format. </span></code></td></tr><tr><td id="L10429" class="css-a4x74f"><span>10429</span></td><td id="LC10429" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10430" class="css-a4x74f"><span>10430</span></td><td id="LC10430" class="css-1dcdqdg"><code> SourceMapGenerator.prototype._serializeMappings = </code></td></tr><tr><td id="L10431" class="css-a4x74f"><span>10431</span></td><td id="LC10431" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_serializeMappings</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10432" class="css-a4x74f"><span>10432</span></td><td id="LC10432" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousGeneratedColumn = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10433" class="css-a4x74f"><span>10433</span></td><td id="LC10433" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousGeneratedLine = <span class="code-number">1</span>; </code></td></tr><tr><td id="L10434" class="css-a4x74f"><span>10434</span></td><td id="LC10434" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousOriginalColumn = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10435" class="css-a4x74f"><span>10435</span></td><td id="LC10435" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousOriginalLine = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10436" class="css-a4x74f"><span>10436</span></td><td id="LC10436" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousName = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10437" class="css-a4x74f"><span>10437</span></td><td id="LC10437" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> previousSource = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10438" class="css-a4x74f"><span>10438</span></td><td id="LC10438" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-string">''</span>; </code></td></tr><tr><td id="L10439" class="css-a4x74f"><span>10439</span></td><td id="LC10439" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> next; </code></td></tr><tr><td id="L10440" class="css-a4x74f"><span>10440</span></td><td id="LC10440" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mapping; </code></td></tr><tr><td id="L10441" class="css-a4x74f"><span>10441</span></td><td id="LC10441" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nameIdx; </code></td></tr><tr><td id="L10442" class="css-a4x74f"><span>10442</span></td><td id="LC10442" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceIdx; </code></td></tr><tr><td id="L10443" class="css-a4x74f"><span>10443</span></td><td id="LC10443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10444" class="css-a4x74f"><span>10444</span></td><td id="LC10444" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mappings = <span class="code-keyword">this</span>._mappings.toArray(); </code></td></tr><tr><td id="L10445" class="css-a4x74f"><span>10445</span></td><td id="LC10445" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>, len = mappings.length; i < len; i++) { </code></td></tr><tr><td id="L10446" class="css-a4x74f"><span>10446</span></td><td id="LC10446" class="css-1dcdqdg"><code> mapping = mappings[i]; </code></td></tr><tr><td id="L10447" class="css-a4x74f"><span>10447</span></td><td id="LC10447" class="css-1dcdqdg"><code> next = <span class="code-string">''</span>; </code></td></tr><tr><td id="L10448" class="css-a4x74f"><span>10448</span></td><td id="LC10448" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10449" class="css-a4x74f"><span>10449</span></td><td id="LC10449" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.generatedLine !== previousGeneratedLine) { </code></td></tr><tr><td id="L10450" class="css-a4x74f"><span>10450</span></td><td id="LC10450" class="css-1dcdqdg"><code> previousGeneratedColumn = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10451" class="css-a4x74f"><span>10451</span></td><td id="LC10451" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (mapping.generatedLine !== previousGeneratedLine) { </code></td></tr><tr><td id="L10452" class="css-a4x74f"><span>10452</span></td><td id="LC10452" class="css-1dcdqdg"><code> next += <span class="code-string">';'</span>; </code></td></tr><tr><td id="L10453" class="css-a4x74f"><span>10453</span></td><td id="LC10453" class="css-1dcdqdg"><code> previousGeneratedLine++; </code></td></tr><tr><td id="L10454" class="css-a4x74f"><span>10454</span></td><td id="LC10454" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10455" class="css-a4x74f"><span>10455</span></td><td id="LC10455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10456" class="css-a4x74f"><span>10456</span></td><td id="LC10456" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10457" class="css-a4x74f"><span>10457</span></td><td id="LC10457" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L10458" class="css-a4x74f"><span>10458</span></td><td id="LC10458" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - <span class="code-number">1</span>])) { </code></td></tr><tr><td id="L10459" class="css-a4x74f"><span>10459</span></td><td id="LC10459" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L10460" class="css-a4x74f"><span>10460</span></td><td id="LC10460" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10461" class="css-a4x74f"><span>10461</span></td><td id="LC10461" class="css-1dcdqdg"><code> next += <span class="code-string">','</span>; </code></td></tr><tr><td id="L10462" class="css-a4x74f"><span>10462</span></td><td id="LC10462" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10463" class="css-a4x74f"><span>10463</span></td><td id="LC10463" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10464" class="css-a4x74f"><span>10464</span></td><td id="LC10464" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10465" class="css-a4x74f"><span>10465</span></td><td id="LC10465" class="css-1dcdqdg"><code> next += base64Vlq.encode(mapping.generatedColumn </code></td></tr><tr><td id="L10466" class="css-a4x74f"><span>10466</span></td><td id="LC10466" class="css-1dcdqdg"><code> - previousGeneratedColumn); </code></td></tr><tr><td id="L10467" class="css-a4x74f"><span>10467</span></td><td id="LC10467" class="css-1dcdqdg"><code> previousGeneratedColumn = mapping.generatedColumn; </code></td></tr><tr><td id="L10468" class="css-a4x74f"><span>10468</span></td><td id="LC10468" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10469" class="css-a4x74f"><span>10469</span></td><td id="LC10469" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.source != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10470" class="css-a4x74f"><span>10470</span></td><td id="LC10470" class="css-1dcdqdg"><code> sourceIdx = <span class="code-keyword">this</span>._sources.indexOf(mapping.source); </code></td></tr><tr><td id="L10471" class="css-a4x74f"><span>10471</span></td><td id="LC10471" class="css-1dcdqdg"><code> next += base64Vlq.encode(sourceIdx - previousSource); </code></td></tr><tr><td id="L10472" class="css-a4x74f"><span>10472</span></td><td id="LC10472" class="css-1dcdqdg"><code> previousSource = sourceIdx; </code></td></tr><tr><td id="L10473" class="css-a4x74f"><span>10473</span></td><td id="LC10473" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10474" class="css-a4x74f"><span>10474</span></td><td id="LC10474" class="css-1dcdqdg"><code> <span class="code-comment">// lines are stored 0-based in SourceMap spec version 3</span> </code></td></tr><tr><td id="L10475" class="css-a4x74f"><span>10475</span></td><td id="LC10475" class="css-1dcdqdg"><code> next += base64Vlq.encode(mapping.originalLine - <span class="code-number">1</span> </code></td></tr><tr><td id="L10476" class="css-a4x74f"><span>10476</span></td><td id="LC10476" class="css-1dcdqdg"><code> - previousOriginalLine); </code></td></tr><tr><td id="L10477" class="css-a4x74f"><span>10477</span></td><td id="LC10477" class="css-1dcdqdg"><code> previousOriginalLine = mapping.originalLine - <span class="code-number">1</span>; </code></td></tr><tr><td id="L10478" class="css-a4x74f"><span>10478</span></td><td id="LC10478" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10479" class="css-a4x74f"><span>10479</span></td><td id="LC10479" class="css-1dcdqdg"><code> next += base64Vlq.encode(mapping.originalColumn </code></td></tr><tr><td id="L10480" class="css-a4x74f"><span>10480</span></td><td id="LC10480" class="css-1dcdqdg"><code> - previousOriginalColumn); </code></td></tr><tr><td id="L10481" class="css-a4x74f"><span>10481</span></td><td id="LC10481" class="css-1dcdqdg"><code> previousOriginalColumn = mapping.originalColumn; </code></td></tr><tr><td id="L10482" class="css-a4x74f"><span>10482</span></td><td id="LC10482" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10483" class="css-a4x74f"><span>10483</span></td><td id="LC10483" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (mapping.name != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10484" class="css-a4x74f"><span>10484</span></td><td id="LC10484" class="css-1dcdqdg"><code> nameIdx = <span class="code-keyword">this</span>._names.indexOf(mapping.name); </code></td></tr><tr><td id="L10485" class="css-a4x74f"><span>10485</span></td><td id="LC10485" class="css-1dcdqdg"><code> next += base64Vlq.encode(nameIdx - previousName); </code></td></tr><tr><td id="L10486" class="css-a4x74f"><span>10486</span></td><td id="LC10486" class="css-1dcdqdg"><code> previousName = nameIdx; </code></td></tr><tr><td id="L10487" class="css-a4x74f"><span>10487</span></td><td id="LC10487" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10488" class="css-a4x74f"><span>10488</span></td><td id="LC10488" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10489" class="css-a4x74f"><span>10489</span></td><td id="LC10489" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10490" class="css-a4x74f"><span>10490</span></td><td id="LC10490" class="css-1dcdqdg"><code> result += next; </code></td></tr><tr><td id="L10491" class="css-a4x74f"><span>10491</span></td><td id="LC10491" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10492" class="css-a4x74f"><span>10492</span></td><td id="LC10492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10493" class="css-a4x74f"><span>10493</span></td><td id="LC10493" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L10494" class="css-a4x74f"><span>10494</span></td><td id="LC10494" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10495" class="css-a4x74f"><span>10495</span></td><td id="LC10495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10496" class="css-a4x74f"><span>10496</span></td><td id="LC10496" class="css-1dcdqdg"><code> SourceMapGenerator.prototype._generateSourcesContent = </code></td></tr><tr><td id="L10497" class="css-a4x74f"><span>10497</span></td><td id="LC10497" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_generateSourcesContent</span>(<span class="code-params">aSources, aSourceRoot</span>) </span>{ </code></td></tr><tr><td id="L10498" class="css-a4x74f"><span>10498</span></td><td id="LC10498" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> aSources.map(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">source</span>) </span>{ </code></td></tr><tr><td id="L10499" class="css-a4x74f"><span>10499</span></td><td id="LC10499" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>._sourcesContents) { </code></td></tr><tr><td id="L10500" class="css-a4x74f"><span>10500</span></td><td id="LC10500" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10501" class="css-a4x74f"><span>10501</span></td><td id="LC10501" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10502" class="css-a4x74f"><span>10502</span></td><td id="LC10502" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (aSourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10503" class="css-a4x74f"><span>10503</span></td><td id="LC10503" class="css-1dcdqdg"><code> source = util.relative(aSourceRoot, source); </code></td></tr><tr><td id="L10504" class="css-a4x74f"><span>10504</span></td><td id="LC10504" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10505" class="css-a4x74f"><span>10505</span></td><td id="LC10505" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> key = util.toSetString(source); </code></td></tr><tr><td id="L10506" class="css-a4x74f"><span>10506</span></td><td id="LC10506" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.prototype.hasOwnProperty.call(<span class="code-keyword">this</span>._sourcesContents, key) </code></td></tr><tr><td id="L10507" class="css-a4x74f"><span>10507</span></td><td id="LC10507" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>._sourcesContents[key] </code></td></tr><tr><td id="L10508" class="css-a4x74f"><span>10508</span></td><td id="LC10508" class="css-1dcdqdg"><code> : <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10509" class="css-a4x74f"><span>10509</span></td><td id="LC10509" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L10510" class="css-a4x74f"><span>10510</span></td><td id="LC10510" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10511" class="css-a4x74f"><span>10511</span></td><td id="LC10511" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10512" class="css-a4x74f"><span>10512</span></td><td id="LC10512" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10513" class="css-a4x74f"><span>10513</span></td><td id="LC10513" class="css-1dcdqdg"><code><span class="code-comment"> * Externalize the source map. </span></code></td></tr><tr><td id="L10514" class="css-a4x74f"><span>10514</span></td><td id="LC10514" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10515" class="css-a4x74f"><span>10515</span></td><td id="LC10515" class="css-1dcdqdg"><code> SourceMapGenerator.prototype.toJSON = </code></td></tr><tr><td id="L10516" class="css-a4x74f"><span>10516</span></td><td id="LC10516" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_toJSON</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10517" class="css-a4x74f"><span>10517</span></td><td id="LC10517" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = { </code></td></tr><tr><td id="L10518" class="css-a4x74f"><span>10518</span></td><td id="LC10518" class="css-1dcdqdg"><code> version: <span class="code-keyword">this</span>._version, </code></td></tr><tr><td id="L10519" class="css-a4x74f"><span>10519</span></td><td id="LC10519" class="css-1dcdqdg"><code> sources: <span class="code-keyword">this</span>._sources.toArray(), </code></td></tr><tr><td id="L10520" class="css-a4x74f"><span>10520</span></td><td id="LC10520" class="css-1dcdqdg"><code> names: <span class="code-keyword">this</span>._names.toArray(), </code></td></tr><tr><td id="L10521" class="css-a4x74f"><span>10521</span></td><td id="LC10521" class="css-1dcdqdg"><code> mappings: <span class="code-keyword">this</span>._serializeMappings() </code></td></tr><tr><td id="L10522" class="css-a4x74f"><span>10522</span></td><td id="LC10522" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10523" class="css-a4x74f"><span>10523</span></td><td id="LC10523" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>._file != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10524" class="css-a4x74f"><span>10524</span></td><td id="LC10524" class="css-1dcdqdg"><code> map.file = <span class="code-keyword">this</span>._file; </code></td></tr><tr><td id="L10525" class="css-a4x74f"><span>10525</span></td><td id="LC10525" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10526" class="css-a4x74f"><span>10526</span></td><td id="LC10526" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>._sourceRoot != <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10527" class="css-a4x74f"><span>10527</span></td><td id="LC10527" class="css-1dcdqdg"><code> map.sourceRoot = <span class="code-keyword">this</span>._sourceRoot; </code></td></tr><tr><td id="L10528" class="css-a4x74f"><span>10528</span></td><td id="LC10528" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10529" class="css-a4x74f"><span>10529</span></td><td id="LC10529" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>._sourcesContents) { </code></td></tr><tr><td id="L10530" class="css-a4x74f"><span>10530</span></td><td id="LC10530" class="css-1dcdqdg"><code> map.sourcesContent = <span class="code-keyword">this</span>._generateSourcesContent(map.sources, map.sourceRoot); </code></td></tr><tr><td id="L10531" class="css-a4x74f"><span>10531</span></td><td id="LC10531" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10532" class="css-a4x74f"><span>10532</span></td><td id="LC10532" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10533" class="css-a4x74f"><span>10533</span></td><td id="LC10533" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> map; </code></td></tr><tr><td id="L10534" class="css-a4x74f"><span>10534</span></td><td id="LC10534" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10535" class="css-a4x74f"><span>10535</span></td><td id="LC10535" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10536" class="css-a4x74f"><span>10536</span></td><td id="LC10536" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L10537" class="css-a4x74f"><span>10537</span></td><td id="LC10537" class="css-1dcdqdg"><code><span class="code-comment"> * Render the source map being generated to a string. </span></code></td></tr><tr><td id="L10538" class="css-a4x74f"><span>10538</span></td><td id="LC10538" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L10539" class="css-a4x74f"><span>10539</span></td><td id="LC10539" class="css-1dcdqdg"><code> SourceMapGenerator.prototype.toString = </code></td></tr><tr><td id="L10540" class="css-a4x74f"><span>10540</span></td><td id="LC10540" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">SourceMapGenerator_toString</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10541" class="css-a4x74f"><span>10541</span></td><td id="LC10541" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">JSON</span>.stringify(<span class="code-keyword">this</span>.toJSON()); </code></td></tr><tr><td id="L10542" class="css-a4x74f"><span>10542</span></td><td id="LC10542" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10543" class="css-a4x74f"><span>10543</span></td><td id="LC10543" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10544" class="css-a4x74f"><span>10544</span></td><td id="LC10544" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SourceMapGenerator_1 = SourceMapGenerator; </code></td></tr><tr><td id="L10545" class="css-a4x74f"><span>10545</span></td><td id="LC10545" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10546" class="css-a4x74f"><span>10546</span></td><td id="LC10546" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceMapGenerator = { </code></td></tr><tr><td id="L10547" class="css-a4x74f"><span>10547</span></td><td id="LC10547" class="css-1dcdqdg"><code> SourceMapGenerator: SourceMapGenerator_1 </code></td></tr><tr><td id="L10548" class="css-a4x74f"><span>10548</span></td><td id="LC10548" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10549" class="css-a4x74f"><span>10549</span></td><td id="LC10549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10550" class="css-a4x74f"><span>10550</span></td><td id="LC10550" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SourceMapGenerator$<span class="code-number">1</span> = sourceMapGenerator.SourceMapGenerator; </code></td></tr><tr><td id="L10551" class="css-a4x74f"><span>10551</span></td><td id="LC10551" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> trackNodes = { </code></td></tr><tr><td id="L10552" class="css-a4x74f"><span>10552</span></td><td id="LC10552" class="css-1dcdqdg"><code> Atrule: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L10553" class="css-a4x74f"><span>10553</span></td><td id="LC10553" class="css-1dcdqdg"><code> Selector: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L10554" class="css-a4x74f"><span>10554</span></td><td id="LC10554" class="css-1dcdqdg"><code> Declaration: <span class="code-literal">true</span> </code></td></tr><tr><td id="L10555" class="css-a4x74f"><span>10555</span></td><td id="LC10555" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10556" class="css-a4x74f"><span>10556</span></td><td id="LC10556" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10557" class="css-a4x74f"><span>10557</span></td><td id="LC10557" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceMap = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">generateSourceMap</span>(<span class="code-params">handlers</span>) </span>{ </code></td></tr><tr><td id="L10558" class="css-a4x74f"><span>10558</span></td><td id="LC10558" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = <span class="code-keyword">new</span> SourceMapGenerator$<span class="code-number">1</span>(); </code></td></tr><tr><td id="L10559" class="css-a4x74f"><span>10559</span></td><td id="LC10559" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> line = <span class="code-number">1</span>; </code></td></tr><tr><td id="L10560" class="css-a4x74f"><span>10560</span></td><td id="LC10560" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> column = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10561" class="css-a4x74f"><span>10561</span></td><td id="LC10561" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generated = { </code></td></tr><tr><td id="L10562" class="css-a4x74f"><span>10562</span></td><td id="LC10562" class="css-1dcdqdg"><code> line: <span class="code-number">1</span>, </code></td></tr><tr><td id="L10563" class="css-a4x74f"><span>10563</span></td><td id="LC10563" class="css-1dcdqdg"><code> column: <span class="code-number">0</span> </code></td></tr><tr><td id="L10564" class="css-a4x74f"><span>10564</span></td><td id="LC10564" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10565" class="css-a4x74f"><span>10565</span></td><td id="LC10565" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> original = { </code></td></tr><tr><td id="L10566" class="css-a4x74f"><span>10566</span></td><td id="LC10566" class="css-1dcdqdg"><code> line: <span class="code-number">0</span>, <span class="code-comment">// should be zero to add first mapping</span> </code></td></tr><tr><td id="L10567" class="css-a4x74f"><span>10567</span></td><td id="LC10567" class="css-1dcdqdg"><code> column: <span class="code-number">0</span> </code></td></tr><tr><td id="L10568" class="css-a4x74f"><span>10568</span></td><td id="LC10568" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10569" class="css-a4x74f"><span>10569</span></td><td id="LC10569" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sourceMappingActive = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L10570" class="css-a4x74f"><span>10570</span></td><td id="LC10570" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> activatedGenerated = { </code></td></tr><tr><td id="L10571" class="css-a4x74f"><span>10571</span></td><td id="LC10571" class="css-1dcdqdg"><code> line: <span class="code-number">1</span>, </code></td></tr><tr><td id="L10572" class="css-a4x74f"><span>10572</span></td><td id="LC10572" class="css-1dcdqdg"><code> column: <span class="code-number">0</span> </code></td></tr><tr><td id="L10573" class="css-a4x74f"><span>10573</span></td><td id="LC10573" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10574" class="css-a4x74f"><span>10574</span></td><td id="LC10574" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> activatedMapping = { </code></td></tr><tr><td id="L10575" class="css-a4x74f"><span>10575</span></td><td id="LC10575" class="css-1dcdqdg"><code> generated: activatedGenerated </code></td></tr><tr><td id="L10576" class="css-a4x74f"><span>10576</span></td><td id="LC10576" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10577" class="css-a4x74f"><span>10577</span></td><td id="LC10577" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10578" class="css-a4x74f"><span>10578</span></td><td id="LC10578" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> handlersNode = handlers.node; </code></td></tr><tr><td id="L10579" class="css-a4x74f"><span>10579</span></td><td id="LC10579" class="css-1dcdqdg"><code> handlers.node = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L10580" class="css-a4x74f"><span>10580</span></td><td id="LC10580" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.loc && node.loc.start && trackNodes.hasOwnProperty(node.type)) { </code></td></tr><tr><td id="L10581" class="css-a4x74f"><span>10581</span></td><td id="LC10581" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodeLine = node.loc.start.line; </code></td></tr><tr><td id="L10582" class="css-a4x74f"><span>10582</span></td><td id="LC10582" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodeColumn = node.loc.start.column - <span class="code-number">1</span>; </code></td></tr><tr><td id="L10583" class="css-a4x74f"><span>10583</span></td><td id="LC10583" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10584" class="css-a4x74f"><span>10584</span></td><td id="LC10584" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (original.line !== nodeLine || </code></td></tr><tr><td id="L10585" class="css-a4x74f"><span>10585</span></td><td id="LC10585" class="css-1dcdqdg"><code> original.column !== nodeColumn) { </code></td></tr><tr><td id="L10586" class="css-a4x74f"><span>10586</span></td><td id="LC10586" class="css-1dcdqdg"><code> original.line = nodeLine; </code></td></tr><tr><td id="L10587" class="css-a4x74f"><span>10587</span></td><td id="LC10587" class="css-1dcdqdg"><code> original.column = nodeColumn; </code></td></tr><tr><td id="L10588" class="css-a4x74f"><span>10588</span></td><td id="LC10588" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10589" class="css-a4x74f"><span>10589</span></td><td id="LC10589" class="css-1dcdqdg"><code> generated.line = line; </code></td></tr><tr><td id="L10590" class="css-a4x74f"><span>10590</span></td><td id="LC10590" class="css-1dcdqdg"><code> generated.column = column; </code></td></tr><tr><td id="L10591" class="css-a4x74f"><span>10591</span></td><td id="LC10591" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10592" class="css-a4x74f"><span>10592</span></td><td id="LC10592" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceMappingActive) { </code></td></tr><tr><td id="L10593" class="css-a4x74f"><span>10593</span></td><td id="LC10593" class="css-1dcdqdg"><code> sourceMappingActive = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L10594" class="css-a4x74f"><span>10594</span></td><td id="LC10594" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (generated.line !== activatedGenerated.line || </code></td></tr><tr><td id="L10595" class="css-a4x74f"><span>10595</span></td><td id="LC10595" class="css-1dcdqdg"><code> generated.column !== activatedGenerated.column) { </code></td></tr><tr><td id="L10596" class="css-a4x74f"><span>10596</span></td><td id="LC10596" class="css-1dcdqdg"><code> map.addMapping(activatedMapping); </code></td></tr><tr><td id="L10597" class="css-a4x74f"><span>10597</span></td><td id="LC10597" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10598" class="css-a4x74f"><span>10598</span></td><td id="LC10598" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10599" class="css-a4x74f"><span>10599</span></td><td id="LC10599" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10600" class="css-a4x74f"><span>10600</span></td><td id="LC10600" class="css-1dcdqdg"><code> sourceMappingActive = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L10601" class="css-a4x74f"><span>10601</span></td><td id="LC10601" class="css-1dcdqdg"><code> map.addMapping({ </code></td></tr><tr><td id="L10602" class="css-a4x74f"><span>10602</span></td><td id="LC10602" class="css-1dcdqdg"><code> source: node.loc.source, </code></td></tr><tr><td id="L10603" class="css-a4x74f"><span>10603</span></td><td id="LC10603" class="css-1dcdqdg"><code> original: original, </code></td></tr><tr><td id="L10604" class="css-a4x74f"><span>10604</span></td><td id="LC10604" class="css-1dcdqdg"><code> generated: generated </code></td></tr><tr><td id="L10605" class="css-a4x74f"><span>10605</span></td><td id="LC10605" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10606" class="css-a4x74f"><span>10606</span></td><td id="LC10606" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10607" class="css-a4x74f"><span>10607</span></td><td id="LC10607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10608" class="css-a4x74f"><span>10608</span></td><td id="LC10608" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10609" class="css-a4x74f"><span>10609</span></td><td id="LC10609" class="css-1dcdqdg"><code> handlersNode.call(<span class="code-keyword">this</span>, node); </code></td></tr><tr><td id="L10610" class="css-a4x74f"><span>10610</span></td><td id="LC10610" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10611" class="css-a4x74f"><span>10611</span></td><td id="LC10611" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceMappingActive && trackNodes.hasOwnProperty(node.type)) { </code></td></tr><tr><td id="L10612" class="css-a4x74f"><span>10612</span></td><td id="LC10612" class="css-1dcdqdg"><code> activatedGenerated.line = line; </code></td></tr><tr><td id="L10613" class="css-a4x74f"><span>10613</span></td><td id="LC10613" class="css-1dcdqdg"><code> activatedGenerated.column = column; </code></td></tr><tr><td id="L10614" class="css-a4x74f"><span>10614</span></td><td id="LC10614" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10615" class="css-a4x74f"><span>10615</span></td><td id="LC10615" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10616" class="css-a4x74f"><span>10616</span></td><td id="LC10616" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10617" class="css-a4x74f"><span>10617</span></td><td id="LC10617" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> handlersChunk = handlers.chunk; </code></td></tr><tr><td id="L10618" class="css-a4x74f"><span>10618</span></td><td id="LC10618" class="css-1dcdqdg"><code> handlers.chunk = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">chunk</span>) </span>{ </code></td></tr><tr><td id="L10619" class="css-a4x74f"><span>10619</span></td><td id="LC10619" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < chunk.length; i++) { </code></td></tr><tr><td id="L10620" class="css-a4x74f"><span>10620</span></td><td id="LC10620" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (chunk.charCodeAt(i) === <span class="code-number">10</span>) { <span class="code-comment">// \n</span> </code></td></tr><tr><td id="L10621" class="css-a4x74f"><span>10621</span></td><td id="LC10621" class="css-1dcdqdg"><code> line++; </code></td></tr><tr><td id="L10622" class="css-a4x74f"><span>10622</span></td><td id="LC10622" class="css-1dcdqdg"><code> column = <span class="code-number">0</span>; </code></td></tr><tr><td id="L10623" class="css-a4x74f"><span>10623</span></td><td id="LC10623" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10624" class="css-a4x74f"><span>10624</span></td><td id="LC10624" class="css-1dcdqdg"><code> column++; </code></td></tr><tr><td id="L10625" class="css-a4x74f"><span>10625</span></td><td id="LC10625" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10626" class="css-a4x74f"><span>10626</span></td><td id="LC10626" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10627" class="css-a4x74f"><span>10627</span></td><td id="LC10627" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10628" class="css-a4x74f"><span>10628</span></td><td id="LC10628" class="css-1dcdqdg"><code> handlersChunk(chunk); </code></td></tr><tr><td id="L10629" class="css-a4x74f"><span>10629</span></td><td id="LC10629" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10630" class="css-a4x74f"><span>10630</span></td><td id="LC10630" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10631" class="css-a4x74f"><span>10631</span></td><td id="LC10631" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> handlersResult = handlers.result; </code></td></tr><tr><td id="L10632" class="css-a4x74f"><span>10632</span></td><td id="LC10632" class="css-1dcdqdg"><code> handlers.result = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10633" class="css-a4x74f"><span>10633</span></td><td id="LC10633" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sourceMappingActive) { </code></td></tr><tr><td id="L10634" class="css-a4x74f"><span>10634</span></td><td id="LC10634" class="css-1dcdqdg"><code> map.addMapping(activatedMapping); </code></td></tr><tr><td id="L10635" class="css-a4x74f"><span>10635</span></td><td id="LC10635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10636" class="css-a4x74f"><span>10636</span></td><td id="LC10636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10637" class="css-a4x74f"><span>10637</span></td><td id="LC10637" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L10638" class="css-a4x74f"><span>10638</span></td><td id="LC10638" class="css-1dcdqdg"><code> css: handlersResult(), </code></td></tr><tr><td id="L10639" class="css-a4x74f"><span>10639</span></td><td id="LC10639" class="css-1dcdqdg"><code> map: map </code></td></tr><tr><td id="L10640" class="css-a4x74f"><span>10640</span></td><td id="LC10640" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10641" class="css-a4x74f"><span>10641</span></td><td id="LC10641" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10642" class="css-a4x74f"><span>10642</span></td><td id="LC10642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10643" class="css-a4x74f"><span>10643</span></td><td id="LC10643" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> handlers; </code></td></tr><tr><td id="L10644" class="css-a4x74f"><span>10644</span></td><td id="LC10644" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10645" class="css-a4x74f"><span>10645</span></td><td id="LC10645" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10646" class="css-a4x74f"><span>10646</span></td><td id="LC10646" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty$<span class="code-number">3</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L10647" class="css-a4x74f"><span>10647</span></td><td id="LC10647" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10648" class="css-a4x74f"><span>10648</span></td><td id="LC10648" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">processChildren</span>(<span class="code-params">node, delimeter</span>) </span>{ </code></td></tr><tr><td id="L10649" class="css-a4x74f"><span>10649</span></td><td id="LC10649" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> list = node.children; </code></td></tr><tr><td id="L10650" class="css-a4x74f"><span>10650</span></td><td id="LC10650" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prev = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10651" class="css-a4x74f"><span>10651</span></td><td id="LC10651" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10652" class="css-a4x74f"><span>10652</span></td><td id="LC10652" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> delimeter !== <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L10653" class="css-a4x74f"><span>10653</span></td><td id="LC10653" class="css-1dcdqdg"><code> list.forEach(<span class="code-keyword">this</span>.node, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L10654" class="css-a4x74f"><span>10654</span></td><td id="LC10654" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10655" class="css-a4x74f"><span>10655</span></td><td id="LC10655" class="css-1dcdqdg"><code> list.forEach(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L10656" class="css-a4x74f"><span>10656</span></td><td id="LC10656" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prev !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10657" class="css-a4x74f"><span>10657</span></td><td id="LC10657" class="css-1dcdqdg"><code> delimeter.call(<span class="code-keyword">this</span>, prev); </code></td></tr><tr><td id="L10658" class="css-a4x74f"><span>10658</span></td><td id="LC10658" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10659" class="css-a4x74f"><span>10659</span></td><td id="LC10659" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10660" class="css-a4x74f"><span>10660</span></td><td id="LC10660" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node); </code></td></tr><tr><td id="L10661" class="css-a4x74f"><span>10661</span></td><td id="LC10661" class="css-1dcdqdg"><code> prev = node; </code></td></tr><tr><td id="L10662" class="css-a4x74f"><span>10662</span></td><td id="LC10662" class="css-1dcdqdg"><code> }, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L10663" class="css-a4x74f"><span>10663</span></td><td id="LC10663" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10664" class="css-a4x74f"><span>10664</span></td><td id="LC10664" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10665" class="css-a4x74f"><span>10665</span></td><td id="LC10665" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10666" class="css-a4x74f"><span>10666</span></td><td id="LC10666" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">2</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createGenerator</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L10667" class="css-a4x74f"><span>10667</span></td><td id="LC10667" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">processNode</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L10668" class="css-a4x74f"><span>10668</span></td><td id="LC10668" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">3.</span>call(types, node.type)) { </code></td></tr><tr><td id="L10669" class="css-a4x74f"><span>10669</span></td><td id="LC10669" class="css-1dcdqdg"><code> types[node.type].call(<span class="code-keyword">this</span>, node); </code></td></tr><tr><td id="L10670" class="css-a4x74f"><span>10670</span></td><td id="LC10670" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10671" class="css-a4x74f"><span>10671</span></td><td id="LC10671" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Unknown node type: '</span> + node.type); </code></td></tr><tr><td id="L10672" class="css-a4x74f"><span>10672</span></td><td id="LC10672" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10673" class="css-a4x74f"><span>10673</span></td><td id="LC10673" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10674" class="css-a4x74f"><span>10674</span></td><td id="LC10674" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10675" class="css-a4x74f"><span>10675</span></td><td id="LC10675" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> types = {}; </code></td></tr><tr><td id="L10676" class="css-a4x74f"><span>10676</span></td><td id="LC10676" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10677" class="css-a4x74f"><span>10677</span></td><td id="LC10677" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.node) { </code></td></tr><tr><td id="L10678" class="css-a4x74f"><span>10678</span></td><td id="LC10678" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.node) { </code></td></tr><tr><td id="L10679" class="css-a4x74f"><span>10679</span></td><td id="LC10679" class="css-1dcdqdg"><code> types[name] = config.node[name].generate; </code></td></tr><tr><td id="L10680" class="css-a4x74f"><span>10680</span></td><td id="LC10680" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10681" class="css-a4x74f"><span>10681</span></td><td id="LC10681" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10682" class="css-a4x74f"><span>10682</span></td><td id="LC10682" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10683" class="css-a4x74f"><span>10683</span></td><td id="LC10683" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, options</span>) </span>{ </code></td></tr><tr><td id="L10684" class="css-a4x74f"><span>10684</span></td><td id="LC10684" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> buffer = <span class="code-string">''</span>; </code></td></tr><tr><td id="L10685" class="css-a4x74f"><span>10685</span></td><td id="LC10685" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> handlers = { </code></td></tr><tr><td id="L10686" class="css-a4x74f"><span>10686</span></td><td id="LC10686" class="css-1dcdqdg"><code> children: processChildren, </code></td></tr><tr><td id="L10687" class="css-a4x74f"><span>10687</span></td><td id="LC10687" class="css-1dcdqdg"><code> node: processNode, </code></td></tr><tr><td id="L10688" class="css-a4x74f"><span>10688</span></td><td id="LC10688" class="css-1dcdqdg"><code> chunk: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">chunk</span>) </span>{ </code></td></tr><tr><td id="L10689" class="css-a4x74f"><span>10689</span></td><td id="LC10689" class="css-1dcdqdg"><code> buffer += chunk; </code></td></tr><tr><td id="L10690" class="css-a4x74f"><span>10690</span></td><td id="LC10690" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L10691" class="css-a4x74f"><span>10691</span></td><td id="LC10691" class="css-1dcdqdg"><code> result: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L10692" class="css-a4x74f"><span>10692</span></td><td id="LC10692" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> buffer; </code></td></tr><tr><td id="L10693" class="css-a4x74f"><span>10693</span></td><td id="LC10693" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10694" class="css-a4x74f"><span>10694</span></td><td id="LC10694" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10695" class="css-a4x74f"><span>10695</span></td><td id="LC10695" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10696" class="css-a4x74f"><span>10696</span></td><td id="LC10696" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options) { </code></td></tr><tr><td id="L10697" class="css-a4x74f"><span>10697</span></td><td id="LC10697" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> options.decorator === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L10698" class="css-a4x74f"><span>10698</span></td><td id="LC10698" class="css-1dcdqdg"><code> handlers = options.decorator(handlers); </code></td></tr><tr><td id="L10699" class="css-a4x74f"><span>10699</span></td><td id="LC10699" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10700" class="css-a4x74f"><span>10700</span></td><td id="LC10700" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10701" class="css-a4x74f"><span>10701</span></td><td id="LC10701" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options.sourceMap) { </code></td></tr><tr><td id="L10702" class="css-a4x74f"><span>10702</span></td><td id="LC10702" class="css-1dcdqdg"><code> handlers = sourceMap(handlers); </code></td></tr><tr><td id="L10703" class="css-a4x74f"><span>10703</span></td><td id="LC10703" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10704" class="css-a4x74f"><span>10704</span></td><td id="LC10704" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10705" class="css-a4x74f"><span>10705</span></td><td id="LC10705" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10706" class="css-a4x74f"><span>10706</span></td><td id="LC10706" class="css-1dcdqdg"><code> handlers.node(node); </code></td></tr><tr><td id="L10707" class="css-a4x74f"><span>10707</span></td><td id="LC10707" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10708" class="css-a4x74f"><span>10708</span></td><td id="LC10708" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> handlers.result(); </code></td></tr><tr><td id="L10709" class="css-a4x74f"><span>10709</span></td><td id="LC10709" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10710" class="css-a4x74f"><span>10710</span></td><td id="LC10710" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10711" class="css-a4x74f"><span>10711</span></td><td id="LC10711" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10712" class="css-a4x74f"><span>10712</span></td><td id="LC10712" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">3</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createConvertors</span>(<span class="code-params">walk</span>) </span>{ </code></td></tr><tr><td id="L10713" class="css-a4x74f"><span>10713</span></td><td id="LC10713" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L10714" class="css-a4x74f"><span>10714</span></td><td id="LC10714" class="css-1dcdqdg"><code> fromPlainObject: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast</span>) </span>{ </code></td></tr><tr><td id="L10715" class="css-a4x74f"><span>10715</span></td><td id="LC10715" class="css-1dcdqdg"><code> walk(ast, { </code></td></tr><tr><td id="L10716" class="css-a4x74f"><span>10716</span></td><td id="LC10716" class="css-1dcdqdg"><code> enter: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L10717" class="css-a4x74f"><span>10717</span></td><td id="LC10717" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.children && node.children <span class="code-keyword">instanceof</span> List_1 === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L10718" class="css-a4x74f"><span>10718</span></td><td id="LC10718" class="css-1dcdqdg"><code> node.children = <span class="code-keyword">new</span> List_1().fromArray(node.children); </code></td></tr><tr><td id="L10719" class="css-a4x74f"><span>10719</span></td><td id="LC10719" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10720" class="css-a4x74f"><span>10720</span></td><td id="LC10720" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10721" class="css-a4x74f"><span>10721</span></td><td id="LC10721" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10722" class="css-a4x74f"><span>10722</span></td><td id="LC10722" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10723" class="css-a4x74f"><span>10723</span></td><td id="LC10723" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ast; </code></td></tr><tr><td id="L10724" class="css-a4x74f"><span>10724</span></td><td id="LC10724" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L10725" class="css-a4x74f"><span>10725</span></td><td id="LC10725" class="css-1dcdqdg"><code> toPlainObject: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast</span>) </span>{ </code></td></tr><tr><td id="L10726" class="css-a4x74f"><span>10726</span></td><td id="LC10726" class="css-1dcdqdg"><code> walk(ast, { </code></td></tr><tr><td id="L10727" class="css-a4x74f"><span>10727</span></td><td id="LC10727" class="css-1dcdqdg"><code> leave: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L10728" class="css-a4x74f"><span>10728</span></td><td id="LC10728" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.children && node.children <span class="code-keyword">instanceof</span> List_1) { </code></td></tr><tr><td id="L10729" class="css-a4x74f"><span>10729</span></td><td id="LC10729" class="css-1dcdqdg"><code> node.children = node.children.toArray(); </code></td></tr><tr><td id="L10730" class="css-a4x74f"><span>10730</span></td><td id="LC10730" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10731" class="css-a4x74f"><span>10731</span></td><td id="LC10731" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10732" class="css-a4x74f"><span>10732</span></td><td id="LC10732" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10733" class="css-a4x74f"><span>10733</span></td><td id="LC10733" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10734" class="css-a4x74f"><span>10734</span></td><td id="LC10734" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ast; </code></td></tr><tr><td id="L10735" class="css-a4x74f"><span>10735</span></td><td id="LC10735" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10736" class="css-a4x74f"><span>10736</span></td><td id="LC10736" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10737" class="css-a4x74f"><span>10737</span></td><td id="LC10737" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10738" class="css-a4x74f"><span>10738</span></td><td id="LC10738" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10739" class="css-a4x74f"><span>10739</span></td><td id="LC10739" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty$<span class="code-number">4</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L10740" class="css-a4x74f"><span>10740</span></td><td id="LC10740" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> noop$<span class="code-number">4</span> = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{}; </code></td></tr><tr><td id="L10741" class="css-a4x74f"><span>10741</span></td><td id="LC10741" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10742" class="css-a4x74f"><span>10742</span></td><td id="LC10742" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">ensureFunction$1</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L10743" class="css-a4x74f"><span>10743</span></td><td id="LC10743" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">typeof</span> value === <span class="code-string">'function'</span> ? value : noop$<span class="code-number">4</span>; </code></td></tr><tr><td id="L10744" class="css-a4x74f"><span>10744</span></td><td id="LC10744" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10745" class="css-a4x74f"><span>10745</span></td><td id="LC10745" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10746" class="css-a4x74f"><span>10746</span></td><td id="LC10746" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">invokeForType</span>(<span class="code-params">fn, type</span>) </span>{ </code></td></tr><tr><td id="L10747" class="css-a4x74f"><span>10747</span></td><td id="LC10747" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L10748" class="css-a4x74f"><span>10748</span></td><td id="LC10748" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.type === type) { </code></td></tr><tr><td id="L10749" class="css-a4x74f"><span>10749</span></td><td id="LC10749" class="css-1dcdqdg"><code> fn.call(<span class="code-keyword">this</span>, node, item, list); </code></td></tr><tr><td id="L10750" class="css-a4x74f"><span>10750</span></td><td id="LC10750" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10751" class="css-a4x74f"><span>10751</span></td><td id="LC10751" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10752" class="css-a4x74f"><span>10752</span></td><td id="LC10752" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10753" class="css-a4x74f"><span>10753</span></td><td id="LC10753" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10754" class="css-a4x74f"><span>10754</span></td><td id="LC10754" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getWalkersFromStructure</span>(<span class="code-params">name, nodeType</span>) </span>{ </code></td></tr><tr><td id="L10755" class="css-a4x74f"><span>10755</span></td><td id="LC10755" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> structure = nodeType.structure; </code></td></tr><tr><td id="L10756" class="css-a4x74f"><span>10756</span></td><td id="LC10756" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walkers = []; </code></td></tr><tr><td id="L10757" class="css-a4x74f"><span>10757</span></td><td id="LC10757" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10758" class="css-a4x74f"><span>10758</span></td><td id="LC10758" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> structure) { </code></td></tr><tr><td id="L10759" class="css-a4x74f"><span>10759</span></td><td id="LC10759" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">4.</span>call(structure, key) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L10760" class="css-a4x74f"><span>10760</span></td><td id="LC10760" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L10761" class="css-a4x74f"><span>10761</span></td><td id="LC10761" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10762" class="css-a4x74f"><span>10762</span></td><td id="LC10762" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10763" class="css-a4x74f"><span>10763</span></td><td id="LC10763" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fieldTypes = structure[key]; </code></td></tr><tr><td id="L10764" class="css-a4x74f"><span>10764</span></td><td id="LC10764" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walker = { </code></td></tr><tr><td id="L10765" class="css-a4x74f"><span>10765</span></td><td id="LC10765" class="css-1dcdqdg"><code> name: key, </code></td></tr><tr><td id="L10766" class="css-a4x74f"><span>10766</span></td><td id="LC10766" class="css-1dcdqdg"><code> type: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L10767" class="css-a4x74f"><span>10767</span></td><td id="LC10767" class="css-1dcdqdg"><code> nullable: <span class="code-literal">false</span> </code></td></tr><tr><td id="L10768" class="css-a4x74f"><span>10768</span></td><td id="LC10768" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10769" class="css-a4x74f"><span>10769</span></td><td id="LC10769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10770" class="css-a4x74f"><span>10770</span></td><td id="LC10770" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-built_in">Array</span>.isArray(structure[key])) { </code></td></tr><tr><td id="L10771" class="css-a4x74f"><span>10771</span></td><td id="LC10771" class="css-1dcdqdg"><code> fieldTypes = [structure[key]]; </code></td></tr><tr><td id="L10772" class="css-a4x74f"><span>10772</span></td><td id="LC10772" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10773" class="css-a4x74f"><span>10773</span></td><td id="LC10773" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10774" class="css-a4x74f"><span>10774</span></td><td id="LC10774" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < fieldTypes.length; i++) { </code></td></tr><tr><td id="L10775" class="css-a4x74f"><span>10775</span></td><td id="LC10775" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fieldType = fieldTypes[i]; </code></td></tr><tr><td id="L10776" class="css-a4x74f"><span>10776</span></td><td id="LC10776" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fieldType === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10777" class="css-a4x74f"><span>10777</span></td><td id="LC10777" class="css-1dcdqdg"><code> walker.nullable = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L10778" class="css-a4x74f"><span>10778</span></td><td id="LC10778" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> fieldType === <span class="code-string">'string'</span>) { </code></td></tr><tr><td id="L10779" class="css-a4x74f"><span>10779</span></td><td id="LC10779" class="css-1dcdqdg"><code> walker.type = <span class="code-string">'node'</span>; </code></td></tr><tr><td id="L10780" class="css-a4x74f"><span>10780</span></td><td id="LC10780" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(fieldType)) { </code></td></tr><tr><td id="L10781" class="css-a4x74f"><span>10781</span></td><td id="LC10781" class="css-1dcdqdg"><code> walker.type = <span class="code-string">'list'</span>; </code></td></tr><tr><td id="L10782" class="css-a4x74f"><span>10782</span></td><td id="LC10782" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10783" class="css-a4x74f"><span>10783</span></td><td id="LC10783" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10784" class="css-a4x74f"><span>10784</span></td><td id="LC10784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10785" class="css-a4x74f"><span>10785</span></td><td id="LC10785" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (walker.type) { </code></td></tr><tr><td id="L10786" class="css-a4x74f"><span>10786</span></td><td id="LC10786" class="css-1dcdqdg"><code> walkers.push(walker); </code></td></tr><tr><td id="L10787" class="css-a4x74f"><span>10787</span></td><td id="LC10787" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10788" class="css-a4x74f"><span>10788</span></td><td id="LC10788" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10789" class="css-a4x74f"><span>10789</span></td><td id="LC10789" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10790" class="css-a4x74f"><span>10790</span></td><td id="LC10790" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (walkers.length) { </code></td></tr><tr><td id="L10791" class="css-a4x74f"><span>10791</span></td><td id="LC10791" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L10792" class="css-a4x74f"><span>10792</span></td><td id="LC10792" class="css-1dcdqdg"><code> context: nodeType.walkContext, </code></td></tr><tr><td id="L10793" class="css-a4x74f"><span>10793</span></td><td id="LC10793" class="css-1dcdqdg"><code> fields: walkers </code></td></tr><tr><td id="L10794" class="css-a4x74f"><span>10794</span></td><td id="LC10794" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10795" class="css-a4x74f"><span>10795</span></td><td id="LC10795" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10796" class="css-a4x74f"><span>10796</span></td><td id="LC10796" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10797" class="css-a4x74f"><span>10797</span></td><td id="LC10797" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10798" class="css-a4x74f"><span>10798</span></td><td id="LC10798" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10799" class="css-a4x74f"><span>10799</span></td><td id="LC10799" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10800" class="css-a4x74f"><span>10800</span></td><td id="LC10800" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getTypesFromConfig</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L10801" class="css-a4x74f"><span>10801</span></td><td id="LC10801" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> types = {}; </code></td></tr><tr><td id="L10802" class="css-a4x74f"><span>10802</span></td><td id="LC10802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10803" class="css-a4x74f"><span>10803</span></td><td id="LC10803" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> config.node) { </code></td></tr><tr><td id="L10804" class="css-a4x74f"><span>10804</span></td><td id="LC10804" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">4.</span>call(config.node, name)) { </code></td></tr><tr><td id="L10805" class="css-a4x74f"><span>10805</span></td><td id="LC10805" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nodeType = config.node[name]; </code></td></tr><tr><td id="L10806" class="css-a4x74f"><span>10806</span></td><td id="LC10806" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10807" class="css-a4x74f"><span>10807</span></td><td id="LC10807" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!nodeType.structure) { </code></td></tr><tr><td id="L10808" class="css-a4x74f"><span>10808</span></td><td id="LC10808" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Missed `structure` field in `'</span> + name + <span class="code-string">'` node type definition'</span>); </code></td></tr><tr><td id="L10809" class="css-a4x74f"><span>10809</span></td><td id="LC10809" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10810" class="css-a4x74f"><span>10810</span></td><td id="LC10810" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10811" class="css-a4x74f"><span>10811</span></td><td id="LC10811" class="css-1dcdqdg"><code> types[name] = getWalkersFromStructure(name, nodeType); </code></td></tr><tr><td id="L10812" class="css-a4x74f"><span>10812</span></td><td id="LC10812" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10813" class="css-a4x74f"><span>10813</span></td><td id="LC10813" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10814" class="css-a4x74f"><span>10814</span></td><td id="LC10814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10815" class="css-a4x74f"><span>10815</span></td><td id="LC10815" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> types; </code></td></tr><tr><td id="L10816" class="css-a4x74f"><span>10816</span></td><td id="LC10816" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10817" class="css-a4x74f"><span>10817</span></td><td id="LC10817" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10818" class="css-a4x74f"><span>10818</span></td><td id="LC10818" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createTypeIterator</span>(<span class="code-params">config, reverse</span>) </span>{ </code></td></tr><tr><td id="L10819" class="css-a4x74f"><span>10819</span></td><td id="LC10819" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fields = config.fields.slice(); </code></td></tr><tr><td id="L10820" class="css-a4x74f"><span>10820</span></td><td id="LC10820" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> contextName = config.context; </code></td></tr><tr><td id="L10821" class="css-a4x74f"><span>10821</span></td><td id="LC10821" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> useContext = <span class="code-keyword">typeof</span> contextName === <span class="code-string">'string'</span>; </code></td></tr><tr><td id="L10822" class="css-a4x74f"><span>10822</span></td><td id="LC10822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10823" class="css-a4x74f"><span>10823</span></td><td id="LC10823" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (reverse) { </code></td></tr><tr><td id="L10824" class="css-a4x74f"><span>10824</span></td><td id="LC10824" class="css-1dcdqdg"><code> fields.reverse(); </code></td></tr><tr><td id="L10825" class="css-a4x74f"><span>10825</span></td><td id="LC10825" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10826" class="css-a4x74f"><span>10826</span></td><td id="LC10826" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10827" class="css-a4x74f"><span>10827</span></td><td id="LC10827" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, context, walk</span>) </span>{ </code></td></tr><tr><td id="L10828" class="css-a4x74f"><span>10828</span></td><td id="LC10828" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prevContextValue; </code></td></tr><tr><td id="L10829" class="css-a4x74f"><span>10829</span></td><td id="LC10829" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10830" class="css-a4x74f"><span>10830</span></td><td id="LC10830" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (useContext) { </code></td></tr><tr><td id="L10831" class="css-a4x74f"><span>10831</span></td><td id="LC10831" class="css-1dcdqdg"><code> prevContextValue = context[contextName]; </code></td></tr><tr><td id="L10832" class="css-a4x74f"><span>10832</span></td><td id="LC10832" class="css-1dcdqdg"><code> context[contextName] = node; </code></td></tr><tr><td id="L10833" class="css-a4x74f"><span>10833</span></td><td id="LC10833" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10834" class="css-a4x74f"><span>10834</span></td><td id="LC10834" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10835" class="css-a4x74f"><span>10835</span></td><td id="LC10835" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < fields.length; i++) { </code></td></tr><tr><td id="L10836" class="css-a4x74f"><span>10836</span></td><td id="LC10836" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> field = fields[i]; </code></td></tr><tr><td id="L10837" class="css-a4x74f"><span>10837</span></td><td id="LC10837" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ref = node[field.name]; </code></td></tr><tr><td id="L10838" class="css-a4x74f"><span>10838</span></td><td id="LC10838" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10839" class="css-a4x74f"><span>10839</span></td><td id="LC10839" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!field.nullable || ref) { </code></td></tr><tr><td id="L10840" class="css-a4x74f"><span>10840</span></td><td id="LC10840" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (field.type === <span class="code-string">'list'</span>) { </code></td></tr><tr><td id="L10841" class="css-a4x74f"><span>10841</span></td><td id="LC10841" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (reverse) { </code></td></tr><tr><td id="L10842" class="css-a4x74f"><span>10842</span></td><td id="LC10842" class="css-1dcdqdg"><code> ref.forEachRight(walk); </code></td></tr><tr><td id="L10843" class="css-a4x74f"><span>10843</span></td><td id="LC10843" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10844" class="css-a4x74f"><span>10844</span></td><td id="LC10844" class="css-1dcdqdg"><code> ref.forEach(walk); </code></td></tr><tr><td id="L10845" class="css-a4x74f"><span>10845</span></td><td id="LC10845" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10846" class="css-a4x74f"><span>10846</span></td><td id="LC10846" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L10847" class="css-a4x74f"><span>10847</span></td><td id="LC10847" class="css-1dcdqdg"><code> walk(ref); </code></td></tr><tr><td id="L10848" class="css-a4x74f"><span>10848</span></td><td id="LC10848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10849" class="css-a4x74f"><span>10849</span></td><td id="LC10849" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10850" class="css-a4x74f"><span>10850</span></td><td id="LC10850" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10851" class="css-a4x74f"><span>10851</span></td><td id="LC10851" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10852" class="css-a4x74f"><span>10852</span></td><td id="LC10852" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (useContext) { </code></td></tr><tr><td id="L10853" class="css-a4x74f"><span>10853</span></td><td id="LC10853" class="css-1dcdqdg"><code> context[contextName] = prevContextValue; </code></td></tr><tr><td id="L10854" class="css-a4x74f"><span>10854</span></td><td id="LC10854" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10855" class="css-a4x74f"><span>10855</span></td><td id="LC10855" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10856" class="css-a4x74f"><span>10856</span></td><td id="LC10856" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10857" class="css-a4x74f"><span>10857</span></td><td id="LC10857" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10858" class="css-a4x74f"><span>10858</span></td><td id="LC10858" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createFastTraveralMap</span>(<span class="code-params">iterators</span>) </span>{ </code></td></tr><tr><td id="L10859" class="css-a4x74f"><span>10859</span></td><td id="LC10859" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L10860" class="css-a4x74f"><span>10860</span></td><td id="LC10860" class="css-1dcdqdg"><code> Atrule: { </code></td></tr><tr><td id="L10861" class="css-a4x74f"><span>10861</span></td><td id="LC10861" class="css-1dcdqdg"><code> StyleSheet: iterators.StyleSheet, </code></td></tr><tr><td id="L10862" class="css-a4x74f"><span>10862</span></td><td id="LC10862" class="css-1dcdqdg"><code> Atrule: iterators.Atrule, </code></td></tr><tr><td id="L10863" class="css-a4x74f"><span>10863</span></td><td id="LC10863" class="css-1dcdqdg"><code> Rule: iterators.Rule, </code></td></tr><tr><td id="L10864" class="css-a4x74f"><span>10864</span></td><td id="LC10864" class="css-1dcdqdg"><code> Block: iterators.Block </code></td></tr><tr><td id="L10865" class="css-a4x74f"><span>10865</span></td><td id="LC10865" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L10866" class="css-a4x74f"><span>10866</span></td><td id="LC10866" class="css-1dcdqdg"><code> Rule: { </code></td></tr><tr><td id="L10867" class="css-a4x74f"><span>10867</span></td><td id="LC10867" class="css-1dcdqdg"><code> StyleSheet: iterators.StyleSheet, </code></td></tr><tr><td id="L10868" class="css-a4x74f"><span>10868</span></td><td id="LC10868" class="css-1dcdqdg"><code> Atrule: iterators.Atrule, </code></td></tr><tr><td id="L10869" class="css-a4x74f"><span>10869</span></td><td id="LC10869" class="css-1dcdqdg"><code> Rule: iterators.Rule, </code></td></tr><tr><td id="L10870" class="css-a4x74f"><span>10870</span></td><td id="LC10870" class="css-1dcdqdg"><code> Block: iterators.Block </code></td></tr><tr><td id="L10871" class="css-a4x74f"><span>10871</span></td><td id="LC10871" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L10872" class="css-a4x74f"><span>10872</span></td><td id="LC10872" class="css-1dcdqdg"><code> Declaration: { </code></td></tr><tr><td id="L10873" class="css-a4x74f"><span>10873</span></td><td id="LC10873" class="css-1dcdqdg"><code> StyleSheet: iterators.StyleSheet, </code></td></tr><tr><td id="L10874" class="css-a4x74f"><span>10874</span></td><td id="LC10874" class="css-1dcdqdg"><code> Atrule: iterators.Atrule, </code></td></tr><tr><td id="L10875" class="css-a4x74f"><span>10875</span></td><td id="LC10875" class="css-1dcdqdg"><code> Rule: iterators.Rule, </code></td></tr><tr><td id="L10876" class="css-a4x74f"><span>10876</span></td><td id="LC10876" class="css-1dcdqdg"><code> Block: iterators.Block, </code></td></tr><tr><td id="L10877" class="css-a4x74f"><span>10877</span></td><td id="LC10877" class="css-1dcdqdg"><code> DeclarationList: iterators.DeclarationList </code></td></tr><tr><td id="L10878" class="css-a4x74f"><span>10878</span></td><td id="LC10878" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10879" class="css-a4x74f"><span>10879</span></td><td id="LC10879" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10880" class="css-a4x74f"><span>10880</span></td><td id="LC10880" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10881" class="css-a4x74f"><span>10881</span></td><td id="LC10881" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10882" class="css-a4x74f"><span>10882</span></td><td id="LC10882" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">4</span> = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createWalker</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L10883" class="css-a4x74f"><span>10883</span></td><td id="LC10883" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> types = getTypesFromConfig(config); </code></td></tr><tr><td id="L10884" class="css-a4x74f"><span>10884</span></td><td id="LC10884" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> iteratorsNatural = {}; </code></td></tr><tr><td id="L10885" class="css-a4x74f"><span>10885</span></td><td id="LC10885" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> iteratorsReverse = {}; </code></td></tr><tr><td id="L10886" class="css-a4x74f"><span>10886</span></td><td id="LC10886" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10887" class="css-a4x74f"><span>10887</span></td><td id="LC10887" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> types) { </code></td></tr><tr><td id="L10888" class="css-a4x74f"><span>10888</span></td><td id="LC10888" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">4.</span>call(types, name) && types[name] !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L10889" class="css-a4x74f"><span>10889</span></td><td id="LC10889" class="css-1dcdqdg"><code> iteratorsNatural[name] = createTypeIterator(types[name], <span class="code-literal">false</span>); </code></td></tr><tr><td id="L10890" class="css-a4x74f"><span>10890</span></td><td id="LC10890" class="css-1dcdqdg"><code> iteratorsReverse[name] = createTypeIterator(types[name], <span class="code-literal">true</span>); </code></td></tr><tr><td id="L10891" class="css-a4x74f"><span>10891</span></td><td id="LC10891" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10892" class="css-a4x74f"><span>10892</span></td><td id="LC10892" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10893" class="css-a4x74f"><span>10893</span></td><td id="LC10893" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10894" class="css-a4x74f"><span>10894</span></td><td id="LC10894" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural); </code></td></tr><tr><td id="L10895" class="css-a4x74f"><span>10895</span></td><td id="LC10895" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse); </code></td></tr><tr><td id="L10896" class="css-a4x74f"><span>10896</span></td><td id="LC10896" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10897" class="css-a4x74f"><span>10897</span></td><td id="LC10897" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walk = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">root, options</span>) </span>{ </code></td></tr><tr><td id="L10898" class="css-a4x74f"><span>10898</span></td><td id="LC10898" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">walkNode</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L10899" class="css-a4x74f"><span>10899</span></td><td id="LC10899" class="css-1dcdqdg"><code> enter.call(context, node, item, list); </code></td></tr><tr><td id="L10900" class="css-a4x74f"><span>10900</span></td><td id="LC10900" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10901" class="css-a4x74f"><span>10901</span></td><td id="LC10901" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (iterators.hasOwnProperty(node.type)) { </code></td></tr><tr><td id="L10902" class="css-a4x74f"><span>10902</span></td><td id="LC10902" class="css-1dcdqdg"><code> iterators[node.type](node, context, walkNode); </code></td></tr><tr><td id="L10903" class="css-a4x74f"><span>10903</span></td><td id="LC10903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10904" class="css-a4x74f"><span>10904</span></td><td id="LC10904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10905" class="css-a4x74f"><span>10905</span></td><td id="LC10905" class="css-1dcdqdg"><code> leave.call(context, node, item, list); </code></td></tr><tr><td id="L10906" class="css-a4x74f"><span>10906</span></td><td id="LC10906" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10907" class="css-a4x74f"><span>10907</span></td><td id="LC10907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10908" class="css-a4x74f"><span>10908</span></td><td id="LC10908" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> enter = noop$<span class="code-number">4</span>; </code></td></tr><tr><td id="L10909" class="css-a4x74f"><span>10909</span></td><td id="LC10909" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> leave = noop$<span class="code-number">4</span>; </code></td></tr><tr><td id="L10910" class="css-a4x74f"><span>10910</span></td><td id="LC10910" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> iterators = iteratorsNatural; </code></td></tr><tr><td id="L10911" class="css-a4x74f"><span>10911</span></td><td id="LC10911" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> context = { </code></td></tr><tr><td id="L10912" class="css-a4x74f"><span>10912</span></td><td id="LC10912" class="css-1dcdqdg"><code> root: root, </code></td></tr><tr><td id="L10913" class="css-a4x74f"><span>10913</span></td><td id="LC10913" class="css-1dcdqdg"><code> stylesheet: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10914" class="css-a4x74f"><span>10914</span></td><td id="LC10914" class="css-1dcdqdg"><code> atrule: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10915" class="css-a4x74f"><span>10915</span></td><td id="LC10915" class="css-1dcdqdg"><code> atrulePrelude: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10916" class="css-a4x74f"><span>10916</span></td><td id="LC10916" class="css-1dcdqdg"><code> rule: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10917" class="css-a4x74f"><span>10917</span></td><td id="LC10917" class="css-1dcdqdg"><code> selector: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10918" class="css-a4x74f"><span>10918</span></td><td id="LC10918" class="css-1dcdqdg"><code> block: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10919" class="css-a4x74f"><span>10919</span></td><td id="LC10919" class="css-1dcdqdg"><code> declaration: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L10920" class="css-a4x74f"><span>10920</span></td><td id="LC10920" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span>: <span class="code-title">null</span> </span></code></td></tr><tr><td id="L10921" class="css-a4x74f"><span>10921</span></td><td id="LC10921" class="css-1dcdqdg"><code><span class="code-function"> }; </span></code></td></tr><tr><td id="L10922" class="css-a4x74f"><span>10922</span></td><td id="LC10922" class="css-1dcdqdg"><code><span class="code-function"> </span></code></td></tr><tr><td id="L10923" class="css-a4x74f"><span>10923</span></td><td id="LC10923" class="css-1dcdqdg"><code><span class="code-function"> <span class="code-title">if</span> (<span class="code-params">typeof options === <span class="code-string">'function'</span></span>) </span>{ </code></td></tr><tr><td id="L10924" class="css-a4x74f"><span>10924</span></td><td id="LC10924" class="css-1dcdqdg"><code> enter = options; </code></td></tr><tr><td id="L10925" class="css-a4x74f"><span>10925</span></td><td id="LC10925" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (options) { </code></td></tr><tr><td id="L10926" class="css-a4x74f"><span>10926</span></td><td id="LC10926" class="css-1dcdqdg"><code> enter = ensureFunction$<span class="code-number">1</span>(options.enter); </code></td></tr><tr><td id="L10927" class="css-a4x74f"><span>10927</span></td><td id="LC10927" class="css-1dcdqdg"><code> leave = ensureFunction$<span class="code-number">1</span>(options.leave); </code></td></tr><tr><td id="L10928" class="css-a4x74f"><span>10928</span></td><td id="LC10928" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10929" class="css-a4x74f"><span>10929</span></td><td id="LC10929" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options.reverse) { </code></td></tr><tr><td id="L10930" class="css-a4x74f"><span>10930</span></td><td id="LC10930" class="css-1dcdqdg"><code> iterators = iteratorsReverse; </code></td></tr><tr><td id="L10931" class="css-a4x74f"><span>10931</span></td><td id="LC10931" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10932" class="css-a4x74f"><span>10932</span></td><td id="LC10932" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10933" class="css-a4x74f"><span>10933</span></td><td id="LC10933" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options.visit) { </code></td></tr><tr><td id="L10934" class="css-a4x74f"><span>10934</span></td><td id="LC10934" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) { </code></td></tr><tr><td id="L10935" class="css-a4x74f"><span>10935</span></td><td id="LC10935" class="css-1dcdqdg"><code> iterators = options.reverse </code></td></tr><tr><td id="L10936" class="css-a4x74f"><span>10936</span></td><td id="LC10936" class="css-1dcdqdg"><code> ? fastTraversalIteratorsReverse[options.visit] </code></td></tr><tr><td id="L10937" class="css-a4x74f"><span>10937</span></td><td id="LC10937" class="css-1dcdqdg"><code> : fastTraversalIteratorsNatural[options.visit]; </code></td></tr><tr><td id="L10938" class="css-a4x74f"><span>10938</span></td><td id="LC10938" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!types.hasOwnProperty(options.visit)) { </code></td></tr><tr><td id="L10939" class="css-a4x74f"><span>10939</span></td><td id="LC10939" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Bad value `'</span> + options.visit + <span class="code-string">'` for `visit` option (should be: '</span> + <span class="code-built_in">Object</span>.keys(types).join(<span class="code-string">', '</span>) + <span class="code-string">')'</span>); </code></td></tr><tr><td id="L10940" class="css-a4x74f"><span>10940</span></td><td id="LC10940" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10941" class="css-a4x74f"><span>10941</span></td><td id="LC10941" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10942" class="css-a4x74f"><span>10942</span></td><td id="LC10942" class="css-1dcdqdg"><code> enter = invokeForType(enter, options.visit); </code></td></tr><tr><td id="L10943" class="css-a4x74f"><span>10943</span></td><td id="LC10943" class="css-1dcdqdg"><code> leave = invokeForType(leave, options.visit); </code></td></tr><tr><td id="L10944" class="css-a4x74f"><span>10944</span></td><td id="LC10944" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10945" class="css-a4x74f"><span>10945</span></td><td id="LC10945" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10946" class="css-a4x74f"><span>10946</span></td><td id="LC10946" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10947" class="css-a4x74f"><span>10947</span></td><td id="LC10947" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (enter === noop$<span class="code-number">4</span> && leave === noop$<span class="code-number">4</span>) { </code></td></tr><tr><td id="L10948" class="css-a4x74f"><span>10948</span></td><td id="LC10948" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">Error</span>(<span class="code-string">'Neither `enter` nor `leave` walker handler is set or both aren\'t a function'</span>); </code></td></tr><tr><td id="L10949" class="css-a4x74f"><span>10949</span></td><td id="LC10949" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10950" class="css-a4x74f"><span>10950</span></td><td id="LC10950" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10951" class="css-a4x74f"><span>10951</span></td><td id="LC10951" class="css-1dcdqdg"><code> <span class="code-comment">// swap handlers in reverse mode to invert visit order</span> </code></td></tr><tr><td id="L10952" class="css-a4x74f"><span>10952</span></td><td id="LC10952" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (options.reverse) { </code></td></tr><tr><td id="L10953" class="css-a4x74f"><span>10953</span></td><td id="LC10953" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> tmp = enter; </code></td></tr><tr><td id="L10954" class="css-a4x74f"><span>10954</span></td><td id="LC10954" class="css-1dcdqdg"><code> enter = leave; </code></td></tr><tr><td id="L10955" class="css-a4x74f"><span>10955</span></td><td id="LC10955" class="css-1dcdqdg"><code> leave = tmp; </code></td></tr><tr><td id="L10956" class="css-a4x74f"><span>10956</span></td><td id="LC10956" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10957" class="css-a4x74f"><span>10957</span></td><td id="LC10957" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10958" class="css-a4x74f"><span>10958</span></td><td id="LC10958" class="css-1dcdqdg"><code> walkNode(root); </code></td></tr><tr><td id="L10959" class="css-a4x74f"><span>10959</span></td><td id="LC10959" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10960" class="css-a4x74f"><span>10960</span></td><td id="LC10960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10961" class="css-a4x74f"><span>10961</span></td><td id="LC10961" class="css-1dcdqdg"><code> walk.find = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast, fn</span>) </span>{ </code></td></tr><tr><td id="L10962" class="css-a4x74f"><span>10962</span></td><td id="LC10962" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> found = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10963" class="css-a4x74f"><span>10963</span></td><td id="LC10963" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10964" class="css-a4x74f"><span>10964</span></td><td id="LC10964" class="css-1dcdqdg"><code> walk(ast, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L10965" class="css-a4x74f"><span>10965</span></td><td id="LC10965" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (found === <span class="code-literal">null</span> && fn.call(<span class="code-keyword">this</span>, node, item, list)) { </code></td></tr><tr><td id="L10966" class="css-a4x74f"><span>10966</span></td><td id="LC10966" class="css-1dcdqdg"><code> found = node; </code></td></tr><tr><td id="L10967" class="css-a4x74f"><span>10967</span></td><td id="LC10967" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10968" class="css-a4x74f"><span>10968</span></td><td id="LC10968" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10969" class="css-a4x74f"><span>10969</span></td><td id="LC10969" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10970" class="css-a4x74f"><span>10970</span></td><td id="LC10970" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> found; </code></td></tr><tr><td id="L10971" class="css-a4x74f"><span>10971</span></td><td id="LC10971" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10972" class="css-a4x74f"><span>10972</span></td><td id="LC10972" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10973" class="css-a4x74f"><span>10973</span></td><td id="LC10973" class="css-1dcdqdg"><code> walk.findLast = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast, fn</span>) </span>{ </code></td></tr><tr><td id="L10974" class="css-a4x74f"><span>10974</span></td><td id="LC10974" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> found = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L10975" class="css-a4x74f"><span>10975</span></td><td id="LC10975" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10976" class="css-a4x74f"><span>10976</span></td><td id="LC10976" class="css-1dcdqdg"><code> walk(ast, { </code></td></tr><tr><td id="L10977" class="css-a4x74f"><span>10977</span></td><td id="LC10977" class="css-1dcdqdg"><code> reverse: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L10978" class="css-a4x74f"><span>10978</span></td><td id="LC10978" class="css-1dcdqdg"><code> enter: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L10979" class="css-a4x74f"><span>10979</span></td><td id="LC10979" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (found === <span class="code-literal">null</span> && fn.call(<span class="code-keyword">this</span>, node, item, list)) { </code></td></tr><tr><td id="L10980" class="css-a4x74f"><span>10980</span></td><td id="LC10980" class="css-1dcdqdg"><code> found = node; </code></td></tr><tr><td id="L10981" class="css-a4x74f"><span>10981</span></td><td id="LC10981" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10982" class="css-a4x74f"><span>10982</span></td><td id="LC10982" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10983" class="css-a4x74f"><span>10983</span></td><td id="LC10983" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10984" class="css-a4x74f"><span>10984</span></td><td id="LC10984" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10985" class="css-a4x74f"><span>10985</span></td><td id="LC10985" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> found; </code></td></tr><tr><td id="L10986" class="css-a4x74f"><span>10986</span></td><td id="LC10986" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10987" class="css-a4x74f"><span>10987</span></td><td id="LC10987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10988" class="css-a4x74f"><span>10988</span></td><td id="LC10988" class="css-1dcdqdg"><code> walk.findAll = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">ast, fn</span>) </span>{ </code></td></tr><tr><td id="L10989" class="css-a4x74f"><span>10989</span></td><td id="LC10989" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> found = []; </code></td></tr><tr><td id="L10990" class="css-a4x74f"><span>10990</span></td><td id="LC10990" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10991" class="css-a4x74f"><span>10991</span></td><td id="LC10991" class="css-1dcdqdg"><code> walk(ast, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node, item, list</span>) </span>{ </code></td></tr><tr><td id="L10992" class="css-a4x74f"><span>10992</span></td><td id="LC10992" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (fn.call(<span class="code-keyword">this</span>, node, item, list)) { </code></td></tr><tr><td id="L10993" class="css-a4x74f"><span>10993</span></td><td id="LC10993" class="css-1dcdqdg"><code> found.push(node); </code></td></tr><tr><td id="L10994" class="css-a4x74f"><span>10994</span></td><td id="LC10994" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L10995" class="css-a4x74f"><span>10995</span></td><td id="LC10995" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L10996" class="css-a4x74f"><span>10996</span></td><td id="LC10996" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L10997" class="css-a4x74f"><span>10997</span></td><td id="LC10997" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> found; </code></td></tr><tr><td id="L10998" class="css-a4x74f"><span>10998</span></td><td id="LC10998" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L10999" class="css-a4x74f"><span>10999</span></td><td id="LC10999" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11000" class="css-a4x74f"><span>11000</span></td><td id="LC11000" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> walk; </code></td></tr><tr><td id="L11001" class="css-a4x74f"><span>11001</span></td><td id="LC11001" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11002" class="css-a4x74f"><span>11002</span></td><td id="LC11002" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11003" class="css-a4x74f"><span>11003</span></td><td id="LC11003" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clone = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">clone</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L11004" class="css-a4x74f"><span>11004</span></td><td id="LC11004" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = {}; </code></td></tr><tr><td id="L11005" class="css-a4x74f"><span>11005</span></td><td id="LC11005" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11006" class="css-a4x74f"><span>11006</span></td><td id="LC11006" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> node) { </code></td></tr><tr><td id="L11007" class="css-a4x74f"><span>11007</span></td><td id="LC11007" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = node[key]; </code></td></tr><tr><td id="L11008" class="css-a4x74f"><span>11008</span></td><td id="LC11008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11009" class="css-a4x74f"><span>11009</span></td><td id="LC11009" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (value) { </code></td></tr><tr><td id="L11010" class="css-a4x74f"><span>11010</span></td><td id="LC11010" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(value) || value <span class="code-keyword">instanceof</span> List_1) { </code></td></tr><tr><td id="L11011" class="css-a4x74f"><span>11011</span></td><td id="LC11011" class="css-1dcdqdg"><code> value = value.map(clone); </code></td></tr><tr><td id="L11012" class="css-a4x74f"><span>11012</span></td><td id="LC11012" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (value.constructor === <span class="code-built_in">Object</span>) { </code></td></tr><tr><td id="L11013" class="css-a4x74f"><span>11013</span></td><td id="LC11013" class="css-1dcdqdg"><code> value = clone(value); </code></td></tr><tr><td id="L11014" class="css-a4x74f"><span>11014</span></td><td id="LC11014" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11015" class="css-a4x74f"><span>11015</span></td><td id="LC11015" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11016" class="css-a4x74f"><span>11016</span></td><td id="LC11016" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11017" class="css-a4x74f"><span>11017</span></td><td id="LC11017" class="css-1dcdqdg"><code> result[key] = value; </code></td></tr><tr><td id="L11018" class="css-a4x74f"><span>11018</span></td><td id="LC11018" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11019" class="css-a4x74f"><span>11019</span></td><td id="LC11019" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11020" class="css-a4x74f"><span>11020</span></td><td id="LC11020" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L11021" class="css-a4x74f"><span>11021</span></td><td id="LC11021" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11022" class="css-a4x74f"><span>11022</span></td><td id="LC11022" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11023" class="css-a4x74f"><span>11023</span></td><td id="LC11023" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hasOwnProperty$<span class="code-number">5</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty; </code></td></tr><tr><td id="L11024" class="css-a4x74f"><span>11024</span></td><td id="LC11024" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shape = { </code></td></tr><tr><td id="L11025" class="css-a4x74f"><span>11025</span></td><td id="LC11025" class="css-1dcdqdg"><code> generic: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11026" class="css-a4x74f"><span>11026</span></td><td id="LC11026" class="css-1dcdqdg"><code> types: {}, </code></td></tr><tr><td id="L11027" class="css-a4x74f"><span>11027</span></td><td id="LC11027" class="css-1dcdqdg"><code> atrules: {}, </code></td></tr><tr><td id="L11028" class="css-a4x74f"><span>11028</span></td><td id="LC11028" class="css-1dcdqdg"><code> properties: {}, </code></td></tr><tr><td id="L11029" class="css-a4x74f"><span>11029</span></td><td id="LC11029" class="css-1dcdqdg"><code> parseContext: {}, </code></td></tr><tr><td id="L11030" class="css-a4x74f"><span>11030</span></td><td id="LC11030" class="css-1dcdqdg"><code> scope: {}, </code></td></tr><tr><td id="L11031" class="css-a4x74f"><span>11031</span></td><td id="LC11031" class="css-1dcdqdg"><code> atrule: [<span class="code-string">'parse'</span>], </code></td></tr><tr><td id="L11032" class="css-a4x74f"><span>11032</span></td><td id="LC11032" class="css-1dcdqdg"><code> pseudo: [<span class="code-string">'parse'</span>], </code></td></tr><tr><td id="L11033" class="css-a4x74f"><span>11033</span></td><td id="LC11033" class="css-1dcdqdg"><code> node: [<span class="code-string">'name'</span>, <span class="code-string">'structure'</span>, <span class="code-string">'parse'</span>, <span class="code-string">'generate'</span>, <span class="code-string">'walkContext'</span>] </code></td></tr><tr><td id="L11034" class="css-a4x74f"><span>11034</span></td><td id="LC11034" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11035" class="css-a4x74f"><span>11035</span></td><td id="LC11035" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11036" class="css-a4x74f"><span>11036</span></td><td id="LC11036" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isObject</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L11037" class="css-a4x74f"><span>11037</span></td><td id="LC11037" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value && value.constructor === <span class="code-built_in">Object</span>; </code></td></tr><tr><td id="L11038" class="css-a4x74f"><span>11038</span></td><td id="LC11038" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11039" class="css-a4x74f"><span>11039</span></td><td id="LC11039" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11040" class="css-a4x74f"><span>11040</span></td><td id="LC11040" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">copy</span>(<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L11041" class="css-a4x74f"><span>11041</span></td><td id="LC11041" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isObject(value)) { </code></td></tr><tr><td id="L11042" class="css-a4x74f"><span>11042</span></td><td id="LC11042" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Object</span>.assign({}, value); </code></td></tr><tr><td id="L11043" class="css-a4x74f"><span>11043</span></td><td id="LC11043" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L11044" class="css-a4x74f"><span>11044</span></td><td id="LC11044" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L11045" class="css-a4x74f"><span>11045</span></td><td id="LC11045" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11046" class="css-a4x74f"><span>11046</span></td><td id="LC11046" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11047" class="css-a4x74f"><span>11047</span></td><td id="LC11047" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">extend</span>(<span class="code-params">dest, src</span>) </span>{ </code></td></tr><tr><td id="L11048" class="css-a4x74f"><span>11048</span></td><td id="LC11048" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> src) { </code></td></tr><tr><td id="L11049" class="css-a4x74f"><span>11049</span></td><td id="LC11049" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">5.</span>call(src, key)) { </code></td></tr><tr><td id="L11050" class="css-a4x74f"><span>11050</span></td><td id="LC11050" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isObject(dest[key])) { </code></td></tr><tr><td id="L11051" class="css-a4x74f"><span>11051</span></td><td id="LC11051" class="css-1dcdqdg"><code> extend(dest[key], copy(src[key])); </code></td></tr><tr><td id="L11052" class="css-a4x74f"><span>11052</span></td><td id="LC11052" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L11053" class="css-a4x74f"><span>11053</span></td><td id="LC11053" class="css-1dcdqdg"><code> dest[key] = copy(src[key]); </code></td></tr><tr><td id="L11054" class="css-a4x74f"><span>11054</span></td><td id="LC11054" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11055" class="css-a4x74f"><span>11055</span></td><td id="LC11055" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11056" class="css-a4x74f"><span>11056</span></td><td id="LC11056" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11057" class="css-a4x74f"><span>11057</span></td><td id="LC11057" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11058" class="css-a4x74f"><span>11058</span></td><td id="LC11058" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11059" class="css-a4x74f"><span>11059</span></td><td id="LC11059" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">mix</span>(<span class="code-params">dest, src, shape</span>) </span>{ </code></td></tr><tr><td id="L11060" class="css-a4x74f"><span>11060</span></td><td id="LC11060" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> shape) { </code></td></tr><tr><td id="L11061" class="css-a4x74f"><span>11061</span></td><td id="LC11061" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">5.</span>call(shape, key) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L11062" class="css-a4x74f"><span>11062</span></td><td id="LC11062" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L11063" class="css-a4x74f"><span>11063</span></td><td id="LC11063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11064" class="css-a4x74f"><span>11064</span></td><td id="LC11064" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11065" class="css-a4x74f"><span>11065</span></td><td id="LC11065" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (shape[key] === <span class="code-literal">true</span>) { </code></td></tr><tr><td id="L11066" class="css-a4x74f"><span>11066</span></td><td id="LC11066" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (key <span class="code-keyword">in</span> src) { </code></td></tr><tr><td id="L11067" class="css-a4x74f"><span>11067</span></td><td id="LC11067" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">5.</span>call(src, key)) { </code></td></tr><tr><td id="L11068" class="css-a4x74f"><span>11068</span></td><td id="LC11068" class="css-1dcdqdg"><code> dest[key] = copy(src[key]); </code></td></tr><tr><td id="L11069" class="css-a4x74f"><span>11069</span></td><td id="LC11069" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11070" class="css-a4x74f"><span>11070</span></td><td id="LC11070" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11071" class="css-a4x74f"><span>11071</span></td><td id="LC11071" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (shape[key]) { </code></td></tr><tr><td id="L11072" class="css-a4x74f"><span>11072</span></td><td id="LC11072" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isObject(shape[key])) { </code></td></tr><tr><td id="L11073" class="css-a4x74f"><span>11073</span></td><td id="LC11073" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> res = {}; </code></td></tr><tr><td id="L11074" class="css-a4x74f"><span>11074</span></td><td id="LC11074" class="css-1dcdqdg"><code> extend(res, dest[key]); </code></td></tr><tr><td id="L11075" class="css-a4x74f"><span>11075</span></td><td id="LC11075" class="css-1dcdqdg"><code> extend(res, src[key]); </code></td></tr><tr><td id="L11076" class="css-a4x74f"><span>11076</span></td><td id="LC11076" class="css-1dcdqdg"><code> dest[key] = res; </code></td></tr><tr><td id="L11077" class="css-a4x74f"><span>11077</span></td><td id="LC11077" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(shape[key])) { </code></td></tr><tr><td id="L11078" class="css-a4x74f"><span>11078</span></td><td id="LC11078" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> res = {}; </code></td></tr><tr><td id="L11079" class="css-a4x74f"><span>11079</span></td><td id="LC11079" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> innerShape = shape[key].reduce(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">s, k</span>) </span>{ </code></td></tr><tr><td id="L11080" class="css-a4x74f"><span>11080</span></td><td id="LC11080" class="css-1dcdqdg"><code> s[k] = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L11081" class="css-a4x74f"><span>11081</span></td><td id="LC11081" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> s; </code></td></tr><tr><td id="L11082" class="css-a4x74f"><span>11082</span></td><td id="LC11082" class="css-1dcdqdg"><code> }, {}); </code></td></tr><tr><td id="L11083" class="css-a4x74f"><span>11083</span></td><td id="LC11083" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> dest[key]) { </code></td></tr><tr><td id="L11084" class="css-a4x74f"><span>11084</span></td><td id="LC11084" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">5.</span>call(dest[key], name)) { </code></td></tr><tr><td id="L11085" class="css-a4x74f"><span>11085</span></td><td id="LC11085" class="css-1dcdqdg"><code> res[name] = {}; </code></td></tr><tr><td id="L11086" class="css-a4x74f"><span>11086</span></td><td id="LC11086" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (dest[key] && dest[key][name]) { </code></td></tr><tr><td id="L11087" class="css-a4x74f"><span>11087</span></td><td id="LC11087" class="css-1dcdqdg"><code> mix(res[name], dest[key][name], innerShape); </code></td></tr><tr><td id="L11088" class="css-a4x74f"><span>11088</span></td><td id="LC11088" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11089" class="css-a4x74f"><span>11089</span></td><td id="LC11089" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11090" class="css-a4x74f"><span>11090</span></td><td id="LC11090" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11091" class="css-a4x74f"><span>11091</span></td><td id="LC11091" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> name <span class="code-keyword">in</span> src[key]) { </code></td></tr><tr><td id="L11092" class="css-a4x74f"><span>11092</span></td><td id="LC11092" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">5.</span>call(src[key], name)) { </code></td></tr><tr><td id="L11093" class="css-a4x74f"><span>11093</span></td><td id="LC11093" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!res[name]) { </code></td></tr><tr><td id="L11094" class="css-a4x74f"><span>11094</span></td><td id="LC11094" class="css-1dcdqdg"><code> res[name] = {}; </code></td></tr><tr><td id="L11095" class="css-a4x74f"><span>11095</span></td><td id="LC11095" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11096" class="css-a4x74f"><span>11096</span></td><td id="LC11096" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (src[key] && src[key][name]) { </code></td></tr><tr><td id="L11097" class="css-a4x74f"><span>11097</span></td><td id="LC11097" class="css-1dcdqdg"><code> mix(res[name], src[key][name], innerShape); </code></td></tr><tr><td id="L11098" class="css-a4x74f"><span>11098</span></td><td id="LC11098" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11099" class="css-a4x74f"><span>11099</span></td><td id="LC11099" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11100" class="css-a4x74f"><span>11100</span></td><td id="LC11100" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11101" class="css-a4x74f"><span>11101</span></td><td id="LC11101" class="css-1dcdqdg"><code> dest[key] = res; </code></td></tr><tr><td id="L11102" class="css-a4x74f"><span>11102</span></td><td id="LC11102" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11103" class="css-a4x74f"><span>11103</span></td><td id="LC11103" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11104" class="css-a4x74f"><span>11104</span></td><td id="LC11104" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11105" class="css-a4x74f"><span>11105</span></td><td id="LC11105" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> dest; </code></td></tr><tr><td id="L11106" class="css-a4x74f"><span>11106</span></td><td id="LC11106" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11107" class="css-a4x74f"><span>11107</span></td><td id="LC11107" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11108" class="css-a4x74f"><span>11108</span></td><td id="LC11108" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mix_1 = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">dest, src</span>) </span>{ </code></td></tr><tr><td id="L11109" class="css-a4x74f"><span>11109</span></td><td id="LC11109" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> mix(dest, src, shape); </code></td></tr><tr><td id="L11110" class="css-a4x74f"><span>11110</span></td><td id="LC11110" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11111" class="css-a4x74f"><span>11111</span></td><td id="LC11111" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11112" class="css-a4x74f"><span>11112</span></td><td id="LC11112" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">createSyntax</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L11113" class="css-a4x74f"><span>11113</span></td><td id="LC11113" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parse = create$<span class="code-number">1</span>(config); </code></td></tr><tr><td id="L11114" class="css-a4x74f"><span>11114</span></td><td id="LC11114" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walk = create$<span class="code-number">4</span>(config); </code></td></tr><tr><td id="L11115" class="css-a4x74f"><span>11115</span></td><td id="LC11115" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generate = create$<span class="code-number">2</span>(config); </code></td></tr><tr><td id="L11116" class="css-a4x74f"><span>11116</span></td><td id="LC11116" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> convert = create$<span class="code-number">3</span>(walk); </code></td></tr><tr><td id="L11117" class="css-a4x74f"><span>11117</span></td><td id="LC11117" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11118" class="css-a4x74f"><span>11118</span></td><td id="LC11118" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntax = { </code></td></tr><tr><td id="L11119" class="css-a4x74f"><span>11119</span></td><td id="LC11119" class="css-1dcdqdg"><code> List: List_1, </code></td></tr><tr><td id="L11120" class="css-a4x74f"><span>11120</span></td><td id="LC11120" class="css-1dcdqdg"><code> <span class="code-built_in">SyntaxError</span>: _SyntaxError, </code></td></tr><tr><td id="L11121" class="css-a4x74f"><span>11121</span></td><td id="LC11121" class="css-1dcdqdg"><code> TokenStream: TokenStream_1, </code></td></tr><tr><td id="L11122" class="css-a4x74f"><span>11122</span></td><td id="LC11122" class="css-1dcdqdg"><code> Lexer: Lexer_1, </code></td></tr><tr><td id="L11123" class="css-a4x74f"><span>11123</span></td><td id="LC11123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11124" class="css-a4x74f"><span>11124</span></td><td id="LC11124" class="css-1dcdqdg"><code> vendorPrefix: names.vendorPrefix, </code></td></tr><tr><td id="L11125" class="css-a4x74f"><span>11125</span></td><td id="LC11125" class="css-1dcdqdg"><code> keyword: names.keyword, </code></td></tr><tr><td id="L11126" class="css-a4x74f"><span>11126</span></td><td id="LC11126" class="css-1dcdqdg"><code> property: names.property, </code></td></tr><tr><td id="L11127" class="css-a4x74f"><span>11127</span></td><td id="LC11127" class="css-1dcdqdg"><code> isCustomProperty: names.isCustomProperty, </code></td></tr><tr><td id="L11128" class="css-a4x74f"><span>11128</span></td><td id="LC11128" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11129" class="css-a4x74f"><span>11129</span></td><td id="LC11129" class="css-1dcdqdg"><code> definitionSyntax: definitionSyntax, </code></td></tr><tr><td id="L11130" class="css-a4x74f"><span>11130</span></td><td id="LC11130" class="css-1dcdqdg"><code> lexer: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L11131" class="css-a4x74f"><span>11131</span></td><td id="LC11131" class="css-1dcdqdg"><code> createLexer: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L11132" class="css-a4x74f"><span>11132</span></td><td id="LC11132" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> Lexer_1(config, syntax, syntax.lexer.structure); </code></td></tr><tr><td id="L11133" class="css-a4x74f"><span>11133</span></td><td id="LC11133" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11134" class="css-a4x74f"><span>11134</span></td><td id="LC11134" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11135" class="css-a4x74f"><span>11135</span></td><td id="LC11135" class="css-1dcdqdg"><code> tokenize: tokenizer, </code></td></tr><tr><td id="L11136" class="css-a4x74f"><span>11136</span></td><td id="LC11136" class="css-1dcdqdg"><code> parse: parse, </code></td></tr><tr><td id="L11137" class="css-a4x74f"><span>11137</span></td><td id="LC11137" class="css-1dcdqdg"><code> walk: walk, </code></td></tr><tr><td id="L11138" class="css-a4x74f"><span>11138</span></td><td id="LC11138" class="css-1dcdqdg"><code> generate: generate, </code></td></tr><tr><td id="L11139" class="css-a4x74f"><span>11139</span></td><td id="LC11139" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11140" class="css-a4x74f"><span>11140</span></td><td id="LC11140" class="css-1dcdqdg"><code> find: walk.find, </code></td></tr><tr><td id="L11141" class="css-a4x74f"><span>11141</span></td><td id="LC11141" class="css-1dcdqdg"><code> findLast: walk.findLast, </code></td></tr><tr><td id="L11142" class="css-a4x74f"><span>11142</span></td><td id="LC11142" class="css-1dcdqdg"><code> findAll: walk.findAll, </code></td></tr><tr><td id="L11143" class="css-a4x74f"><span>11143</span></td><td id="LC11143" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11144" class="css-a4x74f"><span>11144</span></td><td id="LC11144" class="css-1dcdqdg"><code> clone: clone, </code></td></tr><tr><td id="L11145" class="css-a4x74f"><span>11145</span></td><td id="LC11145" class="css-1dcdqdg"><code> fromPlainObject: convert.fromPlainObject, </code></td></tr><tr><td id="L11146" class="css-a4x74f"><span>11146</span></td><td id="LC11146" class="css-1dcdqdg"><code> toPlainObject: convert.toPlainObject, </code></td></tr><tr><td id="L11147" class="css-a4x74f"><span>11147</span></td><td id="LC11147" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11148" class="css-a4x74f"><span>11148</span></td><td id="LC11148" class="css-1dcdqdg"><code> createSyntax: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L11149" class="css-a4x74f"><span>11149</span></td><td id="LC11149" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> createSyntax(mix_1({}, config)); </code></td></tr><tr><td id="L11150" class="css-a4x74f"><span>11150</span></td><td id="LC11150" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11151" class="css-a4x74f"><span>11151</span></td><td id="LC11151" class="css-1dcdqdg"><code> fork: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">extension</span>) </span>{ </code></td></tr><tr><td id="L11152" class="css-a4x74f"><span>11152</span></td><td id="LC11152" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> base = mix_1({}, config); <span class="code-comment">// copy of config</span> </code></td></tr><tr><td id="L11153" class="css-a4x74f"><span>11153</span></td><td id="LC11153" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> createSyntax( </code></td></tr><tr><td id="L11154" class="css-a4x74f"><span>11154</span></td><td id="LC11154" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> extension === <span class="code-string">'function'</span> </code></td></tr><tr><td id="L11155" class="css-a4x74f"><span>11155</span></td><td id="LC11155" class="css-1dcdqdg"><code> ? extension(base, <span class="code-built_in">Object</span>.assign) </code></td></tr><tr><td id="L11156" class="css-a4x74f"><span>11156</span></td><td id="LC11156" class="css-1dcdqdg"><code> : mix_1(base, extension) </code></td></tr><tr><td id="L11157" class="css-a4x74f"><span>11157</span></td><td id="LC11157" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L11158" class="css-a4x74f"><span>11158</span></td><td id="LC11158" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11159" class="css-a4x74f"><span>11159</span></td><td id="LC11159" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11160" class="css-a4x74f"><span>11160</span></td><td id="LC11160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11161" class="css-a4x74f"><span>11161</span></td><td id="LC11161" class="css-1dcdqdg"><code> syntax.lexer = <span class="code-keyword">new</span> Lexer_1({ </code></td></tr><tr><td id="L11162" class="css-a4x74f"><span>11162</span></td><td id="LC11162" class="css-1dcdqdg"><code> generic: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11163" class="css-a4x74f"><span>11163</span></td><td id="LC11163" class="css-1dcdqdg"><code> types: config.types, </code></td></tr><tr><td id="L11164" class="css-a4x74f"><span>11164</span></td><td id="LC11164" class="css-1dcdqdg"><code> atrules: config.atrules, </code></td></tr><tr><td id="L11165" class="css-a4x74f"><span>11165</span></td><td id="LC11165" class="css-1dcdqdg"><code> properties: config.properties, </code></td></tr><tr><td id="L11166" class="css-a4x74f"><span>11166</span></td><td id="LC11166" class="css-1dcdqdg"><code> node: config.node </code></td></tr><tr><td id="L11167" class="css-a4x74f"><span>11167</span></td><td id="LC11167" class="css-1dcdqdg"><code> }, syntax); </code></td></tr><tr><td id="L11168" class="css-a4x74f"><span>11168</span></td><td id="LC11168" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11169" class="css-a4x74f"><span>11169</span></td><td id="LC11169" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> syntax; </code></td></tr><tr><td id="L11170" class="css-a4x74f"><span>11170</span></td><td id="LC11170" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11171" class="css-a4x74f"><span>11171</span></td><td id="LC11171" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create_1 = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">config</span>) </span>{ </code></td></tr><tr><td id="L11172" class="css-a4x74f"><span>11172</span></td><td id="LC11172" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> createSyntax(mix_1({}, config)); </code></td></tr><tr><td id="L11173" class="css-a4x74f"><span>11173</span></td><td id="LC11173" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11174" class="css-a4x74f"><span>11174</span></td><td id="LC11174" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11175" class="css-a4x74f"><span>11175</span></td><td id="LC11175" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">5</span> = { </code></td></tr><tr><td id="L11176" class="css-a4x74f"><span>11176</span></td><td id="LC11176" class="css-1dcdqdg"><code> create: create_1 </code></td></tr><tr><td id="L11177" class="css-a4x74f"><span>11177</span></td><td id="LC11177" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11178" class="css-a4x74f"><span>11178</span></td><td id="LC11178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11179" class="css-a4x74f"><span>11179</span></td><td id="LC11179" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atRules = { </code></td></tr><tr><td id="L11180" class="css-a4x74f"><span>11180</span></td><td id="LC11180" class="css-1dcdqdg"><code> <span class="code-string">"@charset"</span>: { </code></td></tr><tr><td id="L11181" class="css-a4x74f"><span>11181</span></td><td id="LC11181" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@charset \"<charset>\";"</span>, </code></td></tr><tr><td id="L11182" class="css-a4x74f"><span>11182</span></td><td id="LC11182" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11183" class="css-a4x74f"><span>11183</span></td><td id="LC11183" class="css-1dcdqdg"><code> <span class="code-string">"CSS Charsets"</span> </code></td></tr><tr><td id="L11184" class="css-a4x74f"><span>11184</span></td><td id="LC11184" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11185" class="css-a4x74f"><span>11185</span></td><td id="LC11185" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11186" class="css-a4x74f"><span>11186</span></td><td id="LC11186" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@charset"</span> </code></td></tr><tr><td id="L11187" class="css-a4x74f"><span>11187</span></td><td id="LC11187" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11188" class="css-a4x74f"><span>11188</span></td><td id="LC11188" class="css-1dcdqdg"><code> <span class="code-string">"@counter-style"</span>: { </code></td></tr><tr><td id="L11189" class="css-a4x74f"><span>11189</span></td><td id="LC11189" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@counter-style <counter-style-name> {\n [ system: <counter-system>; ] ||\n [ symbols: <counter-symbols>; ] ||\n [ additive-symbols: <additive-symbols>; ] ||\n [ negative: <negative-symbol>; ] ||\n [ prefix: <prefix>; ] ||\n [ suffix: <suffix>; ] ||\n [ range: <range>; ] ||\n [ pad: <padding>; ] ||\n [ speak-as: <speak-as>; ] ||\n [ fallback: <counter-style-name>; ]\n}"</span>, </code></td></tr><tr><td id="L11190" class="css-a4x74f"><span>11190</span></td><td id="LC11190" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11191" class="css-a4x74f"><span>11191</span></td><td id="LC11191" class="css-1dcdqdg"><code> <span class="code-string">"CSSCounterStyleRule"</span> </code></td></tr><tr><td id="L11192" class="css-a4x74f"><span>11192</span></td><td id="LC11192" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11193" class="css-a4x74f"><span>11193</span></td><td id="LC11193" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11194" class="css-a4x74f"><span>11194</span></td><td id="LC11194" class="css-1dcdqdg"><code> <span class="code-string">"CSS Counter Styles"</span> </code></td></tr><tr><td id="L11195" class="css-a4x74f"><span>11195</span></td><td id="LC11195" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11196" class="css-a4x74f"><span>11196</span></td><td id="LC11196" class="css-1dcdqdg"><code> descriptors: { </code></td></tr><tr><td id="L11197" class="css-a4x74f"><span>11197</span></td><td id="LC11197" class="css-1dcdqdg"><code> <span class="code-string">"additive-symbols"</span>: { </code></td></tr><tr><td id="L11198" class="css-a4x74f"><span>11198</span></td><td id="LC11198" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <integer> && <symbol> ]#"</span>, </code></td></tr><tr><td id="L11199" class="css-a4x74f"><span>11199</span></td><td id="LC11199" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11200" class="css-a4x74f"><span>11200</span></td><td id="LC11200" class="css-1dcdqdg"><code> initial: <span class="code-string">"N/A"</span>, </code></td></tr><tr><td id="L11201" class="css-a4x74f"><span>11201</span></td><td id="LC11201" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11202" class="css-a4x74f"><span>11202</span></td><td id="LC11202" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11203" class="css-a4x74f"><span>11203</span></td><td id="LC11203" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11204" class="css-a4x74f"><span>11204</span></td><td id="LC11204" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11205" class="css-a4x74f"><span>11205</span></td><td id="LC11205" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11206" class="css-a4x74f"><span>11206</span></td><td id="LC11206" class="css-1dcdqdg"><code> fallback: { </code></td></tr><tr><td id="L11207" class="css-a4x74f"><span>11207</span></td><td id="LC11207" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<counter-style-name>"</span>, </code></td></tr><tr><td id="L11208" class="css-a4x74f"><span>11208</span></td><td id="LC11208" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11209" class="css-a4x74f"><span>11209</span></td><td id="LC11209" class="css-1dcdqdg"><code> initial: <span class="code-string">"decimal"</span>, </code></td></tr><tr><td id="L11210" class="css-a4x74f"><span>11210</span></td><td id="LC11210" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11211" class="css-a4x74f"><span>11211</span></td><td id="LC11211" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11212" class="css-a4x74f"><span>11212</span></td><td id="LC11212" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11213" class="css-a4x74f"><span>11213</span></td><td id="LC11213" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11214" class="css-a4x74f"><span>11214</span></td><td id="LC11214" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11215" class="css-a4x74f"><span>11215</span></td><td id="LC11215" class="css-1dcdqdg"><code> negative: { </code></td></tr><tr><td id="L11216" class="css-a4x74f"><span>11216</span></td><td id="LC11216" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<symbol> <symbol>?"</span>, </code></td></tr><tr><td id="L11217" class="css-a4x74f"><span>11217</span></td><td id="LC11217" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11218" class="css-a4x74f"><span>11218</span></td><td id="LC11218" class="css-1dcdqdg"><code> initial: <span class="code-string">"\"-\" hyphen-minus"</span>, </code></td></tr><tr><td id="L11219" class="css-a4x74f"><span>11219</span></td><td id="LC11219" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11220" class="css-a4x74f"><span>11220</span></td><td id="LC11220" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11221" class="css-a4x74f"><span>11221</span></td><td id="LC11221" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11222" class="css-a4x74f"><span>11222</span></td><td id="LC11222" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11223" class="css-a4x74f"><span>11223</span></td><td id="LC11223" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11224" class="css-a4x74f"><span>11224</span></td><td id="LC11224" class="css-1dcdqdg"><code> pad: { </code></td></tr><tr><td id="L11225" class="css-a4x74f"><span>11225</span></td><td id="LC11225" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer> && <symbol>"</span>, </code></td></tr><tr><td id="L11226" class="css-a4x74f"><span>11226</span></td><td id="LC11226" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11227" class="css-a4x74f"><span>11227</span></td><td id="LC11227" class="css-1dcdqdg"><code> initial: <span class="code-string">"0 \"\""</span>, </code></td></tr><tr><td id="L11228" class="css-a4x74f"><span>11228</span></td><td id="LC11228" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11229" class="css-a4x74f"><span>11229</span></td><td id="LC11229" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11230" class="css-a4x74f"><span>11230</span></td><td id="LC11230" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11231" class="css-a4x74f"><span>11231</span></td><td id="LC11231" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11232" class="css-a4x74f"><span>11232</span></td><td id="LC11232" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11233" class="css-a4x74f"><span>11233</span></td><td id="LC11233" class="css-1dcdqdg"><code> prefix: { </code></td></tr><tr><td id="L11234" class="css-a4x74f"><span>11234</span></td><td id="LC11234" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<symbol>"</span>, </code></td></tr><tr><td id="L11235" class="css-a4x74f"><span>11235</span></td><td id="LC11235" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11236" class="css-a4x74f"><span>11236</span></td><td id="LC11236" class="css-1dcdqdg"><code> initial: <span class="code-string">"\"\""</span>, </code></td></tr><tr><td id="L11237" class="css-a4x74f"><span>11237</span></td><td id="LC11237" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11238" class="css-a4x74f"><span>11238</span></td><td id="LC11238" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11239" class="css-a4x74f"><span>11239</span></td><td id="LC11239" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11240" class="css-a4x74f"><span>11240</span></td><td id="LC11240" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11241" class="css-a4x74f"><span>11241</span></td><td id="LC11241" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11242" class="css-a4x74f"><span>11242</span></td><td id="LC11242" class="css-1dcdqdg"><code> range: { </code></td></tr><tr><td id="L11243" class="css-a4x74f"><span>11243</span></td><td id="LC11243" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ <integer> | infinite ]{2} ]# | auto"</span>, </code></td></tr><tr><td id="L11244" class="css-a4x74f"><span>11244</span></td><td id="LC11244" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11245" class="css-a4x74f"><span>11245</span></td><td id="LC11245" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11246" class="css-a4x74f"><span>11246</span></td><td id="LC11246" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11247" class="css-a4x74f"><span>11247</span></td><td id="LC11247" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11248" class="css-a4x74f"><span>11248</span></td><td id="LC11248" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11249" class="css-a4x74f"><span>11249</span></td><td id="LC11249" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11250" class="css-a4x74f"><span>11250</span></td><td id="LC11250" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11251" class="css-a4x74f"><span>11251</span></td><td id="LC11251" class="css-1dcdqdg"><code> <span class="code-string">"speak-as"</span>: { </code></td></tr><tr><td id="L11252" class="css-a4x74f"><span>11252</span></td><td id="LC11252" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | bullets | numbers | words | spell-out | <counter-style-name>"</span>, </code></td></tr><tr><td id="L11253" class="css-a4x74f"><span>11253</span></td><td id="LC11253" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11254" class="css-a4x74f"><span>11254</span></td><td id="LC11254" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11255" class="css-a4x74f"><span>11255</span></td><td id="LC11255" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11256" class="css-a4x74f"><span>11256</span></td><td id="LC11256" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11257" class="css-a4x74f"><span>11257</span></td><td id="LC11257" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11258" class="css-a4x74f"><span>11258</span></td><td id="LC11258" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11259" class="css-a4x74f"><span>11259</span></td><td id="LC11259" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11260" class="css-a4x74f"><span>11260</span></td><td id="LC11260" class="css-1dcdqdg"><code> suffix: { </code></td></tr><tr><td id="L11261" class="css-a4x74f"><span>11261</span></td><td id="LC11261" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<symbol>"</span>, </code></td></tr><tr><td id="L11262" class="css-a4x74f"><span>11262</span></td><td id="LC11262" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11263" class="css-a4x74f"><span>11263</span></td><td id="LC11263" class="css-1dcdqdg"><code> initial: <span class="code-string">"\". \""</span>, </code></td></tr><tr><td id="L11264" class="css-a4x74f"><span>11264</span></td><td id="LC11264" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11265" class="css-a4x74f"><span>11265</span></td><td id="LC11265" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11266" class="css-a4x74f"><span>11266</span></td><td id="LC11266" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11267" class="css-a4x74f"><span>11267</span></td><td id="LC11267" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11268" class="css-a4x74f"><span>11268</span></td><td id="LC11268" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11269" class="css-a4x74f"><span>11269</span></td><td id="LC11269" class="css-1dcdqdg"><code> symbols: { </code></td></tr><tr><td id="L11270" class="css-a4x74f"><span>11270</span></td><td id="LC11270" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<symbol>+"</span>, </code></td></tr><tr><td id="L11271" class="css-a4x74f"><span>11271</span></td><td id="LC11271" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11272" class="css-a4x74f"><span>11272</span></td><td id="LC11272" class="css-1dcdqdg"><code> initial: <span class="code-string">"N/A"</span>, </code></td></tr><tr><td id="L11273" class="css-a4x74f"><span>11273</span></td><td id="LC11273" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11274" class="css-a4x74f"><span>11274</span></td><td id="LC11274" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11275" class="css-a4x74f"><span>11275</span></td><td id="LC11275" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11276" class="css-a4x74f"><span>11276</span></td><td id="LC11276" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11277" class="css-a4x74f"><span>11277</span></td><td id="LC11277" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11278" class="css-a4x74f"><span>11278</span></td><td id="LC11278" class="css-1dcdqdg"><code> system: { </code></td></tr><tr><td id="L11279" class="css-a4x74f"><span>11279</span></td><td id="LC11279" class="css-1dcdqdg"><code> syntax: <span class="code-string">"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]"</span>, </code></td></tr><tr><td id="L11280" class="css-a4x74f"><span>11280</span></td><td id="LC11280" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11281" class="css-a4x74f"><span>11281</span></td><td id="LC11281" class="css-1dcdqdg"><code> initial: <span class="code-string">"symbolic"</span>, </code></td></tr><tr><td id="L11282" class="css-a4x74f"><span>11282</span></td><td id="LC11282" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11283" class="css-a4x74f"><span>11283</span></td><td id="LC11283" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11284" class="css-a4x74f"><span>11284</span></td><td id="LC11284" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11285" class="css-a4x74f"><span>11285</span></td><td id="LC11285" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11286" class="css-a4x74f"><span>11286</span></td><td id="LC11286" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11287" class="css-a4x74f"><span>11287</span></td><td id="LC11287" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11288" class="css-a4x74f"><span>11288</span></td><td id="LC11288" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11289" class="css-a4x74f"><span>11289</span></td><td id="LC11289" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@counter-style"</span> </code></td></tr><tr><td id="L11290" class="css-a4x74f"><span>11290</span></td><td id="LC11290" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11291" class="css-a4x74f"><span>11291</span></td><td id="LC11291" class="css-1dcdqdg"><code> <span class="code-string">"@document"</span>: { </code></td></tr><tr><td id="L11292" class="css-a4x74f"><span>11292</span></td><td id="LC11292" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\n <group-rule-body>\n}"</span>, </code></td></tr><tr><td id="L11293" class="css-a4x74f"><span>11293</span></td><td id="LC11293" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11294" class="css-a4x74f"><span>11294</span></td><td id="LC11294" class="css-1dcdqdg"><code> <span class="code-string">"CSSGroupingRule"</span>, </code></td></tr><tr><td id="L11295" class="css-a4x74f"><span>11295</span></td><td id="LC11295" class="css-1dcdqdg"><code> <span class="code-string">"CSSConditionRule"</span> </code></td></tr><tr><td id="L11296" class="css-a4x74f"><span>11296</span></td><td id="LC11296" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11297" class="css-a4x74f"><span>11297</span></td><td id="LC11297" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11298" class="css-a4x74f"><span>11298</span></td><td id="LC11298" class="css-1dcdqdg"><code> <span class="code-string">"CSS Conditional Rules"</span> </code></td></tr><tr><td id="L11299" class="css-a4x74f"><span>11299</span></td><td id="LC11299" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11300" class="css-a4x74f"><span>11300</span></td><td id="LC11300" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L11301" class="css-a4x74f"><span>11301</span></td><td id="LC11301" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@document"</span> </code></td></tr><tr><td id="L11302" class="css-a4x74f"><span>11302</span></td><td id="LC11302" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11303" class="css-a4x74f"><span>11303</span></td><td id="LC11303" class="css-1dcdqdg"><code> <span class="code-string">"@font-face"</span>: { </code></td></tr><tr><td id="L11304" class="css-a4x74f"><span>11304</span></td><td id="LC11304" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@font-face {\n [ font-family: <family-name>; ] ||\n [ src: <src>; ] ||\n [ unicode-range: <unicode-range>; ] ||\n [ font-variant: <font-variant>; ] ||\n [ font-feature-settings: <font-feature-settings>; ] ||\n [ font-variation-settings: <font-variation-settings>; ] ||\n [ font-stretch: <font-stretch>; ] ||\n [ font-weight: <font-weight>; ] ||\n [ font-style: <font-style>; ]\n}"</span>, </code></td></tr><tr><td id="L11305" class="css-a4x74f"><span>11305</span></td><td id="LC11305" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11306" class="css-a4x74f"><span>11306</span></td><td id="LC11306" class="css-1dcdqdg"><code> <span class="code-string">"CSSFontFaceRule"</span> </code></td></tr><tr><td id="L11307" class="css-a4x74f"><span>11307</span></td><td id="LC11307" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11308" class="css-a4x74f"><span>11308</span></td><td id="LC11308" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11309" class="css-a4x74f"><span>11309</span></td><td id="LC11309" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L11310" class="css-a4x74f"><span>11310</span></td><td id="LC11310" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11311" class="css-a4x74f"><span>11311</span></td><td id="LC11311" class="css-1dcdqdg"><code> descriptors: { </code></td></tr><tr><td id="L11312" class="css-a4x74f"><span>11312</span></td><td id="LC11312" class="css-1dcdqdg"><code> <span class="code-string">"font-display"</span>: { </code></td></tr><tr><td id="L11313" class="css-a4x74f"><span>11313</span></td><td id="LC11313" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | block | swap | fallback | optional ]"</span>, </code></td></tr><tr><td id="L11314" class="css-a4x74f"><span>11314</span></td><td id="LC11314" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11315" class="css-a4x74f"><span>11315</span></td><td id="LC11315" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11316" class="css-a4x74f"><span>11316</span></td><td id="LC11316" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11317" class="css-a4x74f"><span>11317</span></td><td id="LC11317" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11318" class="css-a4x74f"><span>11318</span></td><td id="LC11318" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11319" class="css-a4x74f"><span>11319</span></td><td id="LC11319" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L11320" class="css-a4x74f"><span>11320</span></td><td id="LC11320" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11321" class="css-a4x74f"><span>11321</span></td><td id="LC11321" class="css-1dcdqdg"><code> <span class="code-string">"font-family"</span>: { </code></td></tr><tr><td id="L11322" class="css-a4x74f"><span>11322</span></td><td id="LC11322" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<family-name>"</span>, </code></td></tr><tr><td id="L11323" class="css-a4x74f"><span>11323</span></td><td id="LC11323" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11324" class="css-a4x74f"><span>11324</span></td><td id="LC11324" class="css-1dcdqdg"><code> initial: <span class="code-string">"n/a (required)"</span>, </code></td></tr><tr><td id="L11325" class="css-a4x74f"><span>11325</span></td><td id="LC11325" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11326" class="css-a4x74f"><span>11326</span></td><td id="LC11326" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11327" class="css-a4x74f"><span>11327</span></td><td id="LC11327" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11328" class="css-a4x74f"><span>11328</span></td><td id="LC11328" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11329" class="css-a4x74f"><span>11329</span></td><td id="LC11329" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11330" class="css-a4x74f"><span>11330</span></td><td id="LC11330" class="css-1dcdqdg"><code> <span class="code-string">"font-feature-settings"</span>: { </code></td></tr><tr><td id="L11331" class="css-a4x74f"><span>11331</span></td><td id="LC11331" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <feature-tag-value>#"</span>, </code></td></tr><tr><td id="L11332" class="css-a4x74f"><span>11332</span></td><td id="LC11332" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11333" class="css-a4x74f"><span>11333</span></td><td id="LC11333" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11334" class="css-a4x74f"><span>11334</span></td><td id="LC11334" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11335" class="css-a4x74f"><span>11335</span></td><td id="LC11335" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11336" class="css-a4x74f"><span>11336</span></td><td id="LC11336" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11337" class="css-a4x74f"><span>11337</span></td><td id="LC11337" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11338" class="css-a4x74f"><span>11338</span></td><td id="LC11338" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11339" class="css-a4x74f"><span>11339</span></td><td id="LC11339" class="css-1dcdqdg"><code> <span class="code-string">"font-variation-settings"</span>: { </code></td></tr><tr><td id="L11340" class="css-a4x74f"><span>11340</span></td><td id="LC11340" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ <string> <number> ]#"</span>, </code></td></tr><tr><td id="L11341" class="css-a4x74f"><span>11341</span></td><td id="LC11341" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11342" class="css-a4x74f"><span>11342</span></td><td id="LC11342" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11343" class="css-a4x74f"><span>11343</span></td><td id="LC11343" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11344" class="css-a4x74f"><span>11344</span></td><td id="LC11344" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11345" class="css-a4x74f"><span>11345</span></td><td id="LC11345" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11346" class="css-a4x74f"><span>11346</span></td><td id="LC11346" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11347" class="css-a4x74f"><span>11347</span></td><td id="LC11347" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11348" class="css-a4x74f"><span>11348</span></td><td id="LC11348" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch"</span>: { </code></td></tr><tr><td id="L11349" class="css-a4x74f"><span>11349</span></td><td id="LC11349" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<font-stretch-absolute>{1,2}"</span>, </code></td></tr><tr><td id="L11350" class="css-a4x74f"><span>11350</span></td><td id="LC11350" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11351" class="css-a4x74f"><span>11351</span></td><td id="LC11351" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11352" class="css-a4x74f"><span>11352</span></td><td id="LC11352" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11353" class="css-a4x74f"><span>11353</span></td><td id="LC11353" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11354" class="css-a4x74f"><span>11354</span></td><td id="LC11354" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11355" class="css-a4x74f"><span>11355</span></td><td id="LC11355" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11356" class="css-a4x74f"><span>11356</span></td><td id="LC11356" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11357" class="css-a4x74f"><span>11357</span></td><td id="LC11357" class="css-1dcdqdg"><code> <span class="code-string">"font-style"</span>: { </code></td></tr><tr><td id="L11358" class="css-a4x74f"><span>11358</span></td><td id="LC11358" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | italic | oblique <angle>{0,2}"</span>, </code></td></tr><tr><td id="L11359" class="css-a4x74f"><span>11359</span></td><td id="LC11359" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11360" class="css-a4x74f"><span>11360</span></td><td id="LC11360" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11361" class="css-a4x74f"><span>11361</span></td><td id="LC11361" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11362" class="css-a4x74f"><span>11362</span></td><td id="LC11362" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11363" class="css-a4x74f"><span>11363</span></td><td id="LC11363" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11364" class="css-a4x74f"><span>11364</span></td><td id="LC11364" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11365" class="css-a4x74f"><span>11365</span></td><td id="LC11365" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11366" class="css-a4x74f"><span>11366</span></td><td id="LC11366" class="css-1dcdqdg"><code> <span class="code-string">"font-weight"</span>: { </code></td></tr><tr><td id="L11367" class="css-a4x74f"><span>11367</span></td><td id="LC11367" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<font-weight-absolute>{1,2}"</span>, </code></td></tr><tr><td id="L11368" class="css-a4x74f"><span>11368</span></td><td id="LC11368" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11369" class="css-a4x74f"><span>11369</span></td><td id="LC11369" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11370" class="css-a4x74f"><span>11370</span></td><td id="LC11370" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11371" class="css-a4x74f"><span>11371</span></td><td id="LC11371" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11372" class="css-a4x74f"><span>11372</span></td><td id="LC11372" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11373" class="css-a4x74f"><span>11373</span></td><td id="LC11373" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11374" class="css-a4x74f"><span>11374</span></td><td id="LC11374" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11375" class="css-a4x74f"><span>11375</span></td><td id="LC11375" class="css-1dcdqdg"><code> <span class="code-string">"font-variant"</span>: { </code></td></tr><tr><td id="L11376" class="css-a4x74f"><span>11376</span></td><td id="LC11376" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]"</span>, </code></td></tr><tr><td id="L11377" class="css-a4x74f"><span>11377</span></td><td id="LC11377" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11378" class="css-a4x74f"><span>11378</span></td><td id="LC11378" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11379" class="css-a4x74f"><span>11379</span></td><td id="LC11379" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11380" class="css-a4x74f"><span>11380</span></td><td id="LC11380" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11381" class="css-a4x74f"><span>11381</span></td><td id="LC11381" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11382" class="css-a4x74f"><span>11382</span></td><td id="LC11382" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11383" class="css-a4x74f"><span>11383</span></td><td id="LC11383" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11384" class="css-a4x74f"><span>11384</span></td><td id="LC11384" class="css-1dcdqdg"><code> src: { </code></td></tr><tr><td id="L11385" class="css-a4x74f"><span>11385</span></td><td id="LC11385" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"</span>, </code></td></tr><tr><td id="L11386" class="css-a4x74f"><span>11386</span></td><td id="LC11386" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11387" class="css-a4x74f"><span>11387</span></td><td id="LC11387" class="css-1dcdqdg"><code> initial: <span class="code-string">"n/a (required)"</span>, </code></td></tr><tr><td id="L11388" class="css-a4x74f"><span>11388</span></td><td id="LC11388" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11389" class="css-a4x74f"><span>11389</span></td><td id="LC11389" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11390" class="css-a4x74f"><span>11390</span></td><td id="LC11390" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11391" class="css-a4x74f"><span>11391</span></td><td id="LC11391" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11392" class="css-a4x74f"><span>11392</span></td><td id="LC11392" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11393" class="css-a4x74f"><span>11393</span></td><td id="LC11393" class="css-1dcdqdg"><code> <span class="code-string">"unicode-range"</span>: { </code></td></tr><tr><td id="L11394" class="css-a4x74f"><span>11394</span></td><td id="LC11394" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<unicode-range>#"</span>, </code></td></tr><tr><td id="L11395" class="css-a4x74f"><span>11395</span></td><td id="LC11395" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11396" class="css-a4x74f"><span>11396</span></td><td id="LC11396" class="css-1dcdqdg"><code> initial: <span class="code-string">"U+0-10FFFF"</span>, </code></td></tr><tr><td id="L11397" class="css-a4x74f"><span>11397</span></td><td id="LC11397" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11398" class="css-a4x74f"><span>11398</span></td><td id="LC11398" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11399" class="css-a4x74f"><span>11399</span></td><td id="LC11399" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11400" class="css-a4x74f"><span>11400</span></td><td id="LC11400" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11401" class="css-a4x74f"><span>11401</span></td><td id="LC11401" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11402" class="css-a4x74f"><span>11402</span></td><td id="LC11402" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11403" class="css-a4x74f"><span>11403</span></td><td id="LC11403" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11404" class="css-a4x74f"><span>11404</span></td><td id="LC11404" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@font-face"</span> </code></td></tr><tr><td id="L11405" class="css-a4x74f"><span>11405</span></td><td id="LC11405" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11406" class="css-a4x74f"><span>11406</span></td><td id="LC11406" class="css-1dcdqdg"><code> <span class="code-string">"@font-feature-values"</span>: { </code></td></tr><tr><td id="L11407" class="css-a4x74f"><span>11407</span></td><td id="LC11407" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@font-feature-values <family-name># {\n <feature-value-block-list>\n}"</span>, </code></td></tr><tr><td id="L11408" class="css-a4x74f"><span>11408</span></td><td id="LC11408" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11409" class="css-a4x74f"><span>11409</span></td><td id="LC11409" class="css-1dcdqdg"><code> <span class="code-string">"CSSFontFeatureValuesRule"</span> </code></td></tr><tr><td id="L11410" class="css-a4x74f"><span>11410</span></td><td id="LC11410" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11411" class="css-a4x74f"><span>11411</span></td><td id="LC11411" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11412" class="css-a4x74f"><span>11412</span></td><td id="LC11412" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L11413" class="css-a4x74f"><span>11413</span></td><td id="LC11413" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11414" class="css-a4x74f"><span>11414</span></td><td id="LC11414" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11415" class="css-a4x74f"><span>11415</span></td><td id="LC11415" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"</span> </code></td></tr><tr><td id="L11416" class="css-a4x74f"><span>11416</span></td><td id="LC11416" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11417" class="css-a4x74f"><span>11417</span></td><td id="LC11417" class="css-1dcdqdg"><code> <span class="code-string">"@import"</span>: { </code></td></tr><tr><td id="L11418" class="css-a4x74f"><span>11418</span></td><td id="LC11418" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@import [ <string> | <url> ] [ <media-query-list> ]?;"</span>, </code></td></tr><tr><td id="L11419" class="css-a4x74f"><span>11419</span></td><td id="LC11419" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11420" class="css-a4x74f"><span>11420</span></td><td id="LC11420" class="css-1dcdqdg"><code> <span class="code-string">"Media Queries"</span> </code></td></tr><tr><td id="L11421" class="css-a4x74f"><span>11421</span></td><td id="LC11421" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11422" class="css-a4x74f"><span>11422</span></td><td id="LC11422" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11423" class="css-a4x74f"><span>11423</span></td><td id="LC11423" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@import"</span> </code></td></tr><tr><td id="L11424" class="css-a4x74f"><span>11424</span></td><td id="LC11424" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11425" class="css-a4x74f"><span>11425</span></td><td id="LC11425" class="css-1dcdqdg"><code> <span class="code-string">"@keyframes"</span>: { </code></td></tr><tr><td id="L11426" class="css-a4x74f"><span>11426</span></td><td id="LC11426" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@keyframes <keyframes-name> {\n <keyframe-block-list>\n}"</span>, </code></td></tr><tr><td id="L11427" class="css-a4x74f"><span>11427</span></td><td id="LC11427" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11428" class="css-a4x74f"><span>11428</span></td><td id="LC11428" class="css-1dcdqdg"><code> <span class="code-string">"CSSKeyframeRule"</span>, </code></td></tr><tr><td id="L11429" class="css-a4x74f"><span>11429</span></td><td id="LC11429" class="css-1dcdqdg"><code> <span class="code-string">"CSSKeyframesRule"</span> </code></td></tr><tr><td id="L11430" class="css-a4x74f"><span>11430</span></td><td id="LC11430" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11431" class="css-a4x74f"><span>11431</span></td><td id="LC11431" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11432" class="css-a4x74f"><span>11432</span></td><td id="LC11432" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L11433" class="css-a4x74f"><span>11433</span></td><td id="LC11433" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11434" class="css-a4x74f"><span>11434</span></td><td id="LC11434" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11435" class="css-a4x74f"><span>11435</span></td><td id="LC11435" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@keyframes"</span> </code></td></tr><tr><td id="L11436" class="css-a4x74f"><span>11436</span></td><td id="LC11436" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11437" class="css-a4x74f"><span>11437</span></td><td id="LC11437" class="css-1dcdqdg"><code> <span class="code-string">"@media"</span>: { </code></td></tr><tr><td id="L11438" class="css-a4x74f"><span>11438</span></td><td id="LC11438" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@media <media-query-list> {\n <group-rule-body>\n}"</span>, </code></td></tr><tr><td id="L11439" class="css-a4x74f"><span>11439</span></td><td id="LC11439" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11440" class="css-a4x74f"><span>11440</span></td><td id="LC11440" class="css-1dcdqdg"><code> <span class="code-string">"CSSGroupingRule"</span>, </code></td></tr><tr><td id="L11441" class="css-a4x74f"><span>11441</span></td><td id="LC11441" class="css-1dcdqdg"><code> <span class="code-string">"CSSConditionRule"</span>, </code></td></tr><tr><td id="L11442" class="css-a4x74f"><span>11442</span></td><td id="LC11442" class="css-1dcdqdg"><code> <span class="code-string">"CSSMediaRule"</span>, </code></td></tr><tr><td id="L11443" class="css-a4x74f"><span>11443</span></td><td id="LC11443" class="css-1dcdqdg"><code> <span class="code-string">"CSSCustomMediaRule"</span> </code></td></tr><tr><td id="L11444" class="css-a4x74f"><span>11444</span></td><td id="LC11444" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11445" class="css-a4x74f"><span>11445</span></td><td id="LC11445" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11446" class="css-a4x74f"><span>11446</span></td><td id="LC11446" class="css-1dcdqdg"><code> <span class="code-string">"CSS Conditional Rules"</span>, </code></td></tr><tr><td id="L11447" class="css-a4x74f"><span>11447</span></td><td id="LC11447" class="css-1dcdqdg"><code> <span class="code-string">"Media Queries"</span> </code></td></tr><tr><td id="L11448" class="css-a4x74f"><span>11448</span></td><td id="LC11448" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11449" class="css-a4x74f"><span>11449</span></td><td id="LC11449" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11450" class="css-a4x74f"><span>11450</span></td><td id="LC11450" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@media"</span> </code></td></tr><tr><td id="L11451" class="css-a4x74f"><span>11451</span></td><td id="LC11451" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11452" class="css-a4x74f"><span>11452</span></td><td id="LC11452" class="css-1dcdqdg"><code> <span class="code-string">"@namespace"</span>: { </code></td></tr><tr><td id="L11453" class="css-a4x74f"><span>11453</span></td><td id="LC11453" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@namespace <namespace-prefix>? [ <string> | <url> ];"</span>, </code></td></tr><tr><td id="L11454" class="css-a4x74f"><span>11454</span></td><td id="LC11454" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11455" class="css-a4x74f"><span>11455</span></td><td id="LC11455" class="css-1dcdqdg"><code> <span class="code-string">"CSS Namespaces"</span> </code></td></tr><tr><td id="L11456" class="css-a4x74f"><span>11456</span></td><td id="LC11456" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11457" class="css-a4x74f"><span>11457</span></td><td id="LC11457" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11458" class="css-a4x74f"><span>11458</span></td><td id="LC11458" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@namespace"</span> </code></td></tr><tr><td id="L11459" class="css-a4x74f"><span>11459</span></td><td id="LC11459" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11460" class="css-a4x74f"><span>11460</span></td><td id="LC11460" class="css-1dcdqdg"><code> <span class="code-string">"@page"</span>: { </code></td></tr><tr><td id="L11461" class="css-a4x74f"><span>11461</span></td><td id="LC11461" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@page <page-selector-list> {\n <page-body>\n}"</span>, </code></td></tr><tr><td id="L11462" class="css-a4x74f"><span>11462</span></td><td id="LC11462" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11463" class="css-a4x74f"><span>11463</span></td><td id="LC11463" class="css-1dcdqdg"><code> <span class="code-string">"CSSPageRule"</span> </code></td></tr><tr><td id="L11464" class="css-a4x74f"><span>11464</span></td><td id="LC11464" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11465" class="css-a4x74f"><span>11465</span></td><td id="LC11465" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11466" class="css-a4x74f"><span>11466</span></td><td id="LC11466" class="css-1dcdqdg"><code> <span class="code-string">"CSS Pages"</span> </code></td></tr><tr><td id="L11467" class="css-a4x74f"><span>11467</span></td><td id="LC11467" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11468" class="css-a4x74f"><span>11468</span></td><td id="LC11468" class="css-1dcdqdg"><code> descriptors: { </code></td></tr><tr><td id="L11469" class="css-a4x74f"><span>11469</span></td><td id="LC11469" class="css-1dcdqdg"><code> bleed: { </code></td></tr><tr><td id="L11470" class="css-a4x74f"><span>11470</span></td><td id="LC11470" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length>"</span>, </code></td></tr><tr><td id="L11471" class="css-a4x74f"><span>11471</span></td><td id="LC11471" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11472" class="css-a4x74f"><span>11472</span></td><td id="LC11472" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11473" class="css-a4x74f"><span>11473</span></td><td id="LC11473" class="css-1dcdqdg"><code> <span class="code-string">"paged"</span> </code></td></tr><tr><td id="L11474" class="css-a4x74f"><span>11474</span></td><td id="LC11474" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11475" class="css-a4x74f"><span>11475</span></td><td id="LC11475" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11476" class="css-a4x74f"><span>11476</span></td><td id="LC11476" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11477" class="css-a4x74f"><span>11477</span></td><td id="LC11477" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11478" class="css-a4x74f"><span>11478</span></td><td id="LC11478" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11479" class="css-a4x74f"><span>11479</span></td><td id="LC11479" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L11480" class="css-a4x74f"><span>11480</span></td><td id="LC11480" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11481" class="css-a4x74f"><span>11481</span></td><td id="LC11481" class="css-1dcdqdg"><code> marks: { </code></td></tr><tr><td id="L11482" class="css-a4x74f"><span>11482</span></td><td id="LC11482" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ crop || cross ]"</span>, </code></td></tr><tr><td id="L11483" class="css-a4x74f"><span>11483</span></td><td id="LC11483" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11484" class="css-a4x74f"><span>11484</span></td><td id="LC11484" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11485" class="css-a4x74f"><span>11485</span></td><td id="LC11485" class="css-1dcdqdg"><code> <span class="code-string">"paged"</span> </code></td></tr><tr><td id="L11486" class="css-a4x74f"><span>11486</span></td><td id="LC11486" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11487" class="css-a4x74f"><span>11487</span></td><td id="LC11487" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L11488" class="css-a4x74f"><span>11488</span></td><td id="LC11488" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11489" class="css-a4x74f"><span>11489</span></td><td id="LC11489" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11490" class="css-a4x74f"><span>11490</span></td><td id="LC11490" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11491" class="css-a4x74f"><span>11491</span></td><td id="LC11491" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L11492" class="css-a4x74f"><span>11492</span></td><td id="LC11492" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11493" class="css-a4x74f"><span>11493</span></td><td id="LC11493" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11494" class="css-a4x74f"><span>11494</span></td><td id="LC11494" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11495" class="css-a4x74f"><span>11495</span></td><td id="LC11495" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@page"</span> </code></td></tr><tr><td id="L11496" class="css-a4x74f"><span>11496</span></td><td id="LC11496" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11497" class="css-a4x74f"><span>11497</span></td><td id="LC11497" class="css-1dcdqdg"><code> <span class="code-string">"@supports"</span>: { </code></td></tr><tr><td id="L11498" class="css-a4x74f"><span>11498</span></td><td id="LC11498" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@supports <supports-condition> {\n <group-rule-body>\n}"</span>, </code></td></tr><tr><td id="L11499" class="css-a4x74f"><span>11499</span></td><td id="LC11499" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11500" class="css-a4x74f"><span>11500</span></td><td id="LC11500" class="css-1dcdqdg"><code> <span class="code-string">"CSSGroupingRule"</span>, </code></td></tr><tr><td id="L11501" class="css-a4x74f"><span>11501</span></td><td id="LC11501" class="css-1dcdqdg"><code> <span class="code-string">"CSSConditionRule"</span>, </code></td></tr><tr><td id="L11502" class="css-a4x74f"><span>11502</span></td><td id="LC11502" class="css-1dcdqdg"><code> <span class="code-string">"CSSSupportsRule"</span> </code></td></tr><tr><td id="L11503" class="css-a4x74f"><span>11503</span></td><td id="LC11503" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11504" class="css-a4x74f"><span>11504</span></td><td id="LC11504" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11505" class="css-a4x74f"><span>11505</span></td><td id="LC11505" class="css-1dcdqdg"><code> <span class="code-string">"CSS Conditional Rules"</span> </code></td></tr><tr><td id="L11506" class="css-a4x74f"><span>11506</span></td><td id="LC11506" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11507" class="css-a4x74f"><span>11507</span></td><td id="LC11507" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11508" class="css-a4x74f"><span>11508</span></td><td id="LC11508" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@supports"</span> </code></td></tr><tr><td id="L11509" class="css-a4x74f"><span>11509</span></td><td id="LC11509" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11510" class="css-a4x74f"><span>11510</span></td><td id="LC11510" class="css-1dcdqdg"><code> <span class="code-string">"@viewport"</span>: { </code></td></tr><tr><td id="L11511" class="css-a4x74f"><span>11511</span></td><td id="LC11511" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@viewport {\n <group-rule-body>\n}"</span>, </code></td></tr><tr><td id="L11512" class="css-a4x74f"><span>11512</span></td><td id="LC11512" class="css-1dcdqdg"><code> interfaces: [ </code></td></tr><tr><td id="L11513" class="css-a4x74f"><span>11513</span></td><td id="LC11513" class="css-1dcdqdg"><code> <span class="code-string">"CSSViewportRule"</span> </code></td></tr><tr><td id="L11514" class="css-a4x74f"><span>11514</span></td><td id="LC11514" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11515" class="css-a4x74f"><span>11515</span></td><td id="LC11515" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11516" class="css-a4x74f"><span>11516</span></td><td id="LC11516" class="css-1dcdqdg"><code> <span class="code-string">"CSS Device Adaptation"</span> </code></td></tr><tr><td id="L11517" class="css-a4x74f"><span>11517</span></td><td id="LC11517" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11518" class="css-a4x74f"><span>11518</span></td><td id="LC11518" class="css-1dcdqdg"><code> descriptors: { </code></td></tr><tr><td id="L11519" class="css-a4x74f"><span>11519</span></td><td id="LC11519" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L11520" class="css-a4x74f"><span>11520</span></td><td id="LC11520" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>{1,2}"</span>, </code></td></tr><tr><td id="L11521" class="css-a4x74f"><span>11521</span></td><td id="LC11521" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11522" class="css-a4x74f"><span>11522</span></td><td id="LC11522" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11523" class="css-a4x74f"><span>11523</span></td><td id="LC11523" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11524" class="css-a4x74f"><span>11524</span></td><td id="LC11524" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11525" class="css-a4x74f"><span>11525</span></td><td id="LC11525" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11526" class="css-a4x74f"><span>11526</span></td><td id="LC11526" class="css-1dcdqdg"><code> <span class="code-string">"min-height"</span>, </code></td></tr><tr><td id="L11527" class="css-a4x74f"><span>11527</span></td><td id="LC11527" class="css-1dcdqdg"><code> <span class="code-string">"max-height"</span> </code></td></tr><tr><td id="L11528" class="css-a4x74f"><span>11528</span></td><td id="LC11528" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11529" class="css-a4x74f"><span>11529</span></td><td id="LC11529" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L11530" class="css-a4x74f"><span>11530</span></td><td id="LC11530" class="css-1dcdqdg"><code> <span class="code-string">"min-height"</span>, </code></td></tr><tr><td id="L11531" class="css-a4x74f"><span>11531</span></td><td id="LC11531" class="css-1dcdqdg"><code> <span class="code-string">"max-height"</span> </code></td></tr><tr><td id="L11532" class="css-a4x74f"><span>11532</span></td><td id="LC11532" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11533" class="css-a4x74f"><span>11533</span></td><td id="LC11533" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11534" class="css-a4x74f"><span>11534</span></td><td id="LC11534" class="css-1dcdqdg"><code> <span class="code-string">"min-height"</span>, </code></td></tr><tr><td id="L11535" class="css-a4x74f"><span>11535</span></td><td id="LC11535" class="css-1dcdqdg"><code> <span class="code-string">"max-height"</span> </code></td></tr><tr><td id="L11536" class="css-a4x74f"><span>11536</span></td><td id="LC11536" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11537" class="css-a4x74f"><span>11537</span></td><td id="LC11537" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11538" class="css-a4x74f"><span>11538</span></td><td id="LC11538" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11539" class="css-a4x74f"><span>11539</span></td><td id="LC11539" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11540" class="css-a4x74f"><span>11540</span></td><td id="LC11540" class="css-1dcdqdg"><code> <span class="code-string">"max-height"</span>: { </code></td></tr><tr><td id="L11541" class="css-a4x74f"><span>11541</span></td><td id="LC11541" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>"</span>, </code></td></tr><tr><td id="L11542" class="css-a4x74f"><span>11542</span></td><td id="LC11542" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11543" class="css-a4x74f"><span>11543</span></td><td id="LC11543" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11544" class="css-a4x74f"><span>11544</span></td><td id="LC11544" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11545" class="css-a4x74f"><span>11545</span></td><td id="LC11545" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11546" class="css-a4x74f"><span>11546</span></td><td id="LC11546" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11547" class="css-a4x74f"><span>11547</span></td><td id="LC11547" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToHeightOfInitialViewport"</span>, </code></td></tr><tr><td id="L11548" class="css-a4x74f"><span>11548</span></td><td id="LC11548" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L11549" class="css-a4x74f"><span>11549</span></td><td id="LC11549" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11550" class="css-a4x74f"><span>11550</span></td><td id="LC11550" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11551" class="css-a4x74f"><span>11551</span></td><td id="LC11551" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11552" class="css-a4x74f"><span>11552</span></td><td id="LC11552" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span>: { </code></td></tr><tr><td id="L11553" class="css-a4x74f"><span>11553</span></td><td id="LC11553" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>"</span>, </code></td></tr><tr><td id="L11554" class="css-a4x74f"><span>11554</span></td><td id="LC11554" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11555" class="css-a4x74f"><span>11555</span></td><td id="LC11555" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11556" class="css-a4x74f"><span>11556</span></td><td id="LC11556" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11557" class="css-a4x74f"><span>11557</span></td><td id="LC11557" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11558" class="css-a4x74f"><span>11558</span></td><td id="LC11558" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11559" class="css-a4x74f"><span>11559</span></td><td id="LC11559" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfInitialViewport"</span>, </code></td></tr><tr><td id="L11560" class="css-a4x74f"><span>11560</span></td><td id="LC11560" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L11561" class="css-a4x74f"><span>11561</span></td><td id="LC11561" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11562" class="css-a4x74f"><span>11562</span></td><td id="LC11562" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11563" class="css-a4x74f"><span>11563</span></td><td id="LC11563" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11564" class="css-a4x74f"><span>11564</span></td><td id="LC11564" class="css-1dcdqdg"><code> <span class="code-string">"max-zoom"</span>: { </code></td></tr><tr><td id="L11565" class="css-a4x74f"><span>11565</span></td><td id="LC11565" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <number> | <percentage>"</span>, </code></td></tr><tr><td id="L11566" class="css-a4x74f"><span>11566</span></td><td id="LC11566" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11567" class="css-a4x74f"><span>11567</span></td><td id="LC11567" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11568" class="css-a4x74f"><span>11568</span></td><td id="LC11568" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11569" class="css-a4x74f"><span>11569</span></td><td id="LC11569" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11570" class="css-a4x74f"><span>11570</span></td><td id="LC11570" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11571" class="css-a4x74f"><span>11571</span></td><td id="LC11571" class="css-1dcdqdg"><code> percentages: <span class="code-string">"the zoom factor itself"</span>, </code></td></tr><tr><td id="L11572" class="css-a4x74f"><span>11572</span></td><td id="LC11572" class="css-1dcdqdg"><code> computed: <span class="code-string">"autoNonNegativeOrPercentage"</span>, </code></td></tr><tr><td id="L11573" class="css-a4x74f"><span>11573</span></td><td id="LC11573" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11574" class="css-a4x74f"><span>11574</span></td><td id="LC11574" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11575" class="css-a4x74f"><span>11575</span></td><td id="LC11575" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11576" class="css-a4x74f"><span>11576</span></td><td id="LC11576" class="css-1dcdqdg"><code> <span class="code-string">"min-height"</span>: { </code></td></tr><tr><td id="L11577" class="css-a4x74f"><span>11577</span></td><td id="LC11577" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>"</span>, </code></td></tr><tr><td id="L11578" class="css-a4x74f"><span>11578</span></td><td id="LC11578" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11579" class="css-a4x74f"><span>11579</span></td><td id="LC11579" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11580" class="css-a4x74f"><span>11580</span></td><td id="LC11580" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11581" class="css-a4x74f"><span>11581</span></td><td id="LC11581" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11582" class="css-a4x74f"><span>11582</span></td><td id="LC11582" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11583" class="css-a4x74f"><span>11583</span></td><td id="LC11583" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToHeightOfInitialViewport"</span>, </code></td></tr><tr><td id="L11584" class="css-a4x74f"><span>11584</span></td><td id="LC11584" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L11585" class="css-a4x74f"><span>11585</span></td><td id="LC11585" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11586" class="css-a4x74f"><span>11586</span></td><td id="LC11586" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11587" class="css-a4x74f"><span>11587</span></td><td id="LC11587" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11588" class="css-a4x74f"><span>11588</span></td><td id="LC11588" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>: { </code></td></tr><tr><td id="L11589" class="css-a4x74f"><span>11589</span></td><td id="LC11589" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>"</span>, </code></td></tr><tr><td id="L11590" class="css-a4x74f"><span>11590</span></td><td id="LC11590" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11591" class="css-a4x74f"><span>11591</span></td><td id="LC11591" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11592" class="css-a4x74f"><span>11592</span></td><td id="LC11592" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11593" class="css-a4x74f"><span>11593</span></td><td id="LC11593" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11594" class="css-a4x74f"><span>11594</span></td><td id="LC11594" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11595" class="css-a4x74f"><span>11595</span></td><td id="LC11595" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfInitialViewport"</span>, </code></td></tr><tr><td id="L11596" class="css-a4x74f"><span>11596</span></td><td id="LC11596" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L11597" class="css-a4x74f"><span>11597</span></td><td id="LC11597" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11598" class="css-a4x74f"><span>11598</span></td><td id="LC11598" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11599" class="css-a4x74f"><span>11599</span></td><td id="LC11599" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11600" class="css-a4x74f"><span>11600</span></td><td id="LC11600" class="css-1dcdqdg"><code> <span class="code-string">"min-zoom"</span>: { </code></td></tr><tr><td id="L11601" class="css-a4x74f"><span>11601</span></td><td id="LC11601" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <number> | <percentage>"</span>, </code></td></tr><tr><td id="L11602" class="css-a4x74f"><span>11602</span></td><td id="LC11602" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11603" class="css-a4x74f"><span>11603</span></td><td id="LC11603" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11604" class="css-a4x74f"><span>11604</span></td><td id="LC11604" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11605" class="css-a4x74f"><span>11605</span></td><td id="LC11605" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11606" class="css-a4x74f"><span>11606</span></td><td id="LC11606" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11607" class="css-a4x74f"><span>11607</span></td><td id="LC11607" class="css-1dcdqdg"><code> percentages: <span class="code-string">"the zoom factor itself"</span>, </code></td></tr><tr><td id="L11608" class="css-a4x74f"><span>11608</span></td><td id="LC11608" class="css-1dcdqdg"><code> computed: <span class="code-string">"autoNonNegativeOrPercentage"</span>, </code></td></tr><tr><td id="L11609" class="css-a4x74f"><span>11609</span></td><td id="LC11609" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11610" class="css-a4x74f"><span>11610</span></td><td id="LC11610" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11611" class="css-a4x74f"><span>11611</span></td><td id="LC11611" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11612" class="css-a4x74f"><span>11612</span></td><td id="LC11612" class="css-1dcdqdg"><code> orientation: { </code></td></tr><tr><td id="L11613" class="css-a4x74f"><span>11613</span></td><td id="LC11613" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | portrait | landscape"</span>, </code></td></tr><tr><td id="L11614" class="css-a4x74f"><span>11614</span></td><td id="LC11614" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11615" class="css-a4x74f"><span>11615</span></td><td id="LC11615" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11616" class="css-a4x74f"><span>11616</span></td><td id="LC11616" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11617" class="css-a4x74f"><span>11617</span></td><td id="LC11617" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11618" class="css-a4x74f"><span>11618</span></td><td id="LC11618" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11619" class="css-a4x74f"><span>11619</span></td><td id="LC11619" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L11620" class="css-a4x74f"><span>11620</span></td><td id="LC11620" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11621" class="css-a4x74f"><span>11621</span></td><td id="LC11621" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11622" class="css-a4x74f"><span>11622</span></td><td id="LC11622" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11623" class="css-a4x74f"><span>11623</span></td><td id="LC11623" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11624" class="css-a4x74f"><span>11624</span></td><td id="LC11624" class="css-1dcdqdg"><code> <span class="code-string">"user-zoom"</span>: { </code></td></tr><tr><td id="L11625" class="css-a4x74f"><span>11625</span></td><td id="LC11625" class="css-1dcdqdg"><code> syntax: <span class="code-string">"zoom | fixed"</span>, </code></td></tr><tr><td id="L11626" class="css-a4x74f"><span>11626</span></td><td id="LC11626" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11627" class="css-a4x74f"><span>11627</span></td><td id="LC11627" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11628" class="css-a4x74f"><span>11628</span></td><td id="LC11628" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11629" class="css-a4x74f"><span>11629</span></td><td id="LC11629" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11630" class="css-a4x74f"><span>11630</span></td><td id="LC11630" class="css-1dcdqdg"><code> initial: <span class="code-string">"zoom"</span>, </code></td></tr><tr><td id="L11631" class="css-a4x74f"><span>11631</span></td><td id="LC11631" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L11632" class="css-a4x74f"><span>11632</span></td><td id="LC11632" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11633" class="css-a4x74f"><span>11633</span></td><td id="LC11633" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11634" class="css-a4x74f"><span>11634</span></td><td id="LC11634" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11635" class="css-a4x74f"><span>11635</span></td><td id="LC11635" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11636" class="css-a4x74f"><span>11636</span></td><td id="LC11636" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L11637" class="css-a4x74f"><span>11637</span></td><td id="LC11637" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<viewport-length>{1,2}"</span>, </code></td></tr><tr><td id="L11638" class="css-a4x74f"><span>11638</span></td><td id="LC11638" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11639" class="css-a4x74f"><span>11639</span></td><td id="LC11639" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11640" class="css-a4x74f"><span>11640</span></td><td id="LC11640" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11641" class="css-a4x74f"><span>11641</span></td><td id="LC11641" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11642" class="css-a4x74f"><span>11642</span></td><td id="LC11642" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11643" class="css-a4x74f"><span>11643</span></td><td id="LC11643" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>, </code></td></tr><tr><td id="L11644" class="css-a4x74f"><span>11644</span></td><td id="LC11644" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span> </code></td></tr><tr><td id="L11645" class="css-a4x74f"><span>11645</span></td><td id="LC11645" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11646" class="css-a4x74f"><span>11646</span></td><td id="LC11646" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L11647" class="css-a4x74f"><span>11647</span></td><td id="LC11647" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>, </code></td></tr><tr><td id="L11648" class="css-a4x74f"><span>11648</span></td><td id="LC11648" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span> </code></td></tr><tr><td id="L11649" class="css-a4x74f"><span>11649</span></td><td id="LC11649" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11650" class="css-a4x74f"><span>11650</span></td><td id="LC11650" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11651" class="css-a4x74f"><span>11651</span></td><td id="LC11651" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>, </code></td></tr><tr><td id="L11652" class="css-a4x74f"><span>11652</span></td><td id="LC11652" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span> </code></td></tr><tr><td id="L11653" class="css-a4x74f"><span>11653</span></td><td id="LC11653" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11654" class="css-a4x74f"><span>11654</span></td><td id="LC11654" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11655" class="css-a4x74f"><span>11655</span></td><td id="LC11655" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11656" class="css-a4x74f"><span>11656</span></td><td id="LC11656" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11657" class="css-a4x74f"><span>11657</span></td><td id="LC11657" class="css-1dcdqdg"><code> zoom: { </code></td></tr><tr><td id="L11658" class="css-a4x74f"><span>11658</span></td><td id="LC11658" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <number> | <percentage>"</span>, </code></td></tr><tr><td id="L11659" class="css-a4x74f"><span>11659</span></td><td id="LC11659" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11660" class="css-a4x74f"><span>11660</span></td><td id="LC11660" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11661" class="css-a4x74f"><span>11661</span></td><td id="LC11661" class="css-1dcdqdg"><code> <span class="code-string">"continuous"</span> </code></td></tr><tr><td id="L11662" class="css-a4x74f"><span>11662</span></td><td id="LC11662" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11663" class="css-a4x74f"><span>11663</span></td><td id="LC11663" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11664" class="css-a4x74f"><span>11664</span></td><td id="LC11664" class="css-1dcdqdg"><code> percentages: <span class="code-string">"the zoom factor itself"</span>, </code></td></tr><tr><td id="L11665" class="css-a4x74f"><span>11665</span></td><td id="LC11665" class="css-1dcdqdg"><code> computed: <span class="code-string">"autoNonNegativeOrPercentage"</span>, </code></td></tr><tr><td id="L11666" class="css-a4x74f"><span>11666</span></td><td id="LC11666" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11667" class="css-a4x74f"><span>11667</span></td><td id="LC11667" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span> </code></td></tr><tr><td id="L11668" class="css-a4x74f"><span>11668</span></td><td id="LC11668" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11669" class="css-a4x74f"><span>11669</span></td><td id="LC11669" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L11670" class="css-a4x74f"><span>11670</span></td><td id="LC11670" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11671" class="css-a4x74f"><span>11671</span></td><td id="LC11671" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/@viewport"</span> </code></td></tr><tr><td id="L11672" class="css-a4x74f"><span>11672</span></td><td id="LC11672" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L11673" class="css-a4x74f"><span>11673</span></td><td id="LC11673" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11674" class="css-a4x74f"><span>11674</span></td><td id="LC11674" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11675" class="css-a4x74f"><span>11675</span></td><td id="LC11675" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atRules$<span class="code-number">1</span> = <span class="code-comment">/*#__PURE__*/</span><span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L11676" class="css-a4x74f"><span>11676</span></td><td id="LC11676" class="css-1dcdqdg"><code> __proto__: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L11677" class="css-a4x74f"><span>11677</span></td><td id="LC11677" class="css-1dcdqdg"><code> <span class="code-string">'default'</span>: atRules </code></td></tr><tr><td id="L11678" class="css-a4x74f"><span>11678</span></td><td id="LC11678" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L11679" class="css-a4x74f"><span>11679</span></td><td id="LC11679" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L11680" class="css-a4x74f"><span>11680</span></td><td id="LC11680" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> all = { </code></td></tr><tr><td id="L11681" class="css-a4x74f"><span>11681</span></td><td id="LC11681" class="css-1dcdqdg"><code> syntax: <span class="code-string">"initial | inherit | unset | revert"</span>, </code></td></tr><tr><td id="L11682" class="css-a4x74f"><span>11682</span></td><td id="LC11682" class="css-1dcdqdg"><code> media: <span class="code-string">"noPracticalMedia"</span>, </code></td></tr><tr><td id="L11683" class="css-a4x74f"><span>11683</span></td><td id="LC11683" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11684" class="css-a4x74f"><span>11684</span></td><td id="LC11684" class="css-1dcdqdg"><code> animationType: <span class="code-string">"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection"</span>, </code></td></tr><tr><td id="L11685" class="css-a4x74f"><span>11685</span></td><td id="LC11685" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11686" class="css-a4x74f"><span>11686</span></td><td id="LC11686" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11687" class="css-a4x74f"><span>11687</span></td><td id="LC11687" class="css-1dcdqdg"><code> <span class="code-string">"CSS Miscellaneous"</span> </code></td></tr><tr><td id="L11688" class="css-a4x74f"><span>11688</span></td><td id="LC11688" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11689" class="css-a4x74f"><span>11689</span></td><td id="LC11689" class="css-1dcdqdg"><code> initial: <span class="code-string">"noPracticalInitialValue"</span>, </code></td></tr><tr><td id="L11690" class="css-a4x74f"><span>11690</span></td><td id="LC11690" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11691" class="css-a4x74f"><span>11691</span></td><td id="LC11691" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedAppliesToEachProperty"</span>, </code></td></tr><tr><td id="L11692" class="css-a4x74f"><span>11692</span></td><td id="LC11692" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11693" class="css-a4x74f"><span>11693</span></td><td id="LC11693" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11694" class="css-a4x74f"><span>11694</span></td><td id="LC11694" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/all"</span> </code></td></tr><tr><td id="L11695" class="css-a4x74f"><span>11695</span></td><td id="LC11695" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11696" class="css-a4x74f"><span>11696</span></td><td id="LC11696" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> animation = { </code></td></tr><tr><td id="L11697" class="css-a4x74f"><span>11697</span></td><td id="LC11697" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-animation>#"</span>, </code></td></tr><tr><td id="L11698" class="css-a4x74f"><span>11698</span></td><td id="LC11698" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11699" class="css-a4x74f"><span>11699</span></td><td id="LC11699" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11700" class="css-a4x74f"><span>11700</span></td><td id="LC11700" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11701" class="css-a4x74f"><span>11701</span></td><td id="LC11701" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11702" class="css-a4x74f"><span>11702</span></td><td id="LC11702" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11703" class="css-a4x74f"><span>11703</span></td><td id="LC11703" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L11704" class="css-a4x74f"><span>11704</span></td><td id="LC11704" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11705" class="css-a4x74f"><span>11705</span></td><td id="LC11705" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11706" class="css-a4x74f"><span>11706</span></td><td id="LC11706" class="css-1dcdqdg"><code> <span class="code-string">"animation-name"</span>, </code></td></tr><tr><td id="L11707" class="css-a4x74f"><span>11707</span></td><td id="LC11707" class="css-1dcdqdg"><code> <span class="code-string">"animation-duration"</span>, </code></td></tr><tr><td id="L11708" class="css-a4x74f"><span>11708</span></td><td id="LC11708" class="css-1dcdqdg"><code> <span class="code-string">"animation-timing-function"</span>, </code></td></tr><tr><td id="L11709" class="css-a4x74f"><span>11709</span></td><td id="LC11709" class="css-1dcdqdg"><code> <span class="code-string">"animation-delay"</span>, </code></td></tr><tr><td id="L11710" class="css-a4x74f"><span>11710</span></td><td id="LC11710" class="css-1dcdqdg"><code> <span class="code-string">"animation-iteration-count"</span>, </code></td></tr><tr><td id="L11711" class="css-a4x74f"><span>11711</span></td><td id="LC11711" class="css-1dcdqdg"><code> <span class="code-string">"animation-direction"</span>, </code></td></tr><tr><td id="L11712" class="css-a4x74f"><span>11712</span></td><td id="LC11712" class="css-1dcdqdg"><code> <span class="code-string">"animation-fill-mode"</span>, </code></td></tr><tr><td id="L11713" class="css-a4x74f"><span>11713</span></td><td id="LC11713" class="css-1dcdqdg"><code> <span class="code-string">"animation-play-state"</span> </code></td></tr><tr><td id="L11714" class="css-a4x74f"><span>11714</span></td><td id="LC11714" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11715" class="css-a4x74f"><span>11715</span></td><td id="LC11715" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L11716" class="css-a4x74f"><span>11716</span></td><td id="LC11716" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11717" class="css-a4x74f"><span>11717</span></td><td id="LC11717" class="css-1dcdqdg"><code> <span class="code-string">"animation-name"</span>, </code></td></tr><tr><td id="L11718" class="css-a4x74f"><span>11718</span></td><td id="LC11718" class="css-1dcdqdg"><code> <span class="code-string">"animation-duration"</span>, </code></td></tr><tr><td id="L11719" class="css-a4x74f"><span>11719</span></td><td id="LC11719" class="css-1dcdqdg"><code> <span class="code-string">"animation-timing-function"</span>, </code></td></tr><tr><td id="L11720" class="css-a4x74f"><span>11720</span></td><td id="LC11720" class="css-1dcdqdg"><code> <span class="code-string">"animation-delay"</span>, </code></td></tr><tr><td id="L11721" class="css-a4x74f"><span>11721</span></td><td id="LC11721" class="css-1dcdqdg"><code> <span class="code-string">"animation-direction"</span>, </code></td></tr><tr><td id="L11722" class="css-a4x74f"><span>11722</span></td><td id="LC11722" class="css-1dcdqdg"><code> <span class="code-string">"animation-iteration-count"</span>, </code></td></tr><tr><td id="L11723" class="css-a4x74f"><span>11723</span></td><td id="LC11723" class="css-1dcdqdg"><code> <span class="code-string">"animation-fill-mode"</span>, </code></td></tr><tr><td id="L11724" class="css-a4x74f"><span>11724</span></td><td id="LC11724" class="css-1dcdqdg"><code> <span class="code-string">"animation-play-state"</span> </code></td></tr><tr><td id="L11725" class="css-a4x74f"><span>11725</span></td><td id="LC11725" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11726" class="css-a4x74f"><span>11726</span></td><td id="LC11726" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11727" class="css-a4x74f"><span>11727</span></td><td id="LC11727" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11728" class="css-a4x74f"><span>11728</span></td><td id="LC11728" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation"</span> </code></td></tr><tr><td id="L11729" class="css-a4x74f"><span>11729</span></td><td id="LC11729" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11730" class="css-a4x74f"><span>11730</span></td><td id="LC11730" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> appearance = { </code></td></tr><tr><td id="L11731" class="css-a4x74f"><span>11731</span></td><td id="LC11731" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | auto | button | textfield | <compat>"</span>, </code></td></tr><tr><td id="L11732" class="css-a4x74f"><span>11732</span></td><td id="LC11732" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11733" class="css-a4x74f"><span>11733</span></td><td id="LC11733" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11734" class="css-a4x74f"><span>11734</span></td><td id="LC11734" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11735" class="css-a4x74f"><span>11735</span></td><td id="LC11735" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11736" class="css-a4x74f"><span>11736</span></td><td id="LC11736" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11737" class="css-a4x74f"><span>11737</span></td><td id="LC11737" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L11738" class="css-a4x74f"><span>11738</span></td><td id="LC11738" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11739" class="css-a4x74f"><span>11739</span></td><td id="LC11739" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11740" class="css-a4x74f"><span>11740</span></td><td id="LC11740" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11741" class="css-a4x74f"><span>11741</span></td><td id="LC11741" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11742" class="css-a4x74f"><span>11742</span></td><td id="LC11742" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L11743" class="css-a4x74f"><span>11743</span></td><td id="LC11743" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L11744" class="css-a4x74f"><span>11744</span></td><td id="LC11744" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance"</span> </code></td></tr><tr><td id="L11745" class="css-a4x74f"><span>11745</span></td><td id="LC11745" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11746" class="css-a4x74f"><span>11746</span></td><td id="LC11746" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> azimuth = { </code></td></tr><tr><td id="L11747" class="css-a4x74f"><span>11747</span></td><td id="LC11747" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards"</span>, </code></td></tr><tr><td id="L11748" class="css-a4x74f"><span>11748</span></td><td id="LC11748" class="css-1dcdqdg"><code> media: <span class="code-string">"aural"</span>, </code></td></tr><tr><td id="L11749" class="css-a4x74f"><span>11749</span></td><td id="LC11749" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11750" class="css-a4x74f"><span>11750</span></td><td id="LC11750" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11751" class="css-a4x74f"><span>11751</span></td><td id="LC11751" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11752" class="css-a4x74f"><span>11752</span></td><td id="LC11752" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11753" class="css-a4x74f"><span>11753</span></td><td id="LC11753" class="css-1dcdqdg"><code> <span class="code-string">"CSS Speech"</span> </code></td></tr><tr><td id="L11754" class="css-a4x74f"><span>11754</span></td><td id="LC11754" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11755" class="css-a4x74f"><span>11755</span></td><td id="LC11755" class="css-1dcdqdg"><code> initial: <span class="code-string">"center"</span>, </code></td></tr><tr><td id="L11756" class="css-a4x74f"><span>11756</span></td><td id="LC11756" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11757" class="css-a4x74f"><span>11757</span></td><td id="LC11757" class="css-1dcdqdg"><code> computed: <span class="code-string">"normalizedAngle"</span>, </code></td></tr><tr><td id="L11758" class="css-a4x74f"><span>11758</span></td><td id="LC11758" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11759" class="css-a4x74f"><span>11759</span></td><td id="LC11759" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L11760" class="css-a4x74f"><span>11760</span></td><td id="LC11760" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/azimuth"</span> </code></td></tr><tr><td id="L11761" class="css-a4x74f"><span>11761</span></td><td id="LC11761" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11762" class="css-a4x74f"><span>11762</span></td><td id="LC11762" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> background = { </code></td></tr><tr><td id="L11763" class="css-a4x74f"><span>11763</span></td><td id="LC11763" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <bg-layer> , ]* <final-bg-layer>"</span>, </code></td></tr><tr><td id="L11764" class="css-a4x74f"><span>11764</span></td><td id="LC11764" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11765" class="css-a4x74f"><span>11765</span></td><td id="LC11765" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11766" class="css-a4x74f"><span>11766</span></td><td id="LC11766" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L11767" class="css-a4x74f"><span>11767</span></td><td id="LC11767" class="css-1dcdqdg"><code> <span class="code-string">"background-color"</span>, </code></td></tr><tr><td id="L11768" class="css-a4x74f"><span>11768</span></td><td id="LC11768" class="css-1dcdqdg"><code> <span class="code-string">"background-image"</span>, </code></td></tr><tr><td id="L11769" class="css-a4x74f"><span>11769</span></td><td id="LC11769" class="css-1dcdqdg"><code> <span class="code-string">"background-clip"</span>, </code></td></tr><tr><td id="L11770" class="css-a4x74f"><span>11770</span></td><td id="LC11770" class="css-1dcdqdg"><code> <span class="code-string">"background-position"</span>, </code></td></tr><tr><td id="L11771" class="css-a4x74f"><span>11771</span></td><td id="LC11771" class="css-1dcdqdg"><code> <span class="code-string">"background-size"</span>, </code></td></tr><tr><td id="L11772" class="css-a4x74f"><span>11772</span></td><td id="LC11772" class="css-1dcdqdg"><code> <span class="code-string">"background-repeat"</span>, </code></td></tr><tr><td id="L11773" class="css-a4x74f"><span>11773</span></td><td id="LC11773" class="css-1dcdqdg"><code> <span class="code-string">"background-attachment"</span> </code></td></tr><tr><td id="L11774" class="css-a4x74f"><span>11774</span></td><td id="LC11774" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11775" class="css-a4x74f"><span>11775</span></td><td id="LC11775" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L11776" class="css-a4x74f"><span>11776</span></td><td id="LC11776" class="css-1dcdqdg"><code> <span class="code-string">"background-position"</span>, </code></td></tr><tr><td id="L11777" class="css-a4x74f"><span>11777</span></td><td id="LC11777" class="css-1dcdqdg"><code> <span class="code-string">"background-size"</span> </code></td></tr><tr><td id="L11778" class="css-a4x74f"><span>11778</span></td><td id="LC11778" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11779" class="css-a4x74f"><span>11779</span></td><td id="LC11779" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11780" class="css-a4x74f"><span>11780</span></td><td id="LC11780" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L11781" class="css-a4x74f"><span>11781</span></td><td id="LC11781" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11782" class="css-a4x74f"><span>11782</span></td><td id="LC11782" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11783" class="css-a4x74f"><span>11783</span></td><td id="LC11783" class="css-1dcdqdg"><code> <span class="code-string">"background-image"</span>, </code></td></tr><tr><td id="L11784" class="css-a4x74f"><span>11784</span></td><td id="LC11784" class="css-1dcdqdg"><code> <span class="code-string">"background-position"</span>, </code></td></tr><tr><td id="L11785" class="css-a4x74f"><span>11785</span></td><td id="LC11785" class="css-1dcdqdg"><code> <span class="code-string">"background-size"</span>, </code></td></tr><tr><td id="L11786" class="css-a4x74f"><span>11786</span></td><td id="LC11786" class="css-1dcdqdg"><code> <span class="code-string">"background-repeat"</span>, </code></td></tr><tr><td id="L11787" class="css-a4x74f"><span>11787</span></td><td id="LC11787" class="css-1dcdqdg"><code> <span class="code-string">"background-origin"</span>, </code></td></tr><tr><td id="L11788" class="css-a4x74f"><span>11788</span></td><td id="LC11788" class="css-1dcdqdg"><code> <span class="code-string">"background-clip"</span>, </code></td></tr><tr><td id="L11789" class="css-a4x74f"><span>11789</span></td><td id="LC11789" class="css-1dcdqdg"><code> <span class="code-string">"background-attachment"</span>, </code></td></tr><tr><td id="L11790" class="css-a4x74f"><span>11790</span></td><td id="LC11790" class="css-1dcdqdg"><code> <span class="code-string">"background-color"</span> </code></td></tr><tr><td id="L11791" class="css-a4x74f"><span>11791</span></td><td id="LC11791" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11792" class="css-a4x74f"><span>11792</span></td><td id="LC11792" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11793" class="css-a4x74f"><span>11793</span></td><td id="LC11793" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11794" class="css-a4x74f"><span>11794</span></td><td id="LC11794" class="css-1dcdqdg"><code> <span class="code-string">"background-image"</span>, </code></td></tr><tr><td id="L11795" class="css-a4x74f"><span>11795</span></td><td id="LC11795" class="css-1dcdqdg"><code> <span class="code-string">"background-position"</span>, </code></td></tr><tr><td id="L11796" class="css-a4x74f"><span>11796</span></td><td id="LC11796" class="css-1dcdqdg"><code> <span class="code-string">"background-size"</span>, </code></td></tr><tr><td id="L11797" class="css-a4x74f"><span>11797</span></td><td id="LC11797" class="css-1dcdqdg"><code> <span class="code-string">"background-repeat"</span>, </code></td></tr><tr><td id="L11798" class="css-a4x74f"><span>11798</span></td><td id="LC11798" class="css-1dcdqdg"><code> <span class="code-string">"background-origin"</span>, </code></td></tr><tr><td id="L11799" class="css-a4x74f"><span>11799</span></td><td id="LC11799" class="css-1dcdqdg"><code> <span class="code-string">"background-clip"</span>, </code></td></tr><tr><td id="L11800" class="css-a4x74f"><span>11800</span></td><td id="LC11800" class="css-1dcdqdg"><code> <span class="code-string">"background-attachment"</span>, </code></td></tr><tr><td id="L11801" class="css-a4x74f"><span>11801</span></td><td id="LC11801" class="css-1dcdqdg"><code> <span class="code-string">"background-color"</span> </code></td></tr><tr><td id="L11802" class="css-a4x74f"><span>11802</span></td><td id="LC11802" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11803" class="css-a4x74f"><span>11803</span></td><td id="LC11803" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11804" class="css-a4x74f"><span>11804</span></td><td id="LC11804" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L11805" class="css-a4x74f"><span>11805</span></td><td id="LC11805" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L11806" class="css-a4x74f"><span>11806</span></td><td id="LC11806" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L11807" class="css-a4x74f"><span>11807</span></td><td id="LC11807" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L11808" class="css-a4x74f"><span>11808</span></td><td id="LC11808" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11809" class="css-a4x74f"><span>11809</span></td><td id="LC11809" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11810" class="css-a4x74f"><span>11810</span></td><td id="LC11810" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background"</span> </code></td></tr><tr><td id="L11811" class="css-a4x74f"><span>11811</span></td><td id="LC11811" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11812" class="css-a4x74f"><span>11812</span></td><td id="LC11812" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> border = { </code></td></tr><tr><td id="L11813" class="css-a4x74f"><span>11813</span></td><td id="LC11813" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width> || <line-style> || <color>"</span>, </code></td></tr><tr><td id="L11814" class="css-a4x74f"><span>11814</span></td><td id="LC11814" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11815" class="css-a4x74f"><span>11815</span></td><td id="LC11815" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11816" class="css-a4x74f"><span>11816</span></td><td id="LC11816" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L11817" class="css-a4x74f"><span>11817</span></td><td id="LC11817" class="css-1dcdqdg"><code> <span class="code-string">"border-color"</span>, </code></td></tr><tr><td id="L11818" class="css-a4x74f"><span>11818</span></td><td id="LC11818" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L11819" class="css-a4x74f"><span>11819</span></td><td id="LC11819" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span> </code></td></tr><tr><td id="L11820" class="css-a4x74f"><span>11820</span></td><td id="LC11820" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11821" class="css-a4x74f"><span>11821</span></td><td id="LC11821" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11822" class="css-a4x74f"><span>11822</span></td><td id="LC11822" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11823" class="css-a4x74f"><span>11823</span></td><td id="LC11823" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L11824" class="css-a4x74f"><span>11824</span></td><td id="LC11824" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11825" class="css-a4x74f"><span>11825</span></td><td id="LC11825" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11826" class="css-a4x74f"><span>11826</span></td><td id="LC11826" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L11827" class="css-a4x74f"><span>11827</span></td><td id="LC11827" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L11828" class="css-a4x74f"><span>11828</span></td><td id="LC11828" class="css-1dcdqdg"><code> <span class="code-string">"border-color"</span> </code></td></tr><tr><td id="L11829" class="css-a4x74f"><span>11829</span></td><td id="LC11829" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11830" class="css-a4x74f"><span>11830</span></td><td id="LC11830" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11831" class="css-a4x74f"><span>11831</span></td><td id="LC11831" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11832" class="css-a4x74f"><span>11832</span></td><td id="LC11832" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L11833" class="css-a4x74f"><span>11833</span></td><td id="LC11833" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L11834" class="css-a4x74f"><span>11834</span></td><td id="LC11834" class="css-1dcdqdg"><code> <span class="code-string">"border-color"</span> </code></td></tr><tr><td id="L11835" class="css-a4x74f"><span>11835</span></td><td id="LC11835" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11836" class="css-a4x74f"><span>11836</span></td><td id="LC11836" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L11837" class="css-a4x74f"><span>11837</span></td><td id="LC11837" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L11838" class="css-a4x74f"><span>11838</span></td><td id="LC11838" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L11839" class="css-a4x74f"><span>11839</span></td><td id="LC11839" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11840" class="css-a4x74f"><span>11840</span></td><td id="LC11840" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11841" class="css-a4x74f"><span>11841</span></td><td id="LC11841" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border"</span> </code></td></tr><tr><td id="L11842" class="css-a4x74f"><span>11842</span></td><td id="LC11842" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11843" class="css-a4x74f"><span>11843</span></td><td id="LC11843" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> bottom = { </code></td></tr><tr><td id="L11844" class="css-a4x74f"><span>11844</span></td><td id="LC11844" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L11845" class="css-a4x74f"><span>11845</span></td><td id="LC11845" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11846" class="css-a4x74f"><span>11846</span></td><td id="LC11846" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11847" class="css-a4x74f"><span>11847</span></td><td id="LC11847" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L11848" class="css-a4x74f"><span>11848</span></td><td id="LC11848" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToContainingBlockHeight"</span>, </code></td></tr><tr><td id="L11849" class="css-a4x74f"><span>11849</span></td><td id="LC11849" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11850" class="css-a4x74f"><span>11850</span></td><td id="LC11850" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L11851" class="css-a4x74f"><span>11851</span></td><td id="LC11851" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11852" class="css-a4x74f"><span>11852</span></td><td id="LC11852" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11853" class="css-a4x74f"><span>11853</span></td><td id="LC11853" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L11854" class="css-a4x74f"><span>11854</span></td><td id="LC11854" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L11855" class="css-a4x74f"><span>11855</span></td><td id="LC11855" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11856" class="css-a4x74f"><span>11856</span></td><td id="LC11856" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11857" class="css-a4x74f"><span>11857</span></td><td id="LC11857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/bottom"</span> </code></td></tr><tr><td id="L11858" class="css-a4x74f"><span>11858</span></td><td id="LC11858" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11859" class="css-a4x74f"><span>11859</span></td><td id="LC11859" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clear = { </code></td></tr><tr><td id="L11860" class="css-a4x74f"><span>11860</span></td><td id="LC11860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | left | right | both | inline-start | inline-end"</span>, </code></td></tr><tr><td id="L11861" class="css-a4x74f"><span>11861</span></td><td id="LC11861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11862" class="css-a4x74f"><span>11862</span></td><td id="LC11862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11863" class="css-a4x74f"><span>11863</span></td><td id="LC11863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11864" class="css-a4x74f"><span>11864</span></td><td id="LC11864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11865" class="css-a4x74f"><span>11865</span></td><td id="LC11865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11866" class="css-a4x74f"><span>11866</span></td><td id="LC11866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L11867" class="css-a4x74f"><span>11867</span></td><td id="LC11867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11868" class="css-a4x74f"><span>11868</span></td><td id="LC11868" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L11869" class="css-a4x74f"><span>11869</span></td><td id="LC11869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L11870" class="css-a4x74f"><span>11870</span></td><td id="LC11870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11871" class="css-a4x74f"><span>11871</span></td><td id="LC11871" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11872" class="css-a4x74f"><span>11872</span></td><td id="LC11872" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11873" class="css-a4x74f"><span>11873</span></td><td id="LC11873" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/clear"</span> </code></td></tr><tr><td id="L11874" class="css-a4x74f"><span>11874</span></td><td id="LC11874" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11875" class="css-a4x74f"><span>11875</span></td><td id="LC11875" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clip = { </code></td></tr><tr><td id="L11876" class="css-a4x74f"><span>11876</span></td><td id="LC11876" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<shape> | auto"</span>, </code></td></tr><tr><td id="L11877" class="css-a4x74f"><span>11877</span></td><td id="LC11877" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11878" class="css-a4x74f"><span>11878</span></td><td id="LC11878" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11879" class="css-a4x74f"><span>11879</span></td><td id="LC11879" class="css-1dcdqdg"><code> animationType: <span class="code-string">"rectangle"</span>, </code></td></tr><tr><td id="L11880" class="css-a4x74f"><span>11880</span></td><td id="LC11880" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11881" class="css-a4x74f"><span>11881</span></td><td id="LC11881" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11882" class="css-a4x74f"><span>11882</span></td><td id="LC11882" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L11883" class="css-a4x74f"><span>11883</span></td><td id="LC11883" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11884" class="css-a4x74f"><span>11884</span></td><td id="LC11884" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11885" class="css-a4x74f"><span>11885</span></td><td id="LC11885" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"absolutelyPositionedElements"</span>, </code></td></tr><tr><td id="L11886" class="css-a4x74f"><span>11886</span></td><td id="LC11886" class="css-1dcdqdg"><code> computed: <span class="code-string">"autoOrRectangle"</span>, </code></td></tr><tr><td id="L11887" class="css-a4x74f"><span>11887</span></td><td id="LC11887" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11888" class="css-a4x74f"><span>11888</span></td><td id="LC11888" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11889" class="css-a4x74f"><span>11889</span></td><td id="LC11889" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/clip"</span> </code></td></tr><tr><td id="L11890" class="css-a4x74f"><span>11890</span></td><td id="LC11890" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11891" class="css-a4x74f"><span>11891</span></td><td id="LC11891" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> color = { </code></td></tr><tr><td id="L11892" class="css-a4x74f"><span>11892</span></td><td id="LC11892" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L11893" class="css-a4x74f"><span>11893</span></td><td id="LC11893" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11894" class="css-a4x74f"><span>11894</span></td><td id="LC11894" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11895" class="css-a4x74f"><span>11895</span></td><td id="LC11895" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L11896" class="css-a4x74f"><span>11896</span></td><td id="LC11896" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11897" class="css-a4x74f"><span>11897</span></td><td id="LC11897" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11898" class="css-a4x74f"><span>11898</span></td><td id="LC11898" class="css-1dcdqdg"><code> <span class="code-string">"CSS Color"</span> </code></td></tr><tr><td id="L11899" class="css-a4x74f"><span>11899</span></td><td id="LC11899" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11900" class="css-a4x74f"><span>11900</span></td><td id="LC11900" class="css-1dcdqdg"><code> initial: <span class="code-string">"variesFromBrowserToBrowser"</span>, </code></td></tr><tr><td id="L11901" class="css-a4x74f"><span>11901</span></td><td id="LC11901" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11902" class="css-a4x74f"><span>11902</span></td><td id="LC11902" class="css-1dcdqdg"><code> computed: <span class="code-string">"translucentValuesRGBAOtherwiseRGB"</span>, </code></td></tr><tr><td id="L11903" class="css-a4x74f"><span>11903</span></td><td id="LC11903" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11904" class="css-a4x74f"><span>11904</span></td><td id="LC11904" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L11905" class="css-a4x74f"><span>11905</span></td><td id="LC11905" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L11906" class="css-a4x74f"><span>11906</span></td><td id="LC11906" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L11907" class="css-a4x74f"><span>11907</span></td><td id="LC11907" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L11908" class="css-a4x74f"><span>11908</span></td><td id="LC11908" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11909" class="css-a4x74f"><span>11909</span></td><td id="LC11909" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11910" class="css-a4x74f"><span>11910</span></td><td id="LC11910" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/color"</span> </code></td></tr><tr><td id="L11911" class="css-a4x74f"><span>11911</span></td><td id="LC11911" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11912" class="css-a4x74f"><span>11912</span></td><td id="LC11912" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> columns = { </code></td></tr><tr><td id="L11913" class="css-a4x74f"><span>11913</span></td><td id="LC11913" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'column-width'> || <'column-count'>"</span>, </code></td></tr><tr><td id="L11914" class="css-a4x74f"><span>11914</span></td><td id="LC11914" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11915" class="css-a4x74f"><span>11915</span></td><td id="LC11915" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11916" class="css-a4x74f"><span>11916</span></td><td id="LC11916" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L11917" class="css-a4x74f"><span>11917</span></td><td id="LC11917" class="css-1dcdqdg"><code> <span class="code-string">"column-width"</span>, </code></td></tr><tr><td id="L11918" class="css-a4x74f"><span>11918</span></td><td id="LC11918" class="css-1dcdqdg"><code> <span class="code-string">"column-count"</span> </code></td></tr><tr><td id="L11919" class="css-a4x74f"><span>11919</span></td><td id="LC11919" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11920" class="css-a4x74f"><span>11920</span></td><td id="LC11920" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11921" class="css-a4x74f"><span>11921</span></td><td id="LC11921" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11922" class="css-a4x74f"><span>11922</span></td><td id="LC11922" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L11923" class="css-a4x74f"><span>11923</span></td><td id="LC11923" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11924" class="css-a4x74f"><span>11924</span></td><td id="LC11924" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L11925" class="css-a4x74f"><span>11925</span></td><td id="LC11925" class="css-1dcdqdg"><code> <span class="code-string">"column-width"</span>, </code></td></tr><tr><td id="L11926" class="css-a4x74f"><span>11926</span></td><td id="LC11926" class="css-1dcdqdg"><code> <span class="code-string">"column-count"</span> </code></td></tr><tr><td id="L11927" class="css-a4x74f"><span>11927</span></td><td id="LC11927" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11928" class="css-a4x74f"><span>11928</span></td><td id="LC11928" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersExceptTableWrappers"</span>, </code></td></tr><tr><td id="L11929" class="css-a4x74f"><span>11929</span></td><td id="LC11929" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L11930" class="css-a4x74f"><span>11930</span></td><td id="LC11930" class="css-1dcdqdg"><code> <span class="code-string">"column-width"</span>, </code></td></tr><tr><td id="L11931" class="css-a4x74f"><span>11931</span></td><td id="LC11931" class="css-1dcdqdg"><code> <span class="code-string">"column-count"</span> </code></td></tr><tr><td id="L11932" class="css-a4x74f"><span>11932</span></td><td id="LC11932" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11933" class="css-a4x74f"><span>11933</span></td><td id="LC11933" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L11934" class="css-a4x74f"><span>11934</span></td><td id="LC11934" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11935" class="css-a4x74f"><span>11935</span></td><td id="LC11935" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/columns"</span> </code></td></tr><tr><td id="L11936" class="css-a4x74f"><span>11936</span></td><td id="LC11936" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11937" class="css-a4x74f"><span>11937</span></td><td id="LC11937" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> contain = { </code></td></tr><tr><td id="L11938" class="css-a4x74f"><span>11938</span></td><td id="LC11938" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | strict | content | [ size || layout || style || paint ]"</span>, </code></td></tr><tr><td id="L11939" class="css-a4x74f"><span>11939</span></td><td id="LC11939" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11940" class="css-a4x74f"><span>11940</span></td><td id="LC11940" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11941" class="css-a4x74f"><span>11941</span></td><td id="LC11941" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11942" class="css-a4x74f"><span>11942</span></td><td id="LC11942" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11943" class="css-a4x74f"><span>11943</span></td><td id="LC11943" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11944" class="css-a4x74f"><span>11944</span></td><td id="LC11944" class="css-1dcdqdg"><code> <span class="code-string">"CSS Containment"</span> </code></td></tr><tr><td id="L11945" class="css-a4x74f"><span>11945</span></td><td id="LC11945" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11946" class="css-a4x74f"><span>11946</span></td><td id="LC11946" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L11947" class="css-a4x74f"><span>11947</span></td><td id="LC11947" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11948" class="css-a4x74f"><span>11948</span></td><td id="LC11948" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L11949" class="css-a4x74f"><span>11949</span></td><td id="LC11949" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L11950" class="css-a4x74f"><span>11950</span></td><td id="LC11950" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L11951" class="css-a4x74f"><span>11951</span></td><td id="LC11951" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/contain"</span> </code></td></tr><tr><td id="L11952" class="css-a4x74f"><span>11952</span></td><td id="LC11952" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11953" class="css-a4x74f"><span>11953</span></td><td id="LC11953" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> content = { </code></td></tr><tr><td id="L11954" class="css-a4x74f"><span>11954</span></td><td id="LC11954" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?"</span>, </code></td></tr><tr><td id="L11955" class="css-a4x74f"><span>11955</span></td><td id="LC11955" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L11956" class="css-a4x74f"><span>11956</span></td><td id="LC11956" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L11957" class="css-a4x74f"><span>11957</span></td><td id="LC11957" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11958" class="css-a4x74f"><span>11958</span></td><td id="LC11958" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11959" class="css-a4x74f"><span>11959</span></td><td id="LC11959" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11960" class="css-a4x74f"><span>11960</span></td><td id="LC11960" class="css-1dcdqdg"><code> <span class="code-string">"CSS Generated Content"</span> </code></td></tr><tr><td id="L11961" class="css-a4x74f"><span>11961</span></td><td id="LC11961" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11962" class="css-a4x74f"><span>11962</span></td><td id="LC11962" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L11963" class="css-a4x74f"><span>11963</span></td><td id="LC11963" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"beforeAndAfterPseudos"</span>, </code></td></tr><tr><td id="L11964" class="css-a4x74f"><span>11964</span></td><td id="LC11964" class="css-1dcdqdg"><code> computed: <span class="code-string">"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified"</span>, </code></td></tr><tr><td id="L11965" class="css-a4x74f"><span>11965</span></td><td id="LC11965" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11966" class="css-a4x74f"><span>11966</span></td><td id="LC11966" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11967" class="css-a4x74f"><span>11967</span></td><td id="LC11967" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/content"</span> </code></td></tr><tr><td id="L11968" class="css-a4x74f"><span>11968</span></td><td id="LC11968" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11969" class="css-a4x74f"><span>11969</span></td><td id="LC11969" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cursor = { </code></td></tr><tr><td id="L11970" class="css-a4x74f"><span>11970</span></td><td id="LC11970" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]"</span>, </code></td></tr><tr><td id="L11971" class="css-a4x74f"><span>11971</span></td><td id="LC11971" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L11972" class="css-a4x74f"><span>11972</span></td><td id="LC11972" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11973" class="css-a4x74f"><span>11973</span></td><td id="LC11973" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L11974" class="css-a4x74f"><span>11974</span></td><td id="LC11974" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11975" class="css-a4x74f"><span>11975</span></td><td id="LC11975" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11976" class="css-a4x74f"><span>11976</span></td><td id="LC11976" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11977" class="css-a4x74f"><span>11977</span></td><td id="LC11977" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11978" class="css-a4x74f"><span>11978</span></td><td id="LC11978" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11979" class="css-a4x74f"><span>11979</span></td><td id="LC11979" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L11980" class="css-a4x74f"><span>11980</span></td><td id="LC11980" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11981" class="css-a4x74f"><span>11981</span></td><td id="LC11981" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L11982" class="css-a4x74f"><span>11982</span></td><td id="LC11982" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11983" class="css-a4x74f"><span>11983</span></td><td id="LC11983" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedURLsAbsolute"</span>, </code></td></tr><tr><td id="L11984" class="css-a4x74f"><span>11984</span></td><td id="LC11984" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L11985" class="css-a4x74f"><span>11985</span></td><td id="LC11985" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L11986" class="css-a4x74f"><span>11986</span></td><td id="LC11986" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/cursor"</span> </code></td></tr><tr><td id="L11987" class="css-a4x74f"><span>11987</span></td><td id="LC11987" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L11988" class="css-a4x74f"><span>11988</span></td><td id="LC11988" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> direction = { </code></td></tr><tr><td id="L11989" class="css-a4x74f"><span>11989</span></td><td id="LC11989" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ltr | rtl"</span>, </code></td></tr><tr><td id="L11990" class="css-a4x74f"><span>11990</span></td><td id="LC11990" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L11991" class="css-a4x74f"><span>11991</span></td><td id="LC11991" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L11992" class="css-a4x74f"><span>11992</span></td><td id="LC11992" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L11993" class="css-a4x74f"><span>11993</span></td><td id="LC11993" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L11994" class="css-a4x74f"><span>11994</span></td><td id="LC11994" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L11995" class="css-a4x74f"><span>11995</span></td><td id="LC11995" class="css-1dcdqdg"><code> <span class="code-string">"CSS Writing Modes"</span> </code></td></tr><tr><td id="L11996" class="css-a4x74f"><span>11996</span></td><td id="LC11996" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L11997" class="css-a4x74f"><span>11997</span></td><td id="LC11997" class="css-1dcdqdg"><code> initial: <span class="code-string">"ltr"</span>, </code></td></tr><tr><td id="L11998" class="css-a4x74f"><span>11998</span></td><td id="LC11998" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L11999" class="css-a4x74f"><span>11999</span></td><td id="LC11999" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12000" class="css-a4x74f"><span>12000</span></td><td id="LC12000" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12001" class="css-a4x74f"><span>12001</span></td><td id="LC12001" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12002" class="css-a4x74f"><span>12002</span></td><td id="LC12002" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/direction"</span> </code></td></tr><tr><td id="L12003" class="css-a4x74f"><span>12003</span></td><td id="LC12003" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12004" class="css-a4x74f"><span>12004</span></td><td id="LC12004" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> display = { </code></td></tr><tr><td id="L12005" class="css-a4x74f"><span>12005</span></td><td id="LC12005" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>"</span>, </code></td></tr><tr><td id="L12006" class="css-a4x74f"><span>12006</span></td><td id="LC12006" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L12007" class="css-a4x74f"><span>12007</span></td><td id="LC12007" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12008" class="css-a4x74f"><span>12008</span></td><td id="LC12008" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12009" class="css-a4x74f"><span>12009</span></td><td id="LC12009" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12010" class="css-a4x74f"><span>12010</span></td><td id="LC12010" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12011" class="css-a4x74f"><span>12011</span></td><td id="LC12011" class="css-1dcdqdg"><code> <span class="code-string">"CSS Display"</span> </code></td></tr><tr><td id="L12012" class="css-a4x74f"><span>12012</span></td><td id="LC12012" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12013" class="css-a4x74f"><span>12013</span></td><td id="LC12013" class="css-1dcdqdg"><code> initial: <span class="code-string">"inline"</span>, </code></td></tr><tr><td id="L12014" class="css-a4x74f"><span>12014</span></td><td id="LC12014" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12015" class="css-a4x74f"><span>12015</span></td><td id="LC12015" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent"</span>, </code></td></tr><tr><td id="L12016" class="css-a4x74f"><span>12016</span></td><td id="LC12016" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12017" class="css-a4x74f"><span>12017</span></td><td id="LC12017" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12018" class="css-a4x74f"><span>12018</span></td><td id="LC12018" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/display"</span> </code></td></tr><tr><td id="L12019" class="css-a4x74f"><span>12019</span></td><td id="LC12019" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12020" class="css-a4x74f"><span>12020</span></td><td id="LC12020" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> filter = { </code></td></tr><tr><td id="L12021" class="css-a4x74f"><span>12021</span></td><td id="LC12021" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <filter-function-list>"</span>, </code></td></tr><tr><td id="L12022" class="css-a4x74f"><span>12022</span></td><td id="LC12022" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12023" class="css-a4x74f"><span>12023</span></td><td id="LC12023" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12024" class="css-a4x74f"><span>12024</span></td><td id="LC12024" class="css-1dcdqdg"><code> animationType: <span class="code-string">"filterList"</span>, </code></td></tr><tr><td id="L12025" class="css-a4x74f"><span>12025</span></td><td id="LC12025" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12026" class="css-a4x74f"><span>12026</span></td><td id="LC12026" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12027" class="css-a4x74f"><span>12027</span></td><td id="LC12027" class="css-1dcdqdg"><code> <span class="code-string">"Filter Effects"</span> </code></td></tr><tr><td id="L12028" class="css-a4x74f"><span>12028</span></td><td id="LC12028" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12029" class="css-a4x74f"><span>12029</span></td><td id="LC12029" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12030" class="css-a4x74f"><span>12030</span></td><td id="LC12030" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L12031" class="css-a4x74f"><span>12031</span></td><td id="LC12031" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12032" class="css-a4x74f"><span>12032</span></td><td id="LC12032" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12033" class="css-a4x74f"><span>12033</span></td><td id="LC12033" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12034" class="css-a4x74f"><span>12034</span></td><td id="LC12034" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/filter"</span> </code></td></tr><tr><td id="L12035" class="css-a4x74f"><span>12035</span></td><td id="LC12035" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12036" class="css-a4x74f"><span>12036</span></td><td id="LC12036" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> flex = { </code></td></tr><tr><td id="L12037" class="css-a4x74f"><span>12037</span></td><td id="LC12037" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]"</span>, </code></td></tr><tr><td id="L12038" class="css-a4x74f"><span>12038</span></td><td id="LC12038" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12039" class="css-a4x74f"><span>12039</span></td><td id="LC12039" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12040" class="css-a4x74f"><span>12040</span></td><td id="LC12040" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12041" class="css-a4x74f"><span>12041</span></td><td id="LC12041" class="css-1dcdqdg"><code> <span class="code-string">"flex-grow"</span>, </code></td></tr><tr><td id="L12042" class="css-a4x74f"><span>12042</span></td><td id="LC12042" class="css-1dcdqdg"><code> <span class="code-string">"flex-shrink"</span>, </code></td></tr><tr><td id="L12043" class="css-a4x74f"><span>12043</span></td><td id="LC12043" class="css-1dcdqdg"><code> <span class="code-string">"flex-basis"</span> </code></td></tr><tr><td id="L12044" class="css-a4x74f"><span>12044</span></td><td id="LC12044" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12045" class="css-a4x74f"><span>12045</span></td><td id="LC12045" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12046" class="css-a4x74f"><span>12046</span></td><td id="LC12046" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12047" class="css-a4x74f"><span>12047</span></td><td id="LC12047" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L12048" class="css-a4x74f"><span>12048</span></td><td id="LC12048" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12049" class="css-a4x74f"><span>12049</span></td><td id="LC12049" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12050" class="css-a4x74f"><span>12050</span></td><td id="LC12050" class="css-1dcdqdg"><code> <span class="code-string">"flex-grow"</span>, </code></td></tr><tr><td id="L12051" class="css-a4x74f"><span>12051</span></td><td id="LC12051" class="css-1dcdqdg"><code> <span class="code-string">"flex-shrink"</span>, </code></td></tr><tr><td id="L12052" class="css-a4x74f"><span>12052</span></td><td id="LC12052" class="css-1dcdqdg"><code> <span class="code-string">"flex-basis"</span> </code></td></tr><tr><td id="L12053" class="css-a4x74f"><span>12053</span></td><td id="LC12053" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12054" class="css-a4x74f"><span>12054</span></td><td id="LC12054" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsAndInFlowPseudos"</span>, </code></td></tr><tr><td id="L12055" class="css-a4x74f"><span>12055</span></td><td id="LC12055" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12056" class="css-a4x74f"><span>12056</span></td><td id="LC12056" class="css-1dcdqdg"><code> <span class="code-string">"flex-grow"</span>, </code></td></tr><tr><td id="L12057" class="css-a4x74f"><span>12057</span></td><td id="LC12057" class="css-1dcdqdg"><code> <span class="code-string">"flex-shrink"</span>, </code></td></tr><tr><td id="L12058" class="css-a4x74f"><span>12058</span></td><td id="LC12058" class="css-1dcdqdg"><code> <span class="code-string">"flex-basis"</span> </code></td></tr><tr><td id="L12059" class="css-a4x74f"><span>12059</span></td><td id="LC12059" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12060" class="css-a4x74f"><span>12060</span></td><td id="LC12060" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L12061" class="css-a4x74f"><span>12061</span></td><td id="LC12061" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12062" class="css-a4x74f"><span>12062</span></td><td id="LC12062" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex"</span> </code></td></tr><tr><td id="L12063" class="css-a4x74f"><span>12063</span></td><td id="LC12063" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12064" class="css-a4x74f"><span>12064</span></td><td id="LC12064" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> float = { </code></td></tr><tr><td id="L12065" class="css-a4x74f"><span>12065</span></td><td id="LC12065" class="css-1dcdqdg"><code> syntax: <span class="code-string">"left | right | none | inline-start | inline-end"</span>, </code></td></tr><tr><td id="L12066" class="css-a4x74f"><span>12066</span></td><td id="LC12066" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12067" class="css-a4x74f"><span>12067</span></td><td id="LC12067" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12068" class="css-a4x74f"><span>12068</span></td><td id="LC12068" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12069" class="css-a4x74f"><span>12069</span></td><td id="LC12069" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12070" class="css-a4x74f"><span>12070</span></td><td id="LC12070" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12071" class="css-a4x74f"><span>12071</span></td><td id="LC12071" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L12072" class="css-a4x74f"><span>12072</span></td><td id="LC12072" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12073" class="css-a4x74f"><span>12073</span></td><td id="LC12073" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12074" class="css-a4x74f"><span>12074</span></td><td id="LC12074" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsNoEffectIfDisplayNone"</span>, </code></td></tr><tr><td id="L12075" class="css-a4x74f"><span>12075</span></td><td id="LC12075" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12076" class="css-a4x74f"><span>12076</span></td><td id="LC12076" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12077" class="css-a4x74f"><span>12077</span></td><td id="LC12077" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12078" class="css-a4x74f"><span>12078</span></td><td id="LC12078" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/float"</span> </code></td></tr><tr><td id="L12079" class="css-a4x74f"><span>12079</span></td><td id="LC12079" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12080" class="css-a4x74f"><span>12080</span></td><td id="LC12080" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> font = { </code></td></tr><tr><td id="L12081" class="css-a4x74f"><span>12081</span></td><td id="LC12081" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar"</span>, </code></td></tr><tr><td id="L12082" class="css-a4x74f"><span>12082</span></td><td id="LC12082" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12083" class="css-a4x74f"><span>12083</span></td><td id="LC12083" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12084" class="css-a4x74f"><span>12084</span></td><td id="LC12084" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12085" class="css-a4x74f"><span>12085</span></td><td id="LC12085" class="css-1dcdqdg"><code> <span class="code-string">"font-style"</span>, </code></td></tr><tr><td id="L12086" class="css-a4x74f"><span>12086</span></td><td id="LC12086" class="css-1dcdqdg"><code> <span class="code-string">"font-variant"</span>, </code></td></tr><tr><td id="L12087" class="css-a4x74f"><span>12087</span></td><td id="LC12087" class="css-1dcdqdg"><code> <span class="code-string">"font-weight"</span>, </code></td></tr><tr><td id="L12088" class="css-a4x74f"><span>12088</span></td><td id="LC12088" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch"</span>, </code></td></tr><tr><td id="L12089" class="css-a4x74f"><span>12089</span></td><td id="LC12089" class="css-1dcdqdg"><code> <span class="code-string">"font-size"</span>, </code></td></tr><tr><td id="L12090" class="css-a4x74f"><span>12090</span></td><td id="LC12090" class="css-1dcdqdg"><code> <span class="code-string">"line-height"</span>, </code></td></tr><tr><td id="L12091" class="css-a4x74f"><span>12091</span></td><td id="LC12091" class="css-1dcdqdg"><code> <span class="code-string">"font-family"</span> </code></td></tr><tr><td id="L12092" class="css-a4x74f"><span>12092</span></td><td id="LC12092" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12093" class="css-a4x74f"><span>12093</span></td><td id="LC12093" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L12094" class="css-a4x74f"><span>12094</span></td><td id="LC12094" class="css-1dcdqdg"><code> <span class="code-string">"font-size"</span>, </code></td></tr><tr><td id="L12095" class="css-a4x74f"><span>12095</span></td><td id="LC12095" class="css-1dcdqdg"><code> <span class="code-string">"line-height"</span> </code></td></tr><tr><td id="L12096" class="css-a4x74f"><span>12096</span></td><td id="LC12096" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12097" class="css-a4x74f"><span>12097</span></td><td id="LC12097" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12098" class="css-a4x74f"><span>12098</span></td><td id="LC12098" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L12099" class="css-a4x74f"><span>12099</span></td><td id="LC12099" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12100" class="css-a4x74f"><span>12100</span></td><td id="LC12100" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12101" class="css-a4x74f"><span>12101</span></td><td id="LC12101" class="css-1dcdqdg"><code> <span class="code-string">"font-style"</span>, </code></td></tr><tr><td id="L12102" class="css-a4x74f"><span>12102</span></td><td id="LC12102" class="css-1dcdqdg"><code> <span class="code-string">"font-variant"</span>, </code></td></tr><tr><td id="L12103" class="css-a4x74f"><span>12103</span></td><td id="LC12103" class="css-1dcdqdg"><code> <span class="code-string">"font-weight"</span>, </code></td></tr><tr><td id="L12104" class="css-a4x74f"><span>12104</span></td><td id="LC12104" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch"</span>, </code></td></tr><tr><td id="L12105" class="css-a4x74f"><span>12105</span></td><td id="LC12105" class="css-1dcdqdg"><code> <span class="code-string">"font-size"</span>, </code></td></tr><tr><td id="L12106" class="css-a4x74f"><span>12106</span></td><td id="LC12106" class="css-1dcdqdg"><code> <span class="code-string">"line-height"</span>, </code></td></tr><tr><td id="L12107" class="css-a4x74f"><span>12107</span></td><td id="LC12107" class="css-1dcdqdg"><code> <span class="code-string">"font-family"</span> </code></td></tr><tr><td id="L12108" class="css-a4x74f"><span>12108</span></td><td id="LC12108" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12109" class="css-a4x74f"><span>12109</span></td><td id="LC12109" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12110" class="css-a4x74f"><span>12110</span></td><td id="LC12110" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12111" class="css-a4x74f"><span>12111</span></td><td id="LC12111" class="css-1dcdqdg"><code> <span class="code-string">"font-style"</span>, </code></td></tr><tr><td id="L12112" class="css-a4x74f"><span>12112</span></td><td id="LC12112" class="css-1dcdqdg"><code> <span class="code-string">"font-variant"</span>, </code></td></tr><tr><td id="L12113" class="css-a4x74f"><span>12113</span></td><td id="LC12113" class="css-1dcdqdg"><code> <span class="code-string">"font-weight"</span>, </code></td></tr><tr><td id="L12114" class="css-a4x74f"><span>12114</span></td><td id="LC12114" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch"</span>, </code></td></tr><tr><td id="L12115" class="css-a4x74f"><span>12115</span></td><td id="LC12115" class="css-1dcdqdg"><code> <span class="code-string">"font-size"</span>, </code></td></tr><tr><td id="L12116" class="css-a4x74f"><span>12116</span></td><td id="LC12116" class="css-1dcdqdg"><code> <span class="code-string">"line-height"</span>, </code></td></tr><tr><td id="L12117" class="css-a4x74f"><span>12117</span></td><td id="LC12117" class="css-1dcdqdg"><code> <span class="code-string">"font-family"</span> </code></td></tr><tr><td id="L12118" class="css-a4x74f"><span>12118</span></td><td id="LC12118" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12119" class="css-a4x74f"><span>12119</span></td><td id="LC12119" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L12120" class="css-a4x74f"><span>12120</span></td><td id="LC12120" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L12121" class="css-a4x74f"><span>12121</span></td><td id="LC12121" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L12122" class="css-a4x74f"><span>12122</span></td><td id="LC12122" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L12123" class="css-a4x74f"><span>12123</span></td><td id="LC12123" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L12124" class="css-a4x74f"><span>12124</span></td><td id="LC12124" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12125" class="css-a4x74f"><span>12125</span></td><td id="LC12125" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12126" class="css-a4x74f"><span>12126</span></td><td id="LC12126" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font"</span> </code></td></tr><tr><td id="L12127" class="css-a4x74f"><span>12127</span></td><td id="LC12127" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12128" class="css-a4x74f"><span>12128</span></td><td id="LC12128" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> gap = { </code></td></tr><tr><td id="L12129" class="css-a4x74f"><span>12129</span></td><td id="LC12129" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'row-gap'> <'column-gap'>?"</span>, </code></td></tr><tr><td id="L12130" class="css-a4x74f"><span>12130</span></td><td id="LC12130" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12131" class="css-a4x74f"><span>12131</span></td><td id="LC12131" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12132" class="css-a4x74f"><span>12132</span></td><td id="LC12132" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12133" class="css-a4x74f"><span>12133</span></td><td id="LC12133" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span>, </code></td></tr><tr><td id="L12134" class="css-a4x74f"><span>12134</span></td><td id="LC12134" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span> </code></td></tr><tr><td id="L12135" class="css-a4x74f"><span>12135</span></td><td id="LC12135" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12136" class="css-a4x74f"><span>12136</span></td><td id="LC12136" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12137" class="css-a4x74f"><span>12137</span></td><td id="LC12137" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12138" class="css-a4x74f"><span>12138</span></td><td id="LC12138" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L12139" class="css-a4x74f"><span>12139</span></td><td id="LC12139" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12140" class="css-a4x74f"><span>12140</span></td><td id="LC12140" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12141" class="css-a4x74f"><span>12141</span></td><td id="LC12141" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span>, </code></td></tr><tr><td id="L12142" class="css-a4x74f"><span>12142</span></td><td id="LC12142" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span> </code></td></tr><tr><td id="L12143" class="css-a4x74f"><span>12143</span></td><td id="LC12143" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12144" class="css-a4x74f"><span>12144</span></td><td id="LC12144" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L12145" class="css-a4x74f"><span>12145</span></td><td id="LC12145" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12146" class="css-a4x74f"><span>12146</span></td><td id="LC12146" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span>, </code></td></tr><tr><td id="L12147" class="css-a4x74f"><span>12147</span></td><td id="LC12147" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span> </code></td></tr><tr><td id="L12148" class="css-a4x74f"><span>12148</span></td><td id="LC12148" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12149" class="css-a4x74f"><span>12149</span></td><td id="LC12149" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12150" class="css-a4x74f"><span>12150</span></td><td id="LC12150" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12151" class="css-a4x74f"><span>12151</span></td><td id="LC12151" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/gap"</span> </code></td></tr><tr><td id="L12152" class="css-a4x74f"><span>12152</span></td><td id="LC12152" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12153" class="css-a4x74f"><span>12153</span></td><td id="LC12153" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> grid = { </code></td></tr><tr><td id="L12154" class="css-a4x74f"><span>12154</span></td><td id="LC12154" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>"</span>, </code></td></tr><tr><td id="L12155" class="css-a4x74f"><span>12155</span></td><td id="LC12155" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12156" class="css-a4x74f"><span>12156</span></td><td id="LC12156" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12157" class="css-a4x74f"><span>12157</span></td><td id="LC12157" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12158" class="css-a4x74f"><span>12158</span></td><td id="LC12158" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L12159" class="css-a4x74f"><span>12159</span></td><td id="LC12159" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>, </code></td></tr><tr><td id="L12160" class="css-a4x74f"><span>12160</span></td><td id="LC12160" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L12161" class="css-a4x74f"><span>12161</span></td><td id="LC12161" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-rows"</span>, </code></td></tr><tr><td id="L12162" class="css-a4x74f"><span>12162</span></td><td id="LC12162" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-columns"</span> </code></td></tr><tr><td id="L12163" class="css-a4x74f"><span>12163</span></td><td id="LC12163" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12164" class="css-a4x74f"><span>12164</span></td><td id="LC12164" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12165" class="css-a4x74f"><span>12165</span></td><td id="LC12165" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L12166" class="css-a4x74f"><span>12166</span></td><td id="LC12166" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12167" class="css-a4x74f"><span>12167</span></td><td id="LC12167" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12168" class="css-a4x74f"><span>12168</span></td><td id="LC12168" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>, </code></td></tr><tr><td id="L12169" class="css-a4x74f"><span>12169</span></td><td id="LC12169" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L12170" class="css-a4x74f"><span>12170</span></td><td id="LC12170" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-areas"</span>, </code></td></tr><tr><td id="L12171" class="css-a4x74f"><span>12171</span></td><td id="LC12171" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-rows"</span>, </code></td></tr><tr><td id="L12172" class="css-a4x74f"><span>12172</span></td><td id="LC12172" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-columns"</span>, </code></td></tr><tr><td id="L12173" class="css-a4x74f"><span>12173</span></td><td id="LC12173" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-flow"</span>, </code></td></tr><tr><td id="L12174" class="css-a4x74f"><span>12174</span></td><td id="LC12174" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span>, </code></td></tr><tr><td id="L12175" class="css-a4x74f"><span>12175</span></td><td id="LC12175" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>, </code></td></tr><tr><td id="L12176" class="css-a4x74f"><span>12176</span></td><td id="LC12176" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span>, </code></td></tr><tr><td id="L12177" class="css-a4x74f"><span>12177</span></td><td id="LC12177" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span> </code></td></tr><tr><td id="L12178" class="css-a4x74f"><span>12178</span></td><td id="LC12178" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12179" class="css-a4x74f"><span>12179</span></td><td id="LC12179" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L12180" class="css-a4x74f"><span>12180</span></td><td id="LC12180" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12181" class="css-a4x74f"><span>12181</span></td><td id="LC12181" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>, </code></td></tr><tr><td id="L12182" class="css-a4x74f"><span>12182</span></td><td id="LC12182" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L12183" class="css-a4x74f"><span>12183</span></td><td id="LC12183" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-areas"</span>, </code></td></tr><tr><td id="L12184" class="css-a4x74f"><span>12184</span></td><td id="LC12184" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-rows"</span>, </code></td></tr><tr><td id="L12185" class="css-a4x74f"><span>12185</span></td><td id="LC12185" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-columns"</span>, </code></td></tr><tr><td id="L12186" class="css-a4x74f"><span>12186</span></td><td id="LC12186" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-flow"</span>, </code></td></tr><tr><td id="L12187" class="css-a4x74f"><span>12187</span></td><td id="LC12187" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span>, </code></td></tr><tr><td id="L12188" class="css-a4x74f"><span>12188</span></td><td id="LC12188" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>, </code></td></tr><tr><td id="L12189" class="css-a4x74f"><span>12189</span></td><td id="LC12189" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span>, </code></td></tr><tr><td id="L12190" class="css-a4x74f"><span>12190</span></td><td id="LC12190" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span> </code></td></tr><tr><td id="L12191" class="css-a4x74f"><span>12191</span></td><td id="LC12191" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12192" class="css-a4x74f"><span>12192</span></td><td id="LC12192" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12193" class="css-a4x74f"><span>12193</span></td><td id="LC12193" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12194" class="css-a4x74f"><span>12194</span></td><td id="LC12194" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid"</span> </code></td></tr><tr><td id="L12195" class="css-a4x74f"><span>12195</span></td><td id="LC12195" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12196" class="css-a4x74f"><span>12196</span></td><td id="LC12196" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> height = { </code></td></tr><tr><td id="L12197" class="css-a4x74f"><span>12197</span></td><td id="LC12197" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto"</span>, </code></td></tr><tr><td id="L12198" class="css-a4x74f"><span>12198</span></td><td id="LC12198" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12199" class="css-a4x74f"><span>12199</span></td><td id="LC12199" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12200" class="css-a4x74f"><span>12200</span></td><td id="LC12200" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12201" class="css-a4x74f"><span>12201</span></td><td id="LC12201" class="css-1dcdqdg"><code> percentages: <span class="code-string">"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock"</span>, </code></td></tr><tr><td id="L12202" class="css-a4x74f"><span>12202</span></td><td id="LC12202" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12203" class="css-a4x74f"><span>12203</span></td><td id="LC12203" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L12204" class="css-a4x74f"><span>12204</span></td><td id="LC12204" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12205" class="css-a4x74f"><span>12205</span></td><td id="LC12205" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12206" class="css-a4x74f"><span>12206</span></td><td id="LC12206" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableColumns"</span>, </code></td></tr><tr><td id="L12207" class="css-a4x74f"><span>12207</span></td><td id="LC12207" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAutoOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L12208" class="css-a4x74f"><span>12208</span></td><td id="LC12208" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12209" class="css-a4x74f"><span>12209</span></td><td id="LC12209" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12210" class="css-a4x74f"><span>12210</span></td><td id="LC12210" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/height"</span> </code></td></tr><tr><td id="L12211" class="css-a4x74f"><span>12211</span></td><td id="LC12211" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12212" class="css-a4x74f"><span>12212</span></td><td id="LC12212" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hyphens = { </code></td></tr><tr><td id="L12213" class="css-a4x74f"><span>12213</span></td><td id="LC12213" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | manual | auto"</span>, </code></td></tr><tr><td id="L12214" class="css-a4x74f"><span>12214</span></td><td id="LC12214" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12215" class="css-a4x74f"><span>12215</span></td><td id="LC12215" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12216" class="css-a4x74f"><span>12216</span></td><td id="LC12216" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12217" class="css-a4x74f"><span>12217</span></td><td id="LC12217" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12218" class="css-a4x74f"><span>12218</span></td><td id="LC12218" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12219" class="css-a4x74f"><span>12219</span></td><td id="LC12219" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L12220" class="css-a4x74f"><span>12220</span></td><td id="LC12220" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12221" class="css-a4x74f"><span>12221</span></td><td id="LC12221" class="css-1dcdqdg"><code> initial: <span class="code-string">"manual"</span>, </code></td></tr><tr><td id="L12222" class="css-a4x74f"><span>12222</span></td><td id="LC12222" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12223" class="css-a4x74f"><span>12223</span></td><td id="LC12223" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12224" class="css-a4x74f"><span>12224</span></td><td id="LC12224" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12225" class="css-a4x74f"><span>12225</span></td><td id="LC12225" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12226" class="css-a4x74f"><span>12226</span></td><td id="LC12226" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/hyphens"</span> </code></td></tr><tr><td id="L12227" class="css-a4x74f"><span>12227</span></td><td id="LC12227" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12228" class="css-a4x74f"><span>12228</span></td><td id="LC12228" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> inset = { </code></td></tr><tr><td id="L12229" class="css-a4x74f"><span>12229</span></td><td id="LC12229" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>{1,4}"</span>, </code></td></tr><tr><td id="L12230" class="css-a4x74f"><span>12230</span></td><td id="LC12230" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12231" class="css-a4x74f"><span>12231</span></td><td id="LC12231" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12232" class="css-a4x74f"><span>12232</span></td><td id="LC12232" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12233" class="css-a4x74f"><span>12233</span></td><td id="LC12233" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalHeightOfContainingBlock"</span>, </code></td></tr><tr><td id="L12234" class="css-a4x74f"><span>12234</span></td><td id="LC12234" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12235" class="css-a4x74f"><span>12235</span></td><td id="LC12235" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L12236" class="css-a4x74f"><span>12236</span></td><td id="LC12236" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12237" class="css-a4x74f"><span>12237</span></td><td id="LC12237" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12238" class="css-a4x74f"><span>12238</span></td><td id="LC12238" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L12239" class="css-a4x74f"><span>12239</span></td><td id="LC12239" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L12240" class="css-a4x74f"><span>12240</span></td><td id="LC12240" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12241" class="css-a4x74f"><span>12241</span></td><td id="LC12241" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12242" class="css-a4x74f"><span>12242</span></td><td id="LC12242" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset"</span> </code></td></tr><tr><td id="L12243" class="css-a4x74f"><span>12243</span></td><td id="LC12243" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12244" class="css-a4x74f"><span>12244</span></td><td id="LC12244" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isolation = { </code></td></tr><tr><td id="L12245" class="css-a4x74f"><span>12245</span></td><td id="LC12245" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | isolate"</span>, </code></td></tr><tr><td id="L12246" class="css-a4x74f"><span>12246</span></td><td id="LC12246" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12247" class="css-a4x74f"><span>12247</span></td><td id="LC12247" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12248" class="css-a4x74f"><span>12248</span></td><td id="LC12248" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12249" class="css-a4x74f"><span>12249</span></td><td id="LC12249" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12250" class="css-a4x74f"><span>12250</span></td><td id="LC12250" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12251" class="css-a4x74f"><span>12251</span></td><td id="LC12251" class="css-1dcdqdg"><code> <span class="code-string">"Compositing and Blending"</span> </code></td></tr><tr><td id="L12252" class="css-a4x74f"><span>12252</span></td><td id="LC12252" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12253" class="css-a4x74f"><span>12253</span></td><td id="LC12253" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12254" class="css-a4x74f"><span>12254</span></td><td id="LC12254" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerGraphicsAndGraphicsReferencingElements"</span>, </code></td></tr><tr><td id="L12255" class="css-a4x74f"><span>12255</span></td><td id="LC12255" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12256" class="css-a4x74f"><span>12256</span></td><td id="LC12256" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12257" class="css-a4x74f"><span>12257</span></td><td id="LC12257" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12258" class="css-a4x74f"><span>12258</span></td><td id="LC12258" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/isolation"</span> </code></td></tr><tr><td id="L12259" class="css-a4x74f"><span>12259</span></td><td id="LC12259" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12260" class="css-a4x74f"><span>12260</span></td><td id="LC12260" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> left = { </code></td></tr><tr><td id="L12261" class="css-a4x74f"><span>12261</span></td><td id="LC12261" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L12262" class="css-a4x74f"><span>12262</span></td><td id="LC12262" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12263" class="css-a4x74f"><span>12263</span></td><td id="LC12263" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12264" class="css-a4x74f"><span>12264</span></td><td id="LC12264" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12265" class="css-a4x74f"><span>12265</span></td><td id="LC12265" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L12266" class="css-a4x74f"><span>12266</span></td><td id="LC12266" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12267" class="css-a4x74f"><span>12267</span></td><td id="LC12267" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L12268" class="css-a4x74f"><span>12268</span></td><td id="LC12268" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12269" class="css-a4x74f"><span>12269</span></td><td id="LC12269" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12270" class="css-a4x74f"><span>12270</span></td><td id="LC12270" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L12271" class="css-a4x74f"><span>12271</span></td><td id="LC12271" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L12272" class="css-a4x74f"><span>12272</span></td><td id="LC12272" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12273" class="css-a4x74f"><span>12273</span></td><td id="LC12273" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12274" class="css-a4x74f"><span>12274</span></td><td id="LC12274" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/left"</span> </code></td></tr><tr><td id="L12275" class="css-a4x74f"><span>12275</span></td><td id="LC12275" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12276" class="css-a4x74f"><span>12276</span></td><td id="LC12276" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> margin = { </code></td></tr><tr><td id="L12277" class="css-a4x74f"><span>12277</span></td><td id="LC12277" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <percentage> | auto ]{1,4}"</span>, </code></td></tr><tr><td id="L12278" class="css-a4x74f"><span>12278</span></td><td id="LC12278" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12279" class="css-a4x74f"><span>12279</span></td><td id="LC12279" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12280" class="css-a4x74f"><span>12280</span></td><td id="LC12280" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L12281" class="css-a4x74f"><span>12281</span></td><td id="LC12281" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L12282" class="css-a4x74f"><span>12282</span></td><td id="LC12282" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12283" class="css-a4x74f"><span>12283</span></td><td id="LC12283" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L12284" class="css-a4x74f"><span>12284</span></td><td id="LC12284" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12285" class="css-a4x74f"><span>12285</span></td><td id="LC12285" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12286" class="css-a4x74f"><span>12286</span></td><td id="LC12286" class="css-1dcdqdg"><code> <span class="code-string">"margin-bottom"</span>, </code></td></tr><tr><td id="L12287" class="css-a4x74f"><span>12287</span></td><td id="LC12287" class="css-1dcdqdg"><code> <span class="code-string">"margin-left"</span>, </code></td></tr><tr><td id="L12288" class="css-a4x74f"><span>12288</span></td><td id="LC12288" class="css-1dcdqdg"><code> <span class="code-string">"margin-right"</span>, </code></td></tr><tr><td id="L12289" class="css-a4x74f"><span>12289</span></td><td id="LC12289" class="css-1dcdqdg"><code> <span class="code-string">"margin-top"</span> </code></td></tr><tr><td id="L12290" class="css-a4x74f"><span>12290</span></td><td id="LC12290" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12291" class="css-a4x74f"><span>12291</span></td><td id="LC12291" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableDisplayTypes"</span>, </code></td></tr><tr><td id="L12292" class="css-a4x74f"><span>12292</span></td><td id="LC12292" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12293" class="css-a4x74f"><span>12293</span></td><td id="LC12293" class="css-1dcdqdg"><code> <span class="code-string">"margin-bottom"</span>, </code></td></tr><tr><td id="L12294" class="css-a4x74f"><span>12294</span></td><td id="LC12294" class="css-1dcdqdg"><code> <span class="code-string">"margin-left"</span>, </code></td></tr><tr><td id="L12295" class="css-a4x74f"><span>12295</span></td><td id="LC12295" class="css-1dcdqdg"><code> <span class="code-string">"margin-right"</span>, </code></td></tr><tr><td id="L12296" class="css-a4x74f"><span>12296</span></td><td id="LC12296" class="css-1dcdqdg"><code> <span class="code-string">"margin-top"</span> </code></td></tr><tr><td id="L12297" class="css-a4x74f"><span>12297</span></td><td id="LC12297" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12298" class="css-a4x74f"><span>12298</span></td><td id="LC12298" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12299" class="css-a4x74f"><span>12299</span></td><td id="LC12299" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L12300" class="css-a4x74f"><span>12300</span></td><td id="LC12300" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L12301" class="css-a4x74f"><span>12301</span></td><td id="LC12301" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12302" class="css-a4x74f"><span>12302</span></td><td id="LC12302" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12303" class="css-a4x74f"><span>12303</span></td><td id="LC12303" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin"</span> </code></td></tr><tr><td id="L12304" class="css-a4x74f"><span>12304</span></td><td id="LC12304" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12305" class="css-a4x74f"><span>12305</span></td><td id="LC12305" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mask = { </code></td></tr><tr><td id="L12306" class="css-a4x74f"><span>12306</span></td><td id="LC12306" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mask-layer>#"</span>, </code></td></tr><tr><td id="L12307" class="css-a4x74f"><span>12307</span></td><td id="LC12307" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12308" class="css-a4x74f"><span>12308</span></td><td id="LC12308" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12309" class="css-a4x74f"><span>12309</span></td><td id="LC12309" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12310" class="css-a4x74f"><span>12310</span></td><td id="LC12310" class="css-1dcdqdg"><code> <span class="code-string">"mask-image"</span>, </code></td></tr><tr><td id="L12311" class="css-a4x74f"><span>12311</span></td><td id="LC12311" class="css-1dcdqdg"><code> <span class="code-string">"mask-mode"</span>, </code></td></tr><tr><td id="L12312" class="css-a4x74f"><span>12312</span></td><td id="LC12312" class="css-1dcdqdg"><code> <span class="code-string">"mask-repeat"</span>, </code></td></tr><tr><td id="L12313" class="css-a4x74f"><span>12313</span></td><td id="LC12313" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span>, </code></td></tr><tr><td id="L12314" class="css-a4x74f"><span>12314</span></td><td id="LC12314" class="css-1dcdqdg"><code> <span class="code-string">"mask-clip"</span>, </code></td></tr><tr><td id="L12315" class="css-a4x74f"><span>12315</span></td><td id="LC12315" class="css-1dcdqdg"><code> <span class="code-string">"mask-origin"</span>, </code></td></tr><tr><td id="L12316" class="css-a4x74f"><span>12316</span></td><td id="LC12316" class="css-1dcdqdg"><code> <span class="code-string">"mask-size"</span>, </code></td></tr><tr><td id="L12317" class="css-a4x74f"><span>12317</span></td><td id="LC12317" class="css-1dcdqdg"><code> <span class="code-string">"mask-composite"</span> </code></td></tr><tr><td id="L12318" class="css-a4x74f"><span>12318</span></td><td id="LC12318" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12319" class="css-a4x74f"><span>12319</span></td><td id="LC12319" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L12320" class="css-a4x74f"><span>12320</span></td><td id="LC12320" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span> </code></td></tr><tr><td id="L12321" class="css-a4x74f"><span>12321</span></td><td id="LC12321" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12322" class="css-a4x74f"><span>12322</span></td><td id="LC12322" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12323" class="css-a4x74f"><span>12323</span></td><td id="LC12323" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L12324" class="css-a4x74f"><span>12324</span></td><td id="LC12324" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12325" class="css-a4x74f"><span>12325</span></td><td id="LC12325" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12326" class="css-a4x74f"><span>12326</span></td><td id="LC12326" class="css-1dcdqdg"><code> <span class="code-string">"mask-image"</span>, </code></td></tr><tr><td id="L12327" class="css-a4x74f"><span>12327</span></td><td id="LC12327" class="css-1dcdqdg"><code> <span class="code-string">"mask-mode"</span>, </code></td></tr><tr><td id="L12328" class="css-a4x74f"><span>12328</span></td><td id="LC12328" class="css-1dcdqdg"><code> <span class="code-string">"mask-repeat"</span>, </code></td></tr><tr><td id="L12329" class="css-a4x74f"><span>12329</span></td><td id="LC12329" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span>, </code></td></tr><tr><td id="L12330" class="css-a4x74f"><span>12330</span></td><td id="LC12330" class="css-1dcdqdg"><code> <span class="code-string">"mask-clip"</span>, </code></td></tr><tr><td id="L12331" class="css-a4x74f"><span>12331</span></td><td id="LC12331" class="css-1dcdqdg"><code> <span class="code-string">"mask-origin"</span>, </code></td></tr><tr><td id="L12332" class="css-a4x74f"><span>12332</span></td><td id="LC12332" class="css-1dcdqdg"><code> <span class="code-string">"mask-size"</span>, </code></td></tr><tr><td id="L12333" class="css-a4x74f"><span>12333</span></td><td id="LC12333" class="css-1dcdqdg"><code> <span class="code-string">"mask-composite"</span> </code></td></tr><tr><td id="L12334" class="css-a4x74f"><span>12334</span></td><td id="LC12334" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12335" class="css-a4x74f"><span>12335</span></td><td id="LC12335" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L12336" class="css-a4x74f"><span>12336</span></td><td id="LC12336" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12337" class="css-a4x74f"><span>12337</span></td><td id="LC12337" class="css-1dcdqdg"><code> <span class="code-string">"mask-image"</span>, </code></td></tr><tr><td id="L12338" class="css-a4x74f"><span>12338</span></td><td id="LC12338" class="css-1dcdqdg"><code> <span class="code-string">"mask-mode"</span>, </code></td></tr><tr><td id="L12339" class="css-a4x74f"><span>12339</span></td><td id="LC12339" class="css-1dcdqdg"><code> <span class="code-string">"mask-repeat"</span>, </code></td></tr><tr><td id="L12340" class="css-a4x74f"><span>12340</span></td><td id="LC12340" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span>, </code></td></tr><tr><td id="L12341" class="css-a4x74f"><span>12341</span></td><td id="LC12341" class="css-1dcdqdg"><code> <span class="code-string">"mask-clip"</span>, </code></td></tr><tr><td id="L12342" class="css-a4x74f"><span>12342</span></td><td id="LC12342" class="css-1dcdqdg"><code> <span class="code-string">"mask-origin"</span>, </code></td></tr><tr><td id="L12343" class="css-a4x74f"><span>12343</span></td><td id="LC12343" class="css-1dcdqdg"><code> <span class="code-string">"mask-size"</span>, </code></td></tr><tr><td id="L12344" class="css-a4x74f"><span>12344</span></td><td id="LC12344" class="css-1dcdqdg"><code> <span class="code-string">"mask-composite"</span> </code></td></tr><tr><td id="L12345" class="css-a4x74f"><span>12345</span></td><td id="LC12345" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12346" class="css-a4x74f"><span>12346</span></td><td id="LC12346" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12347" class="css-a4x74f"><span>12347</span></td><td id="LC12347" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12348" class="css-a4x74f"><span>12348</span></td><td id="LC12348" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12349" class="css-a4x74f"><span>12349</span></td><td id="LC12349" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask"</span> </code></td></tr><tr><td id="L12350" class="css-a4x74f"><span>12350</span></td><td id="LC12350" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12351" class="css-a4x74f"><span>12351</span></td><td id="LC12351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = { </code></td></tr><tr><td id="L12352" class="css-a4x74f"><span>12352</span></td><td id="LC12352" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?"</span>, </code></td></tr><tr><td id="L12353" class="css-a4x74f"><span>12353</span></td><td id="LC12353" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12354" class="css-a4x74f"><span>12354</span></td><td id="LC12354" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12355" class="css-a4x74f"><span>12355</span></td><td id="LC12355" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12356" class="css-a4x74f"><span>12356</span></td><td id="LC12356" class="css-1dcdqdg"><code> <span class="code-string">"offset-position"</span>, </code></td></tr><tr><td id="L12357" class="css-a4x74f"><span>12357</span></td><td id="LC12357" class="css-1dcdqdg"><code> <span class="code-string">"offset-path"</span>, </code></td></tr><tr><td id="L12358" class="css-a4x74f"><span>12358</span></td><td id="LC12358" class="css-1dcdqdg"><code> <span class="code-string">"offset-distance"</span>, </code></td></tr><tr><td id="L12359" class="css-a4x74f"><span>12359</span></td><td id="LC12359" class="css-1dcdqdg"><code> <span class="code-string">"offset-anchor"</span>, </code></td></tr><tr><td id="L12360" class="css-a4x74f"><span>12360</span></td><td id="LC12360" class="css-1dcdqdg"><code> <span class="code-string">"offset-rotate"</span> </code></td></tr><tr><td id="L12361" class="css-a4x74f"><span>12361</span></td><td id="LC12361" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12362" class="css-a4x74f"><span>12362</span></td><td id="LC12362" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L12363" class="css-a4x74f"><span>12363</span></td><td id="LC12363" class="css-1dcdqdg"><code> <span class="code-string">"offset-position"</span>, </code></td></tr><tr><td id="L12364" class="css-a4x74f"><span>12364</span></td><td id="LC12364" class="css-1dcdqdg"><code> <span class="code-string">"offset-distance"</span>, </code></td></tr><tr><td id="L12365" class="css-a4x74f"><span>12365</span></td><td id="LC12365" class="css-1dcdqdg"><code> <span class="code-string">"offset-anchor"</span> </code></td></tr><tr><td id="L12366" class="css-a4x74f"><span>12366</span></td><td id="LC12366" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12367" class="css-a4x74f"><span>12367</span></td><td id="LC12367" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12368" class="css-a4x74f"><span>12368</span></td><td id="LC12368" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L12369" class="css-a4x74f"><span>12369</span></td><td id="LC12369" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12370" class="css-a4x74f"><span>12370</span></td><td id="LC12370" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12371" class="css-a4x74f"><span>12371</span></td><td id="LC12371" class="css-1dcdqdg"><code> <span class="code-string">"offset-position"</span>, </code></td></tr><tr><td id="L12372" class="css-a4x74f"><span>12372</span></td><td id="LC12372" class="css-1dcdqdg"><code> <span class="code-string">"offset-path"</span>, </code></td></tr><tr><td id="L12373" class="css-a4x74f"><span>12373</span></td><td id="LC12373" class="css-1dcdqdg"><code> <span class="code-string">"offset-distance"</span>, </code></td></tr><tr><td id="L12374" class="css-a4x74f"><span>12374</span></td><td id="LC12374" class="css-1dcdqdg"><code> <span class="code-string">"offset-anchor"</span>, </code></td></tr><tr><td id="L12375" class="css-a4x74f"><span>12375</span></td><td id="LC12375" class="css-1dcdqdg"><code> <span class="code-string">"offset-rotate"</span> </code></td></tr><tr><td id="L12376" class="css-a4x74f"><span>12376</span></td><td id="LC12376" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12377" class="css-a4x74f"><span>12377</span></td><td id="LC12377" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12378" class="css-a4x74f"><span>12378</span></td><td id="LC12378" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12379" class="css-a4x74f"><span>12379</span></td><td id="LC12379" class="css-1dcdqdg"><code> <span class="code-string">"offset-position"</span>, </code></td></tr><tr><td id="L12380" class="css-a4x74f"><span>12380</span></td><td id="LC12380" class="css-1dcdqdg"><code> <span class="code-string">"offset-path"</span>, </code></td></tr><tr><td id="L12381" class="css-a4x74f"><span>12381</span></td><td id="LC12381" class="css-1dcdqdg"><code> <span class="code-string">"offset-distance"</span>, </code></td></tr><tr><td id="L12382" class="css-a4x74f"><span>12382</span></td><td id="LC12382" class="css-1dcdqdg"><code> <span class="code-string">"offset-anchor"</span>, </code></td></tr><tr><td id="L12383" class="css-a4x74f"><span>12383</span></td><td id="LC12383" class="css-1dcdqdg"><code> <span class="code-string">"offset-rotate"</span> </code></td></tr><tr><td id="L12384" class="css-a4x74f"><span>12384</span></td><td id="LC12384" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12385" class="css-a4x74f"><span>12385</span></td><td id="LC12385" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12386" class="css-a4x74f"><span>12386</span></td><td id="LC12386" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12387" class="css-a4x74f"><span>12387</span></td><td id="LC12387" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L12388" class="css-a4x74f"><span>12388</span></td><td id="LC12388" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/offset"</span> </code></td></tr><tr><td id="L12389" class="css-a4x74f"><span>12389</span></td><td id="LC12389" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12390" class="css-a4x74f"><span>12390</span></td><td id="LC12390" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> opacity = { </code></td></tr><tr><td id="L12391" class="css-a4x74f"><span>12391</span></td><td id="LC12391" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<alpha-value>"</span>, </code></td></tr><tr><td id="L12392" class="css-a4x74f"><span>12392</span></td><td id="LC12392" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12393" class="css-a4x74f"><span>12393</span></td><td id="LC12393" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12394" class="css-a4x74f"><span>12394</span></td><td id="LC12394" class="css-1dcdqdg"><code> animationType: <span class="code-string">"number"</span>, </code></td></tr><tr><td id="L12395" class="css-a4x74f"><span>12395</span></td><td id="LC12395" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12396" class="css-a4x74f"><span>12396</span></td><td id="LC12396" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12397" class="css-a4x74f"><span>12397</span></td><td id="LC12397" class="css-1dcdqdg"><code> <span class="code-string">"CSS Color"</span> </code></td></tr><tr><td id="L12398" class="css-a4x74f"><span>12398</span></td><td id="LC12398" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12399" class="css-a4x74f"><span>12399</span></td><td id="LC12399" class="css-1dcdqdg"><code> initial: <span class="code-string">"1.0"</span>, </code></td></tr><tr><td id="L12400" class="css-a4x74f"><span>12400</span></td><td id="LC12400" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12401" class="css-a4x74f"><span>12401</span></td><td id="LC12401" class="css-1dcdqdg"><code> computed: <span class="code-string">"specifiedValueClipped0To1"</span>, </code></td></tr><tr><td id="L12402" class="css-a4x74f"><span>12402</span></td><td id="LC12402" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12403" class="css-a4x74f"><span>12403</span></td><td id="LC12403" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L12404" class="css-a4x74f"><span>12404</span></td><td id="LC12404" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L12405" class="css-a4x74f"><span>12405</span></td><td id="LC12405" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12406" class="css-a4x74f"><span>12406</span></td><td id="LC12406" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12407" class="css-a4x74f"><span>12407</span></td><td id="LC12407" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/opacity"</span> </code></td></tr><tr><td id="L12408" class="css-a4x74f"><span>12408</span></td><td id="LC12408" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12409" class="css-a4x74f"><span>12409</span></td><td id="LC12409" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> order = { </code></td></tr><tr><td id="L12410" class="css-a4x74f"><span>12410</span></td><td id="LC12410" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L12411" class="css-a4x74f"><span>12411</span></td><td id="LC12411" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12412" class="css-a4x74f"><span>12412</span></td><td id="LC12412" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12413" class="css-a4x74f"><span>12413</span></td><td id="LC12413" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L12414" class="css-a4x74f"><span>12414</span></td><td id="LC12414" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12415" class="css-a4x74f"><span>12415</span></td><td id="LC12415" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12416" class="css-a4x74f"><span>12416</span></td><td id="LC12416" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L12417" class="css-a4x74f"><span>12417</span></td><td id="LC12417" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12418" class="css-a4x74f"><span>12418</span></td><td id="LC12418" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L12419" class="css-a4x74f"><span>12419</span></td><td id="LC12419" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsAndAbsolutelyPositionedFlexContainerChildren"</span>, </code></td></tr><tr><td id="L12420" class="css-a4x74f"><span>12420</span></td><td id="LC12420" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12421" class="css-a4x74f"><span>12421</span></td><td id="LC12421" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12422" class="css-a4x74f"><span>12422</span></td><td id="LC12422" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12423" class="css-a4x74f"><span>12423</span></td><td id="LC12423" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/order"</span> </code></td></tr><tr><td id="L12424" class="css-a4x74f"><span>12424</span></td><td id="LC12424" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12425" class="css-a4x74f"><span>12425</span></td><td id="LC12425" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> orphans = { </code></td></tr><tr><td id="L12426" class="css-a4x74f"><span>12426</span></td><td id="LC12426" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L12427" class="css-a4x74f"><span>12427</span></td><td id="LC12427" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12428" class="css-a4x74f"><span>12428</span></td><td id="LC12428" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12429" class="css-a4x74f"><span>12429</span></td><td id="LC12429" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12430" class="css-a4x74f"><span>12430</span></td><td id="LC12430" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12431" class="css-a4x74f"><span>12431</span></td><td id="LC12431" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12432" class="css-a4x74f"><span>12432</span></td><td id="LC12432" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L12433" class="css-a4x74f"><span>12433</span></td><td id="LC12433" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12434" class="css-a4x74f"><span>12434</span></td><td id="LC12434" class="css-1dcdqdg"><code> initial: <span class="code-string">"2"</span>, </code></td></tr><tr><td id="L12435" class="css-a4x74f"><span>12435</span></td><td id="LC12435" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainerElements"</span>, </code></td></tr><tr><td id="L12436" class="css-a4x74f"><span>12436</span></td><td id="LC12436" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12437" class="css-a4x74f"><span>12437</span></td><td id="LC12437" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12438" class="css-a4x74f"><span>12438</span></td><td id="LC12438" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12439" class="css-a4x74f"><span>12439</span></td><td id="LC12439" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/orphans"</span> </code></td></tr><tr><td id="L12440" class="css-a4x74f"><span>12440</span></td><td id="LC12440" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12441" class="css-a4x74f"><span>12441</span></td><td id="LC12441" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> outline = { </code></td></tr><tr><td id="L12442" class="css-a4x74f"><span>12442</span></td><td id="LC12442" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]"</span>, </code></td></tr><tr><td id="L12443" class="css-a4x74f"><span>12443</span></td><td id="LC12443" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L12444" class="css-a4x74f"><span>12444</span></td><td id="LC12444" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12445" class="css-a4x74f"><span>12445</span></td><td id="LC12445" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L12446" class="css-a4x74f"><span>12446</span></td><td id="LC12446" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12447" class="css-a4x74f"><span>12447</span></td><td id="LC12447" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12448" class="css-a4x74f"><span>12448</span></td><td id="LC12448" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L12449" class="css-a4x74f"><span>12449</span></td><td id="LC12449" class="css-1dcdqdg"><code> <span class="code-string">"outline-color"</span>, </code></td></tr><tr><td id="L12450" class="css-a4x74f"><span>12450</span></td><td id="LC12450" class="css-1dcdqdg"><code> <span class="code-string">"outline-width"</span>, </code></td></tr><tr><td id="L12451" class="css-a4x74f"><span>12451</span></td><td id="LC12451" class="css-1dcdqdg"><code> <span class="code-string">"outline-style"</span> </code></td></tr><tr><td id="L12452" class="css-a4x74f"><span>12452</span></td><td id="LC12452" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12453" class="css-a4x74f"><span>12453</span></td><td id="LC12453" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12454" class="css-a4x74f"><span>12454</span></td><td id="LC12454" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12455" class="css-a4x74f"><span>12455</span></td><td id="LC12455" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L12456" class="css-a4x74f"><span>12456</span></td><td id="LC12456" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12457" class="css-a4x74f"><span>12457</span></td><td id="LC12457" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12458" class="css-a4x74f"><span>12458</span></td><td id="LC12458" class="css-1dcdqdg"><code> <span class="code-string">"outline-color"</span>, </code></td></tr><tr><td id="L12459" class="css-a4x74f"><span>12459</span></td><td id="LC12459" class="css-1dcdqdg"><code> <span class="code-string">"outline-style"</span>, </code></td></tr><tr><td id="L12460" class="css-a4x74f"><span>12460</span></td><td id="LC12460" class="css-1dcdqdg"><code> <span class="code-string">"outline-width"</span> </code></td></tr><tr><td id="L12461" class="css-a4x74f"><span>12461</span></td><td id="LC12461" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12462" class="css-a4x74f"><span>12462</span></td><td id="LC12462" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12463" class="css-a4x74f"><span>12463</span></td><td id="LC12463" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12464" class="css-a4x74f"><span>12464</span></td><td id="LC12464" class="css-1dcdqdg"><code> <span class="code-string">"outline-color"</span>, </code></td></tr><tr><td id="L12465" class="css-a4x74f"><span>12465</span></td><td id="LC12465" class="css-1dcdqdg"><code> <span class="code-string">"outline-width"</span>, </code></td></tr><tr><td id="L12466" class="css-a4x74f"><span>12466</span></td><td id="LC12466" class="css-1dcdqdg"><code> <span class="code-string">"outline-style"</span> </code></td></tr><tr><td id="L12467" class="css-a4x74f"><span>12467</span></td><td id="LC12467" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12468" class="css-a4x74f"><span>12468</span></td><td id="LC12468" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L12469" class="css-a4x74f"><span>12469</span></td><td id="LC12469" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12470" class="css-a4x74f"><span>12470</span></td><td id="LC12470" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/outline"</span> </code></td></tr><tr><td id="L12471" class="css-a4x74f"><span>12471</span></td><td id="LC12471" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12472" class="css-a4x74f"><span>12472</span></td><td id="LC12472" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> overflow = { </code></td></tr><tr><td id="L12473" class="css-a4x74f"><span>12473</span></td><td id="LC12473" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ visible | hidden | clip | scroll | auto ]{1,2}"</span>, </code></td></tr><tr><td id="L12474" class="css-a4x74f"><span>12474</span></td><td id="LC12474" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12475" class="css-a4x74f"><span>12475</span></td><td id="LC12475" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12476" class="css-a4x74f"><span>12476</span></td><td id="LC12476" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12477" class="css-a4x74f"><span>12477</span></td><td id="LC12477" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12478" class="css-a4x74f"><span>12478</span></td><td id="LC12478" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12479" class="css-a4x74f"><span>12479</span></td><td id="LC12479" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L12480" class="css-a4x74f"><span>12480</span></td><td id="LC12480" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12481" class="css-a4x74f"><span>12481</span></td><td id="LC12481" class="css-1dcdqdg"><code> initial: <span class="code-string">"visible"</span>, </code></td></tr><tr><td id="L12482" class="css-a4x74f"><span>12482</span></td><td id="LC12482" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L12483" class="css-a4x74f"><span>12483</span></td><td id="LC12483" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12484" class="css-a4x74f"><span>12484</span></td><td id="LC12484" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12485" class="css-a4x74f"><span>12485</span></td><td id="LC12485" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12486" class="css-a4x74f"><span>12486</span></td><td id="LC12486" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overflow"</span> </code></td></tr><tr><td id="L12487" class="css-a4x74f"><span>12487</span></td><td id="LC12487" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12488" class="css-a4x74f"><span>12488</span></td><td id="LC12488" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> padding = { </code></td></tr><tr><td id="L12489" class="css-a4x74f"><span>12489</span></td><td id="LC12489" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <percentage> ]{1,4}"</span>, </code></td></tr><tr><td id="L12490" class="css-a4x74f"><span>12490</span></td><td id="LC12490" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12491" class="css-a4x74f"><span>12491</span></td><td id="LC12491" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12492" class="css-a4x74f"><span>12492</span></td><td id="LC12492" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L12493" class="css-a4x74f"><span>12493</span></td><td id="LC12493" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L12494" class="css-a4x74f"><span>12494</span></td><td id="LC12494" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12495" class="css-a4x74f"><span>12495</span></td><td id="LC12495" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L12496" class="css-a4x74f"><span>12496</span></td><td id="LC12496" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12497" class="css-a4x74f"><span>12497</span></td><td id="LC12497" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12498" class="css-a4x74f"><span>12498</span></td><td id="LC12498" class="css-1dcdqdg"><code> <span class="code-string">"padding-bottom"</span>, </code></td></tr><tr><td id="L12499" class="css-a4x74f"><span>12499</span></td><td id="LC12499" class="css-1dcdqdg"><code> <span class="code-string">"padding-left"</span>, </code></td></tr><tr><td id="L12500" class="css-a4x74f"><span>12500</span></td><td id="LC12500" class="css-1dcdqdg"><code> <span class="code-string">"padding-right"</span>, </code></td></tr><tr><td id="L12501" class="css-a4x74f"><span>12501</span></td><td id="LC12501" class="css-1dcdqdg"><code> <span class="code-string">"padding-top"</span> </code></td></tr><tr><td id="L12502" class="css-a4x74f"><span>12502</span></td><td id="LC12502" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12503" class="css-a4x74f"><span>12503</span></td><td id="LC12503" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInternalTableDisplayTypes"</span>, </code></td></tr><tr><td id="L12504" class="css-a4x74f"><span>12504</span></td><td id="LC12504" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12505" class="css-a4x74f"><span>12505</span></td><td id="LC12505" class="css-1dcdqdg"><code> <span class="code-string">"padding-bottom"</span>, </code></td></tr><tr><td id="L12506" class="css-a4x74f"><span>12506</span></td><td id="LC12506" class="css-1dcdqdg"><code> <span class="code-string">"padding-left"</span>, </code></td></tr><tr><td id="L12507" class="css-a4x74f"><span>12507</span></td><td id="LC12507" class="css-1dcdqdg"><code> <span class="code-string">"padding-right"</span>, </code></td></tr><tr><td id="L12508" class="css-a4x74f"><span>12508</span></td><td id="LC12508" class="css-1dcdqdg"><code> <span class="code-string">"padding-top"</span> </code></td></tr><tr><td id="L12509" class="css-a4x74f"><span>12509</span></td><td id="LC12509" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12510" class="css-a4x74f"><span>12510</span></td><td id="LC12510" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12511" class="css-a4x74f"><span>12511</span></td><td id="LC12511" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L12512" class="css-a4x74f"><span>12512</span></td><td id="LC12512" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L12513" class="css-a4x74f"><span>12513</span></td><td id="LC12513" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12514" class="css-a4x74f"><span>12514</span></td><td id="LC12514" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12515" class="css-a4x74f"><span>12515</span></td><td id="LC12515" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding"</span> </code></td></tr><tr><td id="L12516" class="css-a4x74f"><span>12516</span></td><td id="LC12516" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12517" class="css-a4x74f"><span>12517</span></td><td id="LC12517" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> perspective = { </code></td></tr><tr><td id="L12518" class="css-a4x74f"><span>12518</span></td><td id="LC12518" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <length>"</span>, </code></td></tr><tr><td id="L12519" class="css-a4x74f"><span>12519</span></td><td id="LC12519" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12520" class="css-a4x74f"><span>12520</span></td><td id="LC12520" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12521" class="css-a4x74f"><span>12521</span></td><td id="LC12521" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L12522" class="css-a4x74f"><span>12522</span></td><td id="LC12522" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12523" class="css-a4x74f"><span>12523</span></td><td id="LC12523" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12524" class="css-a4x74f"><span>12524</span></td><td id="LC12524" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L12525" class="css-a4x74f"><span>12525</span></td><td id="LC12525" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12526" class="css-a4x74f"><span>12526</span></td><td id="LC12526" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12527" class="css-a4x74f"><span>12527</span></td><td id="LC12527" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12528" class="css-a4x74f"><span>12528</span></td><td id="LC12528" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrNone"</span>, </code></td></tr><tr><td id="L12529" class="css-a4x74f"><span>12529</span></td><td id="LC12529" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12530" class="css-a4x74f"><span>12530</span></td><td id="LC12530" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12531" class="css-a4x74f"><span>12531</span></td><td id="LC12531" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12532" class="css-a4x74f"><span>12532</span></td><td id="LC12532" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/perspective"</span> </code></td></tr><tr><td id="L12533" class="css-a4x74f"><span>12533</span></td><td id="LC12533" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12534" class="css-a4x74f"><span>12534</span></td><td id="LC12534" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> position = { </code></td></tr><tr><td id="L12535" class="css-a4x74f"><span>12535</span></td><td id="LC12535" class="css-1dcdqdg"><code> syntax: <span class="code-string">"static | relative | absolute | sticky | fixed"</span>, </code></td></tr><tr><td id="L12536" class="css-a4x74f"><span>12536</span></td><td id="LC12536" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12537" class="css-a4x74f"><span>12537</span></td><td id="LC12537" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12538" class="css-a4x74f"><span>12538</span></td><td id="LC12538" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12539" class="css-a4x74f"><span>12539</span></td><td id="LC12539" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12540" class="css-a4x74f"><span>12540</span></td><td id="LC12540" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12541" class="css-a4x74f"><span>12541</span></td><td id="LC12541" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L12542" class="css-a4x74f"><span>12542</span></td><td id="LC12542" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12543" class="css-a4x74f"><span>12543</span></td><td id="LC12543" class="css-1dcdqdg"><code> initial: <span class="code-string">"static"</span>, </code></td></tr><tr><td id="L12544" class="css-a4x74f"><span>12544</span></td><td id="LC12544" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12545" class="css-a4x74f"><span>12545</span></td><td id="LC12545" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12546" class="css-a4x74f"><span>12546</span></td><td id="LC12546" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12547" class="css-a4x74f"><span>12547</span></td><td id="LC12547" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12548" class="css-a4x74f"><span>12548</span></td><td id="LC12548" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12549" class="css-a4x74f"><span>12549</span></td><td id="LC12549" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/position"</span> </code></td></tr><tr><td id="L12550" class="css-a4x74f"><span>12550</span></td><td id="LC12550" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12551" class="css-a4x74f"><span>12551</span></td><td id="LC12551" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> quotes = { </code></td></tr><tr><td id="L12552" class="css-a4x74f"><span>12552</span></td><td id="LC12552" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | auto | [ <string> <string> ]+"</span>, </code></td></tr><tr><td id="L12553" class="css-a4x74f"><span>12553</span></td><td id="LC12553" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12554" class="css-a4x74f"><span>12554</span></td><td id="LC12554" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12555" class="css-a4x74f"><span>12555</span></td><td id="LC12555" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12556" class="css-a4x74f"><span>12556</span></td><td id="LC12556" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12557" class="css-a4x74f"><span>12557</span></td><td id="LC12557" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12558" class="css-a4x74f"><span>12558</span></td><td id="LC12558" class="css-1dcdqdg"><code> <span class="code-string">"CSS Generated Content"</span> </code></td></tr><tr><td id="L12559" class="css-a4x74f"><span>12559</span></td><td id="LC12559" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12560" class="css-a4x74f"><span>12560</span></td><td id="LC12560" class="css-1dcdqdg"><code> initial: <span class="code-string">"dependsOnUserAgent"</span>, </code></td></tr><tr><td id="L12561" class="css-a4x74f"><span>12561</span></td><td id="LC12561" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12562" class="css-a4x74f"><span>12562</span></td><td id="LC12562" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12563" class="css-a4x74f"><span>12563</span></td><td id="LC12563" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12564" class="css-a4x74f"><span>12564</span></td><td id="LC12564" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12565" class="css-a4x74f"><span>12565</span></td><td id="LC12565" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/quotes"</span> </code></td></tr><tr><td id="L12566" class="css-a4x74f"><span>12566</span></td><td id="LC12566" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12567" class="css-a4x74f"><span>12567</span></td><td id="LC12567" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> resize = { </code></td></tr><tr><td id="L12568" class="css-a4x74f"><span>12568</span></td><td id="LC12568" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | both | horizontal | vertical | block | inline"</span>, </code></td></tr><tr><td id="L12569" class="css-a4x74f"><span>12569</span></td><td id="LC12569" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12570" class="css-a4x74f"><span>12570</span></td><td id="LC12570" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12571" class="css-a4x74f"><span>12571</span></td><td id="LC12571" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12572" class="css-a4x74f"><span>12572</span></td><td id="LC12572" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12573" class="css-a4x74f"><span>12573</span></td><td id="LC12573" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12574" class="css-a4x74f"><span>12574</span></td><td id="LC12574" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L12575" class="css-a4x74f"><span>12575</span></td><td id="LC12575" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12576" class="css-a4x74f"><span>12576</span></td><td id="LC12576" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12577" class="css-a4x74f"><span>12577</span></td><td id="LC12577" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"elementsWithOverflowNotVisibleAndReplacedElements"</span>, </code></td></tr><tr><td id="L12578" class="css-a4x74f"><span>12578</span></td><td id="LC12578" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12579" class="css-a4x74f"><span>12579</span></td><td id="LC12579" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12580" class="css-a4x74f"><span>12580</span></td><td id="LC12580" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12581" class="css-a4x74f"><span>12581</span></td><td id="LC12581" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/resize"</span> </code></td></tr><tr><td id="L12582" class="css-a4x74f"><span>12582</span></td><td id="LC12582" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12583" class="css-a4x74f"><span>12583</span></td><td id="LC12583" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> right = { </code></td></tr><tr><td id="L12584" class="css-a4x74f"><span>12584</span></td><td id="LC12584" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L12585" class="css-a4x74f"><span>12585</span></td><td id="LC12585" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12586" class="css-a4x74f"><span>12586</span></td><td id="LC12586" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12587" class="css-a4x74f"><span>12587</span></td><td id="LC12587" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12588" class="css-a4x74f"><span>12588</span></td><td id="LC12588" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L12589" class="css-a4x74f"><span>12589</span></td><td id="LC12589" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12590" class="css-a4x74f"><span>12590</span></td><td id="LC12590" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L12591" class="css-a4x74f"><span>12591</span></td><td id="LC12591" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12592" class="css-a4x74f"><span>12592</span></td><td id="LC12592" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12593" class="css-a4x74f"><span>12593</span></td><td id="LC12593" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L12594" class="css-a4x74f"><span>12594</span></td><td id="LC12594" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L12595" class="css-a4x74f"><span>12595</span></td><td id="LC12595" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12596" class="css-a4x74f"><span>12596</span></td><td id="LC12596" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12597" class="css-a4x74f"><span>12597</span></td><td id="LC12597" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/right"</span> </code></td></tr><tr><td id="L12598" class="css-a4x74f"><span>12598</span></td><td id="LC12598" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12599" class="css-a4x74f"><span>12599</span></td><td id="LC12599" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rotate = { </code></td></tr><tr><td id="L12600" class="css-a4x74f"><span>12600</span></td><td id="LC12600" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <angle> | [ x | y | z | <number>{3} ] && <angle>"</span>, </code></td></tr><tr><td id="L12601" class="css-a4x74f"><span>12601</span></td><td id="LC12601" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12602" class="css-a4x74f"><span>12602</span></td><td id="LC12602" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12603" class="css-a4x74f"><span>12603</span></td><td id="LC12603" class="css-1dcdqdg"><code> animationType: <span class="code-string">"transform"</span>, </code></td></tr><tr><td id="L12604" class="css-a4x74f"><span>12604</span></td><td id="LC12604" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12605" class="css-a4x74f"><span>12605</span></td><td id="LC12605" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12606" class="css-a4x74f"><span>12606</span></td><td id="LC12606" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L12607" class="css-a4x74f"><span>12607</span></td><td id="LC12607" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12608" class="css-a4x74f"><span>12608</span></td><td id="LC12608" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12609" class="css-a4x74f"><span>12609</span></td><td id="LC12609" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12610" class="css-a4x74f"><span>12610</span></td><td id="LC12610" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12611" class="css-a4x74f"><span>12611</span></td><td id="LC12611" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12612" class="css-a4x74f"><span>12612</span></td><td id="LC12612" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12613" class="css-a4x74f"><span>12613</span></td><td id="LC12613" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12614" class="css-a4x74f"><span>12614</span></td><td id="LC12614" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/rotate"</span> </code></td></tr><tr><td id="L12615" class="css-a4x74f"><span>12615</span></td><td id="LC12615" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12616" class="css-a4x74f"><span>12616</span></td><td id="LC12616" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scale = { </code></td></tr><tr><td id="L12617" class="css-a4x74f"><span>12617</span></td><td id="LC12617" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <number>{1,3}"</span>, </code></td></tr><tr><td id="L12618" class="css-a4x74f"><span>12618</span></td><td id="LC12618" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12619" class="css-a4x74f"><span>12619</span></td><td id="LC12619" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12620" class="css-a4x74f"><span>12620</span></td><td id="LC12620" class="css-1dcdqdg"><code> animationType: <span class="code-string">"transform"</span>, </code></td></tr><tr><td id="L12621" class="css-a4x74f"><span>12621</span></td><td id="LC12621" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12622" class="css-a4x74f"><span>12622</span></td><td id="LC12622" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12623" class="css-a4x74f"><span>12623</span></td><td id="LC12623" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L12624" class="css-a4x74f"><span>12624</span></td><td id="LC12624" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12625" class="css-a4x74f"><span>12625</span></td><td id="LC12625" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12626" class="css-a4x74f"><span>12626</span></td><td id="LC12626" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12627" class="css-a4x74f"><span>12627</span></td><td id="LC12627" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12628" class="css-a4x74f"><span>12628</span></td><td id="LC12628" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12629" class="css-a4x74f"><span>12629</span></td><td id="LC12629" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12630" class="css-a4x74f"><span>12630</span></td><td id="LC12630" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12631" class="css-a4x74f"><span>12631</span></td><td id="LC12631" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scale"</span> </code></td></tr><tr><td id="L12632" class="css-a4x74f"><span>12632</span></td><td id="LC12632" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12633" class="css-a4x74f"><span>12633</span></td><td id="LC12633" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> top = { </code></td></tr><tr><td id="L12634" class="css-a4x74f"><span>12634</span></td><td id="LC12634" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L12635" class="css-a4x74f"><span>12635</span></td><td id="LC12635" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12636" class="css-a4x74f"><span>12636</span></td><td id="LC12636" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12637" class="css-a4x74f"><span>12637</span></td><td id="LC12637" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12638" class="css-a4x74f"><span>12638</span></td><td id="LC12638" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToContainingBlockHeight"</span>, </code></td></tr><tr><td id="L12639" class="css-a4x74f"><span>12639</span></td><td id="LC12639" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12640" class="css-a4x74f"><span>12640</span></td><td id="LC12640" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L12641" class="css-a4x74f"><span>12641</span></td><td id="LC12641" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12642" class="css-a4x74f"><span>12642</span></td><td id="LC12642" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12643" class="css-a4x74f"><span>12643</span></td><td id="LC12643" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L12644" class="css-a4x74f"><span>12644</span></td><td id="LC12644" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L12645" class="css-a4x74f"><span>12645</span></td><td id="LC12645" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12646" class="css-a4x74f"><span>12646</span></td><td id="LC12646" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12647" class="css-a4x74f"><span>12647</span></td><td id="LC12647" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/top"</span> </code></td></tr><tr><td id="L12648" class="css-a4x74f"><span>12648</span></td><td id="LC12648" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12649" class="css-a4x74f"><span>12649</span></td><td id="LC12649" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> transform = { </code></td></tr><tr><td id="L12650" class="css-a4x74f"><span>12650</span></td><td id="LC12650" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <transform-list>"</span>, </code></td></tr><tr><td id="L12651" class="css-a4x74f"><span>12651</span></td><td id="LC12651" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12652" class="css-a4x74f"><span>12652</span></td><td id="LC12652" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12653" class="css-a4x74f"><span>12653</span></td><td id="LC12653" class="css-1dcdqdg"><code> animationType: <span class="code-string">"transform"</span>, </code></td></tr><tr><td id="L12654" class="css-a4x74f"><span>12654</span></td><td id="LC12654" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L12655" class="css-a4x74f"><span>12655</span></td><td id="LC12655" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12656" class="css-a4x74f"><span>12656</span></td><td id="LC12656" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L12657" class="css-a4x74f"><span>12657</span></td><td id="LC12657" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12658" class="css-a4x74f"><span>12658</span></td><td id="LC12658" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12659" class="css-a4x74f"><span>12659</span></td><td id="LC12659" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12660" class="css-a4x74f"><span>12660</span></td><td id="LC12660" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L12661" class="css-a4x74f"><span>12661</span></td><td id="LC12661" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12662" class="css-a4x74f"><span>12662</span></td><td id="LC12662" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12663" class="css-a4x74f"><span>12663</span></td><td id="LC12663" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12664" class="css-a4x74f"><span>12664</span></td><td id="LC12664" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transform"</span> </code></td></tr><tr><td id="L12665" class="css-a4x74f"><span>12665</span></td><td id="LC12665" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12666" class="css-a4x74f"><span>12666</span></td><td id="LC12666" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> transition = { </code></td></tr><tr><td id="L12667" class="css-a4x74f"><span>12667</span></td><td id="LC12667" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-transition>#"</span>, </code></td></tr><tr><td id="L12668" class="css-a4x74f"><span>12668</span></td><td id="LC12668" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12669" class="css-a4x74f"><span>12669</span></td><td id="LC12669" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12670" class="css-a4x74f"><span>12670</span></td><td id="LC12670" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12671" class="css-a4x74f"><span>12671</span></td><td id="LC12671" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12672" class="css-a4x74f"><span>12672</span></td><td id="LC12672" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12673" class="css-a4x74f"><span>12673</span></td><td id="LC12673" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transitions"</span> </code></td></tr><tr><td id="L12674" class="css-a4x74f"><span>12674</span></td><td id="LC12674" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12675" class="css-a4x74f"><span>12675</span></td><td id="LC12675" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12676" class="css-a4x74f"><span>12676</span></td><td id="LC12676" class="css-1dcdqdg"><code> <span class="code-string">"transition-delay"</span>, </code></td></tr><tr><td id="L12677" class="css-a4x74f"><span>12677</span></td><td id="LC12677" class="css-1dcdqdg"><code> <span class="code-string">"transition-duration"</span>, </code></td></tr><tr><td id="L12678" class="css-a4x74f"><span>12678</span></td><td id="LC12678" class="css-1dcdqdg"><code> <span class="code-string">"transition-property"</span>, </code></td></tr><tr><td id="L12679" class="css-a4x74f"><span>12679</span></td><td id="LC12679" class="css-1dcdqdg"><code> <span class="code-string">"transition-timing-function"</span> </code></td></tr><tr><td id="L12680" class="css-a4x74f"><span>12680</span></td><td id="LC12680" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12681" class="css-a4x74f"><span>12681</span></td><td id="LC12681" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L12682" class="css-a4x74f"><span>12682</span></td><td id="LC12682" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12683" class="css-a4x74f"><span>12683</span></td><td id="LC12683" class="css-1dcdqdg"><code> <span class="code-string">"transition-delay"</span>, </code></td></tr><tr><td id="L12684" class="css-a4x74f"><span>12684</span></td><td id="LC12684" class="css-1dcdqdg"><code> <span class="code-string">"transition-duration"</span>, </code></td></tr><tr><td id="L12685" class="css-a4x74f"><span>12685</span></td><td id="LC12685" class="css-1dcdqdg"><code> <span class="code-string">"transition-property"</span>, </code></td></tr><tr><td id="L12686" class="css-a4x74f"><span>12686</span></td><td id="LC12686" class="css-1dcdqdg"><code> <span class="code-string">"transition-timing-function"</span> </code></td></tr><tr><td id="L12687" class="css-a4x74f"><span>12687</span></td><td id="LC12687" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12688" class="css-a4x74f"><span>12688</span></td><td id="LC12688" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L12689" class="css-a4x74f"><span>12689</span></td><td id="LC12689" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12690" class="css-a4x74f"><span>12690</span></td><td id="LC12690" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transition"</span> </code></td></tr><tr><td id="L12691" class="css-a4x74f"><span>12691</span></td><td id="LC12691" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12692" class="css-a4x74f"><span>12692</span></td><td id="LC12692" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> translate = { </code></td></tr><tr><td id="L12693" class="css-a4x74f"><span>12693</span></td><td id="LC12693" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <length-percentage> [ <length-percentage> <length>? ]?"</span>, </code></td></tr><tr><td id="L12694" class="css-a4x74f"><span>12694</span></td><td id="LC12694" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12695" class="css-a4x74f"><span>12695</span></td><td id="LC12695" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12696" class="css-a4x74f"><span>12696</span></td><td id="LC12696" class="css-1dcdqdg"><code> animationType: <span class="code-string">"transform"</span>, </code></td></tr><tr><td id="L12697" class="css-a4x74f"><span>12697</span></td><td id="LC12697" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L12698" class="css-a4x74f"><span>12698</span></td><td id="LC12698" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12699" class="css-a4x74f"><span>12699</span></td><td id="LC12699" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L12700" class="css-a4x74f"><span>12700</span></td><td id="LC12700" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12701" class="css-a4x74f"><span>12701</span></td><td id="LC12701" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12702" class="css-a4x74f"><span>12702</span></td><td id="LC12702" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L12703" class="css-a4x74f"><span>12703</span></td><td id="LC12703" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L12704" class="css-a4x74f"><span>12704</span></td><td id="LC12704" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12705" class="css-a4x74f"><span>12705</span></td><td id="LC12705" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12706" class="css-a4x74f"><span>12706</span></td><td id="LC12706" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12707" class="css-a4x74f"><span>12707</span></td><td id="LC12707" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/translate"</span> </code></td></tr><tr><td id="L12708" class="css-a4x74f"><span>12708</span></td><td id="LC12708" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12709" class="css-a4x74f"><span>12709</span></td><td id="LC12709" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> visibility = { </code></td></tr><tr><td id="L12710" class="css-a4x74f"><span>12710</span></td><td id="LC12710" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden | collapse"</span>, </code></td></tr><tr><td id="L12711" class="css-a4x74f"><span>12711</span></td><td id="LC12711" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12712" class="css-a4x74f"><span>12712</span></td><td id="LC12712" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12713" class="css-a4x74f"><span>12713</span></td><td id="LC12713" class="css-1dcdqdg"><code> animationType: <span class="code-string">"visibility"</span>, </code></td></tr><tr><td id="L12714" class="css-a4x74f"><span>12714</span></td><td id="LC12714" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12715" class="css-a4x74f"><span>12715</span></td><td id="LC12715" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12716" class="css-a4x74f"><span>12716</span></td><td id="LC12716" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L12717" class="css-a4x74f"><span>12717</span></td><td id="LC12717" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12718" class="css-a4x74f"><span>12718</span></td><td id="LC12718" class="css-1dcdqdg"><code> initial: <span class="code-string">"visible"</span>, </code></td></tr><tr><td id="L12719" class="css-a4x74f"><span>12719</span></td><td id="LC12719" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12720" class="css-a4x74f"><span>12720</span></td><td id="LC12720" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12721" class="css-a4x74f"><span>12721</span></td><td id="LC12721" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12722" class="css-a4x74f"><span>12722</span></td><td id="LC12722" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12723" class="css-a4x74f"><span>12723</span></td><td id="LC12723" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/visibility"</span> </code></td></tr><tr><td id="L12724" class="css-a4x74f"><span>12724</span></td><td id="LC12724" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12725" class="css-a4x74f"><span>12725</span></td><td id="LC12725" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> widows = { </code></td></tr><tr><td id="L12726" class="css-a4x74f"><span>12726</span></td><td id="LC12726" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L12727" class="css-a4x74f"><span>12727</span></td><td id="LC12727" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12728" class="css-a4x74f"><span>12728</span></td><td id="LC12728" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12729" class="css-a4x74f"><span>12729</span></td><td id="LC12729" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12730" class="css-a4x74f"><span>12730</span></td><td id="LC12730" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12731" class="css-a4x74f"><span>12731</span></td><td id="LC12731" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12732" class="css-a4x74f"><span>12732</span></td><td id="LC12732" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L12733" class="css-a4x74f"><span>12733</span></td><td id="LC12733" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12734" class="css-a4x74f"><span>12734</span></td><td id="LC12734" class="css-1dcdqdg"><code> initial: <span class="code-string">"2"</span>, </code></td></tr><tr><td id="L12735" class="css-a4x74f"><span>12735</span></td><td id="LC12735" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainerElements"</span>, </code></td></tr><tr><td id="L12736" class="css-a4x74f"><span>12736</span></td><td id="LC12736" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12737" class="css-a4x74f"><span>12737</span></td><td id="LC12737" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12738" class="css-a4x74f"><span>12738</span></td><td id="LC12738" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12739" class="css-a4x74f"><span>12739</span></td><td id="LC12739" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/widows"</span> </code></td></tr><tr><td id="L12740" class="css-a4x74f"><span>12740</span></td><td id="LC12740" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12741" class="css-a4x74f"><span>12741</span></td><td id="LC12741" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> width = { </code></td></tr><tr><td id="L12742" class="css-a4x74f"><span>12742</span></td><td id="LC12742" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <percentage> ] && [ border-box | content-box ]? | available | min-content | max-content | fit-content | auto"</span>, </code></td></tr><tr><td id="L12743" class="css-a4x74f"><span>12743</span></td><td id="LC12743" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12744" class="css-a4x74f"><span>12744</span></td><td id="LC12744" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12745" class="css-a4x74f"><span>12745</span></td><td id="LC12745" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L12746" class="css-a4x74f"><span>12746</span></td><td id="LC12746" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L12747" class="css-a4x74f"><span>12747</span></td><td id="LC12747" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12748" class="css-a4x74f"><span>12748</span></td><td id="LC12748" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L12749" class="css-a4x74f"><span>12749</span></td><td id="LC12749" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12750" class="css-a4x74f"><span>12750</span></td><td id="LC12750" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L12751" class="css-a4x74f"><span>12751</span></td><td id="LC12751" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableRows"</span>, </code></td></tr><tr><td id="L12752" class="css-a4x74f"><span>12752</span></td><td id="LC12752" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAutoOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L12753" class="css-a4x74f"><span>12753</span></td><td id="LC12753" class="css-1dcdqdg"><code> order: <span class="code-string">"lengthOrPercentageBeforeKeywordIfBothPresent"</span>, </code></td></tr><tr><td id="L12754" class="css-a4x74f"><span>12754</span></td><td id="LC12754" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L12755" class="css-a4x74f"><span>12755</span></td><td id="LC12755" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/width"</span> </code></td></tr><tr><td id="L12756" class="css-a4x74f"><span>12756</span></td><td id="LC12756" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12757" class="css-a4x74f"><span>12757</span></td><td id="LC12757" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> zoom = { </code></td></tr><tr><td id="L12758" class="css-a4x74f"><span>12758</span></td><td id="LC12758" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | reset | <number> | <percentage>"</span>, </code></td></tr><tr><td id="L12759" class="css-a4x74f"><span>12759</span></td><td id="LC12759" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12760" class="css-a4x74f"><span>12760</span></td><td id="LC12760" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12761" class="css-a4x74f"><span>12761</span></td><td id="LC12761" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L12762" class="css-a4x74f"><span>12762</span></td><td id="LC12762" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12763" class="css-a4x74f"><span>12763</span></td><td id="LC12763" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12764" class="css-a4x74f"><span>12764</span></td><td id="LC12764" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12765" class="css-a4x74f"><span>12765</span></td><td id="LC12765" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12766" class="css-a4x74f"><span>12766</span></td><td id="LC12766" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L12767" class="css-a4x74f"><span>12767</span></td><td id="LC12767" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12768" class="css-a4x74f"><span>12768</span></td><td id="LC12768" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12769" class="css-a4x74f"><span>12769</span></td><td id="LC12769" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12770" class="css-a4x74f"><span>12770</span></td><td id="LC12770" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12771" class="css-a4x74f"><span>12771</span></td><td id="LC12771" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/zoom"</span> </code></td></tr><tr><td id="L12772" class="css-a4x74f"><span>12772</span></td><td id="LC12772" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L12773" class="css-a4x74f"><span>12773</span></td><td id="LC12773" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> properties$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L12774" class="css-a4x74f"><span>12774</span></td><td id="LC12774" class="css-1dcdqdg"><code> <span class="code-string">"--*"</span>: { </code></td></tr><tr><td id="L12775" class="css-a4x74f"><span>12775</span></td><td id="LC12775" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<declaration-value>"</span>, </code></td></tr><tr><td id="L12776" class="css-a4x74f"><span>12776</span></td><td id="LC12776" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L12777" class="css-a4x74f"><span>12777</span></td><td id="LC12777" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L12778" class="css-a4x74f"><span>12778</span></td><td id="LC12778" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12779" class="css-a4x74f"><span>12779</span></td><td id="LC12779" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12780" class="css-a4x74f"><span>12780</span></td><td id="LC12780" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12781" class="css-a4x74f"><span>12781</span></td><td id="LC12781" class="css-1dcdqdg"><code> <span class="code-string">"CSS Variables"</span> </code></td></tr><tr><td id="L12782" class="css-a4x74f"><span>12782</span></td><td id="LC12782" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12783" class="css-a4x74f"><span>12783</span></td><td id="LC12783" class="css-1dcdqdg"><code> initial: <span class="code-string">"seeProse"</span>, </code></td></tr><tr><td id="L12784" class="css-a4x74f"><span>12784</span></td><td id="LC12784" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12785" class="css-a4x74f"><span>12785</span></td><td id="LC12785" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedWithVarsSubstituted"</span>, </code></td></tr><tr><td id="L12786" class="css-a4x74f"><span>12786</span></td><td id="LC12786" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L12787" class="css-a4x74f"><span>12787</span></td><td id="LC12787" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L12788" class="css-a4x74f"><span>12788</span></td><td id="LC12788" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/--*"</span> </code></td></tr><tr><td id="L12789" class="css-a4x74f"><span>12789</span></td><td id="LC12789" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12790" class="css-a4x74f"><span>12790</span></td><td id="LC12790" class="css-1dcdqdg"><code> <span class="code-string">"-ms-accelerator"</span>: { </code></td></tr><tr><td id="L12791" class="css-a4x74f"><span>12791</span></td><td id="LC12791" class="css-1dcdqdg"><code> syntax: <span class="code-string">"false | true"</span>, </code></td></tr><tr><td id="L12792" class="css-a4x74f"><span>12792</span></td><td id="LC12792" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12793" class="css-a4x74f"><span>12793</span></td><td id="LC12793" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12794" class="css-a4x74f"><span>12794</span></td><td id="LC12794" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12795" class="css-a4x74f"><span>12795</span></td><td id="LC12795" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12796" class="css-a4x74f"><span>12796</span></td><td id="LC12796" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12797" class="css-a4x74f"><span>12797</span></td><td id="LC12797" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12798" class="css-a4x74f"><span>12798</span></td><td id="LC12798" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12799" class="css-a4x74f"><span>12799</span></td><td id="LC12799" class="css-1dcdqdg"><code> initial: <span class="code-string">"false"</span>, </code></td></tr><tr><td id="L12800" class="css-a4x74f"><span>12800</span></td><td id="LC12800" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12801" class="css-a4x74f"><span>12801</span></td><td id="LC12801" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12802" class="css-a4x74f"><span>12802</span></td><td id="LC12802" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12803" class="css-a4x74f"><span>12803</span></td><td id="LC12803" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12804" class="css-a4x74f"><span>12804</span></td><td id="LC12804" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"</span> </code></td></tr><tr><td id="L12805" class="css-a4x74f"><span>12805</span></td><td id="LC12805" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12806" class="css-a4x74f"><span>12806</span></td><td id="LC12806" class="css-1dcdqdg"><code> <span class="code-string">"-ms-block-progression"</span>: { </code></td></tr><tr><td id="L12807" class="css-a4x74f"><span>12807</span></td><td id="LC12807" class="css-1dcdqdg"><code> syntax: <span class="code-string">"tb | rl | bt | lr"</span>, </code></td></tr><tr><td id="L12808" class="css-a4x74f"><span>12808</span></td><td id="LC12808" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12809" class="css-a4x74f"><span>12809</span></td><td id="LC12809" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12810" class="css-a4x74f"><span>12810</span></td><td id="LC12810" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12811" class="css-a4x74f"><span>12811</span></td><td id="LC12811" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12812" class="css-a4x74f"><span>12812</span></td><td id="LC12812" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12813" class="css-a4x74f"><span>12813</span></td><td id="LC12813" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12814" class="css-a4x74f"><span>12814</span></td><td id="LC12814" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12815" class="css-a4x74f"><span>12815</span></td><td id="LC12815" class="css-1dcdqdg"><code> initial: <span class="code-string">"tb"</span>, </code></td></tr><tr><td id="L12816" class="css-a4x74f"><span>12816</span></td><td id="LC12816" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12817" class="css-a4x74f"><span>12817</span></td><td id="LC12817" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12818" class="css-a4x74f"><span>12818</span></td><td id="LC12818" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12819" class="css-a4x74f"><span>12819</span></td><td id="LC12819" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12820" class="css-a4x74f"><span>12820</span></td><td id="LC12820" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"</span> </code></td></tr><tr><td id="L12821" class="css-a4x74f"><span>12821</span></td><td id="LC12821" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12822" class="css-a4x74f"><span>12822</span></td><td id="LC12822" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-chaining"</span>: { </code></td></tr><tr><td id="L12823" class="css-a4x74f"><span>12823</span></td><td id="LC12823" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | chained"</span>, </code></td></tr><tr><td id="L12824" class="css-a4x74f"><span>12824</span></td><td id="LC12824" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12825" class="css-a4x74f"><span>12825</span></td><td id="LC12825" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12826" class="css-a4x74f"><span>12826</span></td><td id="LC12826" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12827" class="css-a4x74f"><span>12827</span></td><td id="LC12827" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12828" class="css-a4x74f"><span>12828</span></td><td id="LC12828" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12829" class="css-a4x74f"><span>12829</span></td><td id="LC12829" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12830" class="css-a4x74f"><span>12830</span></td><td id="LC12830" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12831" class="css-a4x74f"><span>12831</span></td><td id="LC12831" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12832" class="css-a4x74f"><span>12832</span></td><td id="LC12832" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12833" class="css-a4x74f"><span>12833</span></td><td id="LC12833" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12834" class="css-a4x74f"><span>12834</span></td><td id="LC12834" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12835" class="css-a4x74f"><span>12835</span></td><td id="LC12835" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12836" class="css-a4x74f"><span>12836</span></td><td id="LC12836" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"</span> </code></td></tr><tr><td id="L12837" class="css-a4x74f"><span>12837</span></td><td id="LC12837" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12838" class="css-a4x74f"><span>12838</span></td><td id="LC12838" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zooming"</span>: { </code></td></tr><tr><td id="L12839" class="css-a4x74f"><span>12839</span></td><td id="LC12839" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | zoom"</span>, </code></td></tr><tr><td id="L12840" class="css-a4x74f"><span>12840</span></td><td id="LC12840" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12841" class="css-a4x74f"><span>12841</span></td><td id="LC12841" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12842" class="css-a4x74f"><span>12842</span></td><td id="LC12842" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12843" class="css-a4x74f"><span>12843</span></td><td id="LC12843" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12844" class="css-a4x74f"><span>12844</span></td><td id="LC12844" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12845" class="css-a4x74f"><span>12845</span></td><td id="LC12845" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12846" class="css-a4x74f"><span>12846</span></td><td id="LC12846" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12847" class="css-a4x74f"><span>12847</span></td><td id="LC12847" class="css-1dcdqdg"><code> initial: <span class="code-string">"zoomForTheTopLevelNoneForTheRest"</span>, </code></td></tr><tr><td id="L12848" class="css-a4x74f"><span>12848</span></td><td id="LC12848" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12849" class="css-a4x74f"><span>12849</span></td><td id="LC12849" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12850" class="css-a4x74f"><span>12850</span></td><td id="LC12850" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12851" class="css-a4x74f"><span>12851</span></td><td id="LC12851" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12852" class="css-a4x74f"><span>12852</span></td><td id="LC12852" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"</span> </code></td></tr><tr><td id="L12853" class="css-a4x74f"><span>12853</span></td><td id="LC12853" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12854" class="css-a4x74f"><span>12854</span></td><td id="LC12854" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit"</span>: { </code></td></tr><tr><td id="L12855" class="css-a4x74f"><span>12855</span></td><td id="LC12855" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>"</span>, </code></td></tr><tr><td id="L12856" class="css-a4x74f"><span>12856</span></td><td id="LC12856" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12857" class="css-a4x74f"><span>12857</span></td><td id="LC12857" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12858" class="css-a4x74f"><span>12858</span></td><td id="LC12858" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12859" class="css-a4x74f"><span>12859</span></td><td id="LC12859" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L12860" class="css-a4x74f"><span>12860</span></td><td id="LC12860" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-max"</span>, </code></td></tr><tr><td id="L12861" class="css-a4x74f"><span>12861</span></td><td id="LC12861" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-min"</span> </code></td></tr><tr><td id="L12862" class="css-a4x74f"><span>12862</span></td><td id="LC12862" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12863" class="css-a4x74f"><span>12863</span></td><td id="LC12863" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12864" class="css-a4x74f"><span>12864</span></td><td id="LC12864" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12865" class="css-a4x74f"><span>12865</span></td><td id="LC12865" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12866" class="css-a4x74f"><span>12866</span></td><td id="LC12866" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12867" class="css-a4x74f"><span>12867</span></td><td id="LC12867" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-max"</span>, </code></td></tr><tr><td id="L12868" class="css-a4x74f"><span>12868</span></td><td id="LC12868" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-min"</span> </code></td></tr><tr><td id="L12869" class="css-a4x74f"><span>12869</span></td><td id="LC12869" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12870" class="css-a4x74f"><span>12870</span></td><td id="LC12870" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12871" class="css-a4x74f"><span>12871</span></td><td id="LC12871" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12872" class="css-a4x74f"><span>12872</span></td><td id="LC12872" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-max"</span>, </code></td></tr><tr><td id="L12873" class="css-a4x74f"><span>12873</span></td><td id="LC12873" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-min"</span> </code></td></tr><tr><td id="L12874" class="css-a4x74f"><span>12874</span></td><td id="LC12874" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12875" class="css-a4x74f"><span>12875</span></td><td id="LC12875" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12876" class="css-a4x74f"><span>12876</span></td><td id="LC12876" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12877" class="css-a4x74f"><span>12877</span></td><td id="LC12877" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"</span> </code></td></tr><tr><td id="L12878" class="css-a4x74f"><span>12878</span></td><td id="LC12878" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12879" class="css-a4x74f"><span>12879</span></td><td id="LC12879" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-max"</span>: { </code></td></tr><tr><td id="L12880" class="css-a4x74f"><span>12880</span></td><td id="LC12880" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<percentage>"</span>, </code></td></tr><tr><td id="L12881" class="css-a4x74f"><span>12881</span></td><td id="LC12881" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12882" class="css-a4x74f"><span>12882</span></td><td id="LC12882" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12883" class="css-a4x74f"><span>12883</span></td><td id="LC12883" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12884" class="css-a4x74f"><span>12884</span></td><td id="LC12884" class="css-1dcdqdg"><code> percentages: <span class="code-string">"maxZoomFactor"</span>, </code></td></tr><tr><td id="L12885" class="css-a4x74f"><span>12885</span></td><td id="LC12885" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12886" class="css-a4x74f"><span>12886</span></td><td id="LC12886" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12887" class="css-a4x74f"><span>12887</span></td><td id="LC12887" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12888" class="css-a4x74f"><span>12888</span></td><td id="LC12888" class="css-1dcdqdg"><code> initial: <span class="code-string">"400%"</span>, </code></td></tr><tr><td id="L12889" class="css-a4x74f"><span>12889</span></td><td id="LC12889" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12890" class="css-a4x74f"><span>12890</span></td><td id="LC12890" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12891" class="css-a4x74f"><span>12891</span></td><td id="LC12891" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12892" class="css-a4x74f"><span>12892</span></td><td id="LC12892" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12893" class="css-a4x74f"><span>12893</span></td><td id="LC12893" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"</span> </code></td></tr><tr><td id="L12894" class="css-a4x74f"><span>12894</span></td><td id="LC12894" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12895" class="css-a4x74f"><span>12895</span></td><td id="LC12895" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-limit-min"</span>: { </code></td></tr><tr><td id="L12896" class="css-a4x74f"><span>12896</span></td><td id="LC12896" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<percentage>"</span>, </code></td></tr><tr><td id="L12897" class="css-a4x74f"><span>12897</span></td><td id="LC12897" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12898" class="css-a4x74f"><span>12898</span></td><td id="LC12898" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12899" class="css-a4x74f"><span>12899</span></td><td id="LC12899" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12900" class="css-a4x74f"><span>12900</span></td><td id="LC12900" class="css-1dcdqdg"><code> percentages: <span class="code-string">"minZoomFactor"</span>, </code></td></tr><tr><td id="L12901" class="css-a4x74f"><span>12901</span></td><td id="LC12901" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12902" class="css-a4x74f"><span>12902</span></td><td id="LC12902" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12903" class="css-a4x74f"><span>12903</span></td><td id="LC12903" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12904" class="css-a4x74f"><span>12904</span></td><td id="LC12904" class="css-1dcdqdg"><code> initial: <span class="code-string">"100%"</span>, </code></td></tr><tr><td id="L12905" class="css-a4x74f"><span>12905</span></td><td id="LC12905" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12906" class="css-a4x74f"><span>12906</span></td><td id="LC12906" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12907" class="css-a4x74f"><span>12907</span></td><td id="LC12907" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12908" class="css-a4x74f"><span>12908</span></td><td id="LC12908" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12909" class="css-a4x74f"><span>12909</span></td><td id="LC12909" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"</span> </code></td></tr><tr><td id="L12910" class="css-a4x74f"><span>12910</span></td><td id="LC12910" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12911" class="css-a4x74f"><span>12911</span></td><td id="LC12911" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap"</span>: { </code></td></tr><tr><td id="L12912" class="css-a4x74f"><span>12912</span></td><td id="LC12912" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>"</span>, </code></td></tr><tr><td id="L12913" class="css-a4x74f"><span>12913</span></td><td id="LC12913" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12914" class="css-a4x74f"><span>12914</span></td><td id="LC12914" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12915" class="css-a4x74f"><span>12915</span></td><td id="LC12915" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12916" class="css-a4x74f"><span>12916</span></td><td id="LC12916" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12917" class="css-a4x74f"><span>12917</span></td><td id="LC12917" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12918" class="css-a4x74f"><span>12918</span></td><td id="LC12918" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12919" class="css-a4x74f"><span>12919</span></td><td id="LC12919" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12920" class="css-a4x74f"><span>12920</span></td><td id="LC12920" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L12921" class="css-a4x74f"><span>12921</span></td><td id="LC12921" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-type"</span>, </code></td></tr><tr><td id="L12922" class="css-a4x74f"><span>12922</span></td><td id="LC12922" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-points"</span> </code></td></tr><tr><td id="L12923" class="css-a4x74f"><span>12923</span></td><td id="LC12923" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12924" class="css-a4x74f"><span>12924</span></td><td id="LC12924" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12925" class="css-a4x74f"><span>12925</span></td><td id="LC12925" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L12926" class="css-a4x74f"><span>12926</span></td><td id="LC12926" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-type"</span>, </code></td></tr><tr><td id="L12927" class="css-a4x74f"><span>12927</span></td><td id="LC12927" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-points"</span> </code></td></tr><tr><td id="L12928" class="css-a4x74f"><span>12928</span></td><td id="LC12928" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12929" class="css-a4x74f"><span>12929</span></td><td id="LC12929" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12930" class="css-a4x74f"><span>12930</span></td><td id="LC12930" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12931" class="css-a4x74f"><span>12931</span></td><td id="LC12931" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"</span> </code></td></tr><tr><td id="L12932" class="css-a4x74f"><span>12932</span></td><td id="LC12932" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12933" class="css-a4x74f"><span>12933</span></td><td id="LC12933" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-points"</span>: { </code></td></tr><tr><td id="L12934" class="css-a4x74f"><span>12934</span></td><td id="LC12934" class="css-1dcdqdg"><code> syntax: <span class="code-string">"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )"</span>, </code></td></tr><tr><td id="L12935" class="css-a4x74f"><span>12935</span></td><td id="LC12935" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12936" class="css-a4x74f"><span>12936</span></td><td id="LC12936" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12937" class="css-a4x74f"><span>12937</span></td><td id="LC12937" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12938" class="css-a4x74f"><span>12938</span></td><td id="LC12938" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12939" class="css-a4x74f"><span>12939</span></td><td id="LC12939" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12940" class="css-a4x74f"><span>12940</span></td><td id="LC12940" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12941" class="css-a4x74f"><span>12941</span></td><td id="LC12941" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12942" class="css-a4x74f"><span>12942</span></td><td id="LC12942" class="css-1dcdqdg"><code> initial: <span class="code-string">"snapInterval(0%, 100%)"</span>, </code></td></tr><tr><td id="L12943" class="css-a4x74f"><span>12943</span></td><td id="LC12943" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12944" class="css-a4x74f"><span>12944</span></td><td id="LC12944" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12945" class="css-a4x74f"><span>12945</span></td><td id="LC12945" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12946" class="css-a4x74f"><span>12946</span></td><td id="LC12946" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12947" class="css-a4x74f"><span>12947</span></td><td id="LC12947" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"</span> </code></td></tr><tr><td id="L12948" class="css-a4x74f"><span>12948</span></td><td id="LC12948" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12949" class="css-a4x74f"><span>12949</span></td><td id="LC12949" class="css-1dcdqdg"><code> <span class="code-string">"-ms-content-zoom-snap-type"</span>: { </code></td></tr><tr><td id="L12950" class="css-a4x74f"><span>12950</span></td><td id="LC12950" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | proximity | mandatory"</span>, </code></td></tr><tr><td id="L12951" class="css-a4x74f"><span>12951</span></td><td id="LC12951" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L12952" class="css-a4x74f"><span>12952</span></td><td id="LC12952" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12953" class="css-a4x74f"><span>12953</span></td><td id="LC12953" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12954" class="css-a4x74f"><span>12954</span></td><td id="LC12954" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12955" class="css-a4x74f"><span>12955</span></td><td id="LC12955" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12956" class="css-a4x74f"><span>12956</span></td><td id="LC12956" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12957" class="css-a4x74f"><span>12957</span></td><td id="LC12957" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12958" class="css-a4x74f"><span>12958</span></td><td id="LC12958" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12959" class="css-a4x74f"><span>12959</span></td><td id="LC12959" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L12960" class="css-a4x74f"><span>12960</span></td><td id="LC12960" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12961" class="css-a4x74f"><span>12961</span></td><td id="LC12961" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12962" class="css-a4x74f"><span>12962</span></td><td id="LC12962" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12963" class="css-a4x74f"><span>12963</span></td><td id="LC12963" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"</span> </code></td></tr><tr><td id="L12964" class="css-a4x74f"><span>12964</span></td><td id="LC12964" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12965" class="css-a4x74f"><span>12965</span></td><td id="LC12965" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter"</span>: { </code></td></tr><tr><td id="L12966" class="css-a4x74f"><span>12966</span></td><td id="LC12966" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<string>"</span>, </code></td></tr><tr><td id="L12967" class="css-a4x74f"><span>12967</span></td><td id="LC12967" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12968" class="css-a4x74f"><span>12968</span></td><td id="LC12968" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12969" class="css-a4x74f"><span>12969</span></td><td id="LC12969" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12970" class="css-a4x74f"><span>12970</span></td><td id="LC12970" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12971" class="css-a4x74f"><span>12971</span></td><td id="LC12971" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12972" class="css-a4x74f"><span>12972</span></td><td id="LC12972" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12973" class="css-a4x74f"><span>12973</span></td><td id="LC12973" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12974" class="css-a4x74f"><span>12974</span></td><td id="LC12974" class="css-1dcdqdg"><code> initial: <span class="code-string">"\"\""</span>, </code></td></tr><tr><td id="L12975" class="css-a4x74f"><span>12975</span></td><td id="LC12975" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L12976" class="css-a4x74f"><span>12976</span></td><td id="LC12976" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12977" class="css-a4x74f"><span>12977</span></td><td id="LC12977" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12978" class="css-a4x74f"><span>12978</span></td><td id="LC12978" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12979" class="css-a4x74f"><span>12979</span></td><td id="LC12979" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-filter"</span> </code></td></tr><tr><td id="L12980" class="css-a4x74f"><span>12980</span></td><td id="LC12980" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12981" class="css-a4x74f"><span>12981</span></td><td id="LC12981" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flow-from"</span>: { </code></td></tr><tr><td id="L12982" class="css-a4x74f"><span>12982</span></td><td id="LC12982" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ none | <custom-ident> ]#"</span>, </code></td></tr><tr><td id="L12983" class="css-a4x74f"><span>12983</span></td><td id="LC12983" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L12984" class="css-a4x74f"><span>12984</span></td><td id="LC12984" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L12985" class="css-a4x74f"><span>12985</span></td><td id="LC12985" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L12986" class="css-a4x74f"><span>12986</span></td><td id="LC12986" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L12987" class="css-a4x74f"><span>12987</span></td><td id="LC12987" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L12988" class="css-a4x74f"><span>12988</span></td><td id="LC12988" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L12989" class="css-a4x74f"><span>12989</span></td><td id="LC12989" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L12990" class="css-a4x74f"><span>12990</span></td><td id="LC12990" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L12991" class="css-a4x74f"><span>12991</span></td><td id="LC12991" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedElements"</span>, </code></td></tr><tr><td id="L12992" class="css-a4x74f"><span>12992</span></td><td id="LC12992" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L12993" class="css-a4x74f"><span>12993</span></td><td id="LC12993" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L12994" class="css-a4x74f"><span>12994</span></td><td id="LC12994" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L12995" class="css-a4x74f"><span>12995</span></td><td id="LC12995" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"</span> </code></td></tr><tr><td id="L12996" class="css-a4x74f"><span>12996</span></td><td id="LC12996" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L12997" class="css-a4x74f"><span>12997</span></td><td id="LC12997" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flow-into"</span>: { </code></td></tr><tr><td id="L12998" class="css-a4x74f"><span>12998</span></td><td id="LC12998" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ none | <custom-ident> ]#"</span>, </code></td></tr><tr><td id="L12999" class="css-a4x74f"><span>12999</span></td><td id="LC12999" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13000" class="css-a4x74f"><span>13000</span></td><td id="LC13000" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13001" class="css-a4x74f"><span>13001</span></td><td id="LC13001" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13002" class="css-a4x74f"><span>13002</span></td><td id="LC13002" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13003" class="css-a4x74f"><span>13003</span></td><td id="LC13003" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13004" class="css-a4x74f"><span>13004</span></td><td id="LC13004" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13005" class="css-a4x74f"><span>13005</span></td><td id="LC13005" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13006" class="css-a4x74f"><span>13006</span></td><td id="LC13006" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13007" class="css-a4x74f"><span>13007</span></td><td id="LC13007" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"iframeElements"</span>, </code></td></tr><tr><td id="L13008" class="css-a4x74f"><span>13008</span></td><td id="LC13008" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13009" class="css-a4x74f"><span>13009</span></td><td id="LC13009" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13010" class="css-a4x74f"><span>13010</span></td><td id="LC13010" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13011" class="css-a4x74f"><span>13011</span></td><td id="LC13011" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"</span> </code></td></tr><tr><td id="L13012" class="css-a4x74f"><span>13012</span></td><td id="LC13012" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13013" class="css-a4x74f"><span>13013</span></td><td id="LC13013" class="css-1dcdqdg"><code> <span class="code-string">"-ms-high-contrast-adjust"</span>: { </code></td></tr><tr><td id="L13014" class="css-a4x74f"><span>13014</span></td><td id="LC13014" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none"</span>, </code></td></tr><tr><td id="L13015" class="css-a4x74f"><span>13015</span></td><td id="LC13015" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13016" class="css-a4x74f"><span>13016</span></td><td id="LC13016" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13017" class="css-a4x74f"><span>13017</span></td><td id="LC13017" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13018" class="css-a4x74f"><span>13018</span></td><td id="LC13018" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13019" class="css-a4x74f"><span>13019</span></td><td id="LC13019" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13020" class="css-a4x74f"><span>13020</span></td><td id="LC13020" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13021" class="css-a4x74f"><span>13021</span></td><td id="LC13021" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13022" class="css-a4x74f"><span>13022</span></td><td id="LC13022" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13023" class="css-a4x74f"><span>13023</span></td><td id="LC13023" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13024" class="css-a4x74f"><span>13024</span></td><td id="LC13024" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13025" class="css-a4x74f"><span>13025</span></td><td id="LC13025" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13026" class="css-a4x74f"><span>13026</span></td><td id="LC13026" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13027" class="css-a4x74f"><span>13027</span></td><td id="LC13027" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"</span> </code></td></tr><tr><td id="L13028" class="css-a4x74f"><span>13028</span></td><td id="LC13028" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13029" class="css-a4x74f"><span>13029</span></td><td id="LC13029" class="css-1dcdqdg"><code> <span class="code-string">"-ms-hyphenate-limit-chars"</span>: { </code></td></tr><tr><td id="L13030" class="css-a4x74f"><span>13030</span></td><td id="LC13030" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <integer>{1,3}"</span>, </code></td></tr><tr><td id="L13031" class="css-a4x74f"><span>13031</span></td><td id="LC13031" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13032" class="css-a4x74f"><span>13032</span></td><td id="LC13032" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13033" class="css-a4x74f"><span>13033</span></td><td id="LC13033" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13034" class="css-a4x74f"><span>13034</span></td><td id="LC13034" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13035" class="css-a4x74f"><span>13035</span></td><td id="LC13035" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13036" class="css-a4x74f"><span>13036</span></td><td id="LC13036" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13037" class="css-a4x74f"><span>13037</span></td><td id="LC13037" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13038" class="css-a4x74f"><span>13038</span></td><td id="LC13038" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13039" class="css-a4x74f"><span>13039</span></td><td id="LC13039" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13040" class="css-a4x74f"><span>13040</span></td><td id="LC13040" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13041" class="css-a4x74f"><span>13041</span></td><td id="LC13041" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13042" class="css-a4x74f"><span>13042</span></td><td id="LC13042" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13043" class="css-a4x74f"><span>13043</span></td><td id="LC13043" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"</span> </code></td></tr><tr><td id="L13044" class="css-a4x74f"><span>13044</span></td><td id="LC13044" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13045" class="css-a4x74f"><span>13045</span></td><td id="LC13045" class="css-1dcdqdg"><code> <span class="code-string">"-ms-hyphenate-limit-lines"</span>: { </code></td></tr><tr><td id="L13046" class="css-a4x74f"><span>13046</span></td><td id="LC13046" class="css-1dcdqdg"><code> syntax: <span class="code-string">"no-limit | <integer>"</span>, </code></td></tr><tr><td id="L13047" class="css-a4x74f"><span>13047</span></td><td id="LC13047" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13048" class="css-a4x74f"><span>13048</span></td><td id="LC13048" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13049" class="css-a4x74f"><span>13049</span></td><td id="LC13049" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13050" class="css-a4x74f"><span>13050</span></td><td id="LC13050" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13051" class="css-a4x74f"><span>13051</span></td><td id="LC13051" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13052" class="css-a4x74f"><span>13052</span></td><td id="LC13052" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13053" class="css-a4x74f"><span>13053</span></td><td id="LC13053" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13054" class="css-a4x74f"><span>13054</span></td><td id="LC13054" class="css-1dcdqdg"><code> initial: <span class="code-string">"no-limit"</span>, </code></td></tr><tr><td id="L13055" class="css-a4x74f"><span>13055</span></td><td id="LC13055" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainerElements"</span>, </code></td></tr><tr><td id="L13056" class="css-a4x74f"><span>13056</span></td><td id="LC13056" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13057" class="css-a4x74f"><span>13057</span></td><td id="LC13057" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13058" class="css-a4x74f"><span>13058</span></td><td id="LC13058" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13059" class="css-a4x74f"><span>13059</span></td><td id="LC13059" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"</span> </code></td></tr><tr><td id="L13060" class="css-a4x74f"><span>13060</span></td><td id="LC13060" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13061" class="css-a4x74f"><span>13061</span></td><td id="LC13061" class="css-1dcdqdg"><code> <span class="code-string">"-ms-hyphenate-limit-zone"</span>: { </code></td></tr><tr><td id="L13062" class="css-a4x74f"><span>13062</span></td><td id="LC13062" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<percentage> | <length>"</span>, </code></td></tr><tr><td id="L13063" class="css-a4x74f"><span>13063</span></td><td id="LC13063" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13064" class="css-a4x74f"><span>13064</span></td><td id="LC13064" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13065" class="css-a4x74f"><span>13065</span></td><td id="LC13065" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13066" class="css-a4x74f"><span>13066</span></td><td id="LC13066" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToLineBoxWidth"</span>, </code></td></tr><tr><td id="L13067" class="css-a4x74f"><span>13067</span></td><td id="LC13067" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13068" class="css-a4x74f"><span>13068</span></td><td id="LC13068" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13069" class="css-a4x74f"><span>13069</span></td><td id="LC13069" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13070" class="css-a4x74f"><span>13070</span></td><td id="LC13070" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13071" class="css-a4x74f"><span>13071</span></td><td id="LC13071" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainerElements"</span>, </code></td></tr><tr><td id="L13072" class="css-a4x74f"><span>13072</span></td><td id="LC13072" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13073" class="css-a4x74f"><span>13073</span></td><td id="LC13073" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13074" class="css-a4x74f"><span>13074</span></td><td id="LC13074" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13075" class="css-a4x74f"><span>13075</span></td><td id="LC13075" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"</span> </code></td></tr><tr><td id="L13076" class="css-a4x74f"><span>13076</span></td><td id="LC13076" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13077" class="css-a4x74f"><span>13077</span></td><td id="LC13077" class="css-1dcdqdg"><code> <span class="code-string">"-ms-ime-align"</span>: { </code></td></tr><tr><td id="L13078" class="css-a4x74f"><span>13078</span></td><td id="LC13078" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | after"</span>, </code></td></tr><tr><td id="L13079" class="css-a4x74f"><span>13079</span></td><td id="LC13079" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13080" class="css-a4x74f"><span>13080</span></td><td id="LC13080" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13081" class="css-a4x74f"><span>13081</span></td><td id="LC13081" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13082" class="css-a4x74f"><span>13082</span></td><td id="LC13082" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13083" class="css-a4x74f"><span>13083</span></td><td id="LC13083" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13084" class="css-a4x74f"><span>13084</span></td><td id="LC13084" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13085" class="css-a4x74f"><span>13085</span></td><td id="LC13085" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13086" class="css-a4x74f"><span>13086</span></td><td id="LC13086" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13087" class="css-a4x74f"><span>13087</span></td><td id="LC13087" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13088" class="css-a4x74f"><span>13088</span></td><td id="LC13088" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13089" class="css-a4x74f"><span>13089</span></td><td id="LC13089" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13090" class="css-a4x74f"><span>13090</span></td><td id="LC13090" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13091" class="css-a4x74f"><span>13091</span></td><td id="LC13091" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"</span> </code></td></tr><tr><td id="L13092" class="css-a4x74f"><span>13092</span></td><td id="LC13092" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13093" class="css-a4x74f"><span>13093</span></td><td id="LC13093" class="css-1dcdqdg"><code> <span class="code-string">"-ms-overflow-style"</span>: { </code></td></tr><tr><td id="L13094" class="css-a4x74f"><span>13094</span></td><td id="LC13094" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | scrollbar | -ms-autohiding-scrollbar"</span>, </code></td></tr><tr><td id="L13095" class="css-a4x74f"><span>13095</span></td><td id="LC13095" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13096" class="css-a4x74f"><span>13096</span></td><td id="LC13096" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13097" class="css-a4x74f"><span>13097</span></td><td id="LC13097" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13098" class="css-a4x74f"><span>13098</span></td><td id="LC13098" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13099" class="css-a4x74f"><span>13099</span></td><td id="LC13099" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13100" class="css-a4x74f"><span>13100</span></td><td id="LC13100" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13101" class="css-a4x74f"><span>13101</span></td><td id="LC13101" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13102" class="css-a4x74f"><span>13102</span></td><td id="LC13102" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13103" class="css-a4x74f"><span>13103</span></td><td id="LC13103" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13104" class="css-a4x74f"><span>13104</span></td><td id="LC13104" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13105" class="css-a4x74f"><span>13105</span></td><td id="LC13105" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13106" class="css-a4x74f"><span>13106</span></td><td id="LC13106" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13107" class="css-a4x74f"><span>13107</span></td><td id="LC13107" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"</span> </code></td></tr><tr><td id="L13108" class="css-a4x74f"><span>13108</span></td><td id="LC13108" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13109" class="css-a4x74f"><span>13109</span></td><td id="LC13109" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-3dlight-color"</span>: { </code></td></tr><tr><td id="L13110" class="css-a4x74f"><span>13110</span></td><td id="LC13110" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13111" class="css-a4x74f"><span>13111</span></td><td id="LC13111" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13112" class="css-a4x74f"><span>13112</span></td><td id="LC13112" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13113" class="css-a4x74f"><span>13113</span></td><td id="LC13113" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13114" class="css-a4x74f"><span>13114</span></td><td id="LC13114" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13115" class="css-a4x74f"><span>13115</span></td><td id="LC13115" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13116" class="css-a4x74f"><span>13116</span></td><td id="LC13116" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13117" class="css-a4x74f"><span>13117</span></td><td id="LC13117" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13118" class="css-a4x74f"><span>13118</span></td><td id="LC13118" class="css-1dcdqdg"><code> initial: <span class="code-string">"dependsOnUserAgent"</span>, </code></td></tr><tr><td id="L13119" class="css-a4x74f"><span>13119</span></td><td id="LC13119" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13120" class="css-a4x74f"><span>13120</span></td><td id="LC13120" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13121" class="css-a4x74f"><span>13121</span></td><td id="LC13121" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13122" class="css-a4x74f"><span>13122</span></td><td id="LC13122" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13123" class="css-a4x74f"><span>13123</span></td><td id="LC13123" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"</span> </code></td></tr><tr><td id="L13124" class="css-a4x74f"><span>13124</span></td><td id="LC13124" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13125" class="css-a4x74f"><span>13125</span></td><td id="LC13125" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-arrow-color"</span>: { </code></td></tr><tr><td id="L13126" class="css-a4x74f"><span>13126</span></td><td id="LC13126" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13127" class="css-a4x74f"><span>13127</span></td><td id="LC13127" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13128" class="css-a4x74f"><span>13128</span></td><td id="LC13128" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13129" class="css-a4x74f"><span>13129</span></td><td id="LC13129" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13130" class="css-a4x74f"><span>13130</span></td><td id="LC13130" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13131" class="css-a4x74f"><span>13131</span></td><td id="LC13131" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13132" class="css-a4x74f"><span>13132</span></td><td id="LC13132" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13133" class="css-a4x74f"><span>13133</span></td><td id="LC13133" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13134" class="css-a4x74f"><span>13134</span></td><td id="LC13134" class="css-1dcdqdg"><code> initial: <span class="code-string">"ButtonText"</span>, </code></td></tr><tr><td id="L13135" class="css-a4x74f"><span>13135</span></td><td id="LC13135" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13136" class="css-a4x74f"><span>13136</span></td><td id="LC13136" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13137" class="css-a4x74f"><span>13137</span></td><td id="LC13137" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13138" class="css-a4x74f"><span>13138</span></td><td id="LC13138" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13139" class="css-a4x74f"><span>13139</span></td><td id="LC13139" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"</span> </code></td></tr><tr><td id="L13140" class="css-a4x74f"><span>13140</span></td><td id="LC13140" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13141" class="css-a4x74f"><span>13141</span></td><td id="LC13141" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-base-color"</span>: { </code></td></tr><tr><td id="L13142" class="css-a4x74f"><span>13142</span></td><td id="LC13142" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13143" class="css-a4x74f"><span>13143</span></td><td id="LC13143" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13144" class="css-a4x74f"><span>13144</span></td><td id="LC13144" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13145" class="css-a4x74f"><span>13145</span></td><td id="LC13145" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13146" class="css-a4x74f"><span>13146</span></td><td id="LC13146" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13147" class="css-a4x74f"><span>13147</span></td><td id="LC13147" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13148" class="css-a4x74f"><span>13148</span></td><td id="LC13148" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13149" class="css-a4x74f"><span>13149</span></td><td id="LC13149" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13150" class="css-a4x74f"><span>13150</span></td><td id="LC13150" class="css-1dcdqdg"><code> initial: <span class="code-string">"dependsOnUserAgent"</span>, </code></td></tr><tr><td id="L13151" class="css-a4x74f"><span>13151</span></td><td id="LC13151" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13152" class="css-a4x74f"><span>13152</span></td><td id="LC13152" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13153" class="css-a4x74f"><span>13153</span></td><td id="LC13153" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13154" class="css-a4x74f"><span>13154</span></td><td id="LC13154" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13155" class="css-a4x74f"><span>13155</span></td><td id="LC13155" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"</span> </code></td></tr><tr><td id="L13156" class="css-a4x74f"><span>13156</span></td><td id="LC13156" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13157" class="css-a4x74f"><span>13157</span></td><td id="LC13157" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-darkshadow-color"</span>: { </code></td></tr><tr><td id="L13158" class="css-a4x74f"><span>13158</span></td><td id="LC13158" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13159" class="css-a4x74f"><span>13159</span></td><td id="LC13159" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13160" class="css-a4x74f"><span>13160</span></td><td id="LC13160" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13161" class="css-a4x74f"><span>13161</span></td><td id="LC13161" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13162" class="css-a4x74f"><span>13162</span></td><td id="LC13162" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13163" class="css-a4x74f"><span>13163</span></td><td id="LC13163" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13164" class="css-a4x74f"><span>13164</span></td><td id="LC13164" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13165" class="css-a4x74f"><span>13165</span></td><td id="LC13165" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13166" class="css-a4x74f"><span>13166</span></td><td id="LC13166" class="css-1dcdqdg"><code> initial: <span class="code-string">"ThreeDDarkShadow"</span>, </code></td></tr><tr><td id="L13167" class="css-a4x74f"><span>13167</span></td><td id="LC13167" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13168" class="css-a4x74f"><span>13168</span></td><td id="LC13168" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13169" class="css-a4x74f"><span>13169</span></td><td id="LC13169" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13170" class="css-a4x74f"><span>13170</span></td><td id="LC13170" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13171" class="css-a4x74f"><span>13171</span></td><td id="LC13171" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"</span> </code></td></tr><tr><td id="L13172" class="css-a4x74f"><span>13172</span></td><td id="LC13172" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13173" class="css-a4x74f"><span>13173</span></td><td id="LC13173" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-face-color"</span>: { </code></td></tr><tr><td id="L13174" class="css-a4x74f"><span>13174</span></td><td id="LC13174" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13175" class="css-a4x74f"><span>13175</span></td><td id="LC13175" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13176" class="css-a4x74f"><span>13176</span></td><td id="LC13176" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13177" class="css-a4x74f"><span>13177</span></td><td id="LC13177" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13178" class="css-a4x74f"><span>13178</span></td><td id="LC13178" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13179" class="css-a4x74f"><span>13179</span></td><td id="LC13179" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13180" class="css-a4x74f"><span>13180</span></td><td id="LC13180" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13181" class="css-a4x74f"><span>13181</span></td><td id="LC13181" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13182" class="css-a4x74f"><span>13182</span></td><td id="LC13182" class="css-1dcdqdg"><code> initial: <span class="code-string">"ThreeDFace"</span>, </code></td></tr><tr><td id="L13183" class="css-a4x74f"><span>13183</span></td><td id="LC13183" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13184" class="css-a4x74f"><span>13184</span></td><td id="LC13184" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13185" class="css-a4x74f"><span>13185</span></td><td id="LC13185" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13186" class="css-a4x74f"><span>13186</span></td><td id="LC13186" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13187" class="css-a4x74f"><span>13187</span></td><td id="LC13187" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"</span> </code></td></tr><tr><td id="L13188" class="css-a4x74f"><span>13188</span></td><td id="LC13188" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13189" class="css-a4x74f"><span>13189</span></td><td id="LC13189" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-highlight-color"</span>: { </code></td></tr><tr><td id="L13190" class="css-a4x74f"><span>13190</span></td><td id="LC13190" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13191" class="css-a4x74f"><span>13191</span></td><td id="LC13191" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13192" class="css-a4x74f"><span>13192</span></td><td id="LC13192" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13193" class="css-a4x74f"><span>13193</span></td><td id="LC13193" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13194" class="css-a4x74f"><span>13194</span></td><td id="LC13194" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13195" class="css-a4x74f"><span>13195</span></td><td id="LC13195" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13196" class="css-a4x74f"><span>13196</span></td><td id="LC13196" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13197" class="css-a4x74f"><span>13197</span></td><td id="LC13197" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13198" class="css-a4x74f"><span>13198</span></td><td id="LC13198" class="css-1dcdqdg"><code> initial: <span class="code-string">"ThreeDHighlight"</span>, </code></td></tr><tr><td id="L13199" class="css-a4x74f"><span>13199</span></td><td id="LC13199" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13200" class="css-a4x74f"><span>13200</span></td><td id="LC13200" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13201" class="css-a4x74f"><span>13201</span></td><td id="LC13201" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13202" class="css-a4x74f"><span>13202</span></td><td id="LC13202" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13203" class="css-a4x74f"><span>13203</span></td><td id="LC13203" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"</span> </code></td></tr><tr><td id="L13204" class="css-a4x74f"><span>13204</span></td><td id="LC13204" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13205" class="css-a4x74f"><span>13205</span></td><td id="LC13205" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-shadow-color"</span>: { </code></td></tr><tr><td id="L13206" class="css-a4x74f"><span>13206</span></td><td id="LC13206" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13207" class="css-a4x74f"><span>13207</span></td><td id="LC13207" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13208" class="css-a4x74f"><span>13208</span></td><td id="LC13208" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13209" class="css-a4x74f"><span>13209</span></td><td id="LC13209" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13210" class="css-a4x74f"><span>13210</span></td><td id="LC13210" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13211" class="css-a4x74f"><span>13211</span></td><td id="LC13211" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13212" class="css-a4x74f"><span>13212</span></td><td id="LC13212" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13213" class="css-a4x74f"><span>13213</span></td><td id="LC13213" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13214" class="css-a4x74f"><span>13214</span></td><td id="LC13214" class="css-1dcdqdg"><code> initial: <span class="code-string">"ThreeDDarkShadow"</span>, </code></td></tr><tr><td id="L13215" class="css-a4x74f"><span>13215</span></td><td id="LC13215" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13216" class="css-a4x74f"><span>13216</span></td><td id="LC13216" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13217" class="css-a4x74f"><span>13217</span></td><td id="LC13217" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13218" class="css-a4x74f"><span>13218</span></td><td id="LC13218" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13219" class="css-a4x74f"><span>13219</span></td><td id="LC13219" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"</span> </code></td></tr><tr><td id="L13220" class="css-a4x74f"><span>13220</span></td><td id="LC13220" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13221" class="css-a4x74f"><span>13221</span></td><td id="LC13221" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scrollbar-track-color"</span>: { </code></td></tr><tr><td id="L13222" class="css-a4x74f"><span>13222</span></td><td id="LC13222" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L13223" class="css-a4x74f"><span>13223</span></td><td id="LC13223" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13224" class="css-a4x74f"><span>13224</span></td><td id="LC13224" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13225" class="css-a4x74f"><span>13225</span></td><td id="LC13225" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13226" class="css-a4x74f"><span>13226</span></td><td id="LC13226" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13227" class="css-a4x74f"><span>13227</span></td><td id="LC13227" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13228" class="css-a4x74f"><span>13228</span></td><td id="LC13228" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13229" class="css-a4x74f"><span>13229</span></td><td id="LC13229" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13230" class="css-a4x74f"><span>13230</span></td><td id="LC13230" class="css-1dcdqdg"><code> initial: <span class="code-string">"Scrollbar"</span>, </code></td></tr><tr><td id="L13231" class="css-a4x74f"><span>13231</span></td><td id="LC13231" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13232" class="css-a4x74f"><span>13232</span></td><td id="LC13232" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13233" class="css-a4x74f"><span>13233</span></td><td id="LC13233" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13234" class="css-a4x74f"><span>13234</span></td><td id="LC13234" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13235" class="css-a4x74f"><span>13235</span></td><td id="LC13235" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"</span> </code></td></tr><tr><td id="L13236" class="css-a4x74f"><span>13236</span></td><td id="LC13236" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13237" class="css-a4x74f"><span>13237</span></td><td id="LC13237" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-chaining"</span>: { </code></td></tr><tr><td id="L13238" class="css-a4x74f"><span>13238</span></td><td id="LC13238" class="css-1dcdqdg"><code> syntax: <span class="code-string">"chained | none"</span>, </code></td></tr><tr><td id="L13239" class="css-a4x74f"><span>13239</span></td><td id="LC13239" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13240" class="css-a4x74f"><span>13240</span></td><td id="LC13240" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13241" class="css-a4x74f"><span>13241</span></td><td id="LC13241" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13242" class="css-a4x74f"><span>13242</span></td><td id="LC13242" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13243" class="css-a4x74f"><span>13243</span></td><td id="LC13243" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13244" class="css-a4x74f"><span>13244</span></td><td id="LC13244" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13245" class="css-a4x74f"><span>13245</span></td><td id="LC13245" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13246" class="css-a4x74f"><span>13246</span></td><td id="LC13246" class="css-1dcdqdg"><code> initial: <span class="code-string">"chained"</span>, </code></td></tr><tr><td id="L13247" class="css-a4x74f"><span>13247</span></td><td id="LC13247" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13248" class="css-a4x74f"><span>13248</span></td><td id="LC13248" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13249" class="css-a4x74f"><span>13249</span></td><td id="LC13249" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13250" class="css-a4x74f"><span>13250</span></td><td id="LC13250" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13251" class="css-a4x74f"><span>13251</span></td><td id="LC13251" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"</span> </code></td></tr><tr><td id="L13252" class="css-a4x74f"><span>13252</span></td><td id="LC13252" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13253" class="css-a4x74f"><span>13253</span></td><td id="LC13253" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit"</span>: { </code></td></tr><tr><td id="L13254" class="css-a4x74f"><span>13254</span></td><td id="LC13254" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>"</span>, </code></td></tr><tr><td id="L13255" class="css-a4x74f"><span>13255</span></td><td id="LC13255" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13256" class="css-a4x74f"><span>13256</span></td><td id="LC13256" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13257" class="css-a4x74f"><span>13257</span></td><td id="LC13257" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13258" class="css-a4x74f"><span>13258</span></td><td id="LC13258" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13259" class="css-a4x74f"><span>13259</span></td><td id="LC13259" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13260" class="css-a4x74f"><span>13260</span></td><td id="LC13260" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13261" class="css-a4x74f"><span>13261</span></td><td id="LC13261" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13262" class="css-a4x74f"><span>13262</span></td><td id="LC13262" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L13263" class="css-a4x74f"><span>13263</span></td><td id="LC13263" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-min"</span>, </code></td></tr><tr><td id="L13264" class="css-a4x74f"><span>13264</span></td><td id="LC13264" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-min"</span>, </code></td></tr><tr><td id="L13265" class="css-a4x74f"><span>13265</span></td><td id="LC13265" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-max"</span>, </code></td></tr><tr><td id="L13266" class="css-a4x74f"><span>13266</span></td><td id="LC13266" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-max"</span> </code></td></tr><tr><td id="L13267" class="css-a4x74f"><span>13267</span></td><td id="LC13267" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13268" class="css-a4x74f"><span>13268</span></td><td id="LC13268" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13269" class="css-a4x74f"><span>13269</span></td><td id="LC13269" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L13270" class="css-a4x74f"><span>13270</span></td><td id="LC13270" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-min"</span>, </code></td></tr><tr><td id="L13271" class="css-a4x74f"><span>13271</span></td><td id="LC13271" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-min"</span>, </code></td></tr><tr><td id="L13272" class="css-a4x74f"><span>13272</span></td><td id="LC13272" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-max"</span>, </code></td></tr><tr><td id="L13273" class="css-a4x74f"><span>13273</span></td><td id="LC13273" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-max"</span> </code></td></tr><tr><td id="L13274" class="css-a4x74f"><span>13274</span></td><td id="LC13274" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13275" class="css-a4x74f"><span>13275</span></td><td id="LC13275" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13276" class="css-a4x74f"><span>13276</span></td><td id="LC13276" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13277" class="css-a4x74f"><span>13277</span></td><td id="LC13277" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"</span> </code></td></tr><tr><td id="L13278" class="css-a4x74f"><span>13278</span></td><td id="LC13278" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13279" class="css-a4x74f"><span>13279</span></td><td id="LC13279" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-max"</span>: { </code></td></tr><tr><td id="L13280" class="css-a4x74f"><span>13280</span></td><td id="LC13280" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length>"</span>, </code></td></tr><tr><td id="L13281" class="css-a4x74f"><span>13281</span></td><td id="LC13281" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13282" class="css-a4x74f"><span>13282</span></td><td id="LC13282" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13283" class="css-a4x74f"><span>13283</span></td><td id="LC13283" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13284" class="css-a4x74f"><span>13284</span></td><td id="LC13284" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13285" class="css-a4x74f"><span>13285</span></td><td id="LC13285" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13286" class="css-a4x74f"><span>13286</span></td><td id="LC13286" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13287" class="css-a4x74f"><span>13287</span></td><td id="LC13287" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13288" class="css-a4x74f"><span>13288</span></td><td id="LC13288" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13289" class="css-a4x74f"><span>13289</span></td><td id="LC13289" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13290" class="css-a4x74f"><span>13290</span></td><td id="LC13290" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13291" class="css-a4x74f"><span>13291</span></td><td id="LC13291" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13292" class="css-a4x74f"><span>13292</span></td><td id="LC13292" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13293" class="css-a4x74f"><span>13293</span></td><td id="LC13293" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"</span> </code></td></tr><tr><td id="L13294" class="css-a4x74f"><span>13294</span></td><td id="LC13294" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13295" class="css-a4x74f"><span>13295</span></td><td id="LC13295" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-x-min"</span>: { </code></td></tr><tr><td id="L13296" class="css-a4x74f"><span>13296</span></td><td id="LC13296" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L13297" class="css-a4x74f"><span>13297</span></td><td id="LC13297" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13298" class="css-a4x74f"><span>13298</span></td><td id="LC13298" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13299" class="css-a4x74f"><span>13299</span></td><td id="LC13299" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13300" class="css-a4x74f"><span>13300</span></td><td id="LC13300" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13301" class="css-a4x74f"><span>13301</span></td><td id="LC13301" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13302" class="css-a4x74f"><span>13302</span></td><td id="LC13302" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13303" class="css-a4x74f"><span>13303</span></td><td id="LC13303" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13304" class="css-a4x74f"><span>13304</span></td><td id="LC13304" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13305" class="css-a4x74f"><span>13305</span></td><td id="LC13305" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13306" class="css-a4x74f"><span>13306</span></td><td id="LC13306" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13307" class="css-a4x74f"><span>13307</span></td><td id="LC13307" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13308" class="css-a4x74f"><span>13308</span></td><td id="LC13308" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13309" class="css-a4x74f"><span>13309</span></td><td id="LC13309" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"</span> </code></td></tr><tr><td id="L13310" class="css-a4x74f"><span>13310</span></td><td id="LC13310" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13311" class="css-a4x74f"><span>13311</span></td><td id="LC13311" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-max"</span>: { </code></td></tr><tr><td id="L13312" class="css-a4x74f"><span>13312</span></td><td id="LC13312" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length>"</span>, </code></td></tr><tr><td id="L13313" class="css-a4x74f"><span>13313</span></td><td id="LC13313" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13314" class="css-a4x74f"><span>13314</span></td><td id="LC13314" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13315" class="css-a4x74f"><span>13315</span></td><td id="LC13315" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13316" class="css-a4x74f"><span>13316</span></td><td id="LC13316" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13317" class="css-a4x74f"><span>13317</span></td><td id="LC13317" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13318" class="css-a4x74f"><span>13318</span></td><td id="LC13318" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13319" class="css-a4x74f"><span>13319</span></td><td id="LC13319" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13320" class="css-a4x74f"><span>13320</span></td><td id="LC13320" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13321" class="css-a4x74f"><span>13321</span></td><td id="LC13321" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13322" class="css-a4x74f"><span>13322</span></td><td id="LC13322" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13323" class="css-a4x74f"><span>13323</span></td><td id="LC13323" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13324" class="css-a4x74f"><span>13324</span></td><td id="LC13324" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13325" class="css-a4x74f"><span>13325</span></td><td id="LC13325" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"</span> </code></td></tr><tr><td id="L13326" class="css-a4x74f"><span>13326</span></td><td id="LC13326" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13327" class="css-a4x74f"><span>13327</span></td><td id="LC13327" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-limit-y-min"</span>: { </code></td></tr><tr><td id="L13328" class="css-a4x74f"><span>13328</span></td><td id="LC13328" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L13329" class="css-a4x74f"><span>13329</span></td><td id="LC13329" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13330" class="css-a4x74f"><span>13330</span></td><td id="LC13330" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13331" class="css-a4x74f"><span>13331</span></td><td id="LC13331" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13332" class="css-a4x74f"><span>13332</span></td><td id="LC13332" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13333" class="css-a4x74f"><span>13333</span></td><td id="LC13333" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13334" class="css-a4x74f"><span>13334</span></td><td id="LC13334" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13335" class="css-a4x74f"><span>13335</span></td><td id="LC13335" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13336" class="css-a4x74f"><span>13336</span></td><td id="LC13336" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13337" class="css-a4x74f"><span>13337</span></td><td id="LC13337" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13338" class="css-a4x74f"><span>13338</span></td><td id="LC13338" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13339" class="css-a4x74f"><span>13339</span></td><td id="LC13339" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13340" class="css-a4x74f"><span>13340</span></td><td id="LC13340" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13341" class="css-a4x74f"><span>13341</span></td><td id="LC13341" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"</span> </code></td></tr><tr><td id="L13342" class="css-a4x74f"><span>13342</span></td><td id="LC13342" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13343" class="css-a4x74f"><span>13343</span></td><td id="LC13343" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-rails"</span>: { </code></td></tr><tr><td id="L13344" class="css-a4x74f"><span>13344</span></td><td id="LC13344" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | railed"</span>, </code></td></tr><tr><td id="L13345" class="css-a4x74f"><span>13345</span></td><td id="LC13345" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13346" class="css-a4x74f"><span>13346</span></td><td id="LC13346" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13347" class="css-a4x74f"><span>13347</span></td><td id="LC13347" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13348" class="css-a4x74f"><span>13348</span></td><td id="LC13348" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13349" class="css-a4x74f"><span>13349</span></td><td id="LC13349" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13350" class="css-a4x74f"><span>13350</span></td><td id="LC13350" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13351" class="css-a4x74f"><span>13351</span></td><td id="LC13351" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13352" class="css-a4x74f"><span>13352</span></td><td id="LC13352" class="css-1dcdqdg"><code> initial: <span class="code-string">"railed"</span>, </code></td></tr><tr><td id="L13353" class="css-a4x74f"><span>13353</span></td><td id="LC13353" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13354" class="css-a4x74f"><span>13354</span></td><td id="LC13354" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13355" class="css-a4x74f"><span>13355</span></td><td id="LC13355" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13356" class="css-a4x74f"><span>13356</span></td><td id="LC13356" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13357" class="css-a4x74f"><span>13357</span></td><td id="LC13357" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"</span> </code></td></tr><tr><td id="L13358" class="css-a4x74f"><span>13358</span></td><td id="LC13358" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13359" class="css-a4x74f"><span>13359</span></td><td id="LC13359" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-x"</span>: { </code></td></tr><tr><td id="L13360" class="css-a4x74f"><span>13360</span></td><td id="LC13360" class="css-1dcdqdg"><code> syntax: <span class="code-string">"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )"</span>, </code></td></tr><tr><td id="L13361" class="css-a4x74f"><span>13361</span></td><td id="LC13361" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13362" class="css-a4x74f"><span>13362</span></td><td id="LC13362" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13363" class="css-a4x74f"><span>13363</span></td><td id="LC13363" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13364" class="css-a4x74f"><span>13364</span></td><td id="LC13364" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13365" class="css-a4x74f"><span>13365</span></td><td id="LC13365" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13366" class="css-a4x74f"><span>13366</span></td><td id="LC13366" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13367" class="css-a4x74f"><span>13367</span></td><td id="LC13367" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13368" class="css-a4x74f"><span>13368</span></td><td id="LC13368" class="css-1dcdqdg"><code> initial: <span class="code-string">"snapInterval(0px, 100%)"</span>, </code></td></tr><tr><td id="L13369" class="css-a4x74f"><span>13369</span></td><td id="LC13369" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13370" class="css-a4x74f"><span>13370</span></td><td id="LC13370" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13371" class="css-a4x74f"><span>13371</span></td><td id="LC13371" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13372" class="css-a4x74f"><span>13372</span></td><td id="LC13372" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13373" class="css-a4x74f"><span>13373</span></td><td id="LC13373" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"</span> </code></td></tr><tr><td id="L13374" class="css-a4x74f"><span>13374</span></td><td id="LC13374" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13375" class="css-a4x74f"><span>13375</span></td><td id="LC13375" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-y"</span>: { </code></td></tr><tr><td id="L13376" class="css-a4x74f"><span>13376</span></td><td id="LC13376" class="css-1dcdqdg"><code> syntax: <span class="code-string">"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )"</span>, </code></td></tr><tr><td id="L13377" class="css-a4x74f"><span>13377</span></td><td id="LC13377" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13378" class="css-a4x74f"><span>13378</span></td><td id="LC13378" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13379" class="css-a4x74f"><span>13379</span></td><td id="LC13379" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13380" class="css-a4x74f"><span>13380</span></td><td id="LC13380" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13381" class="css-a4x74f"><span>13381</span></td><td id="LC13381" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13382" class="css-a4x74f"><span>13382</span></td><td id="LC13382" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13383" class="css-a4x74f"><span>13383</span></td><td id="LC13383" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13384" class="css-a4x74f"><span>13384</span></td><td id="LC13384" class="css-1dcdqdg"><code> initial: <span class="code-string">"snapInterval(0px, 100%)"</span>, </code></td></tr><tr><td id="L13385" class="css-a4x74f"><span>13385</span></td><td id="LC13385" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13386" class="css-a4x74f"><span>13386</span></td><td id="LC13386" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13387" class="css-a4x74f"><span>13387</span></td><td id="LC13387" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13388" class="css-a4x74f"><span>13388</span></td><td id="LC13388" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13389" class="css-a4x74f"><span>13389</span></td><td id="LC13389" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"</span> </code></td></tr><tr><td id="L13390" class="css-a4x74f"><span>13390</span></td><td id="LC13390" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13391" class="css-a4x74f"><span>13391</span></td><td id="LC13391" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-type"</span>: { </code></td></tr><tr><td id="L13392" class="css-a4x74f"><span>13392</span></td><td id="LC13392" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | proximity | mandatory"</span>, </code></td></tr><tr><td id="L13393" class="css-a4x74f"><span>13393</span></td><td id="LC13393" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13394" class="css-a4x74f"><span>13394</span></td><td id="LC13394" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13395" class="css-a4x74f"><span>13395</span></td><td id="LC13395" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13396" class="css-a4x74f"><span>13396</span></td><td id="LC13396" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13397" class="css-a4x74f"><span>13397</span></td><td id="LC13397" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13398" class="css-a4x74f"><span>13398</span></td><td id="LC13398" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13399" class="css-a4x74f"><span>13399</span></td><td id="LC13399" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13400" class="css-a4x74f"><span>13400</span></td><td id="LC13400" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13401" class="css-a4x74f"><span>13401</span></td><td id="LC13401" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13402" class="css-a4x74f"><span>13402</span></td><td id="LC13402" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13403" class="css-a4x74f"><span>13403</span></td><td id="LC13403" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13404" class="css-a4x74f"><span>13404</span></td><td id="LC13404" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13405" class="css-a4x74f"><span>13405</span></td><td id="LC13405" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"</span> </code></td></tr><tr><td id="L13406" class="css-a4x74f"><span>13406</span></td><td id="LC13406" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13407" class="css-a4x74f"><span>13407</span></td><td id="LC13407" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-x"</span>: { </code></td></tr><tr><td id="L13408" class="css-a4x74f"><span>13408</span></td><td id="LC13408" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>"</span>, </code></td></tr><tr><td id="L13409" class="css-a4x74f"><span>13409</span></td><td id="LC13409" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13410" class="css-a4x74f"><span>13410</span></td><td id="LC13410" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13411" class="css-a4x74f"><span>13411</span></td><td id="LC13411" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13412" class="css-a4x74f"><span>13412</span></td><td id="LC13412" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13413" class="css-a4x74f"><span>13413</span></td><td id="LC13413" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13414" class="css-a4x74f"><span>13414</span></td><td id="LC13414" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13415" class="css-a4x74f"><span>13415</span></td><td id="LC13415" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13416" class="css-a4x74f"><span>13416</span></td><td id="LC13416" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L13417" class="css-a4x74f"><span>13417</span></td><td id="LC13417" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-type"</span>, </code></td></tr><tr><td id="L13418" class="css-a4x74f"><span>13418</span></td><td id="LC13418" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-x"</span> </code></td></tr><tr><td id="L13419" class="css-a4x74f"><span>13419</span></td><td id="LC13419" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13420" class="css-a4x74f"><span>13420</span></td><td id="LC13420" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13421" class="css-a4x74f"><span>13421</span></td><td id="LC13421" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L13422" class="css-a4x74f"><span>13422</span></td><td id="LC13422" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-type"</span>, </code></td></tr><tr><td id="L13423" class="css-a4x74f"><span>13423</span></td><td id="LC13423" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-x"</span> </code></td></tr><tr><td id="L13424" class="css-a4x74f"><span>13424</span></td><td id="LC13424" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13425" class="css-a4x74f"><span>13425</span></td><td id="LC13425" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13426" class="css-a4x74f"><span>13426</span></td><td id="LC13426" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13427" class="css-a4x74f"><span>13427</span></td><td id="LC13427" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"</span> </code></td></tr><tr><td id="L13428" class="css-a4x74f"><span>13428</span></td><td id="LC13428" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13429" class="css-a4x74f"><span>13429</span></td><td id="LC13429" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-y"</span>: { </code></td></tr><tr><td id="L13430" class="css-a4x74f"><span>13430</span></td><td id="LC13430" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>"</span>, </code></td></tr><tr><td id="L13431" class="css-a4x74f"><span>13431</span></td><td id="LC13431" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13432" class="css-a4x74f"><span>13432</span></td><td id="LC13432" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13433" class="css-a4x74f"><span>13433</span></td><td id="LC13433" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13434" class="css-a4x74f"><span>13434</span></td><td id="LC13434" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13435" class="css-a4x74f"><span>13435</span></td><td id="LC13435" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13436" class="css-a4x74f"><span>13436</span></td><td id="LC13436" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13437" class="css-a4x74f"><span>13437</span></td><td id="LC13437" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13438" class="css-a4x74f"><span>13438</span></td><td id="LC13438" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L13439" class="css-a4x74f"><span>13439</span></td><td id="LC13439" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-type"</span>, </code></td></tr><tr><td id="L13440" class="css-a4x74f"><span>13440</span></td><td id="LC13440" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-y"</span> </code></td></tr><tr><td id="L13441" class="css-a4x74f"><span>13441</span></td><td id="LC13441" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13442" class="css-a4x74f"><span>13442</span></td><td id="LC13442" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L13443" class="css-a4x74f"><span>13443</span></td><td id="LC13443" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L13444" class="css-a4x74f"><span>13444</span></td><td id="LC13444" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-type"</span>, </code></td></tr><tr><td id="L13445" class="css-a4x74f"><span>13445</span></td><td id="LC13445" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-snap-points-y"</span> </code></td></tr><tr><td id="L13446" class="css-a4x74f"><span>13446</span></td><td id="LC13446" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13447" class="css-a4x74f"><span>13447</span></td><td id="LC13447" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13448" class="css-a4x74f"><span>13448</span></td><td id="LC13448" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13449" class="css-a4x74f"><span>13449</span></td><td id="LC13449" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"</span> </code></td></tr><tr><td id="L13450" class="css-a4x74f"><span>13450</span></td><td id="LC13450" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13451" class="css-a4x74f"><span>13451</span></td><td id="LC13451" class="css-1dcdqdg"><code> <span class="code-string">"-ms-scroll-translation"</span>: { </code></td></tr><tr><td id="L13452" class="css-a4x74f"><span>13452</span></td><td id="LC13452" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | vertical-to-horizontal"</span>, </code></td></tr><tr><td id="L13453" class="css-a4x74f"><span>13453</span></td><td id="LC13453" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13454" class="css-a4x74f"><span>13454</span></td><td id="LC13454" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13455" class="css-a4x74f"><span>13455</span></td><td id="LC13455" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13456" class="css-a4x74f"><span>13456</span></td><td id="LC13456" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13457" class="css-a4x74f"><span>13457</span></td><td id="LC13457" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13458" class="css-a4x74f"><span>13458</span></td><td id="LC13458" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13459" class="css-a4x74f"><span>13459</span></td><td id="LC13459" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13460" class="css-a4x74f"><span>13460</span></td><td id="LC13460" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13461" class="css-a4x74f"><span>13461</span></td><td id="LC13461" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13462" class="css-a4x74f"><span>13462</span></td><td id="LC13462" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13463" class="css-a4x74f"><span>13463</span></td><td id="LC13463" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13464" class="css-a4x74f"><span>13464</span></td><td id="LC13464" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13465" class="css-a4x74f"><span>13465</span></td><td id="LC13465" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"</span> </code></td></tr><tr><td id="L13466" class="css-a4x74f"><span>13466</span></td><td id="LC13466" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13467" class="css-a4x74f"><span>13467</span></td><td id="LC13467" class="css-1dcdqdg"><code> <span class="code-string">"-ms-text-autospace"</span>: { </code></td></tr><tr><td id="L13468" class="css-a4x74f"><span>13468</span></td><td id="LC13468" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space"</span>, </code></td></tr><tr><td id="L13469" class="css-a4x74f"><span>13469</span></td><td id="LC13469" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13470" class="css-a4x74f"><span>13470</span></td><td id="LC13470" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13471" class="css-a4x74f"><span>13471</span></td><td id="LC13471" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13472" class="css-a4x74f"><span>13472</span></td><td id="LC13472" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13473" class="css-a4x74f"><span>13473</span></td><td id="LC13473" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13474" class="css-a4x74f"><span>13474</span></td><td id="LC13474" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13475" class="css-a4x74f"><span>13475</span></td><td id="LC13475" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13476" class="css-a4x74f"><span>13476</span></td><td id="LC13476" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13477" class="css-a4x74f"><span>13477</span></td><td id="LC13477" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13478" class="css-a4x74f"><span>13478</span></td><td id="LC13478" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13479" class="css-a4x74f"><span>13479</span></td><td id="LC13479" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13480" class="css-a4x74f"><span>13480</span></td><td id="LC13480" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13481" class="css-a4x74f"><span>13481</span></td><td id="LC13481" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"</span> </code></td></tr><tr><td id="L13482" class="css-a4x74f"><span>13482</span></td><td id="LC13482" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13483" class="css-a4x74f"><span>13483</span></td><td id="LC13483" class="css-1dcdqdg"><code> <span class="code-string">"-ms-touch-select"</span>: { </code></td></tr><tr><td id="L13484" class="css-a4x74f"><span>13484</span></td><td id="LC13484" class="css-1dcdqdg"><code> syntax: <span class="code-string">"grippers | none"</span>, </code></td></tr><tr><td id="L13485" class="css-a4x74f"><span>13485</span></td><td id="LC13485" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13486" class="css-a4x74f"><span>13486</span></td><td id="LC13486" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13487" class="css-a4x74f"><span>13487</span></td><td id="LC13487" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13488" class="css-a4x74f"><span>13488</span></td><td id="LC13488" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13489" class="css-a4x74f"><span>13489</span></td><td id="LC13489" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13490" class="css-a4x74f"><span>13490</span></td><td id="LC13490" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13491" class="css-a4x74f"><span>13491</span></td><td id="LC13491" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13492" class="css-a4x74f"><span>13492</span></td><td id="LC13492" class="css-1dcdqdg"><code> initial: <span class="code-string">"grippers"</span>, </code></td></tr><tr><td id="L13493" class="css-a4x74f"><span>13493</span></td><td id="LC13493" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13494" class="css-a4x74f"><span>13494</span></td><td id="LC13494" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13495" class="css-a4x74f"><span>13495</span></td><td id="LC13495" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13496" class="css-a4x74f"><span>13496</span></td><td id="LC13496" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13497" class="css-a4x74f"><span>13497</span></td><td id="LC13497" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"</span> </code></td></tr><tr><td id="L13498" class="css-a4x74f"><span>13498</span></td><td id="LC13498" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13499" class="css-a4x74f"><span>13499</span></td><td id="LC13499" class="css-1dcdqdg"><code> <span class="code-string">"-ms-user-select"</span>: { </code></td></tr><tr><td id="L13500" class="css-a4x74f"><span>13500</span></td><td id="LC13500" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | element | text"</span>, </code></td></tr><tr><td id="L13501" class="css-a4x74f"><span>13501</span></td><td id="LC13501" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13502" class="css-a4x74f"><span>13502</span></td><td id="LC13502" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13503" class="css-a4x74f"><span>13503</span></td><td id="LC13503" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13504" class="css-a4x74f"><span>13504</span></td><td id="LC13504" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13505" class="css-a4x74f"><span>13505</span></td><td id="LC13505" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13506" class="css-a4x74f"><span>13506</span></td><td id="LC13506" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13507" class="css-a4x74f"><span>13507</span></td><td id="LC13507" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13508" class="css-a4x74f"><span>13508</span></td><td id="LC13508" class="css-1dcdqdg"><code> initial: <span class="code-string">"text"</span>, </code></td></tr><tr><td id="L13509" class="css-a4x74f"><span>13509</span></td><td id="LC13509" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedElements"</span>, </code></td></tr><tr><td id="L13510" class="css-a4x74f"><span>13510</span></td><td id="LC13510" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13511" class="css-a4x74f"><span>13511</span></td><td id="LC13511" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13512" class="css-a4x74f"><span>13512</span></td><td id="LC13512" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13513" class="css-a4x74f"><span>13513</span></td><td id="LC13513" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"</span> </code></td></tr><tr><td id="L13514" class="css-a4x74f"><span>13514</span></td><td id="LC13514" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13515" class="css-a4x74f"><span>13515</span></td><td id="LC13515" class="css-1dcdqdg"><code> <span class="code-string">"-ms-wrap-flow"</span>: { </code></td></tr><tr><td id="L13516" class="css-a4x74f"><span>13516</span></td><td id="LC13516" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | both | start | end | maximum | clear"</span>, </code></td></tr><tr><td id="L13517" class="css-a4x74f"><span>13517</span></td><td id="LC13517" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13518" class="css-a4x74f"><span>13518</span></td><td id="LC13518" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13519" class="css-a4x74f"><span>13519</span></td><td id="LC13519" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13520" class="css-a4x74f"><span>13520</span></td><td id="LC13520" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13521" class="css-a4x74f"><span>13521</span></td><td id="LC13521" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13522" class="css-a4x74f"><span>13522</span></td><td id="LC13522" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13523" class="css-a4x74f"><span>13523</span></td><td id="LC13523" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13524" class="css-a4x74f"><span>13524</span></td><td id="LC13524" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13525" class="css-a4x74f"><span>13525</span></td><td id="LC13525" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L13526" class="css-a4x74f"><span>13526</span></td><td id="LC13526" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13527" class="css-a4x74f"><span>13527</span></td><td id="LC13527" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13528" class="css-a4x74f"><span>13528</span></td><td id="LC13528" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13529" class="css-a4x74f"><span>13529</span></td><td id="LC13529" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"</span> </code></td></tr><tr><td id="L13530" class="css-a4x74f"><span>13530</span></td><td id="LC13530" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13531" class="css-a4x74f"><span>13531</span></td><td id="LC13531" class="css-1dcdqdg"><code> <span class="code-string">"-ms-wrap-margin"</span>: { </code></td></tr><tr><td id="L13532" class="css-a4x74f"><span>13532</span></td><td id="LC13532" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L13533" class="css-a4x74f"><span>13533</span></td><td id="LC13533" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13534" class="css-a4x74f"><span>13534</span></td><td id="LC13534" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13535" class="css-a4x74f"><span>13535</span></td><td id="LC13535" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13536" class="css-a4x74f"><span>13536</span></td><td id="LC13536" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13537" class="css-a4x74f"><span>13537</span></td><td id="LC13537" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13538" class="css-a4x74f"><span>13538</span></td><td id="LC13538" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13539" class="css-a4x74f"><span>13539</span></td><td id="LC13539" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13540" class="css-a4x74f"><span>13540</span></td><td id="LC13540" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13541" class="css-a4x74f"><span>13541</span></td><td id="LC13541" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"exclusionElements"</span>, </code></td></tr><tr><td id="L13542" class="css-a4x74f"><span>13542</span></td><td id="LC13542" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13543" class="css-a4x74f"><span>13543</span></td><td id="LC13543" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13544" class="css-a4x74f"><span>13544</span></td><td id="LC13544" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13545" class="css-a4x74f"><span>13545</span></td><td id="LC13545" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"</span> </code></td></tr><tr><td id="L13546" class="css-a4x74f"><span>13546</span></td><td id="LC13546" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13547" class="css-a4x74f"><span>13547</span></td><td id="LC13547" class="css-1dcdqdg"><code> <span class="code-string">"-ms-wrap-through"</span>: { </code></td></tr><tr><td id="L13548" class="css-a4x74f"><span>13548</span></td><td id="LC13548" class="css-1dcdqdg"><code> syntax: <span class="code-string">"wrap | none"</span>, </code></td></tr><tr><td id="L13549" class="css-a4x74f"><span>13549</span></td><td id="LC13549" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13550" class="css-a4x74f"><span>13550</span></td><td id="LC13550" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13551" class="css-a4x74f"><span>13551</span></td><td id="LC13551" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13552" class="css-a4x74f"><span>13552</span></td><td id="LC13552" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13553" class="css-a4x74f"><span>13553</span></td><td id="LC13553" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13554" class="css-a4x74f"><span>13554</span></td><td id="LC13554" class="css-1dcdqdg"><code> <span class="code-string">"Microsoft Extensions"</span> </code></td></tr><tr><td id="L13555" class="css-a4x74f"><span>13555</span></td><td id="LC13555" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13556" class="css-a4x74f"><span>13556</span></td><td id="LC13556" class="css-1dcdqdg"><code> initial: <span class="code-string">"wrap"</span>, </code></td></tr><tr><td id="L13557" class="css-a4x74f"><span>13557</span></td><td id="LC13557" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L13558" class="css-a4x74f"><span>13558</span></td><td id="LC13558" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13559" class="css-a4x74f"><span>13559</span></td><td id="LC13559" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13560" class="css-a4x74f"><span>13560</span></td><td id="LC13560" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13561" class="css-a4x74f"><span>13561</span></td><td id="LC13561" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"</span> </code></td></tr><tr><td id="L13562" class="css-a4x74f"><span>13562</span></td><td id="LC13562" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13563" class="css-a4x74f"><span>13563</span></td><td id="LC13563" class="css-1dcdqdg"><code> <span class="code-string">"-moz-appearance"</span>: { </code></td></tr><tr><td id="L13564" class="css-a4x74f"><span>13564</span></td><td id="LC13564" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized"</span>, </code></td></tr><tr><td id="L13565" class="css-a4x74f"><span>13565</span></td><td id="LC13565" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13566" class="css-a4x74f"><span>13566</span></td><td id="LC13566" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13567" class="css-a4x74f"><span>13567</span></td><td id="LC13567" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13568" class="css-a4x74f"><span>13568</span></td><td id="LC13568" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13569" class="css-a4x74f"><span>13569</span></td><td id="LC13569" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13570" class="css-a4x74f"><span>13570</span></td><td id="LC13570" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L13571" class="css-a4x74f"><span>13571</span></td><td id="LC13571" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L13572" class="css-a4x74f"><span>13572</span></td><td id="LC13572" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13573" class="css-a4x74f"><span>13573</span></td><td id="LC13573" class="css-1dcdqdg"><code> initial: <span class="code-string">"noneButOverriddenInUserAgentCSS"</span>, </code></td></tr><tr><td id="L13574" class="css-a4x74f"><span>13574</span></td><td id="LC13574" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13575" class="css-a4x74f"><span>13575</span></td><td id="LC13575" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13576" class="css-a4x74f"><span>13576</span></td><td id="LC13576" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13577" class="css-a4x74f"><span>13577</span></td><td id="LC13577" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13578" class="css-a4x74f"><span>13578</span></td><td id="LC13578" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance"</span> </code></td></tr><tr><td id="L13579" class="css-a4x74f"><span>13579</span></td><td id="LC13579" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13580" class="css-a4x74f"><span>13580</span></td><td id="LC13580" class="css-1dcdqdg"><code> <span class="code-string">"-moz-binding"</span>: { </code></td></tr><tr><td id="L13581" class="css-a4x74f"><span>13581</span></td><td id="LC13581" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> | none"</span>, </code></td></tr><tr><td id="L13582" class="css-a4x74f"><span>13582</span></td><td id="LC13582" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13583" class="css-a4x74f"><span>13583</span></td><td id="LC13583" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13584" class="css-a4x74f"><span>13584</span></td><td id="LC13584" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13585" class="css-a4x74f"><span>13585</span></td><td id="LC13585" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13586" class="css-a4x74f"><span>13586</span></td><td id="LC13586" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13587" class="css-a4x74f"><span>13587</span></td><td id="LC13587" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13588" class="css-a4x74f"><span>13588</span></td><td id="LC13588" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13589" class="css-a4x74f"><span>13589</span></td><td id="LC13589" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13590" class="css-a4x74f"><span>13590</span></td><td id="LC13590" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptGeneratedContentOrPseudoElements"</span>, </code></td></tr><tr><td id="L13591" class="css-a4x74f"><span>13591</span></td><td id="LC13591" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13592" class="css-a4x74f"><span>13592</span></td><td id="LC13592" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13593" class="css-a4x74f"><span>13593</span></td><td id="LC13593" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13594" class="css-a4x74f"><span>13594</span></td><td id="LC13594" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-binding"</span> </code></td></tr><tr><td id="L13595" class="css-a4x74f"><span>13595</span></td><td id="LC13595" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13596" class="css-a4x74f"><span>13596</span></td><td id="LC13596" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-bottom-colors"</span>: { </code></td></tr><tr><td id="L13597" class="css-a4x74f"><span>13597</span></td><td id="LC13597" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>+ | none"</span>, </code></td></tr><tr><td id="L13598" class="css-a4x74f"><span>13598</span></td><td id="LC13598" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13599" class="css-a4x74f"><span>13599</span></td><td id="LC13599" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13600" class="css-a4x74f"><span>13600</span></td><td id="LC13600" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13601" class="css-a4x74f"><span>13601</span></td><td id="LC13601" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13602" class="css-a4x74f"><span>13602</span></td><td id="LC13602" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13603" class="css-a4x74f"><span>13603</span></td><td id="LC13603" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13604" class="css-a4x74f"><span>13604</span></td><td id="LC13604" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13605" class="css-a4x74f"><span>13605</span></td><td id="LC13605" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13606" class="css-a4x74f"><span>13606</span></td><td id="LC13606" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13607" class="css-a4x74f"><span>13607</span></td><td id="LC13607" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13608" class="css-a4x74f"><span>13608</span></td><td id="LC13608" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13609" class="css-a4x74f"><span>13609</span></td><td id="LC13609" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13610" class="css-a4x74f"><span>13610</span></td><td id="LC13610" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"</span> </code></td></tr><tr><td id="L13611" class="css-a4x74f"><span>13611</span></td><td id="LC13611" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13612" class="css-a4x74f"><span>13612</span></td><td id="LC13612" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-left-colors"</span>: { </code></td></tr><tr><td id="L13613" class="css-a4x74f"><span>13613</span></td><td id="LC13613" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>+ | none"</span>, </code></td></tr><tr><td id="L13614" class="css-a4x74f"><span>13614</span></td><td id="LC13614" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13615" class="css-a4x74f"><span>13615</span></td><td id="LC13615" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13616" class="css-a4x74f"><span>13616</span></td><td id="LC13616" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13617" class="css-a4x74f"><span>13617</span></td><td id="LC13617" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13618" class="css-a4x74f"><span>13618</span></td><td id="LC13618" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13619" class="css-a4x74f"><span>13619</span></td><td id="LC13619" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13620" class="css-a4x74f"><span>13620</span></td><td id="LC13620" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13621" class="css-a4x74f"><span>13621</span></td><td id="LC13621" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13622" class="css-a4x74f"><span>13622</span></td><td id="LC13622" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13623" class="css-a4x74f"><span>13623</span></td><td id="LC13623" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13624" class="css-a4x74f"><span>13624</span></td><td id="LC13624" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13625" class="css-a4x74f"><span>13625</span></td><td id="LC13625" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13626" class="css-a4x74f"><span>13626</span></td><td id="LC13626" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"</span> </code></td></tr><tr><td id="L13627" class="css-a4x74f"><span>13627</span></td><td id="LC13627" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13628" class="css-a4x74f"><span>13628</span></td><td id="LC13628" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-right-colors"</span>: { </code></td></tr><tr><td id="L13629" class="css-a4x74f"><span>13629</span></td><td id="LC13629" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>+ | none"</span>, </code></td></tr><tr><td id="L13630" class="css-a4x74f"><span>13630</span></td><td id="LC13630" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13631" class="css-a4x74f"><span>13631</span></td><td id="LC13631" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13632" class="css-a4x74f"><span>13632</span></td><td id="LC13632" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13633" class="css-a4x74f"><span>13633</span></td><td id="LC13633" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13634" class="css-a4x74f"><span>13634</span></td><td id="LC13634" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13635" class="css-a4x74f"><span>13635</span></td><td id="LC13635" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13636" class="css-a4x74f"><span>13636</span></td><td id="LC13636" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13637" class="css-a4x74f"><span>13637</span></td><td id="LC13637" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13638" class="css-a4x74f"><span>13638</span></td><td id="LC13638" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13639" class="css-a4x74f"><span>13639</span></td><td id="LC13639" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13640" class="css-a4x74f"><span>13640</span></td><td id="LC13640" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13641" class="css-a4x74f"><span>13641</span></td><td id="LC13641" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13642" class="css-a4x74f"><span>13642</span></td><td id="LC13642" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"</span> </code></td></tr><tr><td id="L13643" class="css-a4x74f"><span>13643</span></td><td id="LC13643" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13644" class="css-a4x74f"><span>13644</span></td><td id="LC13644" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-top-colors"</span>: { </code></td></tr><tr><td id="L13645" class="css-a4x74f"><span>13645</span></td><td id="LC13645" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>+ | none"</span>, </code></td></tr><tr><td id="L13646" class="css-a4x74f"><span>13646</span></td><td id="LC13646" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13647" class="css-a4x74f"><span>13647</span></td><td id="LC13647" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13648" class="css-a4x74f"><span>13648</span></td><td id="LC13648" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13649" class="css-a4x74f"><span>13649</span></td><td id="LC13649" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13650" class="css-a4x74f"><span>13650</span></td><td id="LC13650" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13651" class="css-a4x74f"><span>13651</span></td><td id="LC13651" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13652" class="css-a4x74f"><span>13652</span></td><td id="LC13652" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13653" class="css-a4x74f"><span>13653</span></td><td id="LC13653" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13654" class="css-a4x74f"><span>13654</span></td><td id="LC13654" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13655" class="css-a4x74f"><span>13655</span></td><td id="LC13655" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13656" class="css-a4x74f"><span>13656</span></td><td id="LC13656" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13657" class="css-a4x74f"><span>13657</span></td><td id="LC13657" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13658" class="css-a4x74f"><span>13658</span></td><td id="LC13658" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"</span> </code></td></tr><tr><td id="L13659" class="css-a4x74f"><span>13659</span></td><td id="LC13659" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13660" class="css-a4x74f"><span>13660</span></td><td id="LC13660" class="css-1dcdqdg"><code> <span class="code-string">"-moz-context-properties"</span>: { </code></td></tr><tr><td id="L13661" class="css-a4x74f"><span>13661</span></td><td id="LC13661" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ fill | fill-opacity | stroke | stroke-opacity ]#"</span>, </code></td></tr><tr><td id="L13662" class="css-a4x74f"><span>13662</span></td><td id="LC13662" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13663" class="css-a4x74f"><span>13663</span></td><td id="LC13663" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13664" class="css-a4x74f"><span>13664</span></td><td id="LC13664" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13665" class="css-a4x74f"><span>13665</span></td><td id="LC13665" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13666" class="css-a4x74f"><span>13666</span></td><td id="LC13666" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13667" class="css-a4x74f"><span>13667</span></td><td id="LC13667" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13668" class="css-a4x74f"><span>13668</span></td><td id="LC13668" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13669" class="css-a4x74f"><span>13669</span></td><td id="LC13669" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13670" class="css-a4x74f"><span>13670</span></td><td id="LC13670" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsThatCanReferenceImages"</span>, </code></td></tr><tr><td id="L13671" class="css-a4x74f"><span>13671</span></td><td id="LC13671" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13672" class="css-a4x74f"><span>13672</span></td><td id="LC13672" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13673" class="css-a4x74f"><span>13673</span></td><td id="LC13673" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13674" class="css-a4x74f"><span>13674</span></td><td id="LC13674" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"</span> </code></td></tr><tr><td id="L13675" class="css-a4x74f"><span>13675</span></td><td id="LC13675" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13676" class="css-a4x74f"><span>13676</span></td><td id="LC13676" class="css-1dcdqdg"><code> <span class="code-string">"-moz-float-edge"</span>: { </code></td></tr><tr><td id="L13677" class="css-a4x74f"><span>13677</span></td><td id="LC13677" class="css-1dcdqdg"><code> syntax: <span class="code-string">"border-box | content-box | margin-box | padding-box"</span>, </code></td></tr><tr><td id="L13678" class="css-a4x74f"><span>13678</span></td><td id="LC13678" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13679" class="css-a4x74f"><span>13679</span></td><td id="LC13679" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13680" class="css-a4x74f"><span>13680</span></td><td id="LC13680" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13681" class="css-a4x74f"><span>13681</span></td><td id="LC13681" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13682" class="css-a4x74f"><span>13682</span></td><td id="LC13682" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13683" class="css-a4x74f"><span>13683</span></td><td id="LC13683" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13684" class="css-a4x74f"><span>13684</span></td><td id="LC13684" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13685" class="css-a4x74f"><span>13685</span></td><td id="LC13685" class="css-1dcdqdg"><code> initial: <span class="code-string">"content-box"</span>, </code></td></tr><tr><td id="L13686" class="css-a4x74f"><span>13686</span></td><td id="LC13686" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13687" class="css-a4x74f"><span>13687</span></td><td id="LC13687" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13688" class="css-a4x74f"><span>13688</span></td><td id="LC13688" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13689" class="css-a4x74f"><span>13689</span></td><td id="LC13689" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13690" class="css-a4x74f"><span>13690</span></td><td id="LC13690" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"</span> </code></td></tr><tr><td id="L13691" class="css-a4x74f"><span>13691</span></td><td id="LC13691" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13692" class="css-a4x74f"><span>13692</span></td><td id="LC13692" class="css-1dcdqdg"><code> <span class="code-string">"-moz-force-broken-image-icon"</span>: { </code></td></tr><tr><td id="L13693" class="css-a4x74f"><span>13693</span></td><td id="LC13693" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L13694" class="css-a4x74f"><span>13694</span></td><td id="LC13694" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13695" class="css-a4x74f"><span>13695</span></td><td id="LC13695" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13696" class="css-a4x74f"><span>13696</span></td><td id="LC13696" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13697" class="css-a4x74f"><span>13697</span></td><td id="LC13697" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13698" class="css-a4x74f"><span>13698</span></td><td id="LC13698" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13699" class="css-a4x74f"><span>13699</span></td><td id="LC13699" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13700" class="css-a4x74f"><span>13700</span></td><td id="LC13700" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13701" class="css-a4x74f"><span>13701</span></td><td id="LC13701" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13702" class="css-a4x74f"><span>13702</span></td><td id="LC13702" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"images"</span>, </code></td></tr><tr><td id="L13703" class="css-a4x74f"><span>13703</span></td><td id="LC13703" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13704" class="css-a4x74f"><span>13704</span></td><td id="LC13704" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13705" class="css-a4x74f"><span>13705</span></td><td id="LC13705" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13706" class="css-a4x74f"><span>13706</span></td><td id="LC13706" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"</span> </code></td></tr><tr><td id="L13707" class="css-a4x74f"><span>13707</span></td><td id="LC13707" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13708" class="css-a4x74f"><span>13708</span></td><td id="LC13708" class="css-1dcdqdg"><code> <span class="code-string">"-moz-image-region"</span>: { </code></td></tr><tr><td id="L13709" class="css-a4x74f"><span>13709</span></td><td id="LC13709" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<shape> | auto"</span>, </code></td></tr><tr><td id="L13710" class="css-a4x74f"><span>13710</span></td><td id="LC13710" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13711" class="css-a4x74f"><span>13711</span></td><td id="LC13711" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13712" class="css-a4x74f"><span>13712</span></td><td id="LC13712" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13713" class="css-a4x74f"><span>13713</span></td><td id="LC13713" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13714" class="css-a4x74f"><span>13714</span></td><td id="LC13714" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13715" class="css-a4x74f"><span>13715</span></td><td id="LC13715" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13716" class="css-a4x74f"><span>13716</span></td><td id="LC13716" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13717" class="css-a4x74f"><span>13717</span></td><td id="LC13717" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13718" class="css-a4x74f"><span>13718</span></td><td id="LC13718" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"xulImageElements"</span>, </code></td></tr><tr><td id="L13719" class="css-a4x74f"><span>13719</span></td><td id="LC13719" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13720" class="css-a4x74f"><span>13720</span></td><td id="LC13720" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13721" class="css-a4x74f"><span>13721</span></td><td id="LC13721" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13722" class="css-a4x74f"><span>13722</span></td><td id="LC13722" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"</span> </code></td></tr><tr><td id="L13723" class="css-a4x74f"><span>13723</span></td><td id="LC13723" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13724" class="css-a4x74f"><span>13724</span></td><td id="LC13724" class="css-1dcdqdg"><code> <span class="code-string">"-moz-orient"</span>: { </code></td></tr><tr><td id="L13725" class="css-a4x74f"><span>13725</span></td><td id="LC13725" class="css-1dcdqdg"><code> syntax: <span class="code-string">"inline | block | horizontal | vertical"</span>, </code></td></tr><tr><td id="L13726" class="css-a4x74f"><span>13726</span></td><td id="LC13726" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13727" class="css-a4x74f"><span>13727</span></td><td id="LC13727" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13728" class="css-a4x74f"><span>13728</span></td><td id="LC13728" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13729" class="css-a4x74f"><span>13729</span></td><td id="LC13729" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13730" class="css-a4x74f"><span>13730</span></td><td id="LC13730" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13731" class="css-a4x74f"><span>13731</span></td><td id="LC13731" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13732" class="css-a4x74f"><span>13732</span></td><td id="LC13732" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13733" class="css-a4x74f"><span>13733</span></td><td id="LC13733" class="css-1dcdqdg"><code> initial: <span class="code-string">"inline"</span>, </code></td></tr><tr><td id="L13734" class="css-a4x74f"><span>13734</span></td><td id="LC13734" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"anyElementEffectOnProgressAndMeter"</span>, </code></td></tr><tr><td id="L13735" class="css-a4x74f"><span>13735</span></td><td id="LC13735" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13736" class="css-a4x74f"><span>13736</span></td><td id="LC13736" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13737" class="css-a4x74f"><span>13737</span></td><td id="LC13737" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13738" class="css-a4x74f"><span>13738</span></td><td id="LC13738" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"</span> </code></td></tr><tr><td id="L13739" class="css-a4x74f"><span>13739</span></td><td id="LC13739" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13740" class="css-a4x74f"><span>13740</span></td><td id="LC13740" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius"</span>: { </code></td></tr><tr><td id="L13741" class="css-a4x74f"><span>13741</span></td><td id="LC13741" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?"</span>, </code></td></tr><tr><td id="L13742" class="css-a4x74f"><span>13742</span></td><td id="LC13742" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13743" class="css-a4x74f"><span>13743</span></td><td id="LC13743" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13744" class="css-a4x74f"><span>13744</span></td><td id="LC13744" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L13745" class="css-a4x74f"><span>13745</span></td><td id="LC13745" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topleft"</span>, </code></td></tr><tr><td id="L13746" class="css-a4x74f"><span>13746</span></td><td id="LC13746" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topright"</span>, </code></td></tr><tr><td id="L13747" class="css-a4x74f"><span>13747</span></td><td id="LC13747" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomright"</span>, </code></td></tr><tr><td id="L13748" class="css-a4x74f"><span>13748</span></td><td id="LC13748" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomleft"</span> </code></td></tr><tr><td id="L13749" class="css-a4x74f"><span>13749</span></td><td id="LC13749" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13750" class="css-a4x74f"><span>13750</span></td><td id="LC13750" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L13751" class="css-a4x74f"><span>13751</span></td><td id="LC13751" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topleft"</span>, </code></td></tr><tr><td id="L13752" class="css-a4x74f"><span>13752</span></td><td id="LC13752" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topright"</span>, </code></td></tr><tr><td id="L13753" class="css-a4x74f"><span>13753</span></td><td id="LC13753" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomright"</span>, </code></td></tr><tr><td id="L13754" class="css-a4x74f"><span>13754</span></td><td id="LC13754" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomleft"</span> </code></td></tr><tr><td id="L13755" class="css-a4x74f"><span>13755</span></td><td id="LC13755" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13756" class="css-a4x74f"><span>13756</span></td><td id="LC13756" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13757" class="css-a4x74f"><span>13757</span></td><td id="LC13757" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13758" class="css-a4x74f"><span>13758</span></td><td id="LC13758" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13759" class="css-a4x74f"><span>13759</span></td><td id="LC13759" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L13760" class="css-a4x74f"><span>13760</span></td><td id="LC13760" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topleft"</span>, </code></td></tr><tr><td id="L13761" class="css-a4x74f"><span>13761</span></td><td id="LC13761" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topright"</span>, </code></td></tr><tr><td id="L13762" class="css-a4x74f"><span>13762</span></td><td id="LC13762" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomright"</span>, </code></td></tr><tr><td id="L13763" class="css-a4x74f"><span>13763</span></td><td id="LC13763" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomleft"</span> </code></td></tr><tr><td id="L13764" class="css-a4x74f"><span>13764</span></td><td id="LC13764" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13765" class="css-a4x74f"><span>13765</span></td><td id="LC13765" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13766" class="css-a4x74f"><span>13766</span></td><td id="LC13766" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L13767" class="css-a4x74f"><span>13767</span></td><td id="LC13767" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topleft"</span>, </code></td></tr><tr><td id="L13768" class="css-a4x74f"><span>13768</span></td><td id="LC13768" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topright"</span>, </code></td></tr><tr><td id="L13769" class="css-a4x74f"><span>13769</span></td><td id="LC13769" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomright"</span>, </code></td></tr><tr><td id="L13770" class="css-a4x74f"><span>13770</span></td><td id="LC13770" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomleft"</span> </code></td></tr><tr><td id="L13771" class="css-a4x74f"><span>13771</span></td><td id="LC13771" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13772" class="css-a4x74f"><span>13772</span></td><td id="LC13772" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13773" class="css-a4x74f"><span>13773</span></td><td id="LC13773" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13774" class="css-a4x74f"><span>13774</span></td><td id="LC13774" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"</span> </code></td></tr><tr><td id="L13775" class="css-a4x74f"><span>13775</span></td><td id="LC13775" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13776" class="css-a4x74f"><span>13776</span></td><td id="LC13776" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomleft"</span>: { </code></td></tr><tr><td id="L13777" class="css-a4x74f"><span>13777</span></td><td id="LC13777" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<outline-radius>"</span>, </code></td></tr><tr><td id="L13778" class="css-a4x74f"><span>13778</span></td><td id="LC13778" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13779" class="css-a4x74f"><span>13779</span></td><td id="LC13779" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13780" class="css-a4x74f"><span>13780</span></td><td id="LC13780" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L13781" class="css-a4x74f"><span>13781</span></td><td id="LC13781" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L13782" class="css-a4x74f"><span>13782</span></td><td id="LC13782" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13783" class="css-a4x74f"><span>13783</span></td><td id="LC13783" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13784" class="css-a4x74f"><span>13784</span></td><td id="LC13784" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13785" class="css-a4x74f"><span>13785</span></td><td id="LC13785" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13786" class="css-a4x74f"><span>13786</span></td><td id="LC13786" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13787" class="css-a4x74f"><span>13787</span></td><td id="LC13787" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13788" class="css-a4x74f"><span>13788</span></td><td id="LC13788" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13789" class="css-a4x74f"><span>13789</span></td><td id="LC13789" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13790" class="css-a4x74f"><span>13790</span></td><td id="LC13790" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"</span> </code></td></tr><tr><td id="L13791" class="css-a4x74f"><span>13791</span></td><td id="LC13791" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13792" class="css-a4x74f"><span>13792</span></td><td id="LC13792" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-bottomright"</span>: { </code></td></tr><tr><td id="L13793" class="css-a4x74f"><span>13793</span></td><td id="LC13793" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<outline-radius>"</span>, </code></td></tr><tr><td id="L13794" class="css-a4x74f"><span>13794</span></td><td id="LC13794" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13795" class="css-a4x74f"><span>13795</span></td><td id="LC13795" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13796" class="css-a4x74f"><span>13796</span></td><td id="LC13796" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L13797" class="css-a4x74f"><span>13797</span></td><td id="LC13797" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L13798" class="css-a4x74f"><span>13798</span></td><td id="LC13798" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13799" class="css-a4x74f"><span>13799</span></td><td id="LC13799" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13800" class="css-a4x74f"><span>13800</span></td><td id="LC13800" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13801" class="css-a4x74f"><span>13801</span></td><td id="LC13801" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13802" class="css-a4x74f"><span>13802</span></td><td id="LC13802" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13803" class="css-a4x74f"><span>13803</span></td><td id="LC13803" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13804" class="css-a4x74f"><span>13804</span></td><td id="LC13804" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13805" class="css-a4x74f"><span>13805</span></td><td id="LC13805" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13806" class="css-a4x74f"><span>13806</span></td><td id="LC13806" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"</span> </code></td></tr><tr><td id="L13807" class="css-a4x74f"><span>13807</span></td><td id="LC13807" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13808" class="css-a4x74f"><span>13808</span></td><td id="LC13808" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topleft"</span>: { </code></td></tr><tr><td id="L13809" class="css-a4x74f"><span>13809</span></td><td id="LC13809" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<outline-radius>"</span>, </code></td></tr><tr><td id="L13810" class="css-a4x74f"><span>13810</span></td><td id="LC13810" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13811" class="css-a4x74f"><span>13811</span></td><td id="LC13811" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13812" class="css-a4x74f"><span>13812</span></td><td id="LC13812" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L13813" class="css-a4x74f"><span>13813</span></td><td id="LC13813" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L13814" class="css-a4x74f"><span>13814</span></td><td id="LC13814" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13815" class="css-a4x74f"><span>13815</span></td><td id="LC13815" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13816" class="css-a4x74f"><span>13816</span></td><td id="LC13816" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13817" class="css-a4x74f"><span>13817</span></td><td id="LC13817" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13818" class="css-a4x74f"><span>13818</span></td><td id="LC13818" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13819" class="css-a4x74f"><span>13819</span></td><td id="LC13819" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13820" class="css-a4x74f"><span>13820</span></td><td id="LC13820" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13821" class="css-a4x74f"><span>13821</span></td><td id="LC13821" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13822" class="css-a4x74f"><span>13822</span></td><td id="LC13822" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"</span> </code></td></tr><tr><td id="L13823" class="css-a4x74f"><span>13823</span></td><td id="LC13823" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13824" class="css-a4x74f"><span>13824</span></td><td id="LC13824" class="css-1dcdqdg"><code> <span class="code-string">"-moz-outline-radius-topright"</span>: { </code></td></tr><tr><td id="L13825" class="css-a4x74f"><span>13825</span></td><td id="LC13825" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<outline-radius>"</span>, </code></td></tr><tr><td id="L13826" class="css-a4x74f"><span>13826</span></td><td id="LC13826" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13827" class="css-a4x74f"><span>13827</span></td><td id="LC13827" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13828" class="css-a4x74f"><span>13828</span></td><td id="LC13828" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L13829" class="css-a4x74f"><span>13829</span></td><td id="LC13829" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L13830" class="css-a4x74f"><span>13830</span></td><td id="LC13830" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13831" class="css-a4x74f"><span>13831</span></td><td id="LC13831" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13832" class="css-a4x74f"><span>13832</span></td><td id="LC13832" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13833" class="css-a4x74f"><span>13833</span></td><td id="LC13833" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L13834" class="css-a4x74f"><span>13834</span></td><td id="LC13834" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13835" class="css-a4x74f"><span>13835</span></td><td id="LC13835" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13836" class="css-a4x74f"><span>13836</span></td><td id="LC13836" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13837" class="css-a4x74f"><span>13837</span></td><td id="LC13837" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13838" class="css-a4x74f"><span>13838</span></td><td id="LC13838" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"</span> </code></td></tr><tr><td id="L13839" class="css-a4x74f"><span>13839</span></td><td id="LC13839" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13840" class="css-a4x74f"><span>13840</span></td><td id="LC13840" class="css-1dcdqdg"><code> <span class="code-string">"-moz-stack-sizing"</span>: { </code></td></tr><tr><td id="L13841" class="css-a4x74f"><span>13841</span></td><td id="LC13841" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ignore | stretch-to-fit"</span>, </code></td></tr><tr><td id="L13842" class="css-a4x74f"><span>13842</span></td><td id="LC13842" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13843" class="css-a4x74f"><span>13843</span></td><td id="LC13843" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13844" class="css-a4x74f"><span>13844</span></td><td id="LC13844" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13845" class="css-a4x74f"><span>13845</span></td><td id="LC13845" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13846" class="css-a4x74f"><span>13846</span></td><td id="LC13846" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13847" class="css-a4x74f"><span>13847</span></td><td id="LC13847" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13848" class="css-a4x74f"><span>13848</span></td><td id="LC13848" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13849" class="css-a4x74f"><span>13849</span></td><td id="LC13849" class="css-1dcdqdg"><code> initial: <span class="code-string">"stretch-to-fit"</span>, </code></td></tr><tr><td id="L13850" class="css-a4x74f"><span>13850</span></td><td id="LC13850" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13851" class="css-a4x74f"><span>13851</span></td><td id="LC13851" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13852" class="css-a4x74f"><span>13852</span></td><td id="LC13852" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13853" class="css-a4x74f"><span>13853</span></td><td id="LC13853" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13854" class="css-a4x74f"><span>13854</span></td><td id="LC13854" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"</span> </code></td></tr><tr><td id="L13855" class="css-a4x74f"><span>13855</span></td><td id="LC13855" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13856" class="css-a4x74f"><span>13856</span></td><td id="LC13856" class="css-1dcdqdg"><code> <span class="code-string">"-moz-text-blink"</span>: { </code></td></tr><tr><td id="L13857" class="css-a4x74f"><span>13857</span></td><td id="LC13857" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | blink"</span>, </code></td></tr><tr><td id="L13858" class="css-a4x74f"><span>13858</span></td><td id="LC13858" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13859" class="css-a4x74f"><span>13859</span></td><td id="LC13859" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13860" class="css-a4x74f"><span>13860</span></td><td id="LC13860" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13861" class="css-a4x74f"><span>13861</span></td><td id="LC13861" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13862" class="css-a4x74f"><span>13862</span></td><td id="LC13862" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13863" class="css-a4x74f"><span>13863</span></td><td id="LC13863" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13864" class="css-a4x74f"><span>13864</span></td><td id="LC13864" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13865" class="css-a4x74f"><span>13865</span></td><td id="LC13865" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13866" class="css-a4x74f"><span>13866</span></td><td id="LC13866" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13867" class="css-a4x74f"><span>13867</span></td><td id="LC13867" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13868" class="css-a4x74f"><span>13868</span></td><td id="LC13868" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13869" class="css-a4x74f"><span>13869</span></td><td id="LC13869" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13870" class="css-a4x74f"><span>13870</span></td><td id="LC13870" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"</span> </code></td></tr><tr><td id="L13871" class="css-a4x74f"><span>13871</span></td><td id="LC13871" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13872" class="css-a4x74f"><span>13872</span></td><td id="LC13872" class="css-1dcdqdg"><code> <span class="code-string">"-moz-user-focus"</span>: { </code></td></tr><tr><td id="L13873" class="css-a4x74f"><span>13873</span></td><td id="LC13873" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none"</span>, </code></td></tr><tr><td id="L13874" class="css-a4x74f"><span>13874</span></td><td id="LC13874" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13875" class="css-a4x74f"><span>13875</span></td><td id="LC13875" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13876" class="css-a4x74f"><span>13876</span></td><td id="LC13876" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13877" class="css-a4x74f"><span>13877</span></td><td id="LC13877" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13878" class="css-a4x74f"><span>13878</span></td><td id="LC13878" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13879" class="css-a4x74f"><span>13879</span></td><td id="LC13879" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13880" class="css-a4x74f"><span>13880</span></td><td id="LC13880" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13881" class="css-a4x74f"><span>13881</span></td><td id="LC13881" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L13882" class="css-a4x74f"><span>13882</span></td><td id="LC13882" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13883" class="css-a4x74f"><span>13883</span></td><td id="LC13883" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13884" class="css-a4x74f"><span>13884</span></td><td id="LC13884" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13885" class="css-a4x74f"><span>13885</span></td><td id="LC13885" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13886" class="css-a4x74f"><span>13886</span></td><td id="LC13886" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"</span> </code></td></tr><tr><td id="L13887" class="css-a4x74f"><span>13887</span></td><td id="LC13887" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13888" class="css-a4x74f"><span>13888</span></td><td id="LC13888" class="css-1dcdqdg"><code> <span class="code-string">"-moz-user-input"</span>: { </code></td></tr><tr><td id="L13889" class="css-a4x74f"><span>13889</span></td><td id="LC13889" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | enabled | disabled"</span>, </code></td></tr><tr><td id="L13890" class="css-a4x74f"><span>13890</span></td><td id="LC13890" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13891" class="css-a4x74f"><span>13891</span></td><td id="LC13891" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13892" class="css-a4x74f"><span>13892</span></td><td id="LC13892" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13893" class="css-a4x74f"><span>13893</span></td><td id="LC13893" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13894" class="css-a4x74f"><span>13894</span></td><td id="LC13894" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13895" class="css-a4x74f"><span>13895</span></td><td id="LC13895" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13896" class="css-a4x74f"><span>13896</span></td><td id="LC13896" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13897" class="css-a4x74f"><span>13897</span></td><td id="LC13897" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L13898" class="css-a4x74f"><span>13898</span></td><td id="LC13898" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13899" class="css-a4x74f"><span>13899</span></td><td id="LC13899" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13900" class="css-a4x74f"><span>13900</span></td><td id="LC13900" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13901" class="css-a4x74f"><span>13901</span></td><td id="LC13901" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13902" class="css-a4x74f"><span>13902</span></td><td id="LC13902" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"</span> </code></td></tr><tr><td id="L13903" class="css-a4x74f"><span>13903</span></td><td id="LC13903" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13904" class="css-a4x74f"><span>13904</span></td><td id="LC13904" class="css-1dcdqdg"><code> <span class="code-string">"-moz-user-modify"</span>: { </code></td></tr><tr><td id="L13905" class="css-a4x74f"><span>13905</span></td><td id="LC13905" class="css-1dcdqdg"><code> syntax: <span class="code-string">"read-only | read-write | write-only"</span>, </code></td></tr><tr><td id="L13906" class="css-a4x74f"><span>13906</span></td><td id="LC13906" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L13907" class="css-a4x74f"><span>13907</span></td><td id="LC13907" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13908" class="css-a4x74f"><span>13908</span></td><td id="LC13908" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13909" class="css-a4x74f"><span>13909</span></td><td id="LC13909" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13910" class="css-a4x74f"><span>13910</span></td><td id="LC13910" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13911" class="css-a4x74f"><span>13911</span></td><td id="LC13911" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13912" class="css-a4x74f"><span>13912</span></td><td id="LC13912" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13913" class="css-a4x74f"><span>13913</span></td><td id="LC13913" class="css-1dcdqdg"><code> initial: <span class="code-string">"read-only"</span>, </code></td></tr><tr><td id="L13914" class="css-a4x74f"><span>13914</span></td><td id="LC13914" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13915" class="css-a4x74f"><span>13915</span></td><td id="LC13915" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13916" class="css-a4x74f"><span>13916</span></td><td id="LC13916" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13917" class="css-a4x74f"><span>13917</span></td><td id="LC13917" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13918" class="css-a4x74f"><span>13918</span></td><td id="LC13918" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"</span> </code></td></tr><tr><td id="L13919" class="css-a4x74f"><span>13919</span></td><td id="LC13919" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13920" class="css-a4x74f"><span>13920</span></td><td id="LC13920" class="css-1dcdqdg"><code> <span class="code-string">"-moz-window-dragging"</span>: { </code></td></tr><tr><td id="L13921" class="css-a4x74f"><span>13921</span></td><td id="LC13921" class="css-1dcdqdg"><code> syntax: <span class="code-string">"drag | no-drag"</span>, </code></td></tr><tr><td id="L13922" class="css-a4x74f"><span>13922</span></td><td id="LC13922" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13923" class="css-a4x74f"><span>13923</span></td><td id="LC13923" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13924" class="css-a4x74f"><span>13924</span></td><td id="LC13924" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13925" class="css-a4x74f"><span>13925</span></td><td id="LC13925" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13926" class="css-a4x74f"><span>13926</span></td><td id="LC13926" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13927" class="css-a4x74f"><span>13927</span></td><td id="LC13927" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13928" class="css-a4x74f"><span>13928</span></td><td id="LC13928" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13929" class="css-a4x74f"><span>13929</span></td><td id="LC13929" class="css-1dcdqdg"><code> initial: <span class="code-string">"drag"</span>, </code></td></tr><tr><td id="L13930" class="css-a4x74f"><span>13930</span></td><td id="LC13930" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsCreatingNativeWindows"</span>, </code></td></tr><tr><td id="L13931" class="css-a4x74f"><span>13931</span></td><td id="LC13931" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13932" class="css-a4x74f"><span>13932</span></td><td id="LC13932" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13933" class="css-a4x74f"><span>13933</span></td><td id="LC13933" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13934" class="css-a4x74f"><span>13934</span></td><td id="LC13934" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"</span> </code></td></tr><tr><td id="L13935" class="css-a4x74f"><span>13935</span></td><td id="LC13935" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13936" class="css-a4x74f"><span>13936</span></td><td id="LC13936" class="css-1dcdqdg"><code> <span class="code-string">"-moz-window-shadow"</span>: { </code></td></tr><tr><td id="L13937" class="css-a4x74f"><span>13937</span></td><td id="LC13937" class="css-1dcdqdg"><code> syntax: <span class="code-string">"default | menu | tooltip | sheet | none"</span>, </code></td></tr><tr><td id="L13938" class="css-a4x74f"><span>13938</span></td><td id="LC13938" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13939" class="css-a4x74f"><span>13939</span></td><td id="LC13939" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13940" class="css-a4x74f"><span>13940</span></td><td id="LC13940" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13941" class="css-a4x74f"><span>13941</span></td><td id="LC13941" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13942" class="css-a4x74f"><span>13942</span></td><td id="LC13942" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13943" class="css-a4x74f"><span>13943</span></td><td id="LC13943" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L13944" class="css-a4x74f"><span>13944</span></td><td id="LC13944" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13945" class="css-a4x74f"><span>13945</span></td><td id="LC13945" class="css-1dcdqdg"><code> initial: <span class="code-string">"default"</span>, </code></td></tr><tr><td id="L13946" class="css-a4x74f"><span>13946</span></td><td id="LC13946" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsCreatingNativeWindows"</span>, </code></td></tr><tr><td id="L13947" class="css-a4x74f"><span>13947</span></td><td id="LC13947" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13948" class="css-a4x74f"><span>13948</span></td><td id="LC13948" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13949" class="css-a4x74f"><span>13949</span></td><td id="LC13949" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13950" class="css-a4x74f"><span>13950</span></td><td id="LC13950" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"</span> </code></td></tr><tr><td id="L13951" class="css-a4x74f"><span>13951</span></td><td id="LC13951" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13952" class="css-a4x74f"><span>13952</span></td><td id="LC13952" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-appearance"</span>: { </code></td></tr><tr><td id="L13953" class="css-a4x74f"><span>13953</span></td><td id="LC13953" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield"</span>, </code></td></tr><tr><td id="L13954" class="css-a4x74f"><span>13954</span></td><td id="LC13954" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13955" class="css-a4x74f"><span>13955</span></td><td id="LC13955" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L13956" class="css-a4x74f"><span>13956</span></td><td id="LC13956" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13957" class="css-a4x74f"><span>13957</span></td><td id="LC13957" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L13958" class="css-a4x74f"><span>13958</span></td><td id="LC13958" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13959" class="css-a4x74f"><span>13959</span></td><td id="LC13959" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L13960" class="css-a4x74f"><span>13960</span></td><td id="LC13960" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13961" class="css-a4x74f"><span>13961</span></td><td id="LC13961" class="css-1dcdqdg"><code> initial: <span class="code-string">"noneButOverriddenInUserAgentCSS"</span>, </code></td></tr><tr><td id="L13962" class="css-a4x74f"><span>13962</span></td><td id="LC13962" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13963" class="css-a4x74f"><span>13963</span></td><td id="LC13963" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L13964" class="css-a4x74f"><span>13964</span></td><td id="LC13964" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13965" class="css-a4x74f"><span>13965</span></td><td id="LC13965" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13966" class="css-a4x74f"><span>13966</span></td><td id="LC13966" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-moz-appearance"</span> </code></td></tr><tr><td id="L13967" class="css-a4x74f"><span>13967</span></td><td id="LC13967" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13968" class="css-a4x74f"><span>13968</span></td><td id="LC13968" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-border-before"</span>: { </code></td></tr><tr><td id="L13969" class="css-a4x74f"><span>13969</span></td><td id="LC13969" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-width'> || <'border-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L13970" class="css-a4x74f"><span>13970</span></td><td id="LC13970" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13971" class="css-a4x74f"><span>13971</span></td><td id="LC13971" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13972" class="css-a4x74f"><span>13972</span></td><td id="LC13972" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13973" class="css-a4x74f"><span>13973</span></td><td id="LC13973" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L13974" class="css-a4x74f"><span>13974</span></td><td id="LC13974" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-border-before-width"</span> </code></td></tr><tr><td id="L13975" class="css-a4x74f"><span>13975</span></td><td id="LC13975" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13976" class="css-a4x74f"><span>13976</span></td><td id="LC13976" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L13977" class="css-a4x74f"><span>13977</span></td><td id="LC13977" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L13978" class="css-a4x74f"><span>13978</span></td><td id="LC13978" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13979" class="css-a4x74f"><span>13979</span></td><td id="LC13979" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L13980" class="css-a4x74f"><span>13980</span></td><td id="LC13980" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L13981" class="css-a4x74f"><span>13981</span></td><td id="LC13981" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L13982" class="css-a4x74f"><span>13982</span></td><td id="LC13982" class="css-1dcdqdg"><code> <span class="code-string">"color"</span> </code></td></tr><tr><td id="L13983" class="css-a4x74f"><span>13983</span></td><td id="LC13983" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13984" class="css-a4x74f"><span>13984</span></td><td id="LC13984" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L13985" class="css-a4x74f"><span>13985</span></td><td id="LC13985" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L13986" class="css-a4x74f"><span>13986</span></td><td id="LC13986" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L13987" class="css-a4x74f"><span>13987</span></td><td id="LC13987" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L13988" class="css-a4x74f"><span>13988</span></td><td id="LC13988" class="css-1dcdqdg"><code> <span class="code-string">"color"</span> </code></td></tr><tr><td id="L13989" class="css-a4x74f"><span>13989</span></td><td id="LC13989" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L13990" class="css-a4x74f"><span>13990</span></td><td id="LC13990" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L13991" class="css-a4x74f"><span>13991</span></td><td id="LC13991" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L13992" class="css-a4x74f"><span>13992</span></td><td id="LC13992" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"</span> </code></td></tr><tr><td id="L13993" class="css-a4x74f"><span>13993</span></td><td id="LC13993" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L13994" class="css-a4x74f"><span>13994</span></td><td id="LC13994" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-border-before-color"</span>: { </code></td></tr><tr><td id="L13995" class="css-a4x74f"><span>13995</span></td><td id="LC13995" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'color'>"</span>, </code></td></tr><tr><td id="L13996" class="css-a4x74f"><span>13996</span></td><td id="LC13996" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L13997" class="css-a4x74f"><span>13997</span></td><td id="LC13997" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L13998" class="css-a4x74f"><span>13998</span></td><td id="LC13998" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L13999" class="css-a4x74f"><span>13999</span></td><td id="LC13999" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14000" class="css-a4x74f"><span>14000</span></td><td id="LC14000" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14001" class="css-a4x74f"><span>14001</span></td><td id="LC14001" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14002" class="css-a4x74f"><span>14002</span></td><td id="LC14002" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14003" class="css-a4x74f"><span>14003</span></td><td id="LC14003" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L14004" class="css-a4x74f"><span>14004</span></td><td id="LC14004" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14005" class="css-a4x74f"><span>14005</span></td><td id="LC14005" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L14006" class="css-a4x74f"><span>14006</span></td><td id="LC14006" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14007" class="css-a4x74f"><span>14007</span></td><td id="LC14007" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span> </code></td></tr><tr><td id="L14008" class="css-a4x74f"><span>14008</span></td><td id="LC14008" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14009" class="css-a4x74f"><span>14009</span></td><td id="LC14009" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-border-before-style"</span>: { </code></td></tr><tr><td id="L14010" class="css-a4x74f"><span>14010</span></td><td id="LC14010" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-style'>"</span>, </code></td></tr><tr><td id="L14011" class="css-a4x74f"><span>14011</span></td><td id="LC14011" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14012" class="css-a4x74f"><span>14012</span></td><td id="LC14012" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14013" class="css-a4x74f"><span>14013</span></td><td id="LC14013" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14014" class="css-a4x74f"><span>14014</span></td><td id="LC14014" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14015" class="css-a4x74f"><span>14015</span></td><td id="LC14015" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14016" class="css-a4x74f"><span>14016</span></td><td id="LC14016" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14017" class="css-a4x74f"><span>14017</span></td><td id="LC14017" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14018" class="css-a4x74f"><span>14018</span></td><td id="LC14018" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14019" class="css-a4x74f"><span>14019</span></td><td id="LC14019" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14020" class="css-a4x74f"><span>14020</span></td><td id="LC14020" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14021" class="css-a4x74f"><span>14021</span></td><td id="LC14021" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14022" class="css-a4x74f"><span>14022</span></td><td id="LC14022" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span> </code></td></tr><tr><td id="L14023" class="css-a4x74f"><span>14023</span></td><td id="LC14023" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14024" class="css-a4x74f"><span>14024</span></td><td id="LC14024" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-border-before-width"</span>: { </code></td></tr><tr><td id="L14025" class="css-a4x74f"><span>14025</span></td><td id="LC14025" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-width'>"</span>, </code></td></tr><tr><td id="L14026" class="css-a4x74f"><span>14026</span></td><td id="LC14026" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14027" class="css-a4x74f"><span>14027</span></td><td id="LC14027" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14028" class="css-a4x74f"><span>14028</span></td><td id="LC14028" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14029" class="css-a4x74f"><span>14029</span></td><td id="LC14029" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L14030" class="css-a4x74f"><span>14030</span></td><td id="LC14030" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14031" class="css-a4x74f"><span>14031</span></td><td id="LC14031" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14032" class="css-a4x74f"><span>14032</span></td><td id="LC14032" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14033" class="css-a4x74f"><span>14033</span></td><td id="LC14033" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L14034" class="css-a4x74f"><span>14034</span></td><td id="LC14034" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14035" class="css-a4x74f"><span>14035</span></td><td id="LC14035" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L14036" class="css-a4x74f"><span>14036</span></td><td id="LC14036" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14037" class="css-a4x74f"><span>14037</span></td><td id="LC14037" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span> </code></td></tr><tr><td id="L14038" class="css-a4x74f"><span>14038</span></td><td id="LC14038" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14039" class="css-a4x74f"><span>14039</span></td><td id="LC14039" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-box-reflect"</span>: { </code></td></tr><tr><td id="L14040" class="css-a4x74f"><span>14040</span></td><td id="LC14040" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ above | below | right | left ]? <length>? <image>?"</span>, </code></td></tr><tr><td id="L14041" class="css-a4x74f"><span>14041</span></td><td id="LC14041" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14042" class="css-a4x74f"><span>14042</span></td><td id="LC14042" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14043" class="css-a4x74f"><span>14043</span></td><td id="LC14043" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14044" class="css-a4x74f"><span>14044</span></td><td id="LC14044" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14045" class="css-a4x74f"><span>14045</span></td><td id="LC14045" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14046" class="css-a4x74f"><span>14046</span></td><td id="LC14046" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14047" class="css-a4x74f"><span>14047</span></td><td id="LC14047" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14048" class="css-a4x74f"><span>14048</span></td><td id="LC14048" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14049" class="css-a4x74f"><span>14049</span></td><td id="LC14049" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14050" class="css-a4x74f"><span>14050</span></td><td id="LC14050" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14051" class="css-a4x74f"><span>14051</span></td><td id="LC14051" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14052" class="css-a4x74f"><span>14052</span></td><td id="LC14052" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14053" class="css-a4x74f"><span>14053</span></td><td id="LC14053" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"</span> </code></td></tr><tr><td id="L14054" class="css-a4x74f"><span>14054</span></td><td id="LC14054" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14055" class="css-a4x74f"><span>14055</span></td><td id="LC14055" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-line-clamp"</span>: { </code></td></tr><tr><td id="L14056" class="css-a4x74f"><span>14056</span></td><td id="LC14056" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <integer>"</span>, </code></td></tr><tr><td id="L14057" class="css-a4x74f"><span>14057</span></td><td id="LC14057" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14058" class="css-a4x74f"><span>14058</span></td><td id="LC14058" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14059" class="css-a4x74f"><span>14059</span></td><td id="LC14059" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L14060" class="css-a4x74f"><span>14060</span></td><td id="LC14060" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14061" class="css-a4x74f"><span>14061</span></td><td id="LC14061" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14062" class="css-a4x74f"><span>14062</span></td><td id="LC14062" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span>, </code></td></tr><tr><td id="L14063" class="css-a4x74f"><span>14063</span></td><td id="LC14063" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L14064" class="css-a4x74f"><span>14064</span></td><td id="LC14064" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14065" class="css-a4x74f"><span>14065</span></td><td id="LC14065" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14066" class="css-a4x74f"><span>14066</span></td><td id="LC14066" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14067" class="css-a4x74f"><span>14067</span></td><td id="LC14067" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14068" class="css-a4x74f"><span>14068</span></td><td id="LC14068" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14069" class="css-a4x74f"><span>14069</span></td><td id="LC14069" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14070" class="css-a4x74f"><span>14070</span></td><td id="LC14070" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"</span> </code></td></tr><tr><td id="L14071" class="css-a4x74f"><span>14071</span></td><td id="LC14071" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14072" class="css-a4x74f"><span>14072</span></td><td id="LC14072" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask"</span>: { </code></td></tr><tr><td id="L14073" class="css-a4x74f"><span>14073</span></td><td id="LC14073" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#"</span>, </code></td></tr><tr><td id="L14074" class="css-a4x74f"><span>14074</span></td><td id="LC14074" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14075" class="css-a4x74f"><span>14075</span></td><td id="LC14075" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14076" class="css-a4x74f"><span>14076</span></td><td id="LC14076" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14077" class="css-a4x74f"><span>14077</span></td><td id="LC14077" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14078" class="css-a4x74f"><span>14078</span></td><td id="LC14078" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14079" class="css-a4x74f"><span>14079</span></td><td id="LC14079" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14080" class="css-a4x74f"><span>14080</span></td><td id="LC14080" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14081" class="css-a4x74f"><span>14081</span></td><td id="LC14081" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L14082" class="css-a4x74f"><span>14082</span></td><td id="LC14082" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-image"</span>, </code></td></tr><tr><td id="L14083" class="css-a4x74f"><span>14083</span></td><td id="LC14083" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-repeat"</span>, </code></td></tr><tr><td id="L14084" class="css-a4x74f"><span>14084</span></td><td id="LC14084" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-attachment"</span>, </code></td></tr><tr><td id="L14085" class="css-a4x74f"><span>14085</span></td><td id="LC14085" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-position"</span>, </code></td></tr><tr><td id="L14086" class="css-a4x74f"><span>14086</span></td><td id="LC14086" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-origin"</span>, </code></td></tr><tr><td id="L14087" class="css-a4x74f"><span>14087</span></td><td id="LC14087" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-clip"</span> </code></td></tr><tr><td id="L14088" class="css-a4x74f"><span>14088</span></td><td id="LC14088" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14089" class="css-a4x74f"><span>14089</span></td><td id="LC14089" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14090" class="css-a4x74f"><span>14090</span></td><td id="LC14090" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L14091" class="css-a4x74f"><span>14091</span></td><td id="LC14091" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-image"</span>, </code></td></tr><tr><td id="L14092" class="css-a4x74f"><span>14092</span></td><td id="LC14092" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-repeat"</span>, </code></td></tr><tr><td id="L14093" class="css-a4x74f"><span>14093</span></td><td id="LC14093" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-attachment"</span>, </code></td></tr><tr><td id="L14094" class="css-a4x74f"><span>14094</span></td><td id="LC14094" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-position"</span>, </code></td></tr><tr><td id="L14095" class="css-a4x74f"><span>14095</span></td><td id="LC14095" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-origin"</span>, </code></td></tr><tr><td id="L14096" class="css-a4x74f"><span>14096</span></td><td id="LC14096" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-clip"</span> </code></td></tr><tr><td id="L14097" class="css-a4x74f"><span>14097</span></td><td id="LC14097" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14098" class="css-a4x74f"><span>14098</span></td><td id="LC14098" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14099" class="css-a4x74f"><span>14099</span></td><td id="LC14099" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14100" class="css-a4x74f"><span>14100</span></td><td id="LC14100" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask"</span> </code></td></tr><tr><td id="L14101" class="css-a4x74f"><span>14101</span></td><td id="LC14101" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14102" class="css-a4x74f"><span>14102</span></td><td id="LC14102" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-attachment"</span>: { </code></td></tr><tr><td id="L14103" class="css-a4x74f"><span>14103</span></td><td id="LC14103" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<attachment>#"</span>, </code></td></tr><tr><td id="L14104" class="css-a4x74f"><span>14104</span></td><td id="LC14104" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14105" class="css-a4x74f"><span>14105</span></td><td id="LC14105" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14106" class="css-a4x74f"><span>14106</span></td><td id="LC14106" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14107" class="css-a4x74f"><span>14107</span></td><td id="LC14107" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14108" class="css-a4x74f"><span>14108</span></td><td id="LC14108" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14109" class="css-a4x74f"><span>14109</span></td><td id="LC14109" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14110" class="css-a4x74f"><span>14110</span></td><td id="LC14110" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14111" class="css-a4x74f"><span>14111</span></td><td id="LC14111" class="css-1dcdqdg"><code> initial: <span class="code-string">"scroll"</span>, </code></td></tr><tr><td id="L14112" class="css-a4x74f"><span>14112</span></td><td id="LC14112" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14113" class="css-a4x74f"><span>14113</span></td><td id="LC14113" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14114" class="css-a4x74f"><span>14114</span></td><td id="LC14114" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14115" class="css-a4x74f"><span>14115</span></td><td id="LC14115" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14116" class="css-a4x74f"><span>14116</span></td><td id="LC14116" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"</span> </code></td></tr><tr><td id="L14117" class="css-a4x74f"><span>14117</span></td><td id="LC14117" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14118" class="css-a4x74f"><span>14118</span></td><td id="LC14118" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-clip"</span>: { </code></td></tr><tr><td id="L14119" class="css-a4x74f"><span>14119</span></td><td id="LC14119" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <box> | border | padding | content | text ]#"</span>, </code></td></tr><tr><td id="L14120" class="css-a4x74f"><span>14120</span></td><td id="LC14120" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14121" class="css-a4x74f"><span>14121</span></td><td id="LC14121" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14122" class="css-a4x74f"><span>14122</span></td><td id="LC14122" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14123" class="css-a4x74f"><span>14123</span></td><td id="LC14123" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14124" class="css-a4x74f"><span>14124</span></td><td id="LC14124" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14125" class="css-a4x74f"><span>14125</span></td><td id="LC14125" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14126" class="css-a4x74f"><span>14126</span></td><td id="LC14126" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14127" class="css-a4x74f"><span>14127</span></td><td id="LC14127" class="css-1dcdqdg"><code> initial: <span class="code-string">"border"</span>, </code></td></tr><tr><td id="L14128" class="css-a4x74f"><span>14128</span></td><td id="LC14128" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14129" class="css-a4x74f"><span>14129</span></td><td id="LC14129" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14130" class="css-a4x74f"><span>14130</span></td><td id="LC14130" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14131" class="css-a4x74f"><span>14131</span></td><td id="LC14131" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14132" class="css-a4x74f"><span>14132</span></td><td id="LC14132" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-clip"</span> </code></td></tr><tr><td id="L14133" class="css-a4x74f"><span>14133</span></td><td id="LC14133" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14134" class="css-a4x74f"><span>14134</span></td><td id="LC14134" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-composite"</span>: { </code></td></tr><tr><td id="L14135" class="css-a4x74f"><span>14135</span></td><td id="LC14135" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<composite-style>#"</span>, </code></td></tr><tr><td id="L14136" class="css-a4x74f"><span>14136</span></td><td id="LC14136" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14137" class="css-a4x74f"><span>14137</span></td><td id="LC14137" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14138" class="css-a4x74f"><span>14138</span></td><td id="LC14138" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14139" class="css-a4x74f"><span>14139</span></td><td id="LC14139" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14140" class="css-a4x74f"><span>14140</span></td><td id="LC14140" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14141" class="css-a4x74f"><span>14141</span></td><td id="LC14141" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14142" class="css-a4x74f"><span>14142</span></td><td id="LC14142" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14143" class="css-a4x74f"><span>14143</span></td><td id="LC14143" class="css-1dcdqdg"><code> initial: <span class="code-string">"source-over"</span>, </code></td></tr><tr><td id="L14144" class="css-a4x74f"><span>14144</span></td><td id="LC14144" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14145" class="css-a4x74f"><span>14145</span></td><td id="LC14145" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14146" class="css-a4x74f"><span>14146</span></td><td id="LC14146" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14147" class="css-a4x74f"><span>14147</span></td><td id="LC14147" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14148" class="css-a4x74f"><span>14148</span></td><td id="LC14148" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"</span> </code></td></tr><tr><td id="L14149" class="css-a4x74f"><span>14149</span></td><td id="LC14149" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14150" class="css-a4x74f"><span>14150</span></td><td id="LC14150" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-image"</span>: { </code></td></tr><tr><td id="L14151" class="css-a4x74f"><span>14151</span></td><td id="LC14151" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mask-reference>#"</span>, </code></td></tr><tr><td id="L14152" class="css-a4x74f"><span>14152</span></td><td id="LC14152" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14153" class="css-a4x74f"><span>14153</span></td><td id="LC14153" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14154" class="css-a4x74f"><span>14154</span></td><td id="LC14154" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14155" class="css-a4x74f"><span>14155</span></td><td id="LC14155" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14156" class="css-a4x74f"><span>14156</span></td><td id="LC14156" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14157" class="css-a4x74f"><span>14157</span></td><td id="LC14157" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14158" class="css-a4x74f"><span>14158</span></td><td id="LC14158" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14159" class="css-a4x74f"><span>14159</span></td><td id="LC14159" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14160" class="css-a4x74f"><span>14160</span></td><td id="LC14160" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14161" class="css-a4x74f"><span>14161</span></td><td id="LC14161" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteURIOrNone"</span>, </code></td></tr><tr><td id="L14162" class="css-a4x74f"><span>14162</span></td><td id="LC14162" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14163" class="css-a4x74f"><span>14163</span></td><td id="LC14163" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14164" class="css-a4x74f"><span>14164</span></td><td id="LC14164" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-image"</span> </code></td></tr><tr><td id="L14165" class="css-a4x74f"><span>14165</span></td><td id="LC14165" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14166" class="css-a4x74f"><span>14166</span></td><td id="LC14166" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-origin"</span>: { </code></td></tr><tr><td id="L14167" class="css-a4x74f"><span>14167</span></td><td id="LC14167" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <box> | border | padding | content ]#"</span>, </code></td></tr><tr><td id="L14168" class="css-a4x74f"><span>14168</span></td><td id="LC14168" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14169" class="css-a4x74f"><span>14169</span></td><td id="LC14169" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14170" class="css-a4x74f"><span>14170</span></td><td id="LC14170" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14171" class="css-a4x74f"><span>14171</span></td><td id="LC14171" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14172" class="css-a4x74f"><span>14172</span></td><td id="LC14172" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14173" class="css-a4x74f"><span>14173</span></td><td id="LC14173" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14174" class="css-a4x74f"><span>14174</span></td><td id="LC14174" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14175" class="css-a4x74f"><span>14175</span></td><td id="LC14175" class="css-1dcdqdg"><code> initial: <span class="code-string">"padding"</span>, </code></td></tr><tr><td id="L14176" class="css-a4x74f"><span>14176</span></td><td id="LC14176" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14177" class="css-a4x74f"><span>14177</span></td><td id="LC14177" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14178" class="css-a4x74f"><span>14178</span></td><td id="LC14178" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14179" class="css-a4x74f"><span>14179</span></td><td id="LC14179" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14180" class="css-a4x74f"><span>14180</span></td><td id="LC14180" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-origin"</span> </code></td></tr><tr><td id="L14181" class="css-a4x74f"><span>14181</span></td><td id="LC14181" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14182" class="css-a4x74f"><span>14182</span></td><td id="LC14182" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-position"</span>: { </code></td></tr><tr><td id="L14183" class="css-a4x74f"><span>14183</span></td><td id="LC14183" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<position>#"</span>, </code></td></tr><tr><td id="L14184" class="css-a4x74f"><span>14184</span></td><td id="LC14184" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14185" class="css-a4x74f"><span>14185</span></td><td id="LC14185" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14186" class="css-a4x74f"><span>14186</span></td><td id="LC14186" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14187" class="css-a4x74f"><span>14187</span></td><td id="LC14187" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfElement"</span>, </code></td></tr><tr><td id="L14188" class="css-a4x74f"><span>14188</span></td><td id="LC14188" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14189" class="css-a4x74f"><span>14189</span></td><td id="LC14189" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14190" class="css-a4x74f"><span>14190</span></td><td id="LC14190" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14191" class="css-a4x74f"><span>14191</span></td><td id="LC14191" class="css-1dcdqdg"><code> initial: <span class="code-string">"0% 0%"</span>, </code></td></tr><tr><td id="L14192" class="css-a4x74f"><span>14192</span></td><td id="LC14192" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14193" class="css-a4x74f"><span>14193</span></td><td id="LC14193" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrPercentage"</span>, </code></td></tr><tr><td id="L14194" class="css-a4x74f"><span>14194</span></td><td id="LC14194" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14195" class="css-a4x74f"><span>14195</span></td><td id="LC14195" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14196" class="css-a4x74f"><span>14196</span></td><td id="LC14196" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-position"</span> </code></td></tr><tr><td id="L14197" class="css-a4x74f"><span>14197</span></td><td id="LC14197" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14198" class="css-a4x74f"><span>14198</span></td><td id="LC14198" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-position-x"</span>: { </code></td></tr><tr><td id="L14199" class="css-a4x74f"><span>14199</span></td><td id="LC14199" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | left | center | right ]#"</span>, </code></td></tr><tr><td id="L14200" class="css-a4x74f"><span>14200</span></td><td id="LC14200" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14201" class="css-a4x74f"><span>14201</span></td><td id="LC14201" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14202" class="css-a4x74f"><span>14202</span></td><td id="LC14202" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14203" class="css-a4x74f"><span>14203</span></td><td id="LC14203" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfElement"</span>, </code></td></tr><tr><td id="L14204" class="css-a4x74f"><span>14204</span></td><td id="LC14204" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14205" class="css-a4x74f"><span>14205</span></td><td id="LC14205" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14206" class="css-a4x74f"><span>14206</span></td><td id="LC14206" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14207" class="css-a4x74f"><span>14207</span></td><td id="LC14207" class="css-1dcdqdg"><code> initial: <span class="code-string">"0%"</span>, </code></td></tr><tr><td id="L14208" class="css-a4x74f"><span>14208</span></td><td id="LC14208" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14209" class="css-a4x74f"><span>14209</span></td><td id="LC14209" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrPercentage"</span>, </code></td></tr><tr><td id="L14210" class="css-a4x74f"><span>14210</span></td><td id="LC14210" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14211" class="css-a4x74f"><span>14211</span></td><td id="LC14211" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14212" class="css-a4x74f"><span>14212</span></td><td id="LC14212" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"</span> </code></td></tr><tr><td id="L14213" class="css-a4x74f"><span>14213</span></td><td id="LC14213" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14214" class="css-a4x74f"><span>14214</span></td><td id="LC14214" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-position-y"</span>: { </code></td></tr><tr><td id="L14215" class="css-a4x74f"><span>14215</span></td><td id="LC14215" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | top | center | bottom ]#"</span>, </code></td></tr><tr><td id="L14216" class="css-a4x74f"><span>14216</span></td><td id="LC14216" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14217" class="css-a4x74f"><span>14217</span></td><td id="LC14217" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14218" class="css-a4x74f"><span>14218</span></td><td id="LC14218" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14219" class="css-a4x74f"><span>14219</span></td><td id="LC14219" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfElement"</span>, </code></td></tr><tr><td id="L14220" class="css-a4x74f"><span>14220</span></td><td id="LC14220" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14221" class="css-a4x74f"><span>14221</span></td><td id="LC14221" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14222" class="css-a4x74f"><span>14222</span></td><td id="LC14222" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14223" class="css-a4x74f"><span>14223</span></td><td id="LC14223" class="css-1dcdqdg"><code> initial: <span class="code-string">"0%"</span>, </code></td></tr><tr><td id="L14224" class="css-a4x74f"><span>14224</span></td><td id="LC14224" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14225" class="css-a4x74f"><span>14225</span></td><td id="LC14225" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrPercentage"</span>, </code></td></tr><tr><td id="L14226" class="css-a4x74f"><span>14226</span></td><td id="LC14226" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14227" class="css-a4x74f"><span>14227</span></td><td id="LC14227" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14228" class="css-a4x74f"><span>14228</span></td><td id="LC14228" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"</span> </code></td></tr><tr><td id="L14229" class="css-a4x74f"><span>14229</span></td><td id="LC14229" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14230" class="css-a4x74f"><span>14230</span></td><td id="LC14230" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-repeat"</span>: { </code></td></tr><tr><td id="L14231" class="css-a4x74f"><span>14231</span></td><td id="LC14231" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<repeat-style>#"</span>, </code></td></tr><tr><td id="L14232" class="css-a4x74f"><span>14232</span></td><td id="LC14232" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14233" class="css-a4x74f"><span>14233</span></td><td id="LC14233" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14234" class="css-a4x74f"><span>14234</span></td><td id="LC14234" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14235" class="css-a4x74f"><span>14235</span></td><td id="LC14235" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14236" class="css-a4x74f"><span>14236</span></td><td id="LC14236" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14237" class="css-a4x74f"><span>14237</span></td><td id="LC14237" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14238" class="css-a4x74f"><span>14238</span></td><td id="LC14238" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14239" class="css-a4x74f"><span>14239</span></td><td id="LC14239" class="css-1dcdqdg"><code> initial: <span class="code-string">"repeat"</span>, </code></td></tr><tr><td id="L14240" class="css-a4x74f"><span>14240</span></td><td id="LC14240" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14241" class="css-a4x74f"><span>14241</span></td><td id="LC14241" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14242" class="css-a4x74f"><span>14242</span></td><td id="LC14242" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14243" class="css-a4x74f"><span>14243</span></td><td id="LC14243" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14244" class="css-a4x74f"><span>14244</span></td><td id="LC14244" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"</span> </code></td></tr><tr><td id="L14245" class="css-a4x74f"><span>14245</span></td><td id="LC14245" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14246" class="css-a4x74f"><span>14246</span></td><td id="LC14246" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-repeat-x"</span>: { </code></td></tr><tr><td id="L14247" class="css-a4x74f"><span>14247</span></td><td id="LC14247" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat | no-repeat | space | round"</span>, </code></td></tr><tr><td id="L14248" class="css-a4x74f"><span>14248</span></td><td id="LC14248" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14249" class="css-a4x74f"><span>14249</span></td><td id="LC14249" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14250" class="css-a4x74f"><span>14250</span></td><td id="LC14250" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14251" class="css-a4x74f"><span>14251</span></td><td id="LC14251" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14252" class="css-a4x74f"><span>14252</span></td><td id="LC14252" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14253" class="css-a4x74f"><span>14253</span></td><td id="LC14253" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14254" class="css-a4x74f"><span>14254</span></td><td id="LC14254" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14255" class="css-a4x74f"><span>14255</span></td><td id="LC14255" class="css-1dcdqdg"><code> initial: <span class="code-string">"repeat"</span>, </code></td></tr><tr><td id="L14256" class="css-a4x74f"><span>14256</span></td><td id="LC14256" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14257" class="css-a4x74f"><span>14257</span></td><td id="LC14257" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14258" class="css-a4x74f"><span>14258</span></td><td id="LC14258" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14259" class="css-a4x74f"><span>14259</span></td><td id="LC14259" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14260" class="css-a4x74f"><span>14260</span></td><td id="LC14260" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"</span> </code></td></tr><tr><td id="L14261" class="css-a4x74f"><span>14261</span></td><td id="LC14261" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14262" class="css-a4x74f"><span>14262</span></td><td id="LC14262" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-repeat-y"</span>: { </code></td></tr><tr><td id="L14263" class="css-a4x74f"><span>14263</span></td><td id="LC14263" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat | no-repeat | space | round"</span>, </code></td></tr><tr><td id="L14264" class="css-a4x74f"><span>14264</span></td><td id="LC14264" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14265" class="css-a4x74f"><span>14265</span></td><td id="LC14265" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14266" class="css-a4x74f"><span>14266</span></td><td id="LC14266" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14267" class="css-a4x74f"><span>14267</span></td><td id="LC14267" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14268" class="css-a4x74f"><span>14268</span></td><td id="LC14268" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14269" class="css-a4x74f"><span>14269</span></td><td id="LC14269" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14270" class="css-a4x74f"><span>14270</span></td><td id="LC14270" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14271" class="css-a4x74f"><span>14271</span></td><td id="LC14271" class="css-1dcdqdg"><code> initial: <span class="code-string">"repeat"</span>, </code></td></tr><tr><td id="L14272" class="css-a4x74f"><span>14272</span></td><td id="LC14272" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14273" class="css-a4x74f"><span>14273</span></td><td id="LC14273" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrPercentage"</span>, </code></td></tr><tr><td id="L14274" class="css-a4x74f"><span>14274</span></td><td id="LC14274" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14275" class="css-a4x74f"><span>14275</span></td><td id="LC14275" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14276" class="css-a4x74f"><span>14276</span></td><td id="LC14276" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"</span> </code></td></tr><tr><td id="L14277" class="css-a4x74f"><span>14277</span></td><td id="LC14277" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14278" class="css-a4x74f"><span>14278</span></td><td id="LC14278" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-size"</span>: { </code></td></tr><tr><td id="L14279" class="css-a4x74f"><span>14279</span></td><td id="LC14279" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-size>#"</span>, </code></td></tr><tr><td id="L14280" class="css-a4x74f"><span>14280</span></td><td id="LC14280" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14281" class="css-a4x74f"><span>14281</span></td><td id="LC14281" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14282" class="css-a4x74f"><span>14282</span></td><td id="LC14282" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14283" class="css-a4x74f"><span>14283</span></td><td id="LC14283" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToBackgroundPositioningArea"</span>, </code></td></tr><tr><td id="L14284" class="css-a4x74f"><span>14284</span></td><td id="LC14284" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14285" class="css-a4x74f"><span>14285</span></td><td id="LC14285" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14286" class="css-a4x74f"><span>14286</span></td><td id="LC14286" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14287" class="css-a4x74f"><span>14287</span></td><td id="LC14287" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto auto"</span>, </code></td></tr><tr><td id="L14288" class="css-a4x74f"><span>14288</span></td><td id="LC14288" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14289" class="css-a4x74f"><span>14289</span></td><td id="LC14289" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14290" class="css-a4x74f"><span>14290</span></td><td id="LC14290" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14291" class="css-a4x74f"><span>14291</span></td><td id="LC14291" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14292" class="css-a4x74f"><span>14292</span></td><td id="LC14292" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-size"</span> </code></td></tr><tr><td id="L14293" class="css-a4x74f"><span>14293</span></td><td id="LC14293" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14294" class="css-a4x74f"><span>14294</span></td><td id="LC14294" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-overflow-scrolling"</span>: { </code></td></tr><tr><td id="L14295" class="css-a4x74f"><span>14295</span></td><td id="LC14295" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | touch"</span>, </code></td></tr><tr><td id="L14296" class="css-a4x74f"><span>14296</span></td><td id="LC14296" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14297" class="css-a4x74f"><span>14297</span></td><td id="LC14297" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14298" class="css-a4x74f"><span>14298</span></td><td id="LC14298" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14299" class="css-a4x74f"><span>14299</span></td><td id="LC14299" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14300" class="css-a4x74f"><span>14300</span></td><td id="LC14300" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14301" class="css-a4x74f"><span>14301</span></td><td id="LC14301" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14302" class="css-a4x74f"><span>14302</span></td><td id="LC14302" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14303" class="css-a4x74f"><span>14303</span></td><td id="LC14303" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L14304" class="css-a4x74f"><span>14304</span></td><td id="LC14304" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollingBoxes"</span>, </code></td></tr><tr><td id="L14305" class="css-a4x74f"><span>14305</span></td><td id="LC14305" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14306" class="css-a4x74f"><span>14306</span></td><td id="LC14306" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L14307" class="css-a4x74f"><span>14307</span></td><td id="LC14307" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14308" class="css-a4x74f"><span>14308</span></td><td id="LC14308" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"</span> </code></td></tr><tr><td id="L14309" class="css-a4x74f"><span>14309</span></td><td id="LC14309" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14310" class="css-a4x74f"><span>14310</span></td><td id="LC14310" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-tap-highlight-color"</span>: { </code></td></tr><tr><td id="L14311" class="css-a4x74f"><span>14311</span></td><td id="LC14311" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L14312" class="css-a4x74f"><span>14312</span></td><td id="LC14312" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14313" class="css-a4x74f"><span>14313</span></td><td id="LC14313" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14314" class="css-a4x74f"><span>14314</span></td><td id="LC14314" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14315" class="css-a4x74f"><span>14315</span></td><td id="LC14315" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14316" class="css-a4x74f"><span>14316</span></td><td id="LC14316" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14317" class="css-a4x74f"><span>14317</span></td><td id="LC14317" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14318" class="css-a4x74f"><span>14318</span></td><td id="LC14318" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14319" class="css-a4x74f"><span>14319</span></td><td id="LC14319" class="css-1dcdqdg"><code> initial: <span class="code-string">"black"</span>, </code></td></tr><tr><td id="L14320" class="css-a4x74f"><span>14320</span></td><td id="LC14320" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14321" class="css-a4x74f"><span>14321</span></td><td id="LC14321" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14322" class="css-a4x74f"><span>14322</span></td><td id="LC14322" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14323" class="css-a4x74f"><span>14323</span></td><td id="LC14323" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14324" class="css-a4x74f"><span>14324</span></td><td id="LC14324" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"</span> </code></td></tr><tr><td id="L14325" class="css-a4x74f"><span>14325</span></td><td id="LC14325" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14326" class="css-a4x74f"><span>14326</span></td><td id="LC14326" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-fill-color"</span>: { </code></td></tr><tr><td id="L14327" class="css-a4x74f"><span>14327</span></td><td id="LC14327" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L14328" class="css-a4x74f"><span>14328</span></td><td id="LC14328" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14329" class="css-a4x74f"><span>14329</span></td><td id="LC14329" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14330" class="css-a4x74f"><span>14330</span></td><td id="LC14330" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L14331" class="css-a4x74f"><span>14331</span></td><td id="LC14331" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14332" class="css-a4x74f"><span>14332</span></td><td id="LC14332" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14333" class="css-a4x74f"><span>14333</span></td><td id="LC14333" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14334" class="css-a4x74f"><span>14334</span></td><td id="LC14334" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14335" class="css-a4x74f"><span>14335</span></td><td id="LC14335" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L14336" class="css-a4x74f"><span>14336</span></td><td id="LC14336" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14337" class="css-a4x74f"><span>14337</span></td><td id="LC14337" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L14338" class="css-a4x74f"><span>14338</span></td><td id="LC14338" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14339" class="css-a4x74f"><span>14339</span></td><td id="LC14339" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14340" class="css-a4x74f"><span>14340</span></td><td id="LC14340" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"</span> </code></td></tr><tr><td id="L14341" class="css-a4x74f"><span>14341</span></td><td id="LC14341" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14342" class="css-a4x74f"><span>14342</span></td><td id="LC14342" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke"</span>: { </code></td></tr><tr><td id="L14343" class="css-a4x74f"><span>14343</span></td><td id="LC14343" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> || <color>"</span>, </code></td></tr><tr><td id="L14344" class="css-a4x74f"><span>14344</span></td><td id="LC14344" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14345" class="css-a4x74f"><span>14345</span></td><td id="LC14345" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14346" class="css-a4x74f"><span>14346</span></td><td id="LC14346" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L14347" class="css-a4x74f"><span>14347</span></td><td id="LC14347" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-width"</span>, </code></td></tr><tr><td id="L14348" class="css-a4x74f"><span>14348</span></td><td id="LC14348" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-color"</span> </code></td></tr><tr><td id="L14349" class="css-a4x74f"><span>14349</span></td><td id="LC14349" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14350" class="css-a4x74f"><span>14350</span></td><td id="LC14350" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14351" class="css-a4x74f"><span>14351</span></td><td id="LC14351" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14352" class="css-a4x74f"><span>14352</span></td><td id="LC14352" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14353" class="css-a4x74f"><span>14353</span></td><td id="LC14353" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14354" class="css-a4x74f"><span>14354</span></td><td id="LC14354" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L14355" class="css-a4x74f"><span>14355</span></td><td id="LC14355" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-width"</span>, </code></td></tr><tr><td id="L14356" class="css-a4x74f"><span>14356</span></td><td id="LC14356" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-color"</span> </code></td></tr><tr><td id="L14357" class="css-a4x74f"><span>14357</span></td><td id="LC14357" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14358" class="css-a4x74f"><span>14358</span></td><td id="LC14358" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14359" class="css-a4x74f"><span>14359</span></td><td id="LC14359" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L14360" class="css-a4x74f"><span>14360</span></td><td id="LC14360" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-width"</span>, </code></td></tr><tr><td id="L14361" class="css-a4x74f"><span>14361</span></td><td id="LC14361" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-color"</span> </code></td></tr><tr><td id="L14362" class="css-a4x74f"><span>14362</span></td><td id="LC14362" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14363" class="css-a4x74f"><span>14363</span></td><td id="LC14363" class="css-1dcdqdg"><code> order: <span class="code-string">"canonicalOrder"</span>, </code></td></tr><tr><td id="L14364" class="css-a4x74f"><span>14364</span></td><td id="LC14364" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14365" class="css-a4x74f"><span>14365</span></td><td id="LC14365" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"</span> </code></td></tr><tr><td id="L14366" class="css-a4x74f"><span>14366</span></td><td id="LC14366" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14367" class="css-a4x74f"><span>14367</span></td><td id="LC14367" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-color"</span>: { </code></td></tr><tr><td id="L14368" class="css-a4x74f"><span>14368</span></td><td id="LC14368" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L14369" class="css-a4x74f"><span>14369</span></td><td id="LC14369" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14370" class="css-a4x74f"><span>14370</span></td><td id="LC14370" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14371" class="css-a4x74f"><span>14371</span></td><td id="LC14371" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L14372" class="css-a4x74f"><span>14372</span></td><td id="LC14372" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14373" class="css-a4x74f"><span>14373</span></td><td id="LC14373" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14374" class="css-a4x74f"><span>14374</span></td><td id="LC14374" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14375" class="css-a4x74f"><span>14375</span></td><td id="LC14375" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14376" class="css-a4x74f"><span>14376</span></td><td id="LC14376" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L14377" class="css-a4x74f"><span>14377</span></td><td id="LC14377" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14378" class="css-a4x74f"><span>14378</span></td><td id="LC14378" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L14379" class="css-a4x74f"><span>14379</span></td><td id="LC14379" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14380" class="css-a4x74f"><span>14380</span></td><td id="LC14380" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14381" class="css-a4x74f"><span>14381</span></td><td id="LC14381" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"</span> </code></td></tr><tr><td id="L14382" class="css-a4x74f"><span>14382</span></td><td id="LC14382" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14383" class="css-a4x74f"><span>14383</span></td><td id="LC14383" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-stroke-width"</span>: { </code></td></tr><tr><td id="L14384" class="css-a4x74f"><span>14384</span></td><td id="LC14384" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L14385" class="css-a4x74f"><span>14385</span></td><td id="LC14385" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14386" class="css-a4x74f"><span>14386</span></td><td id="LC14386" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14387" class="css-a4x74f"><span>14387</span></td><td id="LC14387" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14388" class="css-a4x74f"><span>14388</span></td><td id="LC14388" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14389" class="css-a4x74f"><span>14389</span></td><td id="LC14389" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14390" class="css-a4x74f"><span>14390</span></td><td id="LC14390" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14391" class="css-a4x74f"><span>14391</span></td><td id="LC14391" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14392" class="css-a4x74f"><span>14392</span></td><td id="LC14392" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L14393" class="css-a4x74f"><span>14393</span></td><td id="LC14393" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14394" class="css-a4x74f"><span>14394</span></td><td id="LC14394" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLength"</span>, </code></td></tr><tr><td id="L14395" class="css-a4x74f"><span>14395</span></td><td id="LC14395" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14396" class="css-a4x74f"><span>14396</span></td><td id="LC14396" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14397" class="css-a4x74f"><span>14397</span></td><td id="LC14397" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"</span> </code></td></tr><tr><td id="L14398" class="css-a4x74f"><span>14398</span></td><td id="LC14398" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14399" class="css-a4x74f"><span>14399</span></td><td id="LC14399" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-touch-callout"</span>: { </code></td></tr><tr><td id="L14400" class="css-a4x74f"><span>14400</span></td><td id="LC14400" class="css-1dcdqdg"><code> syntax: <span class="code-string">"default | none"</span>, </code></td></tr><tr><td id="L14401" class="css-a4x74f"><span>14401</span></td><td id="LC14401" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14402" class="css-a4x74f"><span>14402</span></td><td id="LC14402" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14403" class="css-a4x74f"><span>14403</span></td><td id="LC14403" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14404" class="css-a4x74f"><span>14404</span></td><td id="LC14404" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14405" class="css-a4x74f"><span>14405</span></td><td id="LC14405" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14406" class="css-a4x74f"><span>14406</span></td><td id="LC14406" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14407" class="css-a4x74f"><span>14407</span></td><td id="LC14407" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14408" class="css-a4x74f"><span>14408</span></td><td id="LC14408" class="css-1dcdqdg"><code> initial: <span class="code-string">"default"</span>, </code></td></tr><tr><td id="L14409" class="css-a4x74f"><span>14409</span></td><td id="LC14409" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14410" class="css-a4x74f"><span>14410</span></td><td id="LC14410" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14411" class="css-a4x74f"><span>14411</span></td><td id="LC14411" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14412" class="css-a4x74f"><span>14412</span></td><td id="LC14412" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L14413" class="css-a4x74f"><span>14413</span></td><td id="LC14413" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"</span> </code></td></tr><tr><td id="L14414" class="css-a4x74f"><span>14414</span></td><td id="LC14414" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14415" class="css-a4x74f"><span>14415</span></td><td id="LC14415" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-user-modify"</span>: { </code></td></tr><tr><td id="L14416" class="css-a4x74f"><span>14416</span></td><td id="LC14416" class="css-1dcdqdg"><code> syntax: <span class="code-string">"read-only | read-write | read-write-plaintext-only"</span>, </code></td></tr><tr><td id="L14417" class="css-a4x74f"><span>14417</span></td><td id="LC14417" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L14418" class="css-a4x74f"><span>14418</span></td><td id="LC14418" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14419" class="css-a4x74f"><span>14419</span></td><td id="LC14419" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14420" class="css-a4x74f"><span>14420</span></td><td id="LC14420" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14421" class="css-a4x74f"><span>14421</span></td><td id="LC14421" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14422" class="css-a4x74f"><span>14422</span></td><td id="LC14422" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L14423" class="css-a4x74f"><span>14423</span></td><td id="LC14423" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14424" class="css-a4x74f"><span>14424</span></td><td id="LC14424" class="css-1dcdqdg"><code> initial: <span class="code-string">"read-only"</span>, </code></td></tr><tr><td id="L14425" class="css-a4x74f"><span>14425</span></td><td id="LC14425" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14426" class="css-a4x74f"><span>14426</span></td><td id="LC14426" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14427" class="css-a4x74f"><span>14427</span></td><td id="LC14427" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14428" class="css-a4x74f"><span>14428</span></td><td id="LC14428" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span> </code></td></tr><tr><td id="L14429" class="css-a4x74f"><span>14429</span></td><td id="LC14429" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14430" class="css-a4x74f"><span>14430</span></td><td id="LC14430" class="css-1dcdqdg"><code> <span class="code-string">"align-content"</span>: { </code></td></tr><tr><td id="L14431" class="css-a4x74f"><span>14431</span></td><td id="LC14431" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>"</span>, </code></td></tr><tr><td id="L14432" class="css-a4x74f"><span>14432</span></td><td id="LC14432" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14433" class="css-a4x74f"><span>14433</span></td><td id="LC14433" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14434" class="css-a4x74f"><span>14434</span></td><td id="LC14434" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14435" class="css-a4x74f"><span>14435</span></td><td id="LC14435" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14436" class="css-a4x74f"><span>14436</span></td><td id="LC14436" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14437" class="css-a4x74f"><span>14437</span></td><td id="LC14437" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L14438" class="css-a4x74f"><span>14438</span></td><td id="LC14438" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14439" class="css-a4x74f"><span>14439</span></td><td id="LC14439" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L14440" class="css-a4x74f"><span>14440</span></td><td id="LC14440" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multilineFlexContainers"</span>, </code></td></tr><tr><td id="L14441" class="css-a4x74f"><span>14441</span></td><td id="LC14441" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14442" class="css-a4x74f"><span>14442</span></td><td id="LC14442" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14443" class="css-a4x74f"><span>14443</span></td><td id="LC14443" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14444" class="css-a4x74f"><span>14444</span></td><td id="LC14444" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/align-content"</span> </code></td></tr><tr><td id="L14445" class="css-a4x74f"><span>14445</span></td><td id="LC14445" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14446" class="css-a4x74f"><span>14446</span></td><td id="LC14446" class="css-1dcdqdg"><code> <span class="code-string">"align-items"</span>: { </code></td></tr><tr><td id="L14447" class="css-a4x74f"><span>14447</span></td><td id="LC14447" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]"</span>, </code></td></tr><tr><td id="L14448" class="css-a4x74f"><span>14448</span></td><td id="LC14448" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14449" class="css-a4x74f"><span>14449</span></td><td id="LC14449" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14450" class="css-a4x74f"><span>14450</span></td><td id="LC14450" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14451" class="css-a4x74f"><span>14451</span></td><td id="LC14451" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14452" class="css-a4x74f"><span>14452</span></td><td id="LC14452" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14453" class="css-a4x74f"><span>14453</span></td><td id="LC14453" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L14454" class="css-a4x74f"><span>14454</span></td><td id="LC14454" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14455" class="css-a4x74f"><span>14455</span></td><td id="LC14455" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L14456" class="css-a4x74f"><span>14456</span></td><td id="LC14456" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14457" class="css-a4x74f"><span>14457</span></td><td id="LC14457" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14458" class="css-a4x74f"><span>14458</span></td><td id="LC14458" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14459" class="css-a4x74f"><span>14459</span></td><td id="LC14459" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14460" class="css-a4x74f"><span>14460</span></td><td id="LC14460" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/align-items"</span> </code></td></tr><tr><td id="L14461" class="css-a4x74f"><span>14461</span></td><td id="LC14461" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14462" class="css-a4x74f"><span>14462</span></td><td id="LC14462" class="css-1dcdqdg"><code> <span class="code-string">"align-self"</span>: { </code></td></tr><tr><td id="L14463" class="css-a4x74f"><span>14463</span></td><td id="LC14463" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>"</span>, </code></td></tr><tr><td id="L14464" class="css-a4x74f"><span>14464</span></td><td id="LC14464" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14465" class="css-a4x74f"><span>14465</span></td><td id="LC14465" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14466" class="css-a4x74f"><span>14466</span></td><td id="LC14466" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14467" class="css-a4x74f"><span>14467</span></td><td id="LC14467" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14468" class="css-a4x74f"><span>14468</span></td><td id="LC14468" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14469" class="css-a4x74f"><span>14469</span></td><td id="LC14469" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L14470" class="css-a4x74f"><span>14470</span></td><td id="LC14470" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14471" class="css-a4x74f"><span>14471</span></td><td id="LC14471" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L14472" class="css-a4x74f"><span>14472</span></td><td id="LC14472" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsGridItemsAndAbsolutelyPositionedBoxes"</span>, </code></td></tr><tr><td id="L14473" class="css-a4x74f"><span>14473</span></td><td id="LC14473" class="css-1dcdqdg"><code> computed: <span class="code-string">"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent"</span>, </code></td></tr><tr><td id="L14474" class="css-a4x74f"><span>14474</span></td><td id="LC14474" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14475" class="css-a4x74f"><span>14475</span></td><td id="LC14475" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14476" class="css-a4x74f"><span>14476</span></td><td id="LC14476" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/align-self"</span> </code></td></tr><tr><td id="L14477" class="css-a4x74f"><span>14477</span></td><td id="LC14477" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14478" class="css-a4x74f"><span>14478</span></td><td id="LC14478" class="css-1dcdqdg"><code> all: all, </code></td></tr><tr><td id="L14479" class="css-a4x74f"><span>14479</span></td><td id="LC14479" class="css-1dcdqdg"><code> animation: animation, </code></td></tr><tr><td id="L14480" class="css-a4x74f"><span>14480</span></td><td id="LC14480" class="css-1dcdqdg"><code> <span class="code-string">"animation-delay"</span>: { </code></td></tr><tr><td id="L14481" class="css-a4x74f"><span>14481</span></td><td id="LC14481" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time>#"</span>, </code></td></tr><tr><td id="L14482" class="css-a4x74f"><span>14482</span></td><td id="LC14482" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14483" class="css-a4x74f"><span>14483</span></td><td id="LC14483" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14484" class="css-a4x74f"><span>14484</span></td><td id="LC14484" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14485" class="css-a4x74f"><span>14485</span></td><td id="LC14485" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14486" class="css-a4x74f"><span>14486</span></td><td id="LC14486" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14487" class="css-a4x74f"><span>14487</span></td><td id="LC14487" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14488" class="css-a4x74f"><span>14488</span></td><td id="LC14488" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14489" class="css-a4x74f"><span>14489</span></td><td id="LC14489" class="css-1dcdqdg"><code> initial: <span class="code-string">"0s"</span>, </code></td></tr><tr><td id="L14490" class="css-a4x74f"><span>14490</span></td><td id="LC14490" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14491" class="css-a4x74f"><span>14491</span></td><td id="LC14491" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14492" class="css-a4x74f"><span>14492</span></td><td id="LC14492" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14493" class="css-a4x74f"><span>14493</span></td><td id="LC14493" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14494" class="css-a4x74f"><span>14494</span></td><td id="LC14494" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-delay"</span> </code></td></tr><tr><td id="L14495" class="css-a4x74f"><span>14495</span></td><td id="LC14495" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14496" class="css-a4x74f"><span>14496</span></td><td id="LC14496" class="css-1dcdqdg"><code> <span class="code-string">"animation-direction"</span>: { </code></td></tr><tr><td id="L14497" class="css-a4x74f"><span>14497</span></td><td id="LC14497" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-animation-direction>#"</span>, </code></td></tr><tr><td id="L14498" class="css-a4x74f"><span>14498</span></td><td id="LC14498" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14499" class="css-a4x74f"><span>14499</span></td><td id="LC14499" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14500" class="css-a4x74f"><span>14500</span></td><td id="LC14500" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14501" class="css-a4x74f"><span>14501</span></td><td id="LC14501" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14502" class="css-a4x74f"><span>14502</span></td><td id="LC14502" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14503" class="css-a4x74f"><span>14503</span></td><td id="LC14503" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14504" class="css-a4x74f"><span>14504</span></td><td id="LC14504" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14505" class="css-a4x74f"><span>14505</span></td><td id="LC14505" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L14506" class="css-a4x74f"><span>14506</span></td><td id="LC14506" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14507" class="css-a4x74f"><span>14507</span></td><td id="LC14507" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14508" class="css-a4x74f"><span>14508</span></td><td id="LC14508" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14509" class="css-a4x74f"><span>14509</span></td><td id="LC14509" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14510" class="css-a4x74f"><span>14510</span></td><td id="LC14510" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-direction"</span> </code></td></tr><tr><td id="L14511" class="css-a4x74f"><span>14511</span></td><td id="LC14511" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14512" class="css-a4x74f"><span>14512</span></td><td id="LC14512" class="css-1dcdqdg"><code> <span class="code-string">"animation-duration"</span>: { </code></td></tr><tr><td id="L14513" class="css-a4x74f"><span>14513</span></td><td id="LC14513" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time>#"</span>, </code></td></tr><tr><td id="L14514" class="css-a4x74f"><span>14514</span></td><td id="LC14514" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14515" class="css-a4x74f"><span>14515</span></td><td id="LC14515" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14516" class="css-a4x74f"><span>14516</span></td><td id="LC14516" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14517" class="css-a4x74f"><span>14517</span></td><td id="LC14517" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14518" class="css-a4x74f"><span>14518</span></td><td id="LC14518" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14519" class="css-a4x74f"><span>14519</span></td><td id="LC14519" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14520" class="css-a4x74f"><span>14520</span></td><td id="LC14520" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14521" class="css-a4x74f"><span>14521</span></td><td id="LC14521" class="css-1dcdqdg"><code> initial: <span class="code-string">"0s"</span>, </code></td></tr><tr><td id="L14522" class="css-a4x74f"><span>14522</span></td><td id="LC14522" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14523" class="css-a4x74f"><span>14523</span></td><td id="LC14523" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14524" class="css-a4x74f"><span>14524</span></td><td id="LC14524" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14525" class="css-a4x74f"><span>14525</span></td><td id="LC14525" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14526" class="css-a4x74f"><span>14526</span></td><td id="LC14526" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-duration"</span> </code></td></tr><tr><td id="L14527" class="css-a4x74f"><span>14527</span></td><td id="LC14527" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14528" class="css-a4x74f"><span>14528</span></td><td id="LC14528" class="css-1dcdqdg"><code> <span class="code-string">"animation-fill-mode"</span>: { </code></td></tr><tr><td id="L14529" class="css-a4x74f"><span>14529</span></td><td id="LC14529" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-animation-fill-mode>#"</span>, </code></td></tr><tr><td id="L14530" class="css-a4x74f"><span>14530</span></td><td id="LC14530" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14531" class="css-a4x74f"><span>14531</span></td><td id="LC14531" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14532" class="css-a4x74f"><span>14532</span></td><td id="LC14532" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14533" class="css-a4x74f"><span>14533</span></td><td id="LC14533" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14534" class="css-a4x74f"><span>14534</span></td><td id="LC14534" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14535" class="css-a4x74f"><span>14535</span></td><td id="LC14535" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14536" class="css-a4x74f"><span>14536</span></td><td id="LC14536" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14537" class="css-a4x74f"><span>14537</span></td><td id="LC14537" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14538" class="css-a4x74f"><span>14538</span></td><td id="LC14538" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14539" class="css-a4x74f"><span>14539</span></td><td id="LC14539" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14540" class="css-a4x74f"><span>14540</span></td><td id="LC14540" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14541" class="css-a4x74f"><span>14541</span></td><td id="LC14541" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14542" class="css-a4x74f"><span>14542</span></td><td id="LC14542" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode"</span> </code></td></tr><tr><td id="L14543" class="css-a4x74f"><span>14543</span></td><td id="LC14543" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14544" class="css-a4x74f"><span>14544</span></td><td id="LC14544" class="css-1dcdqdg"><code> <span class="code-string">"animation-iteration-count"</span>: { </code></td></tr><tr><td id="L14545" class="css-a4x74f"><span>14545</span></td><td id="LC14545" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-animation-iteration-count>#"</span>, </code></td></tr><tr><td id="L14546" class="css-a4x74f"><span>14546</span></td><td id="LC14546" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14547" class="css-a4x74f"><span>14547</span></td><td id="LC14547" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14548" class="css-a4x74f"><span>14548</span></td><td id="LC14548" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14549" class="css-a4x74f"><span>14549</span></td><td id="LC14549" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14550" class="css-a4x74f"><span>14550</span></td><td id="LC14550" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14551" class="css-a4x74f"><span>14551</span></td><td id="LC14551" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14552" class="css-a4x74f"><span>14552</span></td><td id="LC14552" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14553" class="css-a4x74f"><span>14553</span></td><td id="LC14553" class="css-1dcdqdg"><code> initial: <span class="code-string">"1"</span>, </code></td></tr><tr><td id="L14554" class="css-a4x74f"><span>14554</span></td><td id="LC14554" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14555" class="css-a4x74f"><span>14555</span></td><td id="LC14555" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14556" class="css-a4x74f"><span>14556</span></td><td id="LC14556" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14557" class="css-a4x74f"><span>14557</span></td><td id="LC14557" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14558" class="css-a4x74f"><span>14558</span></td><td id="LC14558" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count"</span> </code></td></tr><tr><td id="L14559" class="css-a4x74f"><span>14559</span></td><td id="LC14559" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14560" class="css-a4x74f"><span>14560</span></td><td id="LC14560" class="css-1dcdqdg"><code> <span class="code-string">"animation-name"</span>: { </code></td></tr><tr><td id="L14561" class="css-a4x74f"><span>14561</span></td><td id="LC14561" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ none | <keyframes-name> ]#"</span>, </code></td></tr><tr><td id="L14562" class="css-a4x74f"><span>14562</span></td><td id="LC14562" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14563" class="css-a4x74f"><span>14563</span></td><td id="LC14563" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14564" class="css-a4x74f"><span>14564</span></td><td id="LC14564" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14565" class="css-a4x74f"><span>14565</span></td><td id="LC14565" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14566" class="css-a4x74f"><span>14566</span></td><td id="LC14566" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14567" class="css-a4x74f"><span>14567</span></td><td id="LC14567" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14568" class="css-a4x74f"><span>14568</span></td><td id="LC14568" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14569" class="css-a4x74f"><span>14569</span></td><td id="LC14569" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14570" class="css-a4x74f"><span>14570</span></td><td id="LC14570" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14571" class="css-a4x74f"><span>14571</span></td><td id="LC14571" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14572" class="css-a4x74f"><span>14572</span></td><td id="LC14572" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14573" class="css-a4x74f"><span>14573</span></td><td id="LC14573" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14574" class="css-a4x74f"><span>14574</span></td><td id="LC14574" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-name"</span> </code></td></tr><tr><td id="L14575" class="css-a4x74f"><span>14575</span></td><td id="LC14575" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14576" class="css-a4x74f"><span>14576</span></td><td id="LC14576" class="css-1dcdqdg"><code> <span class="code-string">"animation-play-state"</span>: { </code></td></tr><tr><td id="L14577" class="css-a4x74f"><span>14577</span></td><td id="LC14577" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<single-animation-play-state>#"</span>, </code></td></tr><tr><td id="L14578" class="css-a4x74f"><span>14578</span></td><td id="LC14578" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14579" class="css-a4x74f"><span>14579</span></td><td id="LC14579" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14580" class="css-a4x74f"><span>14580</span></td><td id="LC14580" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14581" class="css-a4x74f"><span>14581</span></td><td id="LC14581" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14582" class="css-a4x74f"><span>14582</span></td><td id="LC14582" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14583" class="css-a4x74f"><span>14583</span></td><td id="LC14583" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14584" class="css-a4x74f"><span>14584</span></td><td id="LC14584" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14585" class="css-a4x74f"><span>14585</span></td><td id="LC14585" class="css-1dcdqdg"><code> initial: <span class="code-string">"running"</span>, </code></td></tr><tr><td id="L14586" class="css-a4x74f"><span>14586</span></td><td id="LC14586" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14587" class="css-a4x74f"><span>14587</span></td><td id="LC14587" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14588" class="css-a4x74f"><span>14588</span></td><td id="LC14588" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14589" class="css-a4x74f"><span>14589</span></td><td id="LC14589" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14590" class="css-a4x74f"><span>14590</span></td><td id="LC14590" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-play-state"</span> </code></td></tr><tr><td id="L14591" class="css-a4x74f"><span>14591</span></td><td id="LC14591" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14592" class="css-a4x74f"><span>14592</span></td><td id="LC14592" class="css-1dcdqdg"><code> <span class="code-string">"animation-timing-function"</span>: { </code></td></tr><tr><td id="L14593" class="css-a4x74f"><span>14593</span></td><td id="LC14593" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<timing-function>#"</span>, </code></td></tr><tr><td id="L14594" class="css-a4x74f"><span>14594</span></td><td id="LC14594" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14595" class="css-a4x74f"><span>14595</span></td><td id="LC14595" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14596" class="css-a4x74f"><span>14596</span></td><td id="LC14596" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14597" class="css-a4x74f"><span>14597</span></td><td id="LC14597" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14598" class="css-a4x74f"><span>14598</span></td><td id="LC14598" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14599" class="css-a4x74f"><span>14599</span></td><td id="LC14599" class="css-1dcdqdg"><code> <span class="code-string">"CSS Animations"</span> </code></td></tr><tr><td id="L14600" class="css-a4x74f"><span>14600</span></td><td id="LC14600" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14601" class="css-a4x74f"><span>14601</span></td><td id="LC14601" class="css-1dcdqdg"><code> initial: <span class="code-string">"ease"</span>, </code></td></tr><tr><td id="L14602" class="css-a4x74f"><span>14602</span></td><td id="LC14602" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L14603" class="css-a4x74f"><span>14603</span></td><td id="LC14603" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14604" class="css-a4x74f"><span>14604</span></td><td id="LC14604" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14605" class="css-a4x74f"><span>14605</span></td><td id="LC14605" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14606" class="css-a4x74f"><span>14606</span></td><td id="LC14606" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"</span> </code></td></tr><tr><td id="L14607" class="css-a4x74f"><span>14607</span></td><td id="LC14607" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14608" class="css-a4x74f"><span>14608</span></td><td id="LC14608" class="css-1dcdqdg"><code> appearance: appearance, </code></td></tr><tr><td id="L14609" class="css-a4x74f"><span>14609</span></td><td id="LC14609" class="css-1dcdqdg"><code> <span class="code-string">"aspect-ratio"</span>: { </code></td></tr><tr><td id="L14610" class="css-a4x74f"><span>14610</span></td><td id="LC14610" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <ratio>"</span>, </code></td></tr><tr><td id="L14611" class="css-a4x74f"><span>14611</span></td><td id="LC14611" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L14612" class="css-a4x74f"><span>14612</span></td><td id="LC14612" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14613" class="css-a4x74f"><span>14613</span></td><td id="LC14613" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14614" class="css-a4x74f"><span>14614</span></td><td id="LC14614" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14615" class="css-a4x74f"><span>14615</span></td><td id="LC14615" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14616" class="css-a4x74f"><span>14616</span></td><td id="LC14616" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L14617" class="css-a4x74f"><span>14617</span></td><td id="LC14617" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14618" class="css-a4x74f"><span>14618</span></td><td id="LC14618" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L14619" class="css-a4x74f"><span>14619</span></td><td id="LC14619" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes"</span>, </code></td></tr><tr><td id="L14620" class="css-a4x74f"><span>14620</span></td><td id="LC14620" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14621" class="css-a4x74f"><span>14621</span></td><td id="LC14621" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L14622" class="css-a4x74f"><span>14622</span></td><td id="LC14622" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L14623" class="css-a4x74f"><span>14623</span></td><td id="LC14623" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio"</span> </code></td></tr><tr><td id="L14624" class="css-a4x74f"><span>14624</span></td><td id="LC14624" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14625" class="css-a4x74f"><span>14625</span></td><td id="LC14625" class="css-1dcdqdg"><code> azimuth: azimuth, </code></td></tr><tr><td id="L14626" class="css-a4x74f"><span>14626</span></td><td id="LC14626" class="css-1dcdqdg"><code> <span class="code-string">"backdrop-filter"</span>: { </code></td></tr><tr><td id="L14627" class="css-a4x74f"><span>14627</span></td><td id="LC14627" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <filter-function-list>"</span>, </code></td></tr><tr><td id="L14628" class="css-a4x74f"><span>14628</span></td><td id="LC14628" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14629" class="css-a4x74f"><span>14629</span></td><td id="LC14629" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14630" class="css-a4x74f"><span>14630</span></td><td id="LC14630" class="css-1dcdqdg"><code> animationType: <span class="code-string">"filterList"</span>, </code></td></tr><tr><td id="L14631" class="css-a4x74f"><span>14631</span></td><td id="LC14631" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14632" class="css-a4x74f"><span>14632</span></td><td id="LC14632" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14633" class="css-a4x74f"><span>14633</span></td><td id="LC14633" class="css-1dcdqdg"><code> <span class="code-string">"Filter Effects"</span> </code></td></tr><tr><td id="L14634" class="css-a4x74f"><span>14634</span></td><td id="LC14634" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14635" class="css-a4x74f"><span>14635</span></td><td id="LC14635" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14636" class="css-a4x74f"><span>14636</span></td><td id="LC14636" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L14637" class="css-a4x74f"><span>14637</span></td><td id="LC14637" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14638" class="css-a4x74f"><span>14638</span></td><td id="LC14638" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14639" class="css-a4x74f"><span>14639</span></td><td id="LC14639" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L14640" class="css-a4x74f"><span>14640</span></td><td id="LC14640" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter"</span> </code></td></tr><tr><td id="L14641" class="css-a4x74f"><span>14641</span></td><td id="LC14641" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14642" class="css-a4x74f"><span>14642</span></td><td id="LC14642" class="css-1dcdqdg"><code> <span class="code-string">"backface-visibility"</span>: { </code></td></tr><tr><td id="L14643" class="css-a4x74f"><span>14643</span></td><td id="LC14643" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden"</span>, </code></td></tr><tr><td id="L14644" class="css-a4x74f"><span>14644</span></td><td id="LC14644" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14645" class="css-a4x74f"><span>14645</span></td><td id="LC14645" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14646" class="css-a4x74f"><span>14646</span></td><td id="LC14646" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14647" class="css-a4x74f"><span>14647</span></td><td id="LC14647" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14648" class="css-a4x74f"><span>14648</span></td><td id="LC14648" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14649" class="css-a4x74f"><span>14649</span></td><td id="LC14649" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L14650" class="css-a4x74f"><span>14650</span></td><td id="LC14650" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14651" class="css-a4x74f"><span>14651</span></td><td id="LC14651" class="css-1dcdqdg"><code> initial: <span class="code-string">"visible"</span>, </code></td></tr><tr><td id="L14652" class="css-a4x74f"><span>14652</span></td><td id="LC14652" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L14653" class="css-a4x74f"><span>14653</span></td><td id="LC14653" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14654" class="css-a4x74f"><span>14654</span></td><td id="LC14654" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14655" class="css-a4x74f"><span>14655</span></td><td id="LC14655" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14656" class="css-a4x74f"><span>14656</span></td><td id="LC14656" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/backface-visibility"</span> </code></td></tr><tr><td id="L14657" class="css-a4x74f"><span>14657</span></td><td id="LC14657" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14658" class="css-a4x74f"><span>14658</span></td><td id="LC14658" class="css-1dcdqdg"><code> background: background, </code></td></tr><tr><td id="L14659" class="css-a4x74f"><span>14659</span></td><td id="LC14659" class="css-1dcdqdg"><code> <span class="code-string">"background-attachment"</span>: { </code></td></tr><tr><td id="L14660" class="css-a4x74f"><span>14660</span></td><td id="LC14660" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<attachment>#"</span>, </code></td></tr><tr><td id="L14661" class="css-a4x74f"><span>14661</span></td><td id="LC14661" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14662" class="css-a4x74f"><span>14662</span></td><td id="LC14662" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14663" class="css-a4x74f"><span>14663</span></td><td id="LC14663" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14664" class="css-a4x74f"><span>14664</span></td><td id="LC14664" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14665" class="css-a4x74f"><span>14665</span></td><td id="LC14665" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14666" class="css-a4x74f"><span>14666</span></td><td id="LC14666" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14667" class="css-a4x74f"><span>14667</span></td><td id="LC14667" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14668" class="css-a4x74f"><span>14668</span></td><td id="LC14668" class="css-1dcdqdg"><code> initial: <span class="code-string">"scroll"</span>, </code></td></tr><tr><td id="L14669" class="css-a4x74f"><span>14669</span></td><td id="LC14669" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14670" class="css-a4x74f"><span>14670</span></td><td id="LC14670" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14671" class="css-a4x74f"><span>14671</span></td><td id="LC14671" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14672" class="css-a4x74f"><span>14672</span></td><td id="LC14672" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14673" class="css-a4x74f"><span>14673</span></td><td id="LC14673" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14674" class="css-a4x74f"><span>14674</span></td><td id="LC14674" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14675" class="css-a4x74f"><span>14675</span></td><td id="LC14675" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14676" class="css-a4x74f"><span>14676</span></td><td id="LC14676" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14677" class="css-a4x74f"><span>14677</span></td><td id="LC14677" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14678" class="css-a4x74f"><span>14678</span></td><td id="LC14678" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-attachment"</span> </code></td></tr><tr><td id="L14679" class="css-a4x74f"><span>14679</span></td><td id="LC14679" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14680" class="css-a4x74f"><span>14680</span></td><td id="LC14680" class="css-1dcdqdg"><code> <span class="code-string">"background-blend-mode"</span>: { </code></td></tr><tr><td id="L14681" class="css-a4x74f"><span>14681</span></td><td id="LC14681" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<blend-mode>#"</span>, </code></td></tr><tr><td id="L14682" class="css-a4x74f"><span>14682</span></td><td id="LC14682" class="css-1dcdqdg"><code> media: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14683" class="css-a4x74f"><span>14683</span></td><td id="LC14683" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14684" class="css-a4x74f"><span>14684</span></td><td id="LC14684" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14685" class="css-a4x74f"><span>14685</span></td><td id="LC14685" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14686" class="css-a4x74f"><span>14686</span></td><td id="LC14686" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14687" class="css-a4x74f"><span>14687</span></td><td id="LC14687" class="css-1dcdqdg"><code> <span class="code-string">"Compositing and Blending"</span> </code></td></tr><tr><td id="L14688" class="css-a4x74f"><span>14688</span></td><td id="LC14688" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14689" class="css-a4x74f"><span>14689</span></td><td id="LC14689" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L14690" class="css-a4x74f"><span>14690</span></td><td id="LC14690" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerGraphicsAndGraphicsReferencingElements"</span>, </code></td></tr><tr><td id="L14691" class="css-a4x74f"><span>14691</span></td><td id="LC14691" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14692" class="css-a4x74f"><span>14692</span></td><td id="LC14692" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14693" class="css-a4x74f"><span>14693</span></td><td id="LC14693" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14694" class="css-a4x74f"><span>14694</span></td><td id="LC14694" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14695" class="css-a4x74f"><span>14695</span></td><td id="LC14695" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14696" class="css-a4x74f"><span>14696</span></td><td id="LC14696" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14697" class="css-a4x74f"><span>14697</span></td><td id="LC14697" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14698" class="css-a4x74f"><span>14698</span></td><td id="LC14698" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14699" class="css-a4x74f"><span>14699</span></td><td id="LC14699" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode"</span> </code></td></tr><tr><td id="L14700" class="css-a4x74f"><span>14700</span></td><td id="LC14700" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14701" class="css-a4x74f"><span>14701</span></td><td id="LC14701" class="css-1dcdqdg"><code> <span class="code-string">"background-clip"</span>: { </code></td></tr><tr><td id="L14702" class="css-a4x74f"><span>14702</span></td><td id="LC14702" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<box>#"</span>, </code></td></tr><tr><td id="L14703" class="css-a4x74f"><span>14703</span></td><td id="LC14703" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14704" class="css-a4x74f"><span>14704</span></td><td id="LC14704" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14705" class="css-a4x74f"><span>14705</span></td><td id="LC14705" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14706" class="css-a4x74f"><span>14706</span></td><td id="LC14706" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14707" class="css-a4x74f"><span>14707</span></td><td id="LC14707" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14708" class="css-a4x74f"><span>14708</span></td><td id="LC14708" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14709" class="css-a4x74f"><span>14709</span></td><td id="LC14709" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14710" class="css-a4x74f"><span>14710</span></td><td id="LC14710" class="css-1dcdqdg"><code> initial: <span class="code-string">"border-box"</span>, </code></td></tr><tr><td id="L14711" class="css-a4x74f"><span>14711</span></td><td id="LC14711" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14712" class="css-a4x74f"><span>14712</span></td><td id="LC14712" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14713" class="css-a4x74f"><span>14713</span></td><td id="LC14713" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14714" class="css-a4x74f"><span>14714</span></td><td id="LC14714" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14715" class="css-a4x74f"><span>14715</span></td><td id="LC14715" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14716" class="css-a4x74f"><span>14716</span></td><td id="LC14716" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14717" class="css-a4x74f"><span>14717</span></td><td id="LC14717" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14718" class="css-a4x74f"><span>14718</span></td><td id="LC14718" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14719" class="css-a4x74f"><span>14719</span></td><td id="LC14719" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14720" class="css-a4x74f"><span>14720</span></td><td id="LC14720" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-clip"</span> </code></td></tr><tr><td id="L14721" class="css-a4x74f"><span>14721</span></td><td id="LC14721" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14722" class="css-a4x74f"><span>14722</span></td><td id="LC14722" class="css-1dcdqdg"><code> <span class="code-string">"background-color"</span>: { </code></td></tr><tr><td id="L14723" class="css-a4x74f"><span>14723</span></td><td id="LC14723" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L14724" class="css-a4x74f"><span>14724</span></td><td id="LC14724" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14725" class="css-a4x74f"><span>14725</span></td><td id="LC14725" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14726" class="css-a4x74f"><span>14726</span></td><td id="LC14726" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L14727" class="css-a4x74f"><span>14727</span></td><td id="LC14727" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14728" class="css-a4x74f"><span>14728</span></td><td id="LC14728" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14729" class="css-a4x74f"><span>14729</span></td><td id="LC14729" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14730" class="css-a4x74f"><span>14730</span></td><td id="LC14730" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14731" class="css-a4x74f"><span>14731</span></td><td id="LC14731" class="css-1dcdqdg"><code> initial: <span class="code-string">"transparent"</span>, </code></td></tr><tr><td id="L14732" class="css-a4x74f"><span>14732</span></td><td id="LC14732" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14733" class="css-a4x74f"><span>14733</span></td><td id="LC14733" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L14734" class="css-a4x74f"><span>14734</span></td><td id="LC14734" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14735" class="css-a4x74f"><span>14735</span></td><td id="LC14735" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14736" class="css-a4x74f"><span>14736</span></td><td id="LC14736" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14737" class="css-a4x74f"><span>14737</span></td><td id="LC14737" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14738" class="css-a4x74f"><span>14738</span></td><td id="LC14738" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14739" class="css-a4x74f"><span>14739</span></td><td id="LC14739" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14740" class="css-a4x74f"><span>14740</span></td><td id="LC14740" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14741" class="css-a4x74f"><span>14741</span></td><td id="LC14741" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-color"</span> </code></td></tr><tr><td id="L14742" class="css-a4x74f"><span>14742</span></td><td id="LC14742" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14743" class="css-a4x74f"><span>14743</span></td><td id="LC14743" class="css-1dcdqdg"><code> <span class="code-string">"background-image"</span>: { </code></td></tr><tr><td id="L14744" class="css-a4x74f"><span>14744</span></td><td id="LC14744" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-image>#"</span>, </code></td></tr><tr><td id="L14745" class="css-a4x74f"><span>14745</span></td><td id="LC14745" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14746" class="css-a4x74f"><span>14746</span></td><td id="LC14746" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14747" class="css-a4x74f"><span>14747</span></td><td id="LC14747" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14748" class="css-a4x74f"><span>14748</span></td><td id="LC14748" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14749" class="css-a4x74f"><span>14749</span></td><td id="LC14749" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14750" class="css-a4x74f"><span>14750</span></td><td id="LC14750" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14751" class="css-a4x74f"><span>14751</span></td><td id="LC14751" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14752" class="css-a4x74f"><span>14752</span></td><td id="LC14752" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14753" class="css-a4x74f"><span>14753</span></td><td id="LC14753" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14754" class="css-a4x74f"><span>14754</span></td><td id="LC14754" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedURLsAbsolute"</span>, </code></td></tr><tr><td id="L14755" class="css-a4x74f"><span>14755</span></td><td id="LC14755" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14756" class="css-a4x74f"><span>14756</span></td><td id="LC14756" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14757" class="css-a4x74f"><span>14757</span></td><td id="LC14757" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14758" class="css-a4x74f"><span>14758</span></td><td id="LC14758" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14759" class="css-a4x74f"><span>14759</span></td><td id="LC14759" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14760" class="css-a4x74f"><span>14760</span></td><td id="LC14760" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14761" class="css-a4x74f"><span>14761</span></td><td id="LC14761" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14762" class="css-a4x74f"><span>14762</span></td><td id="LC14762" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-image"</span> </code></td></tr><tr><td id="L14763" class="css-a4x74f"><span>14763</span></td><td id="LC14763" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14764" class="css-a4x74f"><span>14764</span></td><td id="LC14764" class="css-1dcdqdg"><code> <span class="code-string">"background-origin"</span>: { </code></td></tr><tr><td id="L14765" class="css-a4x74f"><span>14765</span></td><td id="LC14765" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<box>#"</span>, </code></td></tr><tr><td id="L14766" class="css-a4x74f"><span>14766</span></td><td id="LC14766" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14767" class="css-a4x74f"><span>14767</span></td><td id="LC14767" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14768" class="css-a4x74f"><span>14768</span></td><td id="LC14768" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14769" class="css-a4x74f"><span>14769</span></td><td id="LC14769" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14770" class="css-a4x74f"><span>14770</span></td><td id="LC14770" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14771" class="css-a4x74f"><span>14771</span></td><td id="LC14771" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14772" class="css-a4x74f"><span>14772</span></td><td id="LC14772" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14773" class="css-a4x74f"><span>14773</span></td><td id="LC14773" class="css-1dcdqdg"><code> initial: <span class="code-string">"padding-box"</span>, </code></td></tr><tr><td id="L14774" class="css-a4x74f"><span>14774</span></td><td id="LC14774" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14775" class="css-a4x74f"><span>14775</span></td><td id="LC14775" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14776" class="css-a4x74f"><span>14776</span></td><td id="LC14776" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14777" class="css-a4x74f"><span>14777</span></td><td id="LC14777" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14778" class="css-a4x74f"><span>14778</span></td><td id="LC14778" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14779" class="css-a4x74f"><span>14779</span></td><td id="LC14779" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14780" class="css-a4x74f"><span>14780</span></td><td id="LC14780" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14781" class="css-a4x74f"><span>14781</span></td><td id="LC14781" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14782" class="css-a4x74f"><span>14782</span></td><td id="LC14782" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14783" class="css-a4x74f"><span>14783</span></td><td id="LC14783" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-origin"</span> </code></td></tr><tr><td id="L14784" class="css-a4x74f"><span>14784</span></td><td id="LC14784" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14785" class="css-a4x74f"><span>14785</span></td><td id="LC14785" class="css-1dcdqdg"><code> <span class="code-string">"background-position"</span>: { </code></td></tr><tr><td id="L14786" class="css-a4x74f"><span>14786</span></td><td id="LC14786" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-position>#"</span>, </code></td></tr><tr><td id="L14787" class="css-a4x74f"><span>14787</span></td><td id="LC14787" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14788" class="css-a4x74f"><span>14788</span></td><td id="LC14788" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14789" class="css-a4x74f"><span>14789</span></td><td id="LC14789" class="css-1dcdqdg"><code> animationType: <span class="code-string">"repeatableListOfSimpleListOfLpc"</span>, </code></td></tr><tr><td id="L14790" class="css-a4x74f"><span>14790</span></td><td id="LC14790" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize"</span>, </code></td></tr><tr><td id="L14791" class="css-a4x74f"><span>14791</span></td><td id="LC14791" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14792" class="css-a4x74f"><span>14792</span></td><td id="LC14792" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14793" class="css-a4x74f"><span>14793</span></td><td id="LC14793" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14794" class="css-a4x74f"><span>14794</span></td><td id="LC14794" class="css-1dcdqdg"><code> initial: <span class="code-string">"0% 0%"</span>, </code></td></tr><tr><td id="L14795" class="css-a4x74f"><span>14795</span></td><td id="LC14795" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14796" class="css-a4x74f"><span>14796</span></td><td id="LC14796" class="css-1dcdqdg"><code> computed: <span class="code-string">"listEachItemTwoKeywordsOriginOffsets"</span>, </code></td></tr><tr><td id="L14797" class="css-a4x74f"><span>14797</span></td><td id="LC14797" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14798" class="css-a4x74f"><span>14798</span></td><td id="LC14798" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14799" class="css-a4x74f"><span>14799</span></td><td id="LC14799" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14800" class="css-a4x74f"><span>14800</span></td><td id="LC14800" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14801" class="css-a4x74f"><span>14801</span></td><td id="LC14801" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14802" class="css-a4x74f"><span>14802</span></td><td id="LC14802" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14803" class="css-a4x74f"><span>14803</span></td><td id="LC14803" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14804" class="css-a4x74f"><span>14804</span></td><td id="LC14804" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-position"</span> </code></td></tr><tr><td id="L14805" class="css-a4x74f"><span>14805</span></td><td id="LC14805" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14806" class="css-a4x74f"><span>14806</span></td><td id="LC14806" class="css-1dcdqdg"><code> <span class="code-string">"background-position-x"</span>: { </code></td></tr><tr><td id="L14807" class="css-a4x74f"><span>14807</span></td><td id="LC14807" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ center | [ left | right | x-start | x-end ]? <length-percentage>? ]#"</span>, </code></td></tr><tr><td id="L14808" class="css-a4x74f"><span>14808</span></td><td id="LC14808" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14809" class="css-a4x74f"><span>14809</span></td><td id="LC14809" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14810" class="css-a4x74f"><span>14810</span></td><td id="LC14810" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14811" class="css-a4x74f"><span>14811</span></td><td id="LC14811" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight"</span>, </code></td></tr><tr><td id="L14812" class="css-a4x74f"><span>14812</span></td><td id="LC14812" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14813" class="css-a4x74f"><span>14813</span></td><td id="LC14813" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14814" class="css-a4x74f"><span>14814</span></td><td id="LC14814" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14815" class="css-a4x74f"><span>14815</span></td><td id="LC14815" class="css-1dcdqdg"><code> initial: <span class="code-string">"left"</span>, </code></td></tr><tr><td id="L14816" class="css-a4x74f"><span>14816</span></td><td id="LC14816" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14817" class="css-a4x74f"><span>14817</span></td><td id="LC14817" class="css-1dcdqdg"><code> computed: <span class="code-string">"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin"</span>, </code></td></tr><tr><td id="L14818" class="css-a4x74f"><span>14818</span></td><td id="LC14818" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14819" class="css-a4x74f"><span>14819</span></td><td id="LC14819" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L14820" class="css-a4x74f"><span>14820</span></td><td id="LC14820" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-position-x"</span> </code></td></tr><tr><td id="L14821" class="css-a4x74f"><span>14821</span></td><td id="LC14821" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14822" class="css-a4x74f"><span>14822</span></td><td id="LC14822" class="css-1dcdqdg"><code> <span class="code-string">"background-position-y"</span>: { </code></td></tr><tr><td id="L14823" class="css-a4x74f"><span>14823</span></td><td id="LC14823" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ center | [ top | bottom | y-start | y-end ]? <length-percentage>? ]#"</span>, </code></td></tr><tr><td id="L14824" class="css-a4x74f"><span>14824</span></td><td id="LC14824" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14825" class="css-a4x74f"><span>14825</span></td><td id="LC14825" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14826" class="css-a4x74f"><span>14826</span></td><td id="LC14826" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14827" class="css-a4x74f"><span>14827</span></td><td id="LC14827" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight"</span>, </code></td></tr><tr><td id="L14828" class="css-a4x74f"><span>14828</span></td><td id="LC14828" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14829" class="css-a4x74f"><span>14829</span></td><td id="LC14829" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14830" class="css-a4x74f"><span>14830</span></td><td id="LC14830" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14831" class="css-a4x74f"><span>14831</span></td><td id="LC14831" class="css-1dcdqdg"><code> initial: <span class="code-string">"top"</span>, </code></td></tr><tr><td id="L14832" class="css-a4x74f"><span>14832</span></td><td id="LC14832" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14833" class="css-a4x74f"><span>14833</span></td><td id="LC14833" class="css-1dcdqdg"><code> computed: <span class="code-string">"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin"</span>, </code></td></tr><tr><td id="L14834" class="css-a4x74f"><span>14834</span></td><td id="LC14834" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14835" class="css-a4x74f"><span>14835</span></td><td id="LC14835" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L14836" class="css-a4x74f"><span>14836</span></td><td id="LC14836" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-position-y"</span> </code></td></tr><tr><td id="L14837" class="css-a4x74f"><span>14837</span></td><td id="LC14837" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14838" class="css-a4x74f"><span>14838</span></td><td id="LC14838" class="css-1dcdqdg"><code> <span class="code-string">"background-repeat"</span>: { </code></td></tr><tr><td id="L14839" class="css-a4x74f"><span>14839</span></td><td id="LC14839" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<repeat-style>#"</span>, </code></td></tr><tr><td id="L14840" class="css-a4x74f"><span>14840</span></td><td id="LC14840" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14841" class="css-a4x74f"><span>14841</span></td><td id="LC14841" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14842" class="css-a4x74f"><span>14842</span></td><td id="LC14842" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14843" class="css-a4x74f"><span>14843</span></td><td id="LC14843" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14844" class="css-a4x74f"><span>14844</span></td><td id="LC14844" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14845" class="css-a4x74f"><span>14845</span></td><td id="LC14845" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14846" class="css-a4x74f"><span>14846</span></td><td id="LC14846" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14847" class="css-a4x74f"><span>14847</span></td><td id="LC14847" class="css-1dcdqdg"><code> initial: <span class="code-string">"repeat"</span>, </code></td></tr><tr><td id="L14848" class="css-a4x74f"><span>14848</span></td><td id="LC14848" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14849" class="css-a4x74f"><span>14849</span></td><td id="LC14849" class="css-1dcdqdg"><code> computed: <span class="code-string">"listEachItemHasTwoKeywordsOnePerDimension"</span>, </code></td></tr><tr><td id="L14850" class="css-a4x74f"><span>14850</span></td><td id="LC14850" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14851" class="css-a4x74f"><span>14851</span></td><td id="LC14851" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14852" class="css-a4x74f"><span>14852</span></td><td id="LC14852" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14853" class="css-a4x74f"><span>14853</span></td><td id="LC14853" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14854" class="css-a4x74f"><span>14854</span></td><td id="LC14854" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14855" class="css-a4x74f"><span>14855</span></td><td id="LC14855" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14856" class="css-a4x74f"><span>14856</span></td><td id="LC14856" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14857" class="css-a4x74f"><span>14857</span></td><td id="LC14857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-repeat"</span> </code></td></tr><tr><td id="L14858" class="css-a4x74f"><span>14858</span></td><td id="LC14858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14859" class="css-a4x74f"><span>14859</span></td><td id="LC14859" class="css-1dcdqdg"><code> <span class="code-string">"background-size"</span>: { </code></td></tr><tr><td id="L14860" class="css-a4x74f"><span>14860</span></td><td id="LC14860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-size>#"</span>, </code></td></tr><tr><td id="L14861" class="css-a4x74f"><span>14861</span></td><td id="LC14861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14862" class="css-a4x74f"><span>14862</span></td><td id="LC14862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14863" class="css-a4x74f"><span>14863</span></td><td id="LC14863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"repeatableListOfSimpleListOfLpc"</span>, </code></td></tr><tr><td id="L14864" class="css-a4x74f"><span>14864</span></td><td id="LC14864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToBackgroundPositioningArea"</span>, </code></td></tr><tr><td id="L14865" class="css-a4x74f"><span>14865</span></td><td id="LC14865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14866" class="css-a4x74f"><span>14866</span></td><td id="LC14866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L14867" class="css-a4x74f"><span>14867</span></td><td id="LC14867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14868" class="css-a4x74f"><span>14868</span></td><td id="LC14868" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto auto"</span>, </code></td></tr><tr><td id="L14869" class="css-a4x74f"><span>14869</span></td><td id="LC14869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14870" class="css-a4x74f"><span>14870</span></td><td id="LC14870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L14871" class="css-a4x74f"><span>14871</span></td><td id="LC14871" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14872" class="css-a4x74f"><span>14872</span></td><td id="LC14872" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L14873" class="css-a4x74f"><span>14873</span></td><td id="LC14873" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L14874" class="css-a4x74f"><span>14874</span></td><td id="LC14874" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L14875" class="css-a4x74f"><span>14875</span></td><td id="LC14875" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L14876" class="css-a4x74f"><span>14876</span></td><td id="LC14876" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14877" class="css-a4x74f"><span>14877</span></td><td id="LC14877" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14878" class="css-a4x74f"><span>14878</span></td><td id="LC14878" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/background-size"</span> </code></td></tr><tr><td id="L14879" class="css-a4x74f"><span>14879</span></td><td id="LC14879" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14880" class="css-a4x74f"><span>14880</span></td><td id="LC14880" class="css-1dcdqdg"><code> <span class="code-string">"block-overflow"</span>: { </code></td></tr><tr><td id="L14881" class="css-a4x74f"><span>14881</span></td><td id="LC14881" class="css-1dcdqdg"><code> syntax: <span class="code-string">"clip | ellipsis | <string>"</span>, </code></td></tr><tr><td id="L14882" class="css-a4x74f"><span>14882</span></td><td id="LC14882" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14883" class="css-a4x74f"><span>14883</span></td><td id="LC14883" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L14884" class="css-a4x74f"><span>14884</span></td><td id="LC14884" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14885" class="css-a4x74f"><span>14885</span></td><td id="LC14885" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14886" class="css-a4x74f"><span>14886</span></td><td id="LC14886" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14887" class="css-a4x74f"><span>14887</span></td><td id="LC14887" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L14888" class="css-a4x74f"><span>14888</span></td><td id="LC14888" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14889" class="css-a4x74f"><span>14889</span></td><td id="LC14889" class="css-1dcdqdg"><code> initial: <span class="code-string">"clip"</span>, </code></td></tr><tr><td id="L14890" class="css-a4x74f"><span>14890</span></td><td id="LC14890" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L14891" class="css-a4x74f"><span>14891</span></td><td id="LC14891" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14892" class="css-a4x74f"><span>14892</span></td><td id="LC14892" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L14893" class="css-a4x74f"><span>14893</span></td><td id="LC14893" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L14894" class="css-a4x74f"><span>14894</span></td><td id="LC14894" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14895" class="css-a4x74f"><span>14895</span></td><td id="LC14895" class="css-1dcdqdg"><code> <span class="code-string">"block-size"</span>: { </code></td></tr><tr><td id="L14896" class="css-a4x74f"><span>14896</span></td><td id="LC14896" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'width'>"</span>, </code></td></tr><tr><td id="L14897" class="css-a4x74f"><span>14897</span></td><td id="LC14897" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14898" class="css-a4x74f"><span>14898</span></td><td id="LC14898" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14899" class="css-a4x74f"><span>14899</span></td><td id="LC14899" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14900" class="css-a4x74f"><span>14900</span></td><td id="LC14900" class="css-1dcdqdg"><code> percentages: <span class="code-string">"blockSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L14901" class="css-a4x74f"><span>14901</span></td><td id="LC14901" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14902" class="css-a4x74f"><span>14902</span></td><td id="LC14902" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14903" class="css-a4x74f"><span>14903</span></td><td id="LC14903" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14904" class="css-a4x74f"><span>14904</span></td><td id="LC14904" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L14905" class="css-a4x74f"><span>14905</span></td><td id="LC14905" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L14906" class="css-a4x74f"><span>14906</span></td><td id="LC14906" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L14907" class="css-a4x74f"><span>14907</span></td><td id="LC14907" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14908" class="css-a4x74f"><span>14908</span></td><td id="LC14908" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14909" class="css-a4x74f"><span>14909</span></td><td id="LC14909" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/block-size"</span> </code></td></tr><tr><td id="L14910" class="css-a4x74f"><span>14910</span></td><td id="LC14910" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14911" class="css-a4x74f"><span>14911</span></td><td id="LC14911" class="css-1dcdqdg"><code> border: border, </code></td></tr><tr><td id="L14912" class="css-a4x74f"><span>14912</span></td><td id="LC14912" class="css-1dcdqdg"><code> <span class="code-string">"border-block"</span>: { </code></td></tr><tr><td id="L14913" class="css-a4x74f"><span>14913</span></td><td id="LC14913" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L14914" class="css-a4x74f"><span>14914</span></td><td id="LC14914" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14915" class="css-a4x74f"><span>14915</span></td><td id="LC14915" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14916" class="css-a4x74f"><span>14916</span></td><td id="LC14916" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14917" class="css-a4x74f"><span>14917</span></td><td id="LC14917" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14918" class="css-a4x74f"><span>14918</span></td><td id="LC14918" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14919" class="css-a4x74f"><span>14919</span></td><td id="LC14919" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14920" class="css-a4x74f"><span>14920</span></td><td id="LC14920" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14921" class="css-a4x74f"><span>14921</span></td><td id="LC14921" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L14922" class="css-a4x74f"><span>14922</span></td><td id="LC14922" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L14923" class="css-a4x74f"><span>14923</span></td><td id="LC14923" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L14924" class="css-a4x74f"><span>14924</span></td><td id="LC14924" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L14925" class="css-a4x74f"><span>14925</span></td><td id="LC14925" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14926" class="css-a4x74f"><span>14926</span></td><td id="LC14926" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14927" class="css-a4x74f"><span>14927</span></td><td id="LC14927" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L14928" class="css-a4x74f"><span>14928</span></td><td id="LC14928" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L14929" class="css-a4x74f"><span>14929</span></td><td id="LC14929" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L14930" class="css-a4x74f"><span>14930</span></td><td id="LC14930" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L14931" class="css-a4x74f"><span>14931</span></td><td id="LC14931" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14932" class="css-a4x74f"><span>14932</span></td><td id="LC14932" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14933" class="css-a4x74f"><span>14933</span></td><td id="LC14933" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14934" class="css-a4x74f"><span>14934</span></td><td id="LC14934" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block"</span> </code></td></tr><tr><td id="L14935" class="css-a4x74f"><span>14935</span></td><td id="LC14935" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14936" class="css-a4x74f"><span>14936</span></td><td id="LC14936" class="css-1dcdqdg"><code> <span class="code-string">"border-block-color"</span>: { </code></td></tr><tr><td id="L14937" class="css-a4x74f"><span>14937</span></td><td id="LC14937" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>{1,2}"</span>, </code></td></tr><tr><td id="L14938" class="css-a4x74f"><span>14938</span></td><td id="LC14938" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14939" class="css-a4x74f"><span>14939</span></td><td id="LC14939" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14940" class="css-a4x74f"><span>14940</span></td><td id="LC14940" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14941" class="css-a4x74f"><span>14941</span></td><td id="LC14941" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14942" class="css-a4x74f"><span>14942</span></td><td id="LC14942" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14943" class="css-a4x74f"><span>14943</span></td><td id="LC14943" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14944" class="css-a4x74f"><span>14944</span></td><td id="LC14944" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14945" class="css-a4x74f"><span>14945</span></td><td id="LC14945" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L14946" class="css-a4x74f"><span>14946</span></td><td id="LC14946" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14947" class="css-a4x74f"><span>14947</span></td><td id="LC14947" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L14948" class="css-a4x74f"><span>14948</span></td><td id="LC14948" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14949" class="css-a4x74f"><span>14949</span></td><td id="LC14949" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14950" class="css-a4x74f"><span>14950</span></td><td id="LC14950" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-color"</span> </code></td></tr><tr><td id="L14951" class="css-a4x74f"><span>14951</span></td><td id="LC14951" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14952" class="css-a4x74f"><span>14952</span></td><td id="LC14952" class="css-1dcdqdg"><code> <span class="code-string">"border-block-style"</span>: { </code></td></tr><tr><td id="L14953" class="css-a4x74f"><span>14953</span></td><td id="LC14953" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L14954" class="css-a4x74f"><span>14954</span></td><td id="LC14954" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14955" class="css-a4x74f"><span>14955</span></td><td id="LC14955" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14956" class="css-a4x74f"><span>14956</span></td><td id="LC14956" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14957" class="css-a4x74f"><span>14957</span></td><td id="LC14957" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14958" class="css-a4x74f"><span>14958</span></td><td id="LC14958" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14959" class="css-a4x74f"><span>14959</span></td><td id="LC14959" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14960" class="css-a4x74f"><span>14960</span></td><td id="LC14960" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14961" class="css-a4x74f"><span>14961</span></td><td id="LC14961" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L14962" class="css-a4x74f"><span>14962</span></td><td id="LC14962" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14963" class="css-a4x74f"><span>14963</span></td><td id="LC14963" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L14964" class="css-a4x74f"><span>14964</span></td><td id="LC14964" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14965" class="css-a4x74f"><span>14965</span></td><td id="LC14965" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14966" class="css-a4x74f"><span>14966</span></td><td id="LC14966" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-style"</span> </code></td></tr><tr><td id="L14967" class="css-a4x74f"><span>14967</span></td><td id="LC14967" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14968" class="css-a4x74f"><span>14968</span></td><td id="LC14968" class="css-1dcdqdg"><code> <span class="code-string">"border-block-width"</span>: { </code></td></tr><tr><td id="L14969" class="css-a4x74f"><span>14969</span></td><td id="LC14969" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L14970" class="css-a4x74f"><span>14970</span></td><td id="LC14970" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14971" class="css-a4x74f"><span>14971</span></td><td id="LC14971" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14972" class="css-a4x74f"><span>14972</span></td><td id="LC14972" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14973" class="css-a4x74f"><span>14973</span></td><td id="LC14973" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L14974" class="css-a4x74f"><span>14974</span></td><td id="LC14974" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14975" class="css-a4x74f"><span>14975</span></td><td id="LC14975" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14976" class="css-a4x74f"><span>14976</span></td><td id="LC14976" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14977" class="css-a4x74f"><span>14977</span></td><td id="LC14977" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L14978" class="css-a4x74f"><span>14978</span></td><td id="LC14978" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14979" class="css-a4x74f"><span>14979</span></td><td id="LC14979" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L14980" class="css-a4x74f"><span>14980</span></td><td id="LC14980" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L14981" class="css-a4x74f"><span>14981</span></td><td id="LC14981" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L14982" class="css-a4x74f"><span>14982</span></td><td id="LC14982" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-width"</span> </code></td></tr><tr><td id="L14983" class="css-a4x74f"><span>14983</span></td><td id="LC14983" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L14984" class="css-a4x74f"><span>14984</span></td><td id="LC14984" class="css-1dcdqdg"><code> <span class="code-string">"border-block-end"</span>: { </code></td></tr><tr><td id="L14985" class="css-a4x74f"><span>14985</span></td><td id="LC14985" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L14986" class="css-a4x74f"><span>14986</span></td><td id="LC14986" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L14987" class="css-a4x74f"><span>14987</span></td><td id="LC14987" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L14988" class="css-a4x74f"><span>14988</span></td><td id="LC14988" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L14989" class="css-a4x74f"><span>14989</span></td><td id="LC14989" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L14990" class="css-a4x74f"><span>14990</span></td><td id="LC14990" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L14991" class="css-a4x74f"><span>14991</span></td><td id="LC14991" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L14992" class="css-a4x74f"><span>14992</span></td><td id="LC14992" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14993" class="css-a4x74f"><span>14993</span></td><td id="LC14993" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L14994" class="css-a4x74f"><span>14994</span></td><td id="LC14994" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L14995" class="css-a4x74f"><span>14995</span></td><td id="LC14995" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L14996" class="css-a4x74f"><span>14996</span></td><td id="LC14996" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L14997" class="css-a4x74f"><span>14997</span></td><td id="LC14997" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L14998" class="css-a4x74f"><span>14998</span></td><td id="LC14998" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L14999" class="css-a4x74f"><span>14999</span></td><td id="LC14999" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15000" class="css-a4x74f"><span>15000</span></td><td id="LC15000" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L15001" class="css-a4x74f"><span>15001</span></td><td id="LC15001" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15002" class="css-a4x74f"><span>15002</span></td><td id="LC15002" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15003" class="css-a4x74f"><span>15003</span></td><td id="LC15003" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15004" class="css-a4x74f"><span>15004</span></td><td id="LC15004" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15005" class="css-a4x74f"><span>15005</span></td><td id="LC15005" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15006" class="css-a4x74f"><span>15006</span></td><td id="LC15006" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-end"</span> </code></td></tr><tr><td id="L15007" class="css-a4x74f"><span>15007</span></td><td id="LC15007" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15008" class="css-a4x74f"><span>15008</span></td><td id="LC15008" class="css-1dcdqdg"><code> <span class="code-string">"border-block-end-color"</span>: { </code></td></tr><tr><td id="L15009" class="css-a4x74f"><span>15009</span></td><td id="LC15009" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>"</span>, </code></td></tr><tr><td id="L15010" class="css-a4x74f"><span>15010</span></td><td id="LC15010" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15011" class="css-a4x74f"><span>15011</span></td><td id="LC15011" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15012" class="css-a4x74f"><span>15012</span></td><td id="LC15012" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15013" class="css-a4x74f"><span>15013</span></td><td id="LC15013" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15014" class="css-a4x74f"><span>15014</span></td><td id="LC15014" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15015" class="css-a4x74f"><span>15015</span></td><td id="LC15015" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15016" class="css-a4x74f"><span>15016</span></td><td id="LC15016" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15017" class="css-a4x74f"><span>15017</span></td><td id="LC15017" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15018" class="css-a4x74f"><span>15018</span></td><td id="LC15018" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15019" class="css-a4x74f"><span>15019</span></td><td id="LC15019" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15020" class="css-a4x74f"><span>15020</span></td><td id="LC15020" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15021" class="css-a4x74f"><span>15021</span></td><td id="LC15021" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15022" class="css-a4x74f"><span>15022</span></td><td id="LC15022" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color"</span> </code></td></tr><tr><td id="L15023" class="css-a4x74f"><span>15023</span></td><td id="LC15023" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15024" class="css-a4x74f"><span>15024</span></td><td id="LC15024" class="css-1dcdqdg"><code> <span class="code-string">"border-block-end-style"</span>: { </code></td></tr><tr><td id="L15025" class="css-a4x74f"><span>15025</span></td><td id="LC15025" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L15026" class="css-a4x74f"><span>15026</span></td><td id="LC15026" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15027" class="css-a4x74f"><span>15027</span></td><td id="LC15027" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15028" class="css-a4x74f"><span>15028</span></td><td id="LC15028" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15029" class="css-a4x74f"><span>15029</span></td><td id="LC15029" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15030" class="css-a4x74f"><span>15030</span></td><td id="LC15030" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15031" class="css-a4x74f"><span>15031</span></td><td id="LC15031" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15032" class="css-a4x74f"><span>15032</span></td><td id="LC15032" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15033" class="css-a4x74f"><span>15033</span></td><td id="LC15033" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15034" class="css-a4x74f"><span>15034</span></td><td id="LC15034" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15035" class="css-a4x74f"><span>15035</span></td><td id="LC15035" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15036" class="css-a4x74f"><span>15036</span></td><td id="LC15036" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15037" class="css-a4x74f"><span>15037</span></td><td id="LC15037" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15038" class="css-a4x74f"><span>15038</span></td><td id="LC15038" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style"</span> </code></td></tr><tr><td id="L15039" class="css-a4x74f"><span>15039</span></td><td id="LC15039" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15040" class="css-a4x74f"><span>15040</span></td><td id="LC15040" class="css-1dcdqdg"><code> <span class="code-string">"border-block-end-width"</span>: { </code></td></tr><tr><td id="L15041" class="css-a4x74f"><span>15041</span></td><td id="LC15041" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L15042" class="css-a4x74f"><span>15042</span></td><td id="LC15042" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15043" class="css-a4x74f"><span>15043</span></td><td id="LC15043" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15044" class="css-a4x74f"><span>15044</span></td><td id="LC15044" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15045" class="css-a4x74f"><span>15045</span></td><td id="LC15045" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L15046" class="css-a4x74f"><span>15046</span></td><td id="LC15046" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15047" class="css-a4x74f"><span>15047</span></td><td id="LC15047" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15048" class="css-a4x74f"><span>15048</span></td><td id="LC15048" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15049" class="css-a4x74f"><span>15049</span></td><td id="LC15049" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15050" class="css-a4x74f"><span>15050</span></td><td id="LC15050" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15051" class="css-a4x74f"><span>15051</span></td><td id="LC15051" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15052" class="css-a4x74f"><span>15052</span></td><td id="LC15052" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15053" class="css-a4x74f"><span>15053</span></td><td id="LC15053" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15054" class="css-a4x74f"><span>15054</span></td><td id="LC15054" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width"</span> </code></td></tr><tr><td id="L15055" class="css-a4x74f"><span>15055</span></td><td id="LC15055" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15056" class="css-a4x74f"><span>15056</span></td><td id="LC15056" class="css-1dcdqdg"><code> <span class="code-string">"border-block-start"</span>: { </code></td></tr><tr><td id="L15057" class="css-a4x74f"><span>15057</span></td><td id="LC15057" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L15058" class="css-a4x74f"><span>15058</span></td><td id="LC15058" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15059" class="css-a4x74f"><span>15059</span></td><td id="LC15059" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15060" class="css-a4x74f"><span>15060</span></td><td id="LC15060" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15061" class="css-a4x74f"><span>15061</span></td><td id="LC15061" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15062" class="css-a4x74f"><span>15062</span></td><td id="LC15062" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15063" class="css-a4x74f"><span>15063</span></td><td id="LC15063" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15064" class="css-a4x74f"><span>15064</span></td><td id="LC15064" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15065" class="css-a4x74f"><span>15065</span></td><td id="LC15065" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15066" class="css-a4x74f"><span>15066</span></td><td id="LC15066" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15067" class="css-a4x74f"><span>15067</span></td><td id="LC15067" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15068" class="css-a4x74f"><span>15068</span></td><td id="LC15068" class="css-1dcdqdg"><code> <span class="code-string">"color"</span> </code></td></tr><tr><td id="L15069" class="css-a4x74f"><span>15069</span></td><td id="LC15069" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15070" class="css-a4x74f"><span>15070</span></td><td id="LC15070" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15071" class="css-a4x74f"><span>15071</span></td><td id="LC15071" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15072" class="css-a4x74f"><span>15072</span></td><td id="LC15072" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15073" class="css-a4x74f"><span>15073</span></td><td id="LC15073" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15074" class="css-a4x74f"><span>15074</span></td><td id="LC15074" class="css-1dcdqdg"><code> <span class="code-string">"border-block-start-color"</span> </code></td></tr><tr><td id="L15075" class="css-a4x74f"><span>15075</span></td><td id="LC15075" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15076" class="css-a4x74f"><span>15076</span></td><td id="LC15076" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15077" class="css-a4x74f"><span>15077</span></td><td id="LC15077" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15078" class="css-a4x74f"><span>15078</span></td><td id="LC15078" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-start"</span> </code></td></tr><tr><td id="L15079" class="css-a4x74f"><span>15079</span></td><td id="LC15079" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15080" class="css-a4x74f"><span>15080</span></td><td id="LC15080" class="css-1dcdqdg"><code> <span class="code-string">"border-block-start-color"</span>: { </code></td></tr><tr><td id="L15081" class="css-a4x74f"><span>15081</span></td><td id="LC15081" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>"</span>, </code></td></tr><tr><td id="L15082" class="css-a4x74f"><span>15082</span></td><td id="LC15082" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15083" class="css-a4x74f"><span>15083</span></td><td id="LC15083" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15084" class="css-a4x74f"><span>15084</span></td><td id="LC15084" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15085" class="css-a4x74f"><span>15085</span></td><td id="LC15085" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15086" class="css-a4x74f"><span>15086</span></td><td id="LC15086" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15087" class="css-a4x74f"><span>15087</span></td><td id="LC15087" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15088" class="css-a4x74f"><span>15088</span></td><td id="LC15088" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15089" class="css-a4x74f"><span>15089</span></td><td id="LC15089" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15090" class="css-a4x74f"><span>15090</span></td><td id="LC15090" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15091" class="css-a4x74f"><span>15091</span></td><td id="LC15091" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15092" class="css-a4x74f"><span>15092</span></td><td id="LC15092" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15093" class="css-a4x74f"><span>15093</span></td><td id="LC15093" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15094" class="css-a4x74f"><span>15094</span></td><td id="LC15094" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color"</span> </code></td></tr><tr><td id="L15095" class="css-a4x74f"><span>15095</span></td><td id="LC15095" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15096" class="css-a4x74f"><span>15096</span></td><td id="LC15096" class="css-1dcdqdg"><code> <span class="code-string">"border-block-start-style"</span>: { </code></td></tr><tr><td id="L15097" class="css-a4x74f"><span>15097</span></td><td id="LC15097" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L15098" class="css-a4x74f"><span>15098</span></td><td id="LC15098" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15099" class="css-a4x74f"><span>15099</span></td><td id="LC15099" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15100" class="css-a4x74f"><span>15100</span></td><td id="LC15100" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15101" class="css-a4x74f"><span>15101</span></td><td id="LC15101" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15102" class="css-a4x74f"><span>15102</span></td><td id="LC15102" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15103" class="css-a4x74f"><span>15103</span></td><td id="LC15103" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15104" class="css-a4x74f"><span>15104</span></td><td id="LC15104" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15105" class="css-a4x74f"><span>15105</span></td><td id="LC15105" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15106" class="css-a4x74f"><span>15106</span></td><td id="LC15106" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15107" class="css-a4x74f"><span>15107</span></td><td id="LC15107" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15108" class="css-a4x74f"><span>15108</span></td><td id="LC15108" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15109" class="css-a4x74f"><span>15109</span></td><td id="LC15109" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15110" class="css-a4x74f"><span>15110</span></td><td id="LC15110" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style"</span> </code></td></tr><tr><td id="L15111" class="css-a4x74f"><span>15111</span></td><td id="LC15111" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15112" class="css-a4x74f"><span>15112</span></td><td id="LC15112" class="css-1dcdqdg"><code> <span class="code-string">"border-block-start-width"</span>: { </code></td></tr><tr><td id="L15113" class="css-a4x74f"><span>15113</span></td><td id="LC15113" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L15114" class="css-a4x74f"><span>15114</span></td><td id="LC15114" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15115" class="css-a4x74f"><span>15115</span></td><td id="LC15115" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15116" class="css-a4x74f"><span>15116</span></td><td id="LC15116" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15117" class="css-a4x74f"><span>15117</span></td><td id="LC15117" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L15118" class="css-a4x74f"><span>15118</span></td><td id="LC15118" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15119" class="css-a4x74f"><span>15119</span></td><td id="LC15119" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15120" class="css-a4x74f"><span>15120</span></td><td id="LC15120" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15121" class="css-a4x74f"><span>15121</span></td><td id="LC15121" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15122" class="css-a4x74f"><span>15122</span></td><td id="LC15122" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15123" class="css-a4x74f"><span>15123</span></td><td id="LC15123" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15124" class="css-a4x74f"><span>15124</span></td><td id="LC15124" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15125" class="css-a4x74f"><span>15125</span></td><td id="LC15125" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15126" class="css-a4x74f"><span>15126</span></td><td id="LC15126" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width"</span> </code></td></tr><tr><td id="L15127" class="css-a4x74f"><span>15127</span></td><td id="LC15127" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15128" class="css-a4x74f"><span>15128</span></td><td id="LC15128" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom"</span>: { </code></td></tr><tr><td id="L15129" class="css-a4x74f"><span>15129</span></td><td id="LC15129" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width> || <line-style> || <color>"</span>, </code></td></tr><tr><td id="L15130" class="css-a4x74f"><span>15130</span></td><td id="LC15130" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15131" class="css-a4x74f"><span>15131</span></td><td id="LC15131" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15132" class="css-a4x74f"><span>15132</span></td><td id="LC15132" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15133" class="css-a4x74f"><span>15133</span></td><td id="LC15133" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span>, </code></td></tr><tr><td id="L15134" class="css-a4x74f"><span>15134</span></td><td id="LC15134" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>, </code></td></tr><tr><td id="L15135" class="css-a4x74f"><span>15135</span></td><td id="LC15135" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span> </code></td></tr><tr><td id="L15136" class="css-a4x74f"><span>15136</span></td><td id="LC15136" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15137" class="css-a4x74f"><span>15137</span></td><td id="LC15137" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15138" class="css-a4x74f"><span>15138</span></td><td id="LC15138" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15139" class="css-a4x74f"><span>15139</span></td><td id="LC15139" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15140" class="css-a4x74f"><span>15140</span></td><td id="LC15140" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15141" class="css-a4x74f"><span>15141</span></td><td id="LC15141" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15142" class="css-a4x74f"><span>15142</span></td><td id="LC15142" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>, </code></td></tr><tr><td id="L15143" class="css-a4x74f"><span>15143</span></td><td id="LC15143" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>, </code></td></tr><tr><td id="L15144" class="css-a4x74f"><span>15144</span></td><td id="LC15144" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span> </code></td></tr><tr><td id="L15145" class="css-a4x74f"><span>15145</span></td><td id="LC15145" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15146" class="css-a4x74f"><span>15146</span></td><td id="LC15146" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15147" class="css-a4x74f"><span>15147</span></td><td id="LC15147" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15148" class="css-a4x74f"><span>15148</span></td><td id="LC15148" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>, </code></td></tr><tr><td id="L15149" class="css-a4x74f"><span>15149</span></td><td id="LC15149" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>, </code></td></tr><tr><td id="L15150" class="css-a4x74f"><span>15150</span></td><td id="LC15150" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span> </code></td></tr><tr><td id="L15151" class="css-a4x74f"><span>15151</span></td><td id="LC15151" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15152" class="css-a4x74f"><span>15152</span></td><td id="LC15152" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L15153" class="css-a4x74f"><span>15153</span></td><td id="LC15153" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15154" class="css-a4x74f"><span>15154</span></td><td id="LC15154" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15155" class="css-a4x74f"><span>15155</span></td><td id="LC15155" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15156" class="css-a4x74f"><span>15156</span></td><td id="LC15156" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15157" class="css-a4x74f"><span>15157</span></td><td id="LC15157" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom"</span> </code></td></tr><tr><td id="L15158" class="css-a4x74f"><span>15158</span></td><td id="LC15158" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15159" class="css-a4x74f"><span>15159</span></td><td id="LC15159" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span>: { </code></td></tr><tr><td id="L15160" class="css-a4x74f"><span>15160</span></td><td id="LC15160" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>"</span>, </code></td></tr><tr><td id="L15161" class="css-a4x74f"><span>15161</span></td><td id="LC15161" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15162" class="css-a4x74f"><span>15162</span></td><td id="LC15162" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15163" class="css-a4x74f"><span>15163</span></td><td id="LC15163" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L15164" class="css-a4x74f"><span>15164</span></td><td id="LC15164" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15165" class="css-a4x74f"><span>15165</span></td><td id="LC15165" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15166" class="css-a4x74f"><span>15166</span></td><td id="LC15166" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15167" class="css-a4x74f"><span>15167</span></td><td id="LC15167" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15168" class="css-a4x74f"><span>15168</span></td><td id="LC15168" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15169" class="css-a4x74f"><span>15169</span></td><td id="LC15169" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15170" class="css-a4x74f"><span>15170</span></td><td id="LC15170" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15171" class="css-a4x74f"><span>15171</span></td><td id="LC15171" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15172" class="css-a4x74f"><span>15172</span></td><td id="LC15172" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15173" class="css-a4x74f"><span>15173</span></td><td id="LC15173" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15174" class="css-a4x74f"><span>15174</span></td><td id="LC15174" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15175" class="css-a4x74f"><span>15175</span></td><td id="LC15175" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15176" class="css-a4x74f"><span>15176</span></td><td id="LC15176" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"</span> </code></td></tr><tr><td id="L15177" class="css-a4x74f"><span>15177</span></td><td id="LC15177" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15178" class="css-a4x74f"><span>15178</span></td><td id="LC15178" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-left-radius"</span>: { </code></td></tr><tr><td id="L15179" class="css-a4x74f"><span>15179</span></td><td id="LC15179" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15180" class="css-a4x74f"><span>15180</span></td><td id="LC15180" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15181" class="css-a4x74f"><span>15181</span></td><td id="LC15181" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15182" class="css-a4x74f"><span>15182</span></td><td id="LC15182" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15183" class="css-a4x74f"><span>15183</span></td><td id="LC15183" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15184" class="css-a4x74f"><span>15184</span></td><td id="LC15184" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15185" class="css-a4x74f"><span>15185</span></td><td id="LC15185" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15186" class="css-a4x74f"><span>15186</span></td><td id="LC15186" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15187" class="css-a4x74f"><span>15187</span></td><td id="LC15187" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15188" class="css-a4x74f"><span>15188</span></td><td id="LC15188" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15189" class="css-a4x74f"><span>15189</span></td><td id="LC15189" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15190" class="css-a4x74f"><span>15190</span></td><td id="LC15190" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15191" class="css-a4x74f"><span>15191</span></td><td id="LC15191" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15192" class="css-a4x74f"><span>15192</span></td><td id="LC15192" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15193" class="css-a4x74f"><span>15193</span></td><td id="LC15193" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15194" class="css-a4x74f"><span>15194</span></td><td id="LC15194" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15195" class="css-a4x74f"><span>15195</span></td><td id="LC15195" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"</span> </code></td></tr><tr><td id="L15196" class="css-a4x74f"><span>15196</span></td><td id="LC15196" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15197" class="css-a4x74f"><span>15197</span></td><td id="LC15197" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-right-radius"</span>: { </code></td></tr><tr><td id="L15198" class="css-a4x74f"><span>15198</span></td><td id="LC15198" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15199" class="css-a4x74f"><span>15199</span></td><td id="LC15199" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15200" class="css-a4x74f"><span>15200</span></td><td id="LC15200" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15201" class="css-a4x74f"><span>15201</span></td><td id="LC15201" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15202" class="css-a4x74f"><span>15202</span></td><td id="LC15202" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15203" class="css-a4x74f"><span>15203</span></td><td id="LC15203" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15204" class="css-a4x74f"><span>15204</span></td><td id="LC15204" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15205" class="css-a4x74f"><span>15205</span></td><td id="LC15205" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15206" class="css-a4x74f"><span>15206</span></td><td id="LC15206" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15207" class="css-a4x74f"><span>15207</span></td><td id="LC15207" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15208" class="css-a4x74f"><span>15208</span></td><td id="LC15208" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15209" class="css-a4x74f"><span>15209</span></td><td id="LC15209" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15210" class="css-a4x74f"><span>15210</span></td><td id="LC15210" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15211" class="css-a4x74f"><span>15211</span></td><td id="LC15211" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15212" class="css-a4x74f"><span>15212</span></td><td id="LC15212" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15213" class="css-a4x74f"><span>15213</span></td><td id="LC15213" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15214" class="css-a4x74f"><span>15214</span></td><td id="LC15214" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"</span> </code></td></tr><tr><td id="L15215" class="css-a4x74f"><span>15215</span></td><td id="LC15215" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15216" class="css-a4x74f"><span>15216</span></td><td id="LC15216" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>: { </code></td></tr><tr><td id="L15217" class="css-a4x74f"><span>15217</span></td><td id="LC15217" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-style>"</span>, </code></td></tr><tr><td id="L15218" class="css-a4x74f"><span>15218</span></td><td id="LC15218" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15219" class="css-a4x74f"><span>15219</span></td><td id="LC15219" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15220" class="css-a4x74f"><span>15220</span></td><td id="LC15220" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15221" class="css-a4x74f"><span>15221</span></td><td id="LC15221" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15222" class="css-a4x74f"><span>15222</span></td><td id="LC15222" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15223" class="css-a4x74f"><span>15223</span></td><td id="LC15223" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15224" class="css-a4x74f"><span>15224</span></td><td id="LC15224" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15225" class="css-a4x74f"><span>15225</span></td><td id="LC15225" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15226" class="css-a4x74f"><span>15226</span></td><td id="LC15226" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15227" class="css-a4x74f"><span>15227</span></td><td id="LC15227" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15228" class="css-a4x74f"><span>15228</span></td><td id="LC15228" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15229" class="css-a4x74f"><span>15229</span></td><td id="LC15229" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15230" class="css-a4x74f"><span>15230</span></td><td id="LC15230" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15231" class="css-a4x74f"><span>15231</span></td><td id="LC15231" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15232" class="css-a4x74f"><span>15232</span></td><td id="LC15232" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15233" class="css-a4x74f"><span>15233</span></td><td id="LC15233" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style"</span> </code></td></tr><tr><td id="L15234" class="css-a4x74f"><span>15234</span></td><td id="LC15234" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15235" class="css-a4x74f"><span>15235</span></td><td id="LC15235" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>: { </code></td></tr><tr><td id="L15236" class="css-a4x74f"><span>15236</span></td><td id="LC15236" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>"</span>, </code></td></tr><tr><td id="L15237" class="css-a4x74f"><span>15237</span></td><td id="LC15237" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15238" class="css-a4x74f"><span>15238</span></td><td id="LC15238" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15239" class="css-a4x74f"><span>15239</span></td><td id="LC15239" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L15240" class="css-a4x74f"><span>15240</span></td><td id="LC15240" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15241" class="css-a4x74f"><span>15241</span></td><td id="LC15241" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15242" class="css-a4x74f"><span>15242</span></td><td id="LC15242" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15243" class="css-a4x74f"><span>15243</span></td><td id="LC15243" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15244" class="css-a4x74f"><span>15244</span></td><td id="LC15244" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15245" class="css-a4x74f"><span>15245</span></td><td id="LC15245" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15246" class="css-a4x74f"><span>15246</span></td><td id="LC15246" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15247" class="css-a4x74f"><span>15247</span></td><td id="LC15247" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15248" class="css-a4x74f"><span>15248</span></td><td id="LC15248" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15249" class="css-a4x74f"><span>15249</span></td><td id="LC15249" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15250" class="css-a4x74f"><span>15250</span></td><td id="LC15250" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15251" class="css-a4x74f"><span>15251</span></td><td id="LC15251" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15252" class="css-a4x74f"><span>15252</span></td><td id="LC15252" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width"</span> </code></td></tr><tr><td id="L15253" class="css-a4x74f"><span>15253</span></td><td id="LC15253" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15254" class="css-a4x74f"><span>15254</span></td><td id="LC15254" class="css-1dcdqdg"><code> <span class="code-string">"border-collapse"</span>: { </code></td></tr><tr><td id="L15255" class="css-a4x74f"><span>15255</span></td><td id="LC15255" class="css-1dcdqdg"><code> syntax: <span class="code-string">"collapse | separate"</span>, </code></td></tr><tr><td id="L15256" class="css-a4x74f"><span>15256</span></td><td id="LC15256" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15257" class="css-a4x74f"><span>15257</span></td><td id="LC15257" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L15258" class="css-a4x74f"><span>15258</span></td><td id="LC15258" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15259" class="css-a4x74f"><span>15259</span></td><td id="LC15259" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15260" class="css-a4x74f"><span>15260</span></td><td id="LC15260" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15261" class="css-a4x74f"><span>15261</span></td><td id="LC15261" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L15262" class="css-a4x74f"><span>15262</span></td><td id="LC15262" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15263" class="css-a4x74f"><span>15263</span></td><td id="LC15263" class="css-1dcdqdg"><code> initial: <span class="code-string">"separate"</span>, </code></td></tr><tr><td id="L15264" class="css-a4x74f"><span>15264</span></td><td id="LC15264" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"tableElements"</span>, </code></td></tr><tr><td id="L15265" class="css-a4x74f"><span>15265</span></td><td id="LC15265" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15266" class="css-a4x74f"><span>15266</span></td><td id="LC15266" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15267" class="css-a4x74f"><span>15267</span></td><td id="LC15267" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15268" class="css-a4x74f"><span>15268</span></td><td id="LC15268" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-collapse"</span> </code></td></tr><tr><td id="L15269" class="css-a4x74f"><span>15269</span></td><td id="LC15269" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15270" class="css-a4x74f"><span>15270</span></td><td id="LC15270" class="css-1dcdqdg"><code> <span class="code-string">"border-color"</span>: { </code></td></tr><tr><td id="L15271" class="css-a4x74f"><span>15271</span></td><td id="LC15271" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>{1,4}"</span>, </code></td></tr><tr><td id="L15272" class="css-a4x74f"><span>15272</span></td><td id="LC15272" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15273" class="css-a4x74f"><span>15273</span></td><td id="LC15273" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15274" class="css-a4x74f"><span>15274</span></td><td id="LC15274" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15275" class="css-a4x74f"><span>15275</span></td><td id="LC15275" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span>, </code></td></tr><tr><td id="L15276" class="css-a4x74f"><span>15276</span></td><td id="LC15276" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span>, </code></td></tr><tr><td id="L15277" class="css-a4x74f"><span>15277</span></td><td id="LC15277" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span>, </code></td></tr><tr><td id="L15278" class="css-a4x74f"><span>15278</span></td><td id="LC15278" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15279" class="css-a4x74f"><span>15279</span></td><td id="LC15279" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15280" class="css-a4x74f"><span>15280</span></td><td id="LC15280" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15281" class="css-a4x74f"><span>15281</span></td><td id="LC15281" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15282" class="css-a4x74f"><span>15282</span></td><td id="LC15282" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15283" class="css-a4x74f"><span>15283</span></td><td id="LC15283" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15284" class="css-a4x74f"><span>15284</span></td><td id="LC15284" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15285" class="css-a4x74f"><span>15285</span></td><td id="LC15285" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span>, </code></td></tr><tr><td id="L15286" class="css-a4x74f"><span>15286</span></td><td id="LC15286" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span>, </code></td></tr><tr><td id="L15287" class="css-a4x74f"><span>15287</span></td><td id="LC15287" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span>, </code></td></tr><tr><td id="L15288" class="css-a4x74f"><span>15288</span></td><td id="LC15288" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span> </code></td></tr><tr><td id="L15289" class="css-a4x74f"><span>15289</span></td><td id="LC15289" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15290" class="css-a4x74f"><span>15290</span></td><td id="LC15290" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15291" class="css-a4x74f"><span>15291</span></td><td id="LC15291" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15292" class="css-a4x74f"><span>15292</span></td><td id="LC15292" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-color"</span>, </code></td></tr><tr><td id="L15293" class="css-a4x74f"><span>15293</span></td><td id="LC15293" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span>, </code></td></tr><tr><td id="L15294" class="css-a4x74f"><span>15294</span></td><td id="LC15294" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span>, </code></td></tr><tr><td id="L15295" class="css-a4x74f"><span>15295</span></td><td id="LC15295" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15296" class="css-a4x74f"><span>15296</span></td><td id="LC15296" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15297" class="css-a4x74f"><span>15297</span></td><td id="LC15297" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15298" class="css-a4x74f"><span>15298</span></td><td id="LC15298" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15299" class="css-a4x74f"><span>15299</span></td><td id="LC15299" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15300" class="css-a4x74f"><span>15300</span></td><td id="LC15300" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15301" class="css-a4x74f"><span>15301</span></td><td id="LC15301" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15302" class="css-a4x74f"><span>15302</span></td><td id="LC15302" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-color"</span> </code></td></tr><tr><td id="L15303" class="css-a4x74f"><span>15303</span></td><td id="LC15303" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15304" class="css-a4x74f"><span>15304</span></td><td id="LC15304" class="css-1dcdqdg"><code> <span class="code-string">"border-end-end-radius"</span>: { </code></td></tr><tr><td id="L15305" class="css-a4x74f"><span>15305</span></td><td id="LC15305" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15306" class="css-a4x74f"><span>15306</span></td><td id="LC15306" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15307" class="css-a4x74f"><span>15307</span></td><td id="LC15307" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15308" class="css-a4x74f"><span>15308</span></td><td id="LC15308" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15309" class="css-a4x74f"><span>15309</span></td><td id="LC15309" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15310" class="css-a4x74f"><span>15310</span></td><td id="LC15310" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15311" class="css-a4x74f"><span>15311</span></td><td id="LC15311" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15312" class="css-a4x74f"><span>15312</span></td><td id="LC15312" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15313" class="css-a4x74f"><span>15313</span></td><td id="LC15313" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15314" class="css-a4x74f"><span>15314</span></td><td id="LC15314" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15315" class="css-a4x74f"><span>15315</span></td><td id="LC15315" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15316" class="css-a4x74f"><span>15316</span></td><td id="LC15316" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15317" class="css-a4x74f"><span>15317</span></td><td id="LC15317" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15318" class="css-a4x74f"><span>15318</span></td><td id="LC15318" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15319" class="css-a4x74f"><span>15319</span></td><td id="LC15319" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15320" class="css-a4x74f"><span>15320</span></td><td id="LC15320" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15321" class="css-a4x74f"><span>15321</span></td><td id="LC15321" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius"</span> </code></td></tr><tr><td id="L15322" class="css-a4x74f"><span>15322</span></td><td id="LC15322" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15323" class="css-a4x74f"><span>15323</span></td><td id="LC15323" class="css-1dcdqdg"><code> <span class="code-string">"border-end-start-radius"</span>: { </code></td></tr><tr><td id="L15324" class="css-a4x74f"><span>15324</span></td><td id="LC15324" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15325" class="css-a4x74f"><span>15325</span></td><td id="LC15325" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15326" class="css-a4x74f"><span>15326</span></td><td id="LC15326" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15327" class="css-a4x74f"><span>15327</span></td><td id="LC15327" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15328" class="css-a4x74f"><span>15328</span></td><td id="LC15328" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15329" class="css-a4x74f"><span>15329</span></td><td id="LC15329" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15330" class="css-a4x74f"><span>15330</span></td><td id="LC15330" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15331" class="css-a4x74f"><span>15331</span></td><td id="LC15331" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15332" class="css-a4x74f"><span>15332</span></td><td id="LC15332" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15333" class="css-a4x74f"><span>15333</span></td><td id="LC15333" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15334" class="css-a4x74f"><span>15334</span></td><td id="LC15334" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15335" class="css-a4x74f"><span>15335</span></td><td id="LC15335" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15336" class="css-a4x74f"><span>15336</span></td><td id="LC15336" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15337" class="css-a4x74f"><span>15337</span></td><td id="LC15337" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15338" class="css-a4x74f"><span>15338</span></td><td id="LC15338" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15339" class="css-a4x74f"><span>15339</span></td><td id="LC15339" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15340" class="css-a4x74f"><span>15340</span></td><td id="LC15340" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius"</span> </code></td></tr><tr><td id="L15341" class="css-a4x74f"><span>15341</span></td><td id="LC15341" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15342" class="css-a4x74f"><span>15342</span></td><td id="LC15342" class="css-1dcdqdg"><code> <span class="code-string">"border-image"</span>: { </code></td></tr><tr><td id="L15343" class="css-a4x74f"><span>15343</span></td><td id="LC15343" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>"</span>, </code></td></tr><tr><td id="L15344" class="css-a4x74f"><span>15344</span></td><td id="LC15344" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15345" class="css-a4x74f"><span>15345</span></td><td id="LC15345" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15346" class="css-a4x74f"><span>15346</span></td><td id="LC15346" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15347" class="css-a4x74f"><span>15347</span></td><td id="LC15347" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L15348" class="css-a4x74f"><span>15348</span></td><td id="LC15348" class="css-1dcdqdg"><code> <span class="code-string">"border-image-slice"</span>, </code></td></tr><tr><td id="L15349" class="css-a4x74f"><span>15349</span></td><td id="LC15349" class="css-1dcdqdg"><code> <span class="code-string">"border-image-width"</span> </code></td></tr><tr><td id="L15350" class="css-a4x74f"><span>15350</span></td><td id="LC15350" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15351" class="css-a4x74f"><span>15351</span></td><td id="LC15351" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15352" class="css-a4x74f"><span>15352</span></td><td id="LC15352" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15353" class="css-a4x74f"><span>15353</span></td><td id="LC15353" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15354" class="css-a4x74f"><span>15354</span></td><td id="LC15354" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15355" class="css-a4x74f"><span>15355</span></td><td id="LC15355" class="css-1dcdqdg"><code> <span class="code-string">"border-image-source"</span>, </code></td></tr><tr><td id="L15356" class="css-a4x74f"><span>15356</span></td><td id="LC15356" class="css-1dcdqdg"><code> <span class="code-string">"border-image-slice"</span>, </code></td></tr><tr><td id="L15357" class="css-a4x74f"><span>15357</span></td><td id="LC15357" class="css-1dcdqdg"><code> <span class="code-string">"border-image-width"</span>, </code></td></tr><tr><td id="L15358" class="css-a4x74f"><span>15358</span></td><td id="LC15358" class="css-1dcdqdg"><code> <span class="code-string">"border-image-outset"</span>, </code></td></tr><tr><td id="L15359" class="css-a4x74f"><span>15359</span></td><td id="LC15359" class="css-1dcdqdg"><code> <span class="code-string">"border-image-repeat"</span> </code></td></tr><tr><td id="L15360" class="css-a4x74f"><span>15360</span></td><td id="LC15360" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15361" class="css-a4x74f"><span>15361</span></td><td id="LC15361" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15362" class="css-a4x74f"><span>15362</span></td><td id="LC15362" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15363" class="css-a4x74f"><span>15363</span></td><td id="LC15363" class="css-1dcdqdg"><code> <span class="code-string">"border-image-outset"</span>, </code></td></tr><tr><td id="L15364" class="css-a4x74f"><span>15364</span></td><td id="LC15364" class="css-1dcdqdg"><code> <span class="code-string">"border-image-repeat"</span>, </code></td></tr><tr><td id="L15365" class="css-a4x74f"><span>15365</span></td><td id="LC15365" class="css-1dcdqdg"><code> <span class="code-string">"border-image-slice"</span>, </code></td></tr><tr><td id="L15366" class="css-a4x74f"><span>15366</span></td><td id="LC15366" class="css-1dcdqdg"><code> <span class="code-string">"border-image-source"</span>, </code></td></tr><tr><td id="L15367" class="css-a4x74f"><span>15367</span></td><td id="LC15367" class="css-1dcdqdg"><code> <span class="code-string">"border-image-width"</span> </code></td></tr><tr><td id="L15368" class="css-a4x74f"><span>15368</span></td><td id="LC15368" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15369" class="css-a4x74f"><span>15369</span></td><td id="LC15369" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15370" class="css-a4x74f"><span>15370</span></td><td id="LC15370" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15371" class="css-a4x74f"><span>15371</span></td><td id="LC15371" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15372" class="css-a4x74f"><span>15372</span></td><td id="LC15372" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15373" class="css-a4x74f"><span>15373</span></td><td id="LC15373" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15374" class="css-a4x74f"><span>15374</span></td><td id="LC15374" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image"</span> </code></td></tr><tr><td id="L15375" class="css-a4x74f"><span>15375</span></td><td id="LC15375" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15376" class="css-a4x74f"><span>15376</span></td><td id="LC15376" class="css-1dcdqdg"><code> <span class="code-string">"border-image-outset"</span>: { </code></td></tr><tr><td id="L15377" class="css-a4x74f"><span>15377</span></td><td id="LC15377" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <number> ]{1,4}"</span>, </code></td></tr><tr><td id="L15378" class="css-a4x74f"><span>15378</span></td><td id="LC15378" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15379" class="css-a4x74f"><span>15379</span></td><td id="LC15379" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15380" class="css-a4x74f"><span>15380</span></td><td id="LC15380" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L15381" class="css-a4x74f"><span>15381</span></td><td id="LC15381" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15382" class="css-a4x74f"><span>15382</span></td><td id="LC15382" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15383" class="css-a4x74f"><span>15383</span></td><td id="LC15383" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15384" class="css-a4x74f"><span>15384</span></td><td id="LC15384" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15385" class="css-a4x74f"><span>15385</span></td><td id="LC15385" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15386" class="css-a4x74f"><span>15386</span></td><td id="LC15386" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15387" class="css-a4x74f"><span>15387</span></td><td id="LC15387" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L15388" class="css-a4x74f"><span>15388</span></td><td id="LC15388" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15389" class="css-a4x74f"><span>15389</span></td><td id="LC15389" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15390" class="css-a4x74f"><span>15390</span></td><td id="LC15390" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15391" class="css-a4x74f"><span>15391</span></td><td id="LC15391" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15392" class="css-a4x74f"><span>15392</span></td><td id="LC15392" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15393" class="css-a4x74f"><span>15393</span></td><td id="LC15393" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image-outset"</span> </code></td></tr><tr><td id="L15394" class="css-a4x74f"><span>15394</span></td><td id="LC15394" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15395" class="css-a4x74f"><span>15395</span></td><td id="LC15395" class="css-1dcdqdg"><code> <span class="code-string">"border-image-repeat"</span>: { </code></td></tr><tr><td id="L15396" class="css-a4x74f"><span>15396</span></td><td id="LC15396" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ stretch | repeat | round | space ]{1,2}"</span>, </code></td></tr><tr><td id="L15397" class="css-a4x74f"><span>15397</span></td><td id="LC15397" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15398" class="css-a4x74f"><span>15398</span></td><td id="LC15398" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15399" class="css-a4x74f"><span>15399</span></td><td id="LC15399" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15400" class="css-a4x74f"><span>15400</span></td><td id="LC15400" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15401" class="css-a4x74f"><span>15401</span></td><td id="LC15401" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15402" class="css-a4x74f"><span>15402</span></td><td id="LC15402" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15403" class="css-a4x74f"><span>15403</span></td><td id="LC15403" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15404" class="css-a4x74f"><span>15404</span></td><td id="LC15404" class="css-1dcdqdg"><code> initial: <span class="code-string">"stretch"</span>, </code></td></tr><tr><td id="L15405" class="css-a4x74f"><span>15405</span></td><td id="LC15405" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15406" class="css-a4x74f"><span>15406</span></td><td id="LC15406" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15407" class="css-a4x74f"><span>15407</span></td><td id="LC15407" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15408" class="css-a4x74f"><span>15408</span></td><td id="LC15408" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15409" class="css-a4x74f"><span>15409</span></td><td id="LC15409" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15410" class="css-a4x74f"><span>15410</span></td><td id="LC15410" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15411" class="css-a4x74f"><span>15411</span></td><td id="LC15411" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15412" class="css-a4x74f"><span>15412</span></td><td id="LC15412" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat"</span> </code></td></tr><tr><td id="L15413" class="css-a4x74f"><span>15413</span></td><td id="LC15413" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15414" class="css-a4x74f"><span>15414</span></td><td id="LC15414" class="css-1dcdqdg"><code> <span class="code-string">"border-image-slice"</span>: { </code></td></tr><tr><td id="L15415" class="css-a4x74f"><span>15415</span></td><td id="LC15415" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-percentage>{1,4} && fill?"</span>, </code></td></tr><tr><td id="L15416" class="css-a4x74f"><span>15416</span></td><td id="LC15416" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15417" class="css-a4x74f"><span>15417</span></td><td id="LC15417" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15418" class="css-a4x74f"><span>15418</span></td><td id="LC15418" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L15419" class="css-a4x74f"><span>15419</span></td><td id="LC15419" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBorderImage"</span>, </code></td></tr><tr><td id="L15420" class="css-a4x74f"><span>15420</span></td><td id="LC15420" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15421" class="css-a4x74f"><span>15421</span></td><td id="LC15421" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15422" class="css-a4x74f"><span>15422</span></td><td id="LC15422" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15423" class="css-a4x74f"><span>15423</span></td><td id="LC15423" class="css-1dcdqdg"><code> initial: <span class="code-string">"100%"</span>, </code></td></tr><tr><td id="L15424" class="css-a4x74f"><span>15424</span></td><td id="LC15424" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15425" class="css-a4x74f"><span>15425</span></td><td id="LC15425" class="css-1dcdqdg"><code> computed: <span class="code-string">"oneToFourPercentagesOrAbsoluteLengthsPlusFill"</span>, </code></td></tr><tr><td id="L15426" class="css-a4x74f"><span>15426</span></td><td id="LC15426" class="css-1dcdqdg"><code> order: <span class="code-string">"percentagesOrLengthsFollowedByFill"</span>, </code></td></tr><tr><td id="L15427" class="css-a4x74f"><span>15427</span></td><td id="LC15427" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15428" class="css-a4x74f"><span>15428</span></td><td id="LC15428" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15429" class="css-a4x74f"><span>15429</span></td><td id="LC15429" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15430" class="css-a4x74f"><span>15430</span></td><td id="LC15430" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15431" class="css-a4x74f"><span>15431</span></td><td id="LC15431" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image-slice"</span> </code></td></tr><tr><td id="L15432" class="css-a4x74f"><span>15432</span></td><td id="LC15432" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15433" class="css-a4x74f"><span>15433</span></td><td id="LC15433" class="css-1dcdqdg"><code> <span class="code-string">"border-image-source"</span>: { </code></td></tr><tr><td id="L15434" class="css-a4x74f"><span>15434</span></td><td id="LC15434" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <image>"</span>, </code></td></tr><tr><td id="L15435" class="css-a4x74f"><span>15435</span></td><td id="LC15435" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15436" class="css-a4x74f"><span>15436</span></td><td id="LC15436" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15437" class="css-a4x74f"><span>15437</span></td><td id="LC15437" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15438" class="css-a4x74f"><span>15438</span></td><td id="LC15438" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15439" class="css-a4x74f"><span>15439</span></td><td id="LC15439" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15440" class="css-a4x74f"><span>15440</span></td><td id="LC15440" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15441" class="css-a4x74f"><span>15441</span></td><td id="LC15441" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15442" class="css-a4x74f"><span>15442</span></td><td id="LC15442" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15443" class="css-a4x74f"><span>15443</span></td><td id="LC15443" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15444" class="css-a4x74f"><span>15444</span></td><td id="LC15444" class="css-1dcdqdg"><code> computed: <span class="code-string">"noneOrImageWithAbsoluteURI"</span>, </code></td></tr><tr><td id="L15445" class="css-a4x74f"><span>15445</span></td><td id="LC15445" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15446" class="css-a4x74f"><span>15446</span></td><td id="LC15446" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15447" class="css-a4x74f"><span>15447</span></td><td id="LC15447" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15448" class="css-a4x74f"><span>15448</span></td><td id="LC15448" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15449" class="css-a4x74f"><span>15449</span></td><td id="LC15449" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15450" class="css-a4x74f"><span>15450</span></td><td id="LC15450" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image-source"</span> </code></td></tr><tr><td id="L15451" class="css-a4x74f"><span>15451</span></td><td id="LC15451" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15452" class="css-a4x74f"><span>15452</span></td><td id="LC15452" class="css-1dcdqdg"><code> <span class="code-string">"border-image-width"</span>: { </code></td></tr><tr><td id="L15453" class="css-a4x74f"><span>15453</span></td><td id="LC15453" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | <number> | auto ]{1,4}"</span>, </code></td></tr><tr><td id="L15454" class="css-a4x74f"><span>15454</span></td><td id="LC15454" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15455" class="css-a4x74f"><span>15455</span></td><td id="LC15455" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15456" class="css-a4x74f"><span>15456</span></td><td id="LC15456" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L15457" class="css-a4x74f"><span>15457</span></td><td id="LC15457" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOrHeightOfBorderImageArea"</span>, </code></td></tr><tr><td id="L15458" class="css-a4x74f"><span>15458</span></td><td id="LC15458" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15459" class="css-a4x74f"><span>15459</span></td><td id="LC15459" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15460" class="css-a4x74f"><span>15460</span></td><td id="LC15460" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15461" class="css-a4x74f"><span>15461</span></td><td id="LC15461" class="css-1dcdqdg"><code> initial: <span class="code-string">"1"</span>, </code></td></tr><tr><td id="L15462" class="css-a4x74f"><span>15462</span></td><td id="LC15462" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableElementsWhenCollapse"</span>, </code></td></tr><tr><td id="L15463" class="css-a4x74f"><span>15463</span></td><td id="LC15463" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L15464" class="css-a4x74f"><span>15464</span></td><td id="LC15464" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15465" class="css-a4x74f"><span>15465</span></td><td id="LC15465" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15466" class="css-a4x74f"><span>15466</span></td><td id="LC15466" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15467" class="css-a4x74f"><span>15467</span></td><td id="LC15467" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15468" class="css-a4x74f"><span>15468</span></td><td id="LC15468" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15469" class="css-a4x74f"><span>15469</span></td><td id="LC15469" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-image-width"</span> </code></td></tr><tr><td id="L15470" class="css-a4x74f"><span>15470</span></td><td id="LC15470" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15471" class="css-a4x74f"><span>15471</span></td><td id="LC15471" class="css-1dcdqdg"><code> <span class="code-string">"border-inline"</span>: { </code></td></tr><tr><td id="L15472" class="css-a4x74f"><span>15472</span></td><td id="LC15472" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L15473" class="css-a4x74f"><span>15473</span></td><td id="LC15473" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15474" class="css-a4x74f"><span>15474</span></td><td id="LC15474" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15475" class="css-a4x74f"><span>15475</span></td><td id="LC15475" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15476" class="css-a4x74f"><span>15476</span></td><td id="LC15476" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15477" class="css-a4x74f"><span>15477</span></td><td id="LC15477" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15478" class="css-a4x74f"><span>15478</span></td><td id="LC15478" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15479" class="css-a4x74f"><span>15479</span></td><td id="LC15479" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15480" class="css-a4x74f"><span>15480</span></td><td id="LC15480" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15481" class="css-a4x74f"><span>15481</span></td><td id="LC15481" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L15482" class="css-a4x74f"><span>15482</span></td><td id="LC15482" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15483" class="css-a4x74f"><span>15483</span></td><td id="LC15483" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15484" class="css-a4x74f"><span>15484</span></td><td id="LC15484" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15485" class="css-a4x74f"><span>15485</span></td><td id="LC15485" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15486" class="css-a4x74f"><span>15486</span></td><td id="LC15486" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15487" class="css-a4x74f"><span>15487</span></td><td id="LC15487" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L15488" class="css-a4x74f"><span>15488</span></td><td id="LC15488" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15489" class="css-a4x74f"><span>15489</span></td><td id="LC15489" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15490" class="css-a4x74f"><span>15490</span></td><td id="LC15490" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15491" class="css-a4x74f"><span>15491</span></td><td id="LC15491" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15492" class="css-a4x74f"><span>15492</span></td><td id="LC15492" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15493" class="css-a4x74f"><span>15493</span></td><td id="LC15493" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline"</span> </code></td></tr><tr><td id="L15494" class="css-a4x74f"><span>15494</span></td><td id="LC15494" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15495" class="css-a4x74f"><span>15495</span></td><td id="LC15495" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-end"</span>: { </code></td></tr><tr><td id="L15496" class="css-a4x74f"><span>15496</span></td><td id="LC15496" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L15497" class="css-a4x74f"><span>15497</span></td><td id="LC15497" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15498" class="css-a4x74f"><span>15498</span></td><td id="LC15498" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15499" class="css-a4x74f"><span>15499</span></td><td id="LC15499" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15500" class="css-a4x74f"><span>15500</span></td><td id="LC15500" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15501" class="css-a4x74f"><span>15501</span></td><td id="LC15501" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15502" class="css-a4x74f"><span>15502</span></td><td id="LC15502" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15503" class="css-a4x74f"><span>15503</span></td><td id="LC15503" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15504" class="css-a4x74f"><span>15504</span></td><td id="LC15504" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15505" class="css-a4x74f"><span>15505</span></td><td id="LC15505" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15506" class="css-a4x74f"><span>15506</span></td><td id="LC15506" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15507" class="css-a4x74f"><span>15507</span></td><td id="LC15507" class="css-1dcdqdg"><code> <span class="code-string">"color"</span> </code></td></tr><tr><td id="L15508" class="css-a4x74f"><span>15508</span></td><td id="LC15508" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15509" class="css-a4x74f"><span>15509</span></td><td id="LC15509" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15510" class="css-a4x74f"><span>15510</span></td><td id="LC15510" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15511" class="css-a4x74f"><span>15511</span></td><td id="LC15511" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15512" class="css-a4x74f"><span>15512</span></td><td id="LC15512" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15513" class="css-a4x74f"><span>15513</span></td><td id="LC15513" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-end-color"</span> </code></td></tr><tr><td id="L15514" class="css-a4x74f"><span>15514</span></td><td id="LC15514" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15515" class="css-a4x74f"><span>15515</span></td><td id="LC15515" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15516" class="css-a4x74f"><span>15516</span></td><td id="LC15516" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15517" class="css-a4x74f"><span>15517</span></td><td id="LC15517" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-end"</span> </code></td></tr><tr><td id="L15518" class="css-a4x74f"><span>15518</span></td><td id="LC15518" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15519" class="css-a4x74f"><span>15519</span></td><td id="LC15519" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-color"</span>: { </code></td></tr><tr><td id="L15520" class="css-a4x74f"><span>15520</span></td><td id="LC15520" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>{1,2}"</span>, </code></td></tr><tr><td id="L15521" class="css-a4x74f"><span>15521</span></td><td id="LC15521" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15522" class="css-a4x74f"><span>15522</span></td><td id="LC15522" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15523" class="css-a4x74f"><span>15523</span></td><td id="LC15523" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15524" class="css-a4x74f"><span>15524</span></td><td id="LC15524" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15525" class="css-a4x74f"><span>15525</span></td><td id="LC15525" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15526" class="css-a4x74f"><span>15526</span></td><td id="LC15526" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15527" class="css-a4x74f"><span>15527</span></td><td id="LC15527" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15528" class="css-a4x74f"><span>15528</span></td><td id="LC15528" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15529" class="css-a4x74f"><span>15529</span></td><td id="LC15529" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15530" class="css-a4x74f"><span>15530</span></td><td id="LC15530" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15531" class="css-a4x74f"><span>15531</span></td><td id="LC15531" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15532" class="css-a4x74f"><span>15532</span></td><td id="LC15532" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15533" class="css-a4x74f"><span>15533</span></td><td id="LC15533" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-color"</span> </code></td></tr><tr><td id="L15534" class="css-a4x74f"><span>15534</span></td><td id="LC15534" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15535" class="css-a4x74f"><span>15535</span></td><td id="LC15535" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-style"</span>: { </code></td></tr><tr><td id="L15536" class="css-a4x74f"><span>15536</span></td><td id="LC15536" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L15537" class="css-a4x74f"><span>15537</span></td><td id="LC15537" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15538" class="css-a4x74f"><span>15538</span></td><td id="LC15538" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15539" class="css-a4x74f"><span>15539</span></td><td id="LC15539" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15540" class="css-a4x74f"><span>15540</span></td><td id="LC15540" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15541" class="css-a4x74f"><span>15541</span></td><td id="LC15541" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15542" class="css-a4x74f"><span>15542</span></td><td id="LC15542" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15543" class="css-a4x74f"><span>15543</span></td><td id="LC15543" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15544" class="css-a4x74f"><span>15544</span></td><td id="LC15544" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15545" class="css-a4x74f"><span>15545</span></td><td id="LC15545" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15546" class="css-a4x74f"><span>15546</span></td><td id="LC15546" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15547" class="css-a4x74f"><span>15547</span></td><td id="LC15547" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15548" class="css-a4x74f"><span>15548</span></td><td id="LC15548" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15549" class="css-a4x74f"><span>15549</span></td><td id="LC15549" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-style"</span> </code></td></tr><tr><td id="L15550" class="css-a4x74f"><span>15550</span></td><td id="LC15550" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15551" class="css-a4x74f"><span>15551</span></td><td id="LC15551" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-width"</span>: { </code></td></tr><tr><td id="L15552" class="css-a4x74f"><span>15552</span></td><td id="LC15552" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L15553" class="css-a4x74f"><span>15553</span></td><td id="LC15553" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15554" class="css-a4x74f"><span>15554</span></td><td id="LC15554" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15555" class="css-a4x74f"><span>15555</span></td><td id="LC15555" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15556" class="css-a4x74f"><span>15556</span></td><td id="LC15556" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L15557" class="css-a4x74f"><span>15557</span></td><td id="LC15557" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15558" class="css-a4x74f"><span>15558</span></td><td id="LC15558" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15559" class="css-a4x74f"><span>15559</span></td><td id="LC15559" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15560" class="css-a4x74f"><span>15560</span></td><td id="LC15560" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15561" class="css-a4x74f"><span>15561</span></td><td id="LC15561" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15562" class="css-a4x74f"><span>15562</span></td><td id="LC15562" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15563" class="css-a4x74f"><span>15563</span></td><td id="LC15563" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15564" class="css-a4x74f"><span>15564</span></td><td id="LC15564" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15565" class="css-a4x74f"><span>15565</span></td><td id="LC15565" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-width"</span> </code></td></tr><tr><td id="L15566" class="css-a4x74f"><span>15566</span></td><td id="LC15566" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15567" class="css-a4x74f"><span>15567</span></td><td id="LC15567" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-end-color"</span>: { </code></td></tr><tr><td id="L15568" class="css-a4x74f"><span>15568</span></td><td id="LC15568" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>"</span>, </code></td></tr><tr><td id="L15569" class="css-a4x74f"><span>15569</span></td><td id="LC15569" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15570" class="css-a4x74f"><span>15570</span></td><td id="LC15570" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15571" class="css-a4x74f"><span>15571</span></td><td id="LC15571" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15572" class="css-a4x74f"><span>15572</span></td><td id="LC15572" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15573" class="css-a4x74f"><span>15573</span></td><td id="LC15573" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15574" class="css-a4x74f"><span>15574</span></td><td id="LC15574" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15575" class="css-a4x74f"><span>15575</span></td><td id="LC15575" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15576" class="css-a4x74f"><span>15576</span></td><td id="LC15576" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15577" class="css-a4x74f"><span>15577</span></td><td id="LC15577" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15578" class="css-a4x74f"><span>15578</span></td><td id="LC15578" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15579" class="css-a4x74f"><span>15579</span></td><td id="LC15579" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15580" class="css-a4x74f"><span>15580</span></td><td id="LC15580" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15581" class="css-a4x74f"><span>15581</span></td><td id="LC15581" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color"</span> </code></td></tr><tr><td id="L15582" class="css-a4x74f"><span>15582</span></td><td id="LC15582" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15583" class="css-a4x74f"><span>15583</span></td><td id="LC15583" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-end-style"</span>: { </code></td></tr><tr><td id="L15584" class="css-a4x74f"><span>15584</span></td><td id="LC15584" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L15585" class="css-a4x74f"><span>15585</span></td><td id="LC15585" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15586" class="css-a4x74f"><span>15586</span></td><td id="LC15586" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15587" class="css-a4x74f"><span>15587</span></td><td id="LC15587" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15588" class="css-a4x74f"><span>15588</span></td><td id="LC15588" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15589" class="css-a4x74f"><span>15589</span></td><td id="LC15589" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15590" class="css-a4x74f"><span>15590</span></td><td id="LC15590" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15591" class="css-a4x74f"><span>15591</span></td><td id="LC15591" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15592" class="css-a4x74f"><span>15592</span></td><td id="LC15592" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15593" class="css-a4x74f"><span>15593</span></td><td id="LC15593" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15594" class="css-a4x74f"><span>15594</span></td><td id="LC15594" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15595" class="css-a4x74f"><span>15595</span></td><td id="LC15595" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15596" class="css-a4x74f"><span>15596</span></td><td id="LC15596" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15597" class="css-a4x74f"><span>15597</span></td><td id="LC15597" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style"</span> </code></td></tr><tr><td id="L15598" class="css-a4x74f"><span>15598</span></td><td id="LC15598" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15599" class="css-a4x74f"><span>15599</span></td><td id="LC15599" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-end-width"</span>: { </code></td></tr><tr><td id="L15600" class="css-a4x74f"><span>15600</span></td><td id="LC15600" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L15601" class="css-a4x74f"><span>15601</span></td><td id="LC15601" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15602" class="css-a4x74f"><span>15602</span></td><td id="LC15602" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15603" class="css-a4x74f"><span>15603</span></td><td id="LC15603" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15604" class="css-a4x74f"><span>15604</span></td><td id="LC15604" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L15605" class="css-a4x74f"><span>15605</span></td><td id="LC15605" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15606" class="css-a4x74f"><span>15606</span></td><td id="LC15606" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15607" class="css-a4x74f"><span>15607</span></td><td id="LC15607" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15608" class="css-a4x74f"><span>15608</span></td><td id="LC15608" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15609" class="css-a4x74f"><span>15609</span></td><td id="LC15609" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15610" class="css-a4x74f"><span>15610</span></td><td id="LC15610" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15611" class="css-a4x74f"><span>15611</span></td><td id="LC15611" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15612" class="css-a4x74f"><span>15612</span></td><td id="LC15612" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15613" class="css-a4x74f"><span>15613</span></td><td id="LC15613" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width"</span> </code></td></tr><tr><td id="L15614" class="css-a4x74f"><span>15614</span></td><td id="LC15614" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15615" class="css-a4x74f"><span>15615</span></td><td id="LC15615" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-start"</span>: { </code></td></tr><tr><td id="L15616" class="css-a4x74f"><span>15616</span></td><td id="LC15616" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'> || <'border-top-style'> || <'color'>"</span>, </code></td></tr><tr><td id="L15617" class="css-a4x74f"><span>15617</span></td><td id="LC15617" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15618" class="css-a4x74f"><span>15618</span></td><td id="LC15618" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15619" class="css-a4x74f"><span>15619</span></td><td id="LC15619" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15620" class="css-a4x74f"><span>15620</span></td><td id="LC15620" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15621" class="css-a4x74f"><span>15621</span></td><td id="LC15621" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15622" class="css-a4x74f"><span>15622</span></td><td id="LC15622" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15623" class="css-a4x74f"><span>15623</span></td><td id="LC15623" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15624" class="css-a4x74f"><span>15624</span></td><td id="LC15624" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15625" class="css-a4x74f"><span>15625</span></td><td id="LC15625" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15626" class="css-a4x74f"><span>15626</span></td><td id="LC15626" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15627" class="css-a4x74f"><span>15627</span></td><td id="LC15627" class="css-1dcdqdg"><code> <span class="code-string">"color"</span> </code></td></tr><tr><td id="L15628" class="css-a4x74f"><span>15628</span></td><td id="LC15628" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15629" class="css-a4x74f"><span>15629</span></td><td id="LC15629" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15630" class="css-a4x74f"><span>15630</span></td><td id="LC15630" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15631" class="css-a4x74f"><span>15631</span></td><td id="LC15631" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>, </code></td></tr><tr><td id="L15632" class="css-a4x74f"><span>15632</span></td><td id="LC15632" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>, </code></td></tr><tr><td id="L15633" class="css-a4x74f"><span>15633</span></td><td id="LC15633" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-start-color"</span> </code></td></tr><tr><td id="L15634" class="css-a4x74f"><span>15634</span></td><td id="LC15634" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15635" class="css-a4x74f"><span>15635</span></td><td id="LC15635" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15636" class="css-a4x74f"><span>15636</span></td><td id="LC15636" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15637" class="css-a4x74f"><span>15637</span></td><td id="LC15637" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-start"</span> </code></td></tr><tr><td id="L15638" class="css-a4x74f"><span>15638</span></td><td id="LC15638" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15639" class="css-a4x74f"><span>15639</span></td><td id="LC15639" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-start-color"</span>: { </code></td></tr><tr><td id="L15640" class="css-a4x74f"><span>15640</span></td><td id="LC15640" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-color'>"</span>, </code></td></tr><tr><td id="L15641" class="css-a4x74f"><span>15641</span></td><td id="LC15641" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15642" class="css-a4x74f"><span>15642</span></td><td id="LC15642" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15643" class="css-a4x74f"><span>15643</span></td><td id="LC15643" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15644" class="css-a4x74f"><span>15644</span></td><td id="LC15644" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15645" class="css-a4x74f"><span>15645</span></td><td id="LC15645" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15646" class="css-a4x74f"><span>15646</span></td><td id="LC15646" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15647" class="css-a4x74f"><span>15647</span></td><td id="LC15647" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15648" class="css-a4x74f"><span>15648</span></td><td id="LC15648" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15649" class="css-a4x74f"><span>15649</span></td><td id="LC15649" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15650" class="css-a4x74f"><span>15650</span></td><td id="LC15650" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15651" class="css-a4x74f"><span>15651</span></td><td id="LC15651" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15652" class="css-a4x74f"><span>15652</span></td><td id="LC15652" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15653" class="css-a4x74f"><span>15653</span></td><td id="LC15653" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color"</span> </code></td></tr><tr><td id="L15654" class="css-a4x74f"><span>15654</span></td><td id="LC15654" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15655" class="css-a4x74f"><span>15655</span></td><td id="LC15655" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-start-style"</span>: { </code></td></tr><tr><td id="L15656" class="css-a4x74f"><span>15656</span></td><td id="LC15656" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-style'>"</span>, </code></td></tr><tr><td id="L15657" class="css-a4x74f"><span>15657</span></td><td id="LC15657" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15658" class="css-a4x74f"><span>15658</span></td><td id="LC15658" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15659" class="css-a4x74f"><span>15659</span></td><td id="LC15659" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15660" class="css-a4x74f"><span>15660</span></td><td id="LC15660" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15661" class="css-a4x74f"><span>15661</span></td><td id="LC15661" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15662" class="css-a4x74f"><span>15662</span></td><td id="LC15662" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15663" class="css-a4x74f"><span>15663</span></td><td id="LC15663" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15664" class="css-a4x74f"><span>15664</span></td><td id="LC15664" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15665" class="css-a4x74f"><span>15665</span></td><td id="LC15665" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15666" class="css-a4x74f"><span>15666</span></td><td id="LC15666" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15667" class="css-a4x74f"><span>15667</span></td><td id="LC15667" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15668" class="css-a4x74f"><span>15668</span></td><td id="LC15668" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15669" class="css-a4x74f"><span>15669</span></td><td id="LC15669" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style"</span> </code></td></tr><tr><td id="L15670" class="css-a4x74f"><span>15670</span></td><td id="LC15670" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15671" class="css-a4x74f"><span>15671</span></td><td id="LC15671" class="css-1dcdqdg"><code> <span class="code-string">"border-inline-start-width"</span>: { </code></td></tr><tr><td id="L15672" class="css-a4x74f"><span>15672</span></td><td id="LC15672" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-width'>"</span>, </code></td></tr><tr><td id="L15673" class="css-a4x74f"><span>15673</span></td><td id="LC15673" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15674" class="css-a4x74f"><span>15674</span></td><td id="LC15674" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15675" class="css-a4x74f"><span>15675</span></td><td id="LC15675" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15676" class="css-a4x74f"><span>15676</span></td><td id="LC15676" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L15677" class="css-a4x74f"><span>15677</span></td><td id="LC15677" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15678" class="css-a4x74f"><span>15678</span></td><td id="LC15678" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15679" class="css-a4x74f"><span>15679</span></td><td id="LC15679" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15680" class="css-a4x74f"><span>15680</span></td><td id="LC15680" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15681" class="css-a4x74f"><span>15681</span></td><td id="LC15681" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15682" class="css-a4x74f"><span>15682</span></td><td id="LC15682" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroIfBorderStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15683" class="css-a4x74f"><span>15683</span></td><td id="LC15683" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15684" class="css-a4x74f"><span>15684</span></td><td id="LC15684" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15685" class="css-a4x74f"><span>15685</span></td><td id="LC15685" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width"</span> </code></td></tr><tr><td id="L15686" class="css-a4x74f"><span>15686</span></td><td id="LC15686" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15687" class="css-a4x74f"><span>15687</span></td><td id="LC15687" class="css-1dcdqdg"><code> <span class="code-string">"border-left"</span>: { </code></td></tr><tr><td id="L15688" class="css-a4x74f"><span>15688</span></td><td id="LC15688" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width> || <line-style> || <color>"</span>, </code></td></tr><tr><td id="L15689" class="css-a4x74f"><span>15689</span></td><td id="LC15689" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15690" class="css-a4x74f"><span>15690</span></td><td id="LC15690" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15691" class="css-a4x74f"><span>15691</span></td><td id="LC15691" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15692" class="css-a4x74f"><span>15692</span></td><td id="LC15692" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span>, </code></td></tr><tr><td id="L15693" class="css-a4x74f"><span>15693</span></td><td id="LC15693" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span>, </code></td></tr><tr><td id="L15694" class="css-a4x74f"><span>15694</span></td><td id="LC15694" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span> </code></td></tr><tr><td id="L15695" class="css-a4x74f"><span>15695</span></td><td id="LC15695" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15696" class="css-a4x74f"><span>15696</span></td><td id="LC15696" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15697" class="css-a4x74f"><span>15697</span></td><td id="LC15697" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15698" class="css-a4x74f"><span>15698</span></td><td id="LC15698" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15699" class="css-a4x74f"><span>15699</span></td><td id="LC15699" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15700" class="css-a4x74f"><span>15700</span></td><td id="LC15700" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15701" class="css-a4x74f"><span>15701</span></td><td id="LC15701" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span>, </code></td></tr><tr><td id="L15702" class="css-a4x74f"><span>15702</span></td><td id="LC15702" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span>, </code></td></tr><tr><td id="L15703" class="css-a4x74f"><span>15703</span></td><td id="LC15703" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span> </code></td></tr><tr><td id="L15704" class="css-a4x74f"><span>15704</span></td><td id="LC15704" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15705" class="css-a4x74f"><span>15705</span></td><td id="LC15705" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15706" class="css-a4x74f"><span>15706</span></td><td id="LC15706" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15707" class="css-a4x74f"><span>15707</span></td><td id="LC15707" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span>, </code></td></tr><tr><td id="L15708" class="css-a4x74f"><span>15708</span></td><td id="LC15708" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span>, </code></td></tr><tr><td id="L15709" class="css-a4x74f"><span>15709</span></td><td id="LC15709" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span> </code></td></tr><tr><td id="L15710" class="css-a4x74f"><span>15710</span></td><td id="LC15710" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15711" class="css-a4x74f"><span>15711</span></td><td id="LC15711" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L15712" class="css-a4x74f"><span>15712</span></td><td id="LC15712" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15713" class="css-a4x74f"><span>15713</span></td><td id="LC15713" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15714" class="css-a4x74f"><span>15714</span></td><td id="LC15714" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15715" class="css-a4x74f"><span>15715</span></td><td id="LC15715" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15716" class="css-a4x74f"><span>15716</span></td><td id="LC15716" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-left"</span> </code></td></tr><tr><td id="L15717" class="css-a4x74f"><span>15717</span></td><td id="LC15717" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15718" class="css-a4x74f"><span>15718</span></td><td id="LC15718" class="css-1dcdqdg"><code> <span class="code-string">"border-left-color"</span>: { </code></td></tr><tr><td id="L15719" class="css-a4x74f"><span>15719</span></td><td id="LC15719" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L15720" class="css-a4x74f"><span>15720</span></td><td id="LC15720" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15721" class="css-a4x74f"><span>15721</span></td><td id="LC15721" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15722" class="css-a4x74f"><span>15722</span></td><td id="LC15722" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L15723" class="css-a4x74f"><span>15723</span></td><td id="LC15723" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15724" class="css-a4x74f"><span>15724</span></td><td id="LC15724" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15725" class="css-a4x74f"><span>15725</span></td><td id="LC15725" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15726" class="css-a4x74f"><span>15726</span></td><td id="LC15726" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15727" class="css-a4x74f"><span>15727</span></td><td id="LC15727" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15728" class="css-a4x74f"><span>15728</span></td><td id="LC15728" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15729" class="css-a4x74f"><span>15729</span></td><td id="LC15729" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15730" class="css-a4x74f"><span>15730</span></td><td id="LC15730" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15731" class="css-a4x74f"><span>15731</span></td><td id="LC15731" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15732" class="css-a4x74f"><span>15732</span></td><td id="LC15732" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15733" class="css-a4x74f"><span>15733</span></td><td id="LC15733" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15734" class="css-a4x74f"><span>15734</span></td><td id="LC15734" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15735" class="css-a4x74f"><span>15735</span></td><td id="LC15735" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-left-color"</span> </code></td></tr><tr><td id="L15736" class="css-a4x74f"><span>15736</span></td><td id="LC15736" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15737" class="css-a4x74f"><span>15737</span></td><td id="LC15737" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span>: { </code></td></tr><tr><td id="L15738" class="css-a4x74f"><span>15738</span></td><td id="LC15738" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-style>"</span>, </code></td></tr><tr><td id="L15739" class="css-a4x74f"><span>15739</span></td><td id="LC15739" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15740" class="css-a4x74f"><span>15740</span></td><td id="LC15740" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15741" class="css-a4x74f"><span>15741</span></td><td id="LC15741" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15742" class="css-a4x74f"><span>15742</span></td><td id="LC15742" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15743" class="css-a4x74f"><span>15743</span></td><td id="LC15743" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15744" class="css-a4x74f"><span>15744</span></td><td id="LC15744" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15745" class="css-a4x74f"><span>15745</span></td><td id="LC15745" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15746" class="css-a4x74f"><span>15746</span></td><td id="LC15746" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15747" class="css-a4x74f"><span>15747</span></td><td id="LC15747" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15748" class="css-a4x74f"><span>15748</span></td><td id="LC15748" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15749" class="css-a4x74f"><span>15749</span></td><td id="LC15749" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15750" class="css-a4x74f"><span>15750</span></td><td id="LC15750" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15751" class="css-a4x74f"><span>15751</span></td><td id="LC15751" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15752" class="css-a4x74f"><span>15752</span></td><td id="LC15752" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15753" class="css-a4x74f"><span>15753</span></td><td id="LC15753" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15754" class="css-a4x74f"><span>15754</span></td><td id="LC15754" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-left-style"</span> </code></td></tr><tr><td id="L15755" class="css-a4x74f"><span>15755</span></td><td id="LC15755" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15756" class="css-a4x74f"><span>15756</span></td><td id="LC15756" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span>: { </code></td></tr><tr><td id="L15757" class="css-a4x74f"><span>15757</span></td><td id="LC15757" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>"</span>, </code></td></tr><tr><td id="L15758" class="css-a4x74f"><span>15758</span></td><td id="LC15758" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15759" class="css-a4x74f"><span>15759</span></td><td id="LC15759" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15760" class="css-a4x74f"><span>15760</span></td><td id="LC15760" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L15761" class="css-a4x74f"><span>15761</span></td><td id="LC15761" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15762" class="css-a4x74f"><span>15762</span></td><td id="LC15762" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15763" class="css-a4x74f"><span>15763</span></td><td id="LC15763" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15764" class="css-a4x74f"><span>15764</span></td><td id="LC15764" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15765" class="css-a4x74f"><span>15765</span></td><td id="LC15765" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15766" class="css-a4x74f"><span>15766</span></td><td id="LC15766" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15767" class="css-a4x74f"><span>15767</span></td><td id="LC15767" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15768" class="css-a4x74f"><span>15768</span></td><td id="LC15768" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15769" class="css-a4x74f"><span>15769</span></td><td id="LC15769" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15770" class="css-a4x74f"><span>15770</span></td><td id="LC15770" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15771" class="css-a4x74f"><span>15771</span></td><td id="LC15771" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15772" class="css-a4x74f"><span>15772</span></td><td id="LC15772" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15773" class="css-a4x74f"><span>15773</span></td><td id="LC15773" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-left-width"</span> </code></td></tr><tr><td id="L15774" class="css-a4x74f"><span>15774</span></td><td id="LC15774" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15775" class="css-a4x74f"><span>15775</span></td><td id="LC15775" class="css-1dcdqdg"><code> <span class="code-string">"border-radius"</span>: { </code></td></tr><tr><td id="L15776" class="css-a4x74f"><span>15776</span></td><td id="LC15776" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?"</span>, </code></td></tr><tr><td id="L15777" class="css-a4x74f"><span>15777</span></td><td id="LC15777" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15778" class="css-a4x74f"><span>15778</span></td><td id="LC15778" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15779" class="css-a4x74f"><span>15779</span></td><td id="LC15779" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15780" class="css-a4x74f"><span>15780</span></td><td id="LC15780" class="css-1dcdqdg"><code> <span class="code-string">"border-top-left-radius"</span>, </code></td></tr><tr><td id="L15781" class="css-a4x74f"><span>15781</span></td><td id="LC15781" class="css-1dcdqdg"><code> <span class="code-string">"border-top-right-radius"</span>, </code></td></tr><tr><td id="L15782" class="css-a4x74f"><span>15782</span></td><td id="LC15782" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-right-radius"</span>, </code></td></tr><tr><td id="L15783" class="css-a4x74f"><span>15783</span></td><td id="LC15783" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-left-radius"</span> </code></td></tr><tr><td id="L15784" class="css-a4x74f"><span>15784</span></td><td id="LC15784" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15785" class="css-a4x74f"><span>15785</span></td><td id="LC15785" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15786" class="css-a4x74f"><span>15786</span></td><td id="LC15786" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15787" class="css-a4x74f"><span>15787</span></td><td id="LC15787" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15788" class="css-a4x74f"><span>15788</span></td><td id="LC15788" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15789" class="css-a4x74f"><span>15789</span></td><td id="LC15789" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15790" class="css-a4x74f"><span>15790</span></td><td id="LC15790" class="css-1dcdqdg"><code> <span class="code-string">"border-top-left-radius"</span>, </code></td></tr><tr><td id="L15791" class="css-a4x74f"><span>15791</span></td><td id="LC15791" class="css-1dcdqdg"><code> <span class="code-string">"border-top-right-radius"</span>, </code></td></tr><tr><td id="L15792" class="css-a4x74f"><span>15792</span></td><td id="LC15792" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-right-radius"</span>, </code></td></tr><tr><td id="L15793" class="css-a4x74f"><span>15793</span></td><td id="LC15793" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-left-radius"</span> </code></td></tr><tr><td id="L15794" class="css-a4x74f"><span>15794</span></td><td id="LC15794" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15795" class="css-a4x74f"><span>15795</span></td><td id="LC15795" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15796" class="css-a4x74f"><span>15796</span></td><td id="LC15796" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15797" class="css-a4x74f"><span>15797</span></td><td id="LC15797" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-left-radius"</span>, </code></td></tr><tr><td id="L15798" class="css-a4x74f"><span>15798</span></td><td id="LC15798" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-right-radius"</span>, </code></td></tr><tr><td id="L15799" class="css-a4x74f"><span>15799</span></td><td id="LC15799" class="css-1dcdqdg"><code> <span class="code-string">"border-top-left-radius"</span>, </code></td></tr><tr><td id="L15800" class="css-a4x74f"><span>15800</span></td><td id="LC15800" class="css-1dcdqdg"><code> <span class="code-string">"border-top-right-radius"</span> </code></td></tr><tr><td id="L15801" class="css-a4x74f"><span>15801</span></td><td id="LC15801" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15802" class="css-a4x74f"><span>15802</span></td><td id="LC15802" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15803" class="css-a4x74f"><span>15803</span></td><td id="LC15803" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15804" class="css-a4x74f"><span>15804</span></td><td id="LC15804" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15805" class="css-a4x74f"><span>15805</span></td><td id="LC15805" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15806" class="css-a4x74f"><span>15806</span></td><td id="LC15806" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15807" class="css-a4x74f"><span>15807</span></td><td id="LC15807" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-radius"</span> </code></td></tr><tr><td id="L15808" class="css-a4x74f"><span>15808</span></td><td id="LC15808" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15809" class="css-a4x74f"><span>15809</span></td><td id="LC15809" class="css-1dcdqdg"><code> <span class="code-string">"border-right"</span>: { </code></td></tr><tr><td id="L15810" class="css-a4x74f"><span>15810</span></td><td id="LC15810" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width> || <line-style> || <color>"</span>, </code></td></tr><tr><td id="L15811" class="css-a4x74f"><span>15811</span></td><td id="LC15811" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15812" class="css-a4x74f"><span>15812</span></td><td id="LC15812" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15813" class="css-a4x74f"><span>15813</span></td><td id="LC15813" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15814" class="css-a4x74f"><span>15814</span></td><td id="LC15814" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span>, </code></td></tr><tr><td id="L15815" class="css-a4x74f"><span>15815</span></td><td id="LC15815" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>, </code></td></tr><tr><td id="L15816" class="css-a4x74f"><span>15816</span></td><td id="LC15816" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span> </code></td></tr><tr><td id="L15817" class="css-a4x74f"><span>15817</span></td><td id="LC15817" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15818" class="css-a4x74f"><span>15818</span></td><td id="LC15818" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15819" class="css-a4x74f"><span>15819</span></td><td id="LC15819" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15820" class="css-a4x74f"><span>15820</span></td><td id="LC15820" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15821" class="css-a4x74f"><span>15821</span></td><td id="LC15821" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15822" class="css-a4x74f"><span>15822</span></td><td id="LC15822" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15823" class="css-a4x74f"><span>15823</span></td><td id="LC15823" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>, </code></td></tr><tr><td id="L15824" class="css-a4x74f"><span>15824</span></td><td id="LC15824" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>, </code></td></tr><tr><td id="L15825" class="css-a4x74f"><span>15825</span></td><td id="LC15825" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span> </code></td></tr><tr><td id="L15826" class="css-a4x74f"><span>15826</span></td><td id="LC15826" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15827" class="css-a4x74f"><span>15827</span></td><td id="LC15827" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15828" class="css-a4x74f"><span>15828</span></td><td id="LC15828" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15829" class="css-a4x74f"><span>15829</span></td><td id="LC15829" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>, </code></td></tr><tr><td id="L15830" class="css-a4x74f"><span>15830</span></td><td id="LC15830" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>, </code></td></tr><tr><td id="L15831" class="css-a4x74f"><span>15831</span></td><td id="LC15831" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span> </code></td></tr><tr><td id="L15832" class="css-a4x74f"><span>15832</span></td><td id="LC15832" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15833" class="css-a4x74f"><span>15833</span></td><td id="LC15833" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L15834" class="css-a4x74f"><span>15834</span></td><td id="LC15834" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15835" class="css-a4x74f"><span>15835</span></td><td id="LC15835" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15836" class="css-a4x74f"><span>15836</span></td><td id="LC15836" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15837" class="css-a4x74f"><span>15837</span></td><td id="LC15837" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15838" class="css-a4x74f"><span>15838</span></td><td id="LC15838" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-right"</span> </code></td></tr><tr><td id="L15839" class="css-a4x74f"><span>15839</span></td><td id="LC15839" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15840" class="css-a4x74f"><span>15840</span></td><td id="LC15840" class="css-1dcdqdg"><code> <span class="code-string">"border-right-color"</span>: { </code></td></tr><tr><td id="L15841" class="css-a4x74f"><span>15841</span></td><td id="LC15841" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L15842" class="css-a4x74f"><span>15842</span></td><td id="LC15842" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15843" class="css-a4x74f"><span>15843</span></td><td id="LC15843" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15844" class="css-a4x74f"><span>15844</span></td><td id="LC15844" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L15845" class="css-a4x74f"><span>15845</span></td><td id="LC15845" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15846" class="css-a4x74f"><span>15846</span></td><td id="LC15846" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15847" class="css-a4x74f"><span>15847</span></td><td id="LC15847" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15848" class="css-a4x74f"><span>15848</span></td><td id="LC15848" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15849" class="css-a4x74f"><span>15849</span></td><td id="LC15849" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L15850" class="css-a4x74f"><span>15850</span></td><td id="LC15850" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15851" class="css-a4x74f"><span>15851</span></td><td id="LC15851" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L15852" class="css-a4x74f"><span>15852</span></td><td id="LC15852" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15853" class="css-a4x74f"><span>15853</span></td><td id="LC15853" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15854" class="css-a4x74f"><span>15854</span></td><td id="LC15854" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15855" class="css-a4x74f"><span>15855</span></td><td id="LC15855" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15856" class="css-a4x74f"><span>15856</span></td><td id="LC15856" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15857" class="css-a4x74f"><span>15857</span></td><td id="LC15857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-right-color"</span> </code></td></tr><tr><td id="L15858" class="css-a4x74f"><span>15858</span></td><td id="LC15858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15859" class="css-a4x74f"><span>15859</span></td><td id="LC15859" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>: { </code></td></tr><tr><td id="L15860" class="css-a4x74f"><span>15860</span></td><td id="LC15860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-style>"</span>, </code></td></tr><tr><td id="L15861" class="css-a4x74f"><span>15861</span></td><td id="LC15861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15862" class="css-a4x74f"><span>15862</span></td><td id="LC15862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15863" class="css-a4x74f"><span>15863</span></td><td id="LC15863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15864" class="css-a4x74f"><span>15864</span></td><td id="LC15864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15865" class="css-a4x74f"><span>15865</span></td><td id="LC15865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15866" class="css-a4x74f"><span>15866</span></td><td id="LC15866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15867" class="css-a4x74f"><span>15867</span></td><td id="LC15867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15868" class="css-a4x74f"><span>15868</span></td><td id="LC15868" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L15869" class="css-a4x74f"><span>15869</span></td><td id="LC15869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15870" class="css-a4x74f"><span>15870</span></td><td id="LC15870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L15871" class="css-a4x74f"><span>15871</span></td><td id="LC15871" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15872" class="css-a4x74f"><span>15872</span></td><td id="LC15872" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15873" class="css-a4x74f"><span>15873</span></td><td id="LC15873" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15874" class="css-a4x74f"><span>15874</span></td><td id="LC15874" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15875" class="css-a4x74f"><span>15875</span></td><td id="LC15875" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15876" class="css-a4x74f"><span>15876</span></td><td id="LC15876" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-right-style"</span> </code></td></tr><tr><td id="L15877" class="css-a4x74f"><span>15877</span></td><td id="LC15877" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15878" class="css-a4x74f"><span>15878</span></td><td id="LC15878" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>: { </code></td></tr><tr><td id="L15879" class="css-a4x74f"><span>15879</span></td><td id="LC15879" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>"</span>, </code></td></tr><tr><td id="L15880" class="css-a4x74f"><span>15880</span></td><td id="LC15880" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15881" class="css-a4x74f"><span>15881</span></td><td id="LC15881" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15882" class="css-a4x74f"><span>15882</span></td><td id="LC15882" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L15883" class="css-a4x74f"><span>15883</span></td><td id="LC15883" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15884" class="css-a4x74f"><span>15884</span></td><td id="LC15884" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15885" class="css-a4x74f"><span>15885</span></td><td id="LC15885" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15886" class="css-a4x74f"><span>15886</span></td><td id="LC15886" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15887" class="css-a4x74f"><span>15887</span></td><td id="LC15887" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L15888" class="css-a4x74f"><span>15888</span></td><td id="LC15888" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15889" class="css-a4x74f"><span>15889</span></td><td id="LC15889" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOr0IfBorderRightStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L15890" class="css-a4x74f"><span>15890</span></td><td id="LC15890" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15891" class="css-a4x74f"><span>15891</span></td><td id="LC15891" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15892" class="css-a4x74f"><span>15892</span></td><td id="LC15892" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15893" class="css-a4x74f"><span>15893</span></td><td id="LC15893" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15894" class="css-a4x74f"><span>15894</span></td><td id="LC15894" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15895" class="css-a4x74f"><span>15895</span></td><td id="LC15895" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-right-width"</span> </code></td></tr><tr><td id="L15896" class="css-a4x74f"><span>15896</span></td><td id="LC15896" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15897" class="css-a4x74f"><span>15897</span></td><td id="LC15897" class="css-1dcdqdg"><code> <span class="code-string">"border-spacing"</span>: { </code></td></tr><tr><td id="L15898" class="css-a4x74f"><span>15898</span></td><td id="LC15898" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> <length>?"</span>, </code></td></tr><tr><td id="L15899" class="css-a4x74f"><span>15899</span></td><td id="LC15899" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15900" class="css-a4x74f"><span>15900</span></td><td id="LC15900" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L15901" class="css-a4x74f"><span>15901</span></td><td id="LC15901" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15902" class="css-a4x74f"><span>15902</span></td><td id="LC15902" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15903" class="css-a4x74f"><span>15903</span></td><td id="LC15903" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15904" class="css-a4x74f"><span>15904</span></td><td id="LC15904" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L15905" class="css-a4x74f"><span>15905</span></td><td id="LC15905" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15906" class="css-a4x74f"><span>15906</span></td><td id="LC15906" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15907" class="css-a4x74f"><span>15907</span></td><td id="LC15907" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"tableElements"</span>, </code></td></tr><tr><td id="L15908" class="css-a4x74f"><span>15908</span></td><td id="LC15908" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengths"</span>, </code></td></tr><tr><td id="L15909" class="css-a4x74f"><span>15909</span></td><td id="LC15909" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15910" class="css-a4x74f"><span>15910</span></td><td id="LC15910" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15911" class="css-a4x74f"><span>15911</span></td><td id="LC15911" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-spacing"</span> </code></td></tr><tr><td id="L15912" class="css-a4x74f"><span>15912</span></td><td id="LC15912" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15913" class="css-a4x74f"><span>15913</span></td><td id="LC15913" class="css-1dcdqdg"><code> <span class="code-string">"border-start-end-radius"</span>: { </code></td></tr><tr><td id="L15914" class="css-a4x74f"><span>15914</span></td><td id="LC15914" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15915" class="css-a4x74f"><span>15915</span></td><td id="LC15915" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15916" class="css-a4x74f"><span>15916</span></td><td id="LC15916" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15917" class="css-a4x74f"><span>15917</span></td><td id="LC15917" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15918" class="css-a4x74f"><span>15918</span></td><td id="LC15918" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15919" class="css-a4x74f"><span>15919</span></td><td id="LC15919" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15920" class="css-a4x74f"><span>15920</span></td><td id="LC15920" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15921" class="css-a4x74f"><span>15921</span></td><td id="LC15921" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15922" class="css-a4x74f"><span>15922</span></td><td id="LC15922" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15923" class="css-a4x74f"><span>15923</span></td><td id="LC15923" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15924" class="css-a4x74f"><span>15924</span></td><td id="LC15924" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15925" class="css-a4x74f"><span>15925</span></td><td id="LC15925" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15926" class="css-a4x74f"><span>15926</span></td><td id="LC15926" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15927" class="css-a4x74f"><span>15927</span></td><td id="LC15927" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15928" class="css-a4x74f"><span>15928</span></td><td id="LC15928" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15929" class="css-a4x74f"><span>15929</span></td><td id="LC15929" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15930" class="css-a4x74f"><span>15930</span></td><td id="LC15930" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius"</span> </code></td></tr><tr><td id="L15931" class="css-a4x74f"><span>15931</span></td><td id="LC15931" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15932" class="css-a4x74f"><span>15932</span></td><td id="LC15932" class="css-1dcdqdg"><code> <span class="code-string">"border-start-start-radius"</span>: { </code></td></tr><tr><td id="L15933" class="css-a4x74f"><span>15933</span></td><td id="LC15933" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L15934" class="css-a4x74f"><span>15934</span></td><td id="LC15934" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15935" class="css-a4x74f"><span>15935</span></td><td id="LC15935" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15936" class="css-a4x74f"><span>15936</span></td><td id="LC15936" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L15937" class="css-a4x74f"><span>15937</span></td><td id="LC15937" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L15938" class="css-a4x74f"><span>15938</span></td><td id="LC15938" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15939" class="css-a4x74f"><span>15939</span></td><td id="LC15939" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L15940" class="css-a4x74f"><span>15940</span></td><td id="LC15940" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15941" class="css-a4x74f"><span>15941</span></td><td id="LC15941" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L15942" class="css-a4x74f"><span>15942</span></td><td id="LC15942" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L15943" class="css-a4x74f"><span>15943</span></td><td id="LC15943" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L15944" class="css-a4x74f"><span>15944</span></td><td id="LC15944" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15945" class="css-a4x74f"><span>15945</span></td><td id="LC15945" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15946" class="css-a4x74f"><span>15946</span></td><td id="LC15946" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15947" class="css-a4x74f"><span>15947</span></td><td id="LC15947" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15948" class="css-a4x74f"><span>15948</span></td><td id="LC15948" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15949" class="css-a4x74f"><span>15949</span></td><td id="LC15949" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius"</span> </code></td></tr><tr><td id="L15950" class="css-a4x74f"><span>15950</span></td><td id="LC15950" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15951" class="css-a4x74f"><span>15951</span></td><td id="LC15951" class="css-1dcdqdg"><code> <span class="code-string">"border-style"</span>: { </code></td></tr><tr><td id="L15952" class="css-a4x74f"><span>15952</span></td><td id="LC15952" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-style>{1,4}"</span>, </code></td></tr><tr><td id="L15953" class="css-a4x74f"><span>15953</span></td><td id="LC15953" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15954" class="css-a4x74f"><span>15954</span></td><td id="LC15954" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15955" class="css-a4x74f"><span>15955</span></td><td id="LC15955" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L15956" class="css-a4x74f"><span>15956</span></td><td id="LC15956" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15957" class="css-a4x74f"><span>15957</span></td><td id="LC15957" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15958" class="css-a4x74f"><span>15958</span></td><td id="LC15958" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15959" class="css-a4x74f"><span>15959</span></td><td id="LC15959" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15960" class="css-a4x74f"><span>15960</span></td><td id="LC15960" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15961" class="css-a4x74f"><span>15961</span></td><td id="LC15961" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15962" class="css-a4x74f"><span>15962</span></td><td id="LC15962" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>, </code></td></tr><tr><td id="L15963" class="css-a4x74f"><span>15963</span></td><td id="LC15963" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>, </code></td></tr><tr><td id="L15964" class="css-a4x74f"><span>15964</span></td><td id="LC15964" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span> </code></td></tr><tr><td id="L15965" class="css-a4x74f"><span>15965</span></td><td id="LC15965" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15966" class="css-a4x74f"><span>15966</span></td><td id="LC15966" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15967" class="css-a4x74f"><span>15967</span></td><td id="LC15967" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L15968" class="css-a4x74f"><span>15968</span></td><td id="LC15968" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-style"</span>, </code></td></tr><tr><td id="L15969" class="css-a4x74f"><span>15969</span></td><td id="LC15969" class="css-1dcdqdg"><code> <span class="code-string">"border-left-style"</span>, </code></td></tr><tr><td id="L15970" class="css-a4x74f"><span>15970</span></td><td id="LC15970" class="css-1dcdqdg"><code> <span class="code-string">"border-right-style"</span>, </code></td></tr><tr><td id="L15971" class="css-a4x74f"><span>15971</span></td><td id="LC15971" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span> </code></td></tr><tr><td id="L15972" class="css-a4x74f"><span>15972</span></td><td id="LC15972" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15973" class="css-a4x74f"><span>15973</span></td><td id="LC15973" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L15974" class="css-a4x74f"><span>15974</span></td><td id="LC15974" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L15975" class="css-a4x74f"><span>15975</span></td><td id="LC15975" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L15976" class="css-a4x74f"><span>15976</span></td><td id="LC15976" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15977" class="css-a4x74f"><span>15977</span></td><td id="LC15977" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L15978" class="css-a4x74f"><span>15978</span></td><td id="LC15978" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-style"</span> </code></td></tr><tr><td id="L15979" class="css-a4x74f"><span>15979</span></td><td id="LC15979" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L15980" class="css-a4x74f"><span>15980</span></td><td id="LC15980" class="css-1dcdqdg"><code> <span class="code-string">"border-top"</span>: { </code></td></tr><tr><td id="L15981" class="css-a4x74f"><span>15981</span></td><td id="LC15981" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width> || <line-style> || <color>"</span>, </code></td></tr><tr><td id="L15982" class="css-a4x74f"><span>15982</span></td><td id="LC15982" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L15983" class="css-a4x74f"><span>15983</span></td><td id="LC15983" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L15984" class="css-a4x74f"><span>15984</span></td><td id="LC15984" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L15985" class="css-a4x74f"><span>15985</span></td><td id="LC15985" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span>, </code></td></tr><tr><td id="L15986" class="css-a4x74f"><span>15986</span></td><td id="LC15986" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15987" class="css-a4x74f"><span>15987</span></td><td id="LC15987" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span> </code></td></tr><tr><td id="L15988" class="css-a4x74f"><span>15988</span></td><td id="LC15988" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15989" class="css-a4x74f"><span>15989</span></td><td id="LC15989" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L15990" class="css-a4x74f"><span>15990</span></td><td id="LC15990" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L15991" class="css-a4x74f"><span>15991</span></td><td id="LC15991" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L15992" class="css-a4x74f"><span>15992</span></td><td id="LC15992" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15993" class="css-a4x74f"><span>15993</span></td><td id="LC15993" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L15994" class="css-a4x74f"><span>15994</span></td><td id="LC15994" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L15995" class="css-a4x74f"><span>15995</span></td><td id="LC15995" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L15996" class="css-a4x74f"><span>15996</span></td><td id="LC15996" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L15997" class="css-a4x74f"><span>15997</span></td><td id="LC15997" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L15998" class="css-a4x74f"><span>15998</span></td><td id="LC15998" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L15999" class="css-a4x74f"><span>15999</span></td><td id="LC15999" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L16000" class="css-a4x74f"><span>16000</span></td><td id="LC16000" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L16001" class="css-a4x74f"><span>16001</span></td><td id="LC16001" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>, </code></td></tr><tr><td id="L16002" class="css-a4x74f"><span>16002</span></td><td id="LC16002" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span> </code></td></tr><tr><td id="L16003" class="css-a4x74f"><span>16003</span></td><td id="LC16003" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16004" class="css-a4x74f"><span>16004</span></td><td id="LC16004" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L16005" class="css-a4x74f"><span>16005</span></td><td id="LC16005" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16006" class="css-a4x74f"><span>16006</span></td><td id="LC16006" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16007" class="css-a4x74f"><span>16007</span></td><td id="LC16007" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16008" class="css-a4x74f"><span>16008</span></td><td id="LC16008" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16009" class="css-a4x74f"><span>16009</span></td><td id="LC16009" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top"</span> </code></td></tr><tr><td id="L16010" class="css-a4x74f"><span>16010</span></td><td id="LC16010" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16011" class="css-a4x74f"><span>16011</span></td><td id="LC16011" class="css-1dcdqdg"><code> <span class="code-string">"border-top-color"</span>: { </code></td></tr><tr><td id="L16012" class="css-a4x74f"><span>16012</span></td><td id="LC16012" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L16013" class="css-a4x74f"><span>16013</span></td><td id="LC16013" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16014" class="css-a4x74f"><span>16014</span></td><td id="LC16014" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16015" class="css-a4x74f"><span>16015</span></td><td id="LC16015" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L16016" class="css-a4x74f"><span>16016</span></td><td id="LC16016" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16017" class="css-a4x74f"><span>16017</span></td><td id="LC16017" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16018" class="css-a4x74f"><span>16018</span></td><td id="LC16018" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16019" class="css-a4x74f"><span>16019</span></td><td id="LC16019" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16020" class="css-a4x74f"><span>16020</span></td><td id="LC16020" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L16021" class="css-a4x74f"><span>16021</span></td><td id="LC16021" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16022" class="css-a4x74f"><span>16022</span></td><td id="LC16022" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L16023" class="css-a4x74f"><span>16023</span></td><td id="LC16023" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16024" class="css-a4x74f"><span>16024</span></td><td id="LC16024" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16025" class="css-a4x74f"><span>16025</span></td><td id="LC16025" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16026" class="css-a4x74f"><span>16026</span></td><td id="LC16026" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16027" class="css-a4x74f"><span>16027</span></td><td id="LC16027" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16028" class="css-a4x74f"><span>16028</span></td><td id="LC16028" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top-color"</span> </code></td></tr><tr><td id="L16029" class="css-a4x74f"><span>16029</span></td><td id="LC16029" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16030" class="css-a4x74f"><span>16030</span></td><td id="LC16030" class="css-1dcdqdg"><code> <span class="code-string">"border-top-left-radius"</span>: { </code></td></tr><tr><td id="L16031" class="css-a4x74f"><span>16031</span></td><td id="LC16031" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L16032" class="css-a4x74f"><span>16032</span></td><td id="LC16032" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16033" class="css-a4x74f"><span>16033</span></td><td id="LC16033" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16034" class="css-a4x74f"><span>16034</span></td><td id="LC16034" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L16035" class="css-a4x74f"><span>16035</span></td><td id="LC16035" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L16036" class="css-a4x74f"><span>16036</span></td><td id="LC16036" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16037" class="css-a4x74f"><span>16037</span></td><td id="LC16037" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16038" class="css-a4x74f"><span>16038</span></td><td id="LC16038" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16039" class="css-a4x74f"><span>16039</span></td><td id="LC16039" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L16040" class="css-a4x74f"><span>16040</span></td><td id="LC16040" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L16041" class="css-a4x74f"><span>16041</span></td><td id="LC16041" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L16042" class="css-a4x74f"><span>16042</span></td><td id="LC16042" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16043" class="css-a4x74f"><span>16043</span></td><td id="LC16043" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16044" class="css-a4x74f"><span>16044</span></td><td id="LC16044" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16045" class="css-a4x74f"><span>16045</span></td><td id="LC16045" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16046" class="css-a4x74f"><span>16046</span></td><td id="LC16046" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16047" class="css-a4x74f"><span>16047</span></td><td id="LC16047" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"</span> </code></td></tr><tr><td id="L16048" class="css-a4x74f"><span>16048</span></td><td id="LC16048" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16049" class="css-a4x74f"><span>16049</span></td><td id="LC16049" class="css-1dcdqdg"><code> <span class="code-string">"border-top-right-radius"</span>: { </code></td></tr><tr><td id="L16050" class="css-a4x74f"><span>16050</span></td><td id="LC16050" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span>, </code></td></tr><tr><td id="L16051" class="css-a4x74f"><span>16051</span></td><td id="LC16051" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16052" class="css-a4x74f"><span>16052</span></td><td id="LC16052" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16053" class="css-a4x74f"><span>16053</span></td><td id="LC16053" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L16054" class="css-a4x74f"><span>16054</span></td><td id="LC16054" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfBorderBox"</span>, </code></td></tr><tr><td id="L16055" class="css-a4x74f"><span>16055</span></td><td id="LC16055" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16056" class="css-a4x74f"><span>16056</span></td><td id="LC16056" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16057" class="css-a4x74f"><span>16057</span></td><td id="LC16057" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16058" class="css-a4x74f"><span>16058</span></td><td id="LC16058" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L16059" class="css-a4x74f"><span>16059</span></td><td id="LC16059" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsUAsNotRequiredWhenCollapse"</span>, </code></td></tr><tr><td id="L16060" class="css-a4x74f"><span>16060</span></td><td id="LC16060" class="css-1dcdqdg"><code> computed: <span class="code-string">"twoAbsoluteLengthOrPercentages"</span>, </code></td></tr><tr><td id="L16061" class="css-a4x74f"><span>16061</span></td><td id="LC16061" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16062" class="css-a4x74f"><span>16062</span></td><td id="LC16062" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16063" class="css-a4x74f"><span>16063</span></td><td id="LC16063" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16064" class="css-a4x74f"><span>16064</span></td><td id="LC16064" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16065" class="css-a4x74f"><span>16065</span></td><td id="LC16065" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16066" class="css-a4x74f"><span>16066</span></td><td id="LC16066" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"</span> </code></td></tr><tr><td id="L16067" class="css-a4x74f"><span>16067</span></td><td id="LC16067" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16068" class="css-a4x74f"><span>16068</span></td><td id="LC16068" class="css-1dcdqdg"><code> <span class="code-string">"border-top-style"</span>: { </code></td></tr><tr><td id="L16069" class="css-a4x74f"><span>16069</span></td><td id="LC16069" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-style>"</span>, </code></td></tr><tr><td id="L16070" class="css-a4x74f"><span>16070</span></td><td id="LC16070" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16071" class="css-a4x74f"><span>16071</span></td><td id="LC16071" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16072" class="css-a4x74f"><span>16072</span></td><td id="LC16072" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16073" class="css-a4x74f"><span>16073</span></td><td id="LC16073" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16074" class="css-a4x74f"><span>16074</span></td><td id="LC16074" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16075" class="css-a4x74f"><span>16075</span></td><td id="LC16075" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16076" class="css-a4x74f"><span>16076</span></td><td id="LC16076" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16077" class="css-a4x74f"><span>16077</span></td><td id="LC16077" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16078" class="css-a4x74f"><span>16078</span></td><td id="LC16078" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16079" class="css-a4x74f"><span>16079</span></td><td id="LC16079" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16080" class="css-a4x74f"><span>16080</span></td><td id="LC16080" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16081" class="css-a4x74f"><span>16081</span></td><td id="LC16081" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16082" class="css-a4x74f"><span>16082</span></td><td id="LC16082" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16083" class="css-a4x74f"><span>16083</span></td><td id="LC16083" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16084" class="css-a4x74f"><span>16084</span></td><td id="LC16084" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16085" class="css-a4x74f"><span>16085</span></td><td id="LC16085" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top-style"</span> </code></td></tr><tr><td id="L16086" class="css-a4x74f"><span>16086</span></td><td id="LC16086" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16087" class="css-a4x74f"><span>16087</span></td><td id="LC16087" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>: { </code></td></tr><tr><td id="L16088" class="css-a4x74f"><span>16088</span></td><td id="LC16088" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>"</span>, </code></td></tr><tr><td id="L16089" class="css-a4x74f"><span>16089</span></td><td id="LC16089" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16090" class="css-a4x74f"><span>16090</span></td><td id="LC16090" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16091" class="css-a4x74f"><span>16091</span></td><td id="LC16091" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L16092" class="css-a4x74f"><span>16092</span></td><td id="LC16092" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16093" class="css-a4x74f"><span>16093</span></td><td id="LC16093" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16094" class="css-a4x74f"><span>16094</span></td><td id="LC16094" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16095" class="css-a4x74f"><span>16095</span></td><td id="LC16095" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16096" class="css-a4x74f"><span>16096</span></td><td id="LC16096" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L16097" class="css-a4x74f"><span>16097</span></td><td id="LC16097" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16098" class="css-a4x74f"><span>16098</span></td><td id="LC16098" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOr0IfBorderTopStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L16099" class="css-a4x74f"><span>16099</span></td><td id="LC16099" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16100" class="css-a4x74f"><span>16100</span></td><td id="LC16100" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16101" class="css-a4x74f"><span>16101</span></td><td id="LC16101" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16102" class="css-a4x74f"><span>16102</span></td><td id="LC16102" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16103" class="css-a4x74f"><span>16103</span></td><td id="LC16103" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16104" class="css-a4x74f"><span>16104</span></td><td id="LC16104" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-top-width"</span> </code></td></tr><tr><td id="L16105" class="css-a4x74f"><span>16105</span></td><td id="LC16105" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16106" class="css-a4x74f"><span>16106</span></td><td id="LC16106" class="css-1dcdqdg"><code> <span class="code-string">"border-width"</span>: { </code></td></tr><tr><td id="L16107" class="css-a4x74f"><span>16107</span></td><td id="LC16107" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>{1,4}"</span>, </code></td></tr><tr><td id="L16108" class="css-a4x74f"><span>16108</span></td><td id="LC16108" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16109" class="css-a4x74f"><span>16109</span></td><td id="LC16109" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16110" class="css-a4x74f"><span>16110</span></td><td id="LC16110" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L16111" class="css-a4x74f"><span>16111</span></td><td id="LC16111" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>, </code></td></tr><tr><td id="L16112" class="css-a4x74f"><span>16112</span></td><td id="LC16112" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span>, </code></td></tr><tr><td id="L16113" class="css-a4x74f"><span>16113</span></td><td id="LC16113" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>, </code></td></tr><tr><td id="L16114" class="css-a4x74f"><span>16114</span></td><td id="LC16114" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span> </code></td></tr><tr><td id="L16115" class="css-a4x74f"><span>16115</span></td><td id="LC16115" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16116" class="css-a4x74f"><span>16116</span></td><td id="LC16116" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16117" class="css-a4x74f"><span>16117</span></td><td id="LC16117" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16118" class="css-a4x74f"><span>16118</span></td><td id="LC16118" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16119" class="css-a4x74f"><span>16119</span></td><td id="LC16119" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16120" class="css-a4x74f"><span>16120</span></td><td id="LC16120" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L16121" class="css-a4x74f"><span>16121</span></td><td id="LC16121" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span>, </code></td></tr><tr><td id="L16122" class="css-a4x74f"><span>16122</span></td><td id="LC16122" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>, </code></td></tr><tr><td id="L16123" class="css-a4x74f"><span>16123</span></td><td id="LC16123" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>, </code></td></tr><tr><td id="L16124" class="css-a4x74f"><span>16124</span></td><td id="LC16124" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span> </code></td></tr><tr><td id="L16125" class="css-a4x74f"><span>16125</span></td><td id="LC16125" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16126" class="css-a4x74f"><span>16126</span></td><td id="LC16126" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16127" class="css-a4x74f"><span>16127</span></td><td id="LC16127" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L16128" class="css-a4x74f"><span>16128</span></td><td id="LC16128" class="css-1dcdqdg"><code> <span class="code-string">"border-bottom-width"</span>, </code></td></tr><tr><td id="L16129" class="css-a4x74f"><span>16129</span></td><td id="LC16129" class="css-1dcdqdg"><code> <span class="code-string">"border-left-width"</span>, </code></td></tr><tr><td id="L16130" class="css-a4x74f"><span>16130</span></td><td id="LC16130" class="css-1dcdqdg"><code> <span class="code-string">"border-right-width"</span>, </code></td></tr><tr><td id="L16131" class="css-a4x74f"><span>16131</span></td><td id="LC16131" class="css-1dcdqdg"><code> <span class="code-string">"border-top-width"</span> </code></td></tr><tr><td id="L16132" class="css-a4x74f"><span>16132</span></td><td id="LC16132" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16133" class="css-a4x74f"><span>16133</span></td><td id="LC16133" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16134" class="css-a4x74f"><span>16134</span></td><td id="LC16134" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16135" class="css-a4x74f"><span>16135</span></td><td id="LC16135" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16136" class="css-a4x74f"><span>16136</span></td><td id="LC16136" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16137" class="css-a4x74f"><span>16137</span></td><td id="LC16137" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16138" class="css-a4x74f"><span>16138</span></td><td id="LC16138" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/border-width"</span> </code></td></tr><tr><td id="L16139" class="css-a4x74f"><span>16139</span></td><td id="LC16139" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16140" class="css-a4x74f"><span>16140</span></td><td id="LC16140" class="css-1dcdqdg"><code> bottom: bottom, </code></td></tr><tr><td id="L16141" class="css-a4x74f"><span>16141</span></td><td id="LC16141" class="css-1dcdqdg"><code> <span class="code-string">"box-align"</span>: { </code></td></tr><tr><td id="L16142" class="css-a4x74f"><span>16142</span></td><td id="LC16142" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | center | end | baseline | stretch"</span>, </code></td></tr><tr><td id="L16143" class="css-a4x74f"><span>16143</span></td><td id="LC16143" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16144" class="css-a4x74f"><span>16144</span></td><td id="LC16144" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16145" class="css-a4x74f"><span>16145</span></td><td id="LC16145" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16146" class="css-a4x74f"><span>16146</span></td><td id="LC16146" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16147" class="css-a4x74f"><span>16147</span></td><td id="LC16147" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16148" class="css-a4x74f"><span>16148</span></td><td id="LC16148" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16149" class="css-a4x74f"><span>16149</span></td><td id="LC16149" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16150" class="css-a4x74f"><span>16150</span></td><td id="LC16150" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16151" class="css-a4x74f"><span>16151</span></td><td id="LC16151" class="css-1dcdqdg"><code> initial: <span class="code-string">"stretch"</span>, </code></td></tr><tr><td id="L16152" class="css-a4x74f"><span>16152</span></td><td id="LC16152" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"elementsWithDisplayBoxOrInlineBox"</span>, </code></td></tr><tr><td id="L16153" class="css-a4x74f"><span>16153</span></td><td id="LC16153" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16154" class="css-a4x74f"><span>16154</span></td><td id="LC16154" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16155" class="css-a4x74f"><span>16155</span></td><td id="LC16155" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16156" class="css-a4x74f"><span>16156</span></td><td id="LC16156" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-align"</span> </code></td></tr><tr><td id="L16157" class="css-a4x74f"><span>16157</span></td><td id="LC16157" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16158" class="css-a4x74f"><span>16158</span></td><td id="LC16158" class="css-1dcdqdg"><code> <span class="code-string">"box-decoration-break"</span>: { </code></td></tr><tr><td id="L16159" class="css-a4x74f"><span>16159</span></td><td id="LC16159" class="css-1dcdqdg"><code> syntax: <span class="code-string">"slice | clone"</span>, </code></td></tr><tr><td id="L16160" class="css-a4x74f"><span>16160</span></td><td id="LC16160" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16161" class="css-a4x74f"><span>16161</span></td><td id="LC16161" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16162" class="css-a4x74f"><span>16162</span></td><td id="LC16162" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16163" class="css-a4x74f"><span>16163</span></td><td id="LC16163" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16164" class="css-a4x74f"><span>16164</span></td><td id="LC16164" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16165" class="css-a4x74f"><span>16165</span></td><td id="LC16165" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L16166" class="css-a4x74f"><span>16166</span></td><td id="LC16166" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16167" class="css-a4x74f"><span>16167</span></td><td id="LC16167" class="css-1dcdqdg"><code> initial: <span class="code-string">"slice"</span>, </code></td></tr><tr><td id="L16168" class="css-a4x74f"><span>16168</span></td><td id="LC16168" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16169" class="css-a4x74f"><span>16169</span></td><td id="LC16169" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16170" class="css-a4x74f"><span>16170</span></td><td id="LC16170" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16171" class="css-a4x74f"><span>16171</span></td><td id="LC16171" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16172" class="css-a4x74f"><span>16172</span></td><td id="LC16172" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break"</span> </code></td></tr><tr><td id="L16173" class="css-a4x74f"><span>16173</span></td><td id="LC16173" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16174" class="css-a4x74f"><span>16174</span></td><td id="LC16174" class="css-1dcdqdg"><code> <span class="code-string">"box-direction"</span>: { </code></td></tr><tr><td id="L16175" class="css-a4x74f"><span>16175</span></td><td id="LC16175" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | reverse | inherit"</span>, </code></td></tr><tr><td id="L16176" class="css-a4x74f"><span>16176</span></td><td id="LC16176" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16177" class="css-a4x74f"><span>16177</span></td><td id="LC16177" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16178" class="css-a4x74f"><span>16178</span></td><td id="LC16178" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16179" class="css-a4x74f"><span>16179</span></td><td id="LC16179" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16180" class="css-a4x74f"><span>16180</span></td><td id="LC16180" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16181" class="css-a4x74f"><span>16181</span></td><td id="LC16181" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16182" class="css-a4x74f"><span>16182</span></td><td id="LC16182" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16183" class="css-a4x74f"><span>16183</span></td><td id="LC16183" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16184" class="css-a4x74f"><span>16184</span></td><td id="LC16184" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16185" class="css-a4x74f"><span>16185</span></td><td id="LC16185" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"elementsWithDisplayBoxOrInlineBox"</span>, </code></td></tr><tr><td id="L16186" class="css-a4x74f"><span>16186</span></td><td id="LC16186" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16187" class="css-a4x74f"><span>16187</span></td><td id="LC16187" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16188" class="css-a4x74f"><span>16188</span></td><td id="LC16188" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16189" class="css-a4x74f"><span>16189</span></td><td id="LC16189" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-direction"</span> </code></td></tr><tr><td id="L16190" class="css-a4x74f"><span>16190</span></td><td id="LC16190" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16191" class="css-a4x74f"><span>16191</span></td><td id="LC16191" class="css-1dcdqdg"><code> <span class="code-string">"box-flex"</span>: { </code></td></tr><tr><td id="L16192" class="css-a4x74f"><span>16192</span></td><td id="LC16192" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number>"</span>, </code></td></tr><tr><td id="L16193" class="css-a4x74f"><span>16193</span></td><td id="LC16193" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16194" class="css-a4x74f"><span>16194</span></td><td id="LC16194" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16195" class="css-a4x74f"><span>16195</span></td><td id="LC16195" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16196" class="css-a4x74f"><span>16196</span></td><td id="LC16196" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16197" class="css-a4x74f"><span>16197</span></td><td id="LC16197" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16198" class="css-a4x74f"><span>16198</span></td><td id="LC16198" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16199" class="css-a4x74f"><span>16199</span></td><td id="LC16199" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16200" class="css-a4x74f"><span>16200</span></td><td id="LC16200" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16201" class="css-a4x74f"><span>16201</span></td><td id="LC16201" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L16202" class="css-a4x74f"><span>16202</span></td><td id="LC16202" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"directChildrenOfElementsWithDisplayMozBoxMozInlineBox"</span>, </code></td></tr><tr><td id="L16203" class="css-a4x74f"><span>16203</span></td><td id="LC16203" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16204" class="css-a4x74f"><span>16204</span></td><td id="LC16204" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16205" class="css-a4x74f"><span>16205</span></td><td id="LC16205" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16206" class="css-a4x74f"><span>16206</span></td><td id="LC16206" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-flex"</span> </code></td></tr><tr><td id="L16207" class="css-a4x74f"><span>16207</span></td><td id="LC16207" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16208" class="css-a4x74f"><span>16208</span></td><td id="LC16208" class="css-1dcdqdg"><code> <span class="code-string">"box-flex-group"</span>: { </code></td></tr><tr><td id="L16209" class="css-a4x74f"><span>16209</span></td><td id="LC16209" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L16210" class="css-a4x74f"><span>16210</span></td><td id="LC16210" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16211" class="css-a4x74f"><span>16211</span></td><td id="LC16211" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16212" class="css-a4x74f"><span>16212</span></td><td id="LC16212" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16213" class="css-a4x74f"><span>16213</span></td><td id="LC16213" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16214" class="css-a4x74f"><span>16214</span></td><td id="LC16214" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16215" class="css-a4x74f"><span>16215</span></td><td id="LC16215" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16216" class="css-a4x74f"><span>16216</span></td><td id="LC16216" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16217" class="css-a4x74f"><span>16217</span></td><td id="LC16217" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16218" class="css-a4x74f"><span>16218</span></td><td id="LC16218" class="css-1dcdqdg"><code> initial: <span class="code-string">"1"</span>, </code></td></tr><tr><td id="L16219" class="css-a4x74f"><span>16219</span></td><td id="LC16219" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"inFlowChildrenOfBoxElements"</span>, </code></td></tr><tr><td id="L16220" class="css-a4x74f"><span>16220</span></td><td id="LC16220" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16221" class="css-a4x74f"><span>16221</span></td><td id="LC16221" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16222" class="css-a4x74f"><span>16222</span></td><td id="LC16222" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16223" class="css-a4x74f"><span>16223</span></td><td id="LC16223" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-flex-group"</span> </code></td></tr><tr><td id="L16224" class="css-a4x74f"><span>16224</span></td><td id="LC16224" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16225" class="css-a4x74f"><span>16225</span></td><td id="LC16225" class="css-1dcdqdg"><code> <span class="code-string">"box-lines"</span>: { </code></td></tr><tr><td id="L16226" class="css-a4x74f"><span>16226</span></td><td id="LC16226" class="css-1dcdqdg"><code> syntax: <span class="code-string">"single | multiple"</span>, </code></td></tr><tr><td id="L16227" class="css-a4x74f"><span>16227</span></td><td id="LC16227" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16228" class="css-a4x74f"><span>16228</span></td><td id="LC16228" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16229" class="css-a4x74f"><span>16229</span></td><td id="LC16229" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16230" class="css-a4x74f"><span>16230</span></td><td id="LC16230" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16231" class="css-a4x74f"><span>16231</span></td><td id="LC16231" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16232" class="css-a4x74f"><span>16232</span></td><td id="LC16232" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16233" class="css-a4x74f"><span>16233</span></td><td id="LC16233" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16234" class="css-a4x74f"><span>16234</span></td><td id="LC16234" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16235" class="css-a4x74f"><span>16235</span></td><td id="LC16235" class="css-1dcdqdg"><code> initial: <span class="code-string">"single"</span>, </code></td></tr><tr><td id="L16236" class="css-a4x74f"><span>16236</span></td><td id="LC16236" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"boxElements"</span>, </code></td></tr><tr><td id="L16237" class="css-a4x74f"><span>16237</span></td><td id="LC16237" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16238" class="css-a4x74f"><span>16238</span></td><td id="LC16238" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16239" class="css-a4x74f"><span>16239</span></td><td id="LC16239" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16240" class="css-a4x74f"><span>16240</span></td><td id="LC16240" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-lines"</span> </code></td></tr><tr><td id="L16241" class="css-a4x74f"><span>16241</span></td><td id="LC16241" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16242" class="css-a4x74f"><span>16242</span></td><td id="LC16242" class="css-1dcdqdg"><code> <span class="code-string">"box-ordinal-group"</span>: { </code></td></tr><tr><td id="L16243" class="css-a4x74f"><span>16243</span></td><td id="LC16243" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span>, </code></td></tr><tr><td id="L16244" class="css-a4x74f"><span>16244</span></td><td id="LC16244" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16245" class="css-a4x74f"><span>16245</span></td><td id="LC16245" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16246" class="css-a4x74f"><span>16246</span></td><td id="LC16246" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16247" class="css-a4x74f"><span>16247</span></td><td id="LC16247" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16248" class="css-a4x74f"><span>16248</span></td><td id="LC16248" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16249" class="css-a4x74f"><span>16249</span></td><td id="LC16249" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16250" class="css-a4x74f"><span>16250</span></td><td id="LC16250" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16251" class="css-a4x74f"><span>16251</span></td><td id="LC16251" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16252" class="css-a4x74f"><span>16252</span></td><td id="LC16252" class="css-1dcdqdg"><code> initial: <span class="code-string">"1"</span>, </code></td></tr><tr><td id="L16253" class="css-a4x74f"><span>16253</span></td><td id="LC16253" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"childrenOfBoxElements"</span>, </code></td></tr><tr><td id="L16254" class="css-a4x74f"><span>16254</span></td><td id="LC16254" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16255" class="css-a4x74f"><span>16255</span></td><td id="LC16255" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16256" class="css-a4x74f"><span>16256</span></td><td id="LC16256" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16257" class="css-a4x74f"><span>16257</span></td><td id="LC16257" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group"</span> </code></td></tr><tr><td id="L16258" class="css-a4x74f"><span>16258</span></td><td id="LC16258" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16259" class="css-a4x74f"><span>16259</span></td><td id="LC16259" class="css-1dcdqdg"><code> <span class="code-string">"box-orient"</span>: { </code></td></tr><tr><td id="L16260" class="css-a4x74f"><span>16260</span></td><td id="LC16260" class="css-1dcdqdg"><code> syntax: <span class="code-string">"horizontal | vertical | inline-axis | block-axis | inherit"</span>, </code></td></tr><tr><td id="L16261" class="css-a4x74f"><span>16261</span></td><td id="LC16261" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16262" class="css-a4x74f"><span>16262</span></td><td id="LC16262" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16263" class="css-a4x74f"><span>16263</span></td><td id="LC16263" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16264" class="css-a4x74f"><span>16264</span></td><td id="LC16264" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16265" class="css-a4x74f"><span>16265</span></td><td id="LC16265" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16266" class="css-a4x74f"><span>16266</span></td><td id="LC16266" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16267" class="css-a4x74f"><span>16267</span></td><td id="LC16267" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16268" class="css-a4x74f"><span>16268</span></td><td id="LC16268" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16269" class="css-a4x74f"><span>16269</span></td><td id="LC16269" class="css-1dcdqdg"><code> initial: <span class="code-string">"inlineAxisHorizontalInXUL"</span>, </code></td></tr><tr><td id="L16270" class="css-a4x74f"><span>16270</span></td><td id="LC16270" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"elementsWithDisplayBoxOrInlineBox"</span>, </code></td></tr><tr><td id="L16271" class="css-a4x74f"><span>16271</span></td><td id="LC16271" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16272" class="css-a4x74f"><span>16272</span></td><td id="LC16272" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16273" class="css-a4x74f"><span>16273</span></td><td id="LC16273" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16274" class="css-a4x74f"><span>16274</span></td><td id="LC16274" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-orient"</span> </code></td></tr><tr><td id="L16275" class="css-a4x74f"><span>16275</span></td><td id="LC16275" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16276" class="css-a4x74f"><span>16276</span></td><td id="LC16276" class="css-1dcdqdg"><code> <span class="code-string">"box-pack"</span>: { </code></td></tr><tr><td id="L16277" class="css-a4x74f"><span>16277</span></td><td id="LC16277" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | center | end | justify"</span>, </code></td></tr><tr><td id="L16278" class="css-a4x74f"><span>16278</span></td><td id="LC16278" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16279" class="css-a4x74f"><span>16279</span></td><td id="LC16279" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16280" class="css-a4x74f"><span>16280</span></td><td id="LC16280" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16281" class="css-a4x74f"><span>16281</span></td><td id="LC16281" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16282" class="css-a4x74f"><span>16282</span></td><td id="LC16282" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16283" class="css-a4x74f"><span>16283</span></td><td id="LC16283" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span>, </code></td></tr><tr><td id="L16284" class="css-a4x74f"><span>16284</span></td><td id="LC16284" class="css-1dcdqdg"><code> <span class="code-string">"WebKit Extensions"</span> </code></td></tr><tr><td id="L16285" class="css-a4x74f"><span>16285</span></td><td id="LC16285" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16286" class="css-a4x74f"><span>16286</span></td><td id="LC16286" class="css-1dcdqdg"><code> initial: <span class="code-string">"start"</span>, </code></td></tr><tr><td id="L16287" class="css-a4x74f"><span>16287</span></td><td id="LC16287" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"elementsWithDisplayMozBoxMozInlineBox"</span>, </code></td></tr><tr><td id="L16288" class="css-a4x74f"><span>16288</span></td><td id="LC16288" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16289" class="css-a4x74f"><span>16289</span></td><td id="LC16289" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16290" class="css-a4x74f"><span>16290</span></td><td id="LC16290" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L16291" class="css-a4x74f"><span>16291</span></td><td id="LC16291" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-pack"</span> </code></td></tr><tr><td id="L16292" class="css-a4x74f"><span>16292</span></td><td id="LC16292" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16293" class="css-a4x74f"><span>16293</span></td><td id="LC16293" class="css-1dcdqdg"><code> <span class="code-string">"box-shadow"</span>: { </code></td></tr><tr><td id="L16294" class="css-a4x74f"><span>16294</span></td><td id="LC16294" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <shadow>#"</span>, </code></td></tr><tr><td id="L16295" class="css-a4x74f"><span>16295</span></td><td id="LC16295" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16296" class="css-a4x74f"><span>16296</span></td><td id="LC16296" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16297" class="css-a4x74f"><span>16297</span></td><td id="LC16297" class="css-1dcdqdg"><code> animationType: <span class="code-string">"shadowList"</span>, </code></td></tr><tr><td id="L16298" class="css-a4x74f"><span>16298</span></td><td id="LC16298" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16299" class="css-a4x74f"><span>16299</span></td><td id="LC16299" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16300" class="css-a4x74f"><span>16300</span></td><td id="LC16300" class="css-1dcdqdg"><code> <span class="code-string">"CSS Backgrounds and Borders"</span> </code></td></tr><tr><td id="L16301" class="css-a4x74f"><span>16301</span></td><td id="LC16301" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16302" class="css-a4x74f"><span>16302</span></td><td id="LC16302" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16303" class="css-a4x74f"><span>16303</span></td><td id="LC16303" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16304" class="css-a4x74f"><span>16304</span></td><td id="LC16304" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthsSpecifiedColorAsSpecified"</span>, </code></td></tr><tr><td id="L16305" class="css-a4x74f"><span>16305</span></td><td id="LC16305" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16306" class="css-a4x74f"><span>16306</span></td><td id="LC16306" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16307" class="css-a4x74f"><span>16307</span></td><td id="LC16307" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L16308" class="css-a4x74f"><span>16308</span></td><td id="LC16308" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16309" class="css-a4x74f"><span>16309</span></td><td id="LC16309" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16310" class="css-a4x74f"><span>16310</span></td><td id="LC16310" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-shadow"</span> </code></td></tr><tr><td id="L16311" class="css-a4x74f"><span>16311</span></td><td id="LC16311" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16312" class="css-a4x74f"><span>16312</span></td><td id="LC16312" class="css-1dcdqdg"><code> <span class="code-string">"box-sizing"</span>: { </code></td></tr><tr><td id="L16313" class="css-a4x74f"><span>16313</span></td><td id="LC16313" class="css-1dcdqdg"><code> syntax: <span class="code-string">"content-box | border-box"</span>, </code></td></tr><tr><td id="L16314" class="css-a4x74f"><span>16314</span></td><td id="LC16314" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16315" class="css-a4x74f"><span>16315</span></td><td id="LC16315" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16316" class="css-a4x74f"><span>16316</span></td><td id="LC16316" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16317" class="css-a4x74f"><span>16317</span></td><td id="LC16317" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16318" class="css-a4x74f"><span>16318</span></td><td id="LC16318" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16319" class="css-a4x74f"><span>16319</span></td><td id="LC16319" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L16320" class="css-a4x74f"><span>16320</span></td><td id="LC16320" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16321" class="css-a4x74f"><span>16321</span></td><td id="LC16321" class="css-1dcdqdg"><code> initial: <span class="code-string">"content-box"</span>, </code></td></tr><tr><td id="L16322" class="css-a4x74f"><span>16322</span></td><td id="LC16322" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAcceptingWidthOrHeight"</span>, </code></td></tr><tr><td id="L16323" class="css-a4x74f"><span>16323</span></td><td id="LC16323" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16324" class="css-a4x74f"><span>16324</span></td><td id="LC16324" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16325" class="css-a4x74f"><span>16325</span></td><td id="LC16325" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16326" class="css-a4x74f"><span>16326</span></td><td id="LC16326" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/box-sizing"</span> </code></td></tr><tr><td id="L16327" class="css-a4x74f"><span>16327</span></td><td id="LC16327" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16328" class="css-a4x74f"><span>16328</span></td><td id="LC16328" class="css-1dcdqdg"><code> <span class="code-string">"break-after"</span>: { </code></td></tr><tr><td id="L16329" class="css-a4x74f"><span>16329</span></td><td id="LC16329" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region"</span>, </code></td></tr><tr><td id="L16330" class="css-a4x74f"><span>16330</span></td><td id="LC16330" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16331" class="css-a4x74f"><span>16331</span></td><td id="LC16331" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16332" class="css-a4x74f"><span>16332</span></td><td id="LC16332" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16333" class="css-a4x74f"><span>16333</span></td><td id="LC16333" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16334" class="css-a4x74f"><span>16334</span></td><td id="LC16334" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16335" class="css-a4x74f"><span>16335</span></td><td id="LC16335" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L16336" class="css-a4x74f"><span>16336</span></td><td id="LC16336" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16337" class="css-a4x74f"><span>16337</span></td><td id="LC16337" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16338" class="css-a4x74f"><span>16338</span></td><td id="LC16338" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L16339" class="css-a4x74f"><span>16339</span></td><td id="LC16339" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16340" class="css-a4x74f"><span>16340</span></td><td id="LC16340" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16341" class="css-a4x74f"><span>16341</span></td><td id="LC16341" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16342" class="css-a4x74f"><span>16342</span></td><td id="LC16342" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/break-after"</span> </code></td></tr><tr><td id="L16343" class="css-a4x74f"><span>16343</span></td><td id="LC16343" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16344" class="css-a4x74f"><span>16344</span></td><td id="LC16344" class="css-1dcdqdg"><code> <span class="code-string">"break-before"</span>: { </code></td></tr><tr><td id="L16345" class="css-a4x74f"><span>16345</span></td><td id="LC16345" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region"</span>, </code></td></tr><tr><td id="L16346" class="css-a4x74f"><span>16346</span></td><td id="LC16346" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16347" class="css-a4x74f"><span>16347</span></td><td id="LC16347" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16348" class="css-a4x74f"><span>16348</span></td><td id="LC16348" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16349" class="css-a4x74f"><span>16349</span></td><td id="LC16349" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16350" class="css-a4x74f"><span>16350</span></td><td id="LC16350" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16351" class="css-a4x74f"><span>16351</span></td><td id="LC16351" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L16352" class="css-a4x74f"><span>16352</span></td><td id="LC16352" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16353" class="css-a4x74f"><span>16353</span></td><td id="LC16353" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16354" class="css-a4x74f"><span>16354</span></td><td id="LC16354" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L16355" class="css-a4x74f"><span>16355</span></td><td id="LC16355" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16356" class="css-a4x74f"><span>16356</span></td><td id="LC16356" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16357" class="css-a4x74f"><span>16357</span></td><td id="LC16357" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16358" class="css-a4x74f"><span>16358</span></td><td id="LC16358" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/break-before"</span> </code></td></tr><tr><td id="L16359" class="css-a4x74f"><span>16359</span></td><td id="LC16359" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16360" class="css-a4x74f"><span>16360</span></td><td id="LC16360" class="css-1dcdqdg"><code> <span class="code-string">"break-inside"</span>: { </code></td></tr><tr><td id="L16361" class="css-a4x74f"><span>16361</span></td><td id="LC16361" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | avoid | avoid-page | avoid-column | avoid-region"</span>, </code></td></tr><tr><td id="L16362" class="css-a4x74f"><span>16362</span></td><td id="LC16362" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16363" class="css-a4x74f"><span>16363</span></td><td id="LC16363" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16364" class="css-a4x74f"><span>16364</span></td><td id="LC16364" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16365" class="css-a4x74f"><span>16365</span></td><td id="LC16365" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16366" class="css-a4x74f"><span>16366</span></td><td id="LC16366" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16367" class="css-a4x74f"><span>16367</span></td><td id="LC16367" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fragmentation"</span> </code></td></tr><tr><td id="L16368" class="css-a4x74f"><span>16368</span></td><td id="LC16368" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16369" class="css-a4x74f"><span>16369</span></td><td id="LC16369" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16370" class="css-a4x74f"><span>16370</span></td><td id="LC16370" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelElements"</span>, </code></td></tr><tr><td id="L16371" class="css-a4x74f"><span>16371</span></td><td id="LC16371" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16372" class="css-a4x74f"><span>16372</span></td><td id="LC16372" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16373" class="css-a4x74f"><span>16373</span></td><td id="LC16373" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16374" class="css-a4x74f"><span>16374</span></td><td id="LC16374" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/break-inside"</span> </code></td></tr><tr><td id="L16375" class="css-a4x74f"><span>16375</span></td><td id="LC16375" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16376" class="css-a4x74f"><span>16376</span></td><td id="LC16376" class="css-1dcdqdg"><code> <span class="code-string">"caption-side"</span>: { </code></td></tr><tr><td id="L16377" class="css-a4x74f"><span>16377</span></td><td id="LC16377" class="css-1dcdqdg"><code> syntax: <span class="code-string">"top | bottom | block-start | block-end | inline-start | inline-end"</span>, </code></td></tr><tr><td id="L16378" class="css-a4x74f"><span>16378</span></td><td id="LC16378" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16379" class="css-a4x74f"><span>16379</span></td><td id="LC16379" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16380" class="css-a4x74f"><span>16380</span></td><td id="LC16380" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16381" class="css-a4x74f"><span>16381</span></td><td id="LC16381" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16382" class="css-a4x74f"><span>16382</span></td><td id="LC16382" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16383" class="css-a4x74f"><span>16383</span></td><td id="LC16383" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L16384" class="css-a4x74f"><span>16384</span></td><td id="LC16384" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16385" class="css-a4x74f"><span>16385</span></td><td id="LC16385" class="css-1dcdqdg"><code> initial: <span class="code-string">"top"</span>, </code></td></tr><tr><td id="L16386" class="css-a4x74f"><span>16386</span></td><td id="LC16386" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"tableCaptionElements"</span>, </code></td></tr><tr><td id="L16387" class="css-a4x74f"><span>16387</span></td><td id="LC16387" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16388" class="css-a4x74f"><span>16388</span></td><td id="LC16388" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16389" class="css-a4x74f"><span>16389</span></td><td id="LC16389" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16390" class="css-a4x74f"><span>16390</span></td><td id="LC16390" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/caption-side"</span> </code></td></tr><tr><td id="L16391" class="css-a4x74f"><span>16391</span></td><td id="LC16391" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16392" class="css-a4x74f"><span>16392</span></td><td id="LC16392" class="css-1dcdqdg"><code> <span class="code-string">"caret-color"</span>: { </code></td></tr><tr><td id="L16393" class="css-a4x74f"><span>16393</span></td><td id="LC16393" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <color>"</span>, </code></td></tr><tr><td id="L16394" class="css-a4x74f"><span>16394</span></td><td id="LC16394" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L16395" class="css-a4x74f"><span>16395</span></td><td id="LC16395" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16396" class="css-a4x74f"><span>16396</span></td><td id="LC16396" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L16397" class="css-a4x74f"><span>16397</span></td><td id="LC16397" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16398" class="css-a4x74f"><span>16398</span></td><td id="LC16398" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16399" class="css-a4x74f"><span>16399</span></td><td id="LC16399" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L16400" class="css-a4x74f"><span>16400</span></td><td id="LC16400" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16401" class="css-a4x74f"><span>16401</span></td><td id="LC16401" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16402" class="css-a4x74f"><span>16402</span></td><td id="LC16402" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16403" class="css-a4x74f"><span>16403</span></td><td id="LC16403" class="css-1dcdqdg"><code> computed: <span class="code-string">"asAutoOrColor"</span>, </code></td></tr><tr><td id="L16404" class="css-a4x74f"><span>16404</span></td><td id="LC16404" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16405" class="css-a4x74f"><span>16405</span></td><td id="LC16405" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16406" class="css-a4x74f"><span>16406</span></td><td id="LC16406" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/caret-color"</span> </code></td></tr><tr><td id="L16407" class="css-a4x74f"><span>16407</span></td><td id="LC16407" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16408" class="css-a4x74f"><span>16408</span></td><td id="LC16408" class="css-1dcdqdg"><code> clear: clear, </code></td></tr><tr><td id="L16409" class="css-a4x74f"><span>16409</span></td><td id="LC16409" class="css-1dcdqdg"><code> clip: clip, </code></td></tr><tr><td id="L16410" class="css-a4x74f"><span>16410</span></td><td id="LC16410" class="css-1dcdqdg"><code> <span class="code-string">"clip-path"</span>: { </code></td></tr><tr><td id="L16411" class="css-a4x74f"><span>16411</span></td><td id="LC16411" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<clip-source> | [ <basic-shape> || <geometry-box> ] | none"</span>, </code></td></tr><tr><td id="L16412" class="css-a4x74f"><span>16412</span></td><td id="LC16412" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16413" class="css-a4x74f"><span>16413</span></td><td id="LC16413" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16414" class="css-a4x74f"><span>16414</span></td><td id="LC16414" class="css-1dcdqdg"><code> animationType: <span class="code-string">"basicShapeOtherwiseNo"</span>, </code></td></tr><tr><td id="L16415" class="css-a4x74f"><span>16415</span></td><td id="LC16415" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox"</span>, </code></td></tr><tr><td id="L16416" class="css-a4x74f"><span>16416</span></td><td id="LC16416" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16417" class="css-a4x74f"><span>16417</span></td><td id="LC16417" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L16418" class="css-a4x74f"><span>16418</span></td><td id="LC16418" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16419" class="css-a4x74f"><span>16419</span></td><td id="LC16419" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16420" class="css-a4x74f"><span>16420</span></td><td id="LC16420" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L16421" class="css-a4x74f"><span>16421</span></td><td id="LC16421" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedURLsAbsolute"</span>, </code></td></tr><tr><td id="L16422" class="css-a4x74f"><span>16422</span></td><td id="LC16422" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16423" class="css-a4x74f"><span>16423</span></td><td id="LC16423" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16424" class="css-a4x74f"><span>16424</span></td><td id="LC16424" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/clip-path"</span> </code></td></tr><tr><td id="L16425" class="css-a4x74f"><span>16425</span></td><td id="LC16425" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16426" class="css-a4x74f"><span>16426</span></td><td id="LC16426" class="css-1dcdqdg"><code> color: color, </code></td></tr><tr><td id="L16427" class="css-a4x74f"><span>16427</span></td><td id="LC16427" class="css-1dcdqdg"><code> <span class="code-string">"color-adjust"</span>: { </code></td></tr><tr><td id="L16428" class="css-a4x74f"><span>16428</span></td><td id="LC16428" class="css-1dcdqdg"><code> syntax: <span class="code-string">"economy | exact"</span>, </code></td></tr><tr><td id="L16429" class="css-a4x74f"><span>16429</span></td><td id="LC16429" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16430" class="css-a4x74f"><span>16430</span></td><td id="LC16430" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16431" class="css-a4x74f"><span>16431</span></td><td id="LC16431" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16432" class="css-a4x74f"><span>16432</span></td><td id="LC16432" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16433" class="css-a4x74f"><span>16433</span></td><td id="LC16433" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16434" class="css-a4x74f"><span>16434</span></td><td id="LC16434" class="css-1dcdqdg"><code> <span class="code-string">"CSS Color"</span> </code></td></tr><tr><td id="L16435" class="css-a4x74f"><span>16435</span></td><td id="LC16435" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16436" class="css-a4x74f"><span>16436</span></td><td id="LC16436" class="css-1dcdqdg"><code> initial: <span class="code-string">"economy"</span>, </code></td></tr><tr><td id="L16437" class="css-a4x74f"><span>16437</span></td><td id="LC16437" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16438" class="css-a4x74f"><span>16438</span></td><td id="LC16438" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16439" class="css-a4x74f"><span>16439</span></td><td id="LC16439" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16440" class="css-a4x74f"><span>16440</span></td><td id="LC16440" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16441" class="css-a4x74f"><span>16441</span></td><td id="LC16441" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/color-adjust"</span> </code></td></tr><tr><td id="L16442" class="css-a4x74f"><span>16442</span></td><td id="LC16442" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16443" class="css-a4x74f"><span>16443</span></td><td id="LC16443" class="css-1dcdqdg"><code> <span class="code-string">"column-count"</span>: { </code></td></tr><tr><td id="L16444" class="css-a4x74f"><span>16444</span></td><td id="LC16444" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer> | auto"</span>, </code></td></tr><tr><td id="L16445" class="css-a4x74f"><span>16445</span></td><td id="LC16445" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16446" class="css-a4x74f"><span>16446</span></td><td id="LC16446" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16447" class="css-a4x74f"><span>16447</span></td><td id="LC16447" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L16448" class="css-a4x74f"><span>16448</span></td><td id="LC16448" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16449" class="css-a4x74f"><span>16449</span></td><td id="LC16449" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16450" class="css-a4x74f"><span>16450</span></td><td id="LC16450" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16451" class="css-a4x74f"><span>16451</span></td><td id="LC16451" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16452" class="css-a4x74f"><span>16452</span></td><td id="LC16452" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16453" class="css-a4x74f"><span>16453</span></td><td id="LC16453" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersExceptTableWrappers"</span>, </code></td></tr><tr><td id="L16454" class="css-a4x74f"><span>16454</span></td><td id="LC16454" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16455" class="css-a4x74f"><span>16455</span></td><td id="LC16455" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16456" class="css-a4x74f"><span>16456</span></td><td id="LC16456" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16457" class="css-a4x74f"><span>16457</span></td><td id="LC16457" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-count"</span> </code></td></tr><tr><td id="L16458" class="css-a4x74f"><span>16458</span></td><td id="LC16458" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16459" class="css-a4x74f"><span>16459</span></td><td id="LC16459" class="css-1dcdqdg"><code> <span class="code-string">"column-fill"</span>: { </code></td></tr><tr><td id="L16460" class="css-a4x74f"><span>16460</span></td><td id="LC16460" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | balance | balance-all"</span>, </code></td></tr><tr><td id="L16461" class="css-a4x74f"><span>16461</span></td><td id="LC16461" class="css-1dcdqdg"><code> media: <span class="code-string">"visualInContinuousMediaNoEffectInOverflowColumns"</span>, </code></td></tr><tr><td id="L16462" class="css-a4x74f"><span>16462</span></td><td id="LC16462" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16463" class="css-a4x74f"><span>16463</span></td><td id="LC16463" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16464" class="css-a4x74f"><span>16464</span></td><td id="LC16464" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16465" class="css-a4x74f"><span>16465</span></td><td id="LC16465" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16466" class="css-a4x74f"><span>16466</span></td><td id="LC16466" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16467" class="css-a4x74f"><span>16467</span></td><td id="LC16467" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16468" class="css-a4x74f"><span>16468</span></td><td id="LC16468" class="css-1dcdqdg"><code> initial: <span class="code-string">"balance"</span>, </code></td></tr><tr><td id="L16469" class="css-a4x74f"><span>16469</span></td><td id="LC16469" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multicolElements"</span>, </code></td></tr><tr><td id="L16470" class="css-a4x74f"><span>16470</span></td><td id="LC16470" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16471" class="css-a4x74f"><span>16471</span></td><td id="LC16471" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16472" class="css-a4x74f"><span>16472</span></td><td id="LC16472" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16473" class="css-a4x74f"><span>16473</span></td><td id="LC16473" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-fill"</span> </code></td></tr><tr><td id="L16474" class="css-a4x74f"><span>16474</span></td><td id="LC16474" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16475" class="css-a4x74f"><span>16475</span></td><td id="LC16475" class="css-1dcdqdg"><code> <span class="code-string">"column-gap"</span>: { </code></td></tr><tr><td id="L16476" class="css-a4x74f"><span>16476</span></td><td id="LC16476" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <length-percentage>"</span>, </code></td></tr><tr><td id="L16477" class="css-a4x74f"><span>16477</span></td><td id="LC16477" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16478" class="css-a4x74f"><span>16478</span></td><td id="LC16478" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16479" class="css-a4x74f"><span>16479</span></td><td id="LC16479" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L16480" class="css-a4x74f"><span>16480</span></td><td id="LC16480" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L16481" class="css-a4x74f"><span>16481</span></td><td id="LC16481" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16482" class="css-a4x74f"><span>16482</span></td><td id="LC16482" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L16483" class="css-a4x74f"><span>16483</span></td><td id="LC16483" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16484" class="css-a4x74f"><span>16484</span></td><td id="LC16484" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16485" class="css-a4x74f"><span>16485</span></td><td id="LC16485" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multiColumnElementsFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L16486" class="css-a4x74f"><span>16486</span></td><td id="LC16486" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn"</span>, </code></td></tr><tr><td id="L16487" class="css-a4x74f"><span>16487</span></td><td id="LC16487" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16488" class="css-a4x74f"><span>16488</span></td><td id="LC16488" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16489" class="css-a4x74f"><span>16489</span></td><td id="LC16489" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-gap"</span> </code></td></tr><tr><td id="L16490" class="css-a4x74f"><span>16490</span></td><td id="LC16490" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16491" class="css-a4x74f"><span>16491</span></td><td id="LC16491" class="css-1dcdqdg"><code> <span class="code-string">"column-rule"</span>: { </code></td></tr><tr><td id="L16492" class="css-a4x74f"><span>16492</span></td><td id="LC16492" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>"</span>, </code></td></tr><tr><td id="L16493" class="css-a4x74f"><span>16493</span></td><td id="LC16493" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16494" class="css-a4x74f"><span>16494</span></td><td id="LC16494" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16495" class="css-a4x74f"><span>16495</span></td><td id="LC16495" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L16496" class="css-a4x74f"><span>16496</span></td><td id="LC16496" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-color"</span>, </code></td></tr><tr><td id="L16497" class="css-a4x74f"><span>16497</span></td><td id="LC16497" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-style"</span>, </code></td></tr><tr><td id="L16498" class="css-a4x74f"><span>16498</span></td><td id="LC16498" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-width"</span> </code></td></tr><tr><td id="L16499" class="css-a4x74f"><span>16499</span></td><td id="LC16499" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16500" class="css-a4x74f"><span>16500</span></td><td id="LC16500" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16501" class="css-a4x74f"><span>16501</span></td><td id="LC16501" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16502" class="css-a4x74f"><span>16502</span></td><td id="LC16502" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16503" class="css-a4x74f"><span>16503</span></td><td id="LC16503" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16504" class="css-a4x74f"><span>16504</span></td><td id="LC16504" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L16505" class="css-a4x74f"><span>16505</span></td><td id="LC16505" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-width"</span>, </code></td></tr><tr><td id="L16506" class="css-a4x74f"><span>16506</span></td><td id="LC16506" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-style"</span>, </code></td></tr><tr><td id="L16507" class="css-a4x74f"><span>16507</span></td><td id="LC16507" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-color"</span> </code></td></tr><tr><td id="L16508" class="css-a4x74f"><span>16508</span></td><td id="LC16508" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16509" class="css-a4x74f"><span>16509</span></td><td id="LC16509" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multicolElements"</span>, </code></td></tr><tr><td id="L16510" class="css-a4x74f"><span>16510</span></td><td id="LC16510" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L16511" class="css-a4x74f"><span>16511</span></td><td id="LC16511" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-color"</span>, </code></td></tr><tr><td id="L16512" class="css-a4x74f"><span>16512</span></td><td id="LC16512" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-style"</span>, </code></td></tr><tr><td id="L16513" class="css-a4x74f"><span>16513</span></td><td id="LC16513" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-width"</span> </code></td></tr><tr><td id="L16514" class="css-a4x74f"><span>16514</span></td><td id="LC16514" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16515" class="css-a4x74f"><span>16515</span></td><td id="LC16515" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16516" class="css-a4x74f"><span>16516</span></td><td id="LC16516" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16517" class="css-a4x74f"><span>16517</span></td><td id="LC16517" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-rule"</span> </code></td></tr><tr><td id="L16518" class="css-a4x74f"><span>16518</span></td><td id="LC16518" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16519" class="css-a4x74f"><span>16519</span></td><td id="LC16519" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-color"</span>: { </code></td></tr><tr><td id="L16520" class="css-a4x74f"><span>16520</span></td><td id="LC16520" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L16521" class="css-a4x74f"><span>16521</span></td><td id="LC16521" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16522" class="css-a4x74f"><span>16522</span></td><td id="LC16522" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16523" class="css-a4x74f"><span>16523</span></td><td id="LC16523" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L16524" class="css-a4x74f"><span>16524</span></td><td id="LC16524" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16525" class="css-a4x74f"><span>16525</span></td><td id="LC16525" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16526" class="css-a4x74f"><span>16526</span></td><td id="LC16526" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16527" class="css-a4x74f"><span>16527</span></td><td id="LC16527" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16528" class="css-a4x74f"><span>16528</span></td><td id="LC16528" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L16529" class="css-a4x74f"><span>16529</span></td><td id="LC16529" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multicolElements"</span>, </code></td></tr><tr><td id="L16530" class="css-a4x74f"><span>16530</span></td><td id="LC16530" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L16531" class="css-a4x74f"><span>16531</span></td><td id="LC16531" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16532" class="css-a4x74f"><span>16532</span></td><td id="LC16532" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16533" class="css-a4x74f"><span>16533</span></td><td id="LC16533" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-rule-color"</span> </code></td></tr><tr><td id="L16534" class="css-a4x74f"><span>16534</span></td><td id="LC16534" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16535" class="css-a4x74f"><span>16535</span></td><td id="LC16535" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-style"</span>: { </code></td></tr><tr><td id="L16536" class="css-a4x74f"><span>16536</span></td><td id="LC16536" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-style'>"</span>, </code></td></tr><tr><td id="L16537" class="css-a4x74f"><span>16537</span></td><td id="LC16537" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16538" class="css-a4x74f"><span>16538</span></td><td id="LC16538" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16539" class="css-a4x74f"><span>16539</span></td><td id="LC16539" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16540" class="css-a4x74f"><span>16540</span></td><td id="LC16540" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16541" class="css-a4x74f"><span>16541</span></td><td id="LC16541" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16542" class="css-a4x74f"><span>16542</span></td><td id="LC16542" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16543" class="css-a4x74f"><span>16543</span></td><td id="LC16543" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16544" class="css-a4x74f"><span>16544</span></td><td id="LC16544" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16545" class="css-a4x74f"><span>16545</span></td><td id="LC16545" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multicolElements"</span>, </code></td></tr><tr><td id="L16546" class="css-a4x74f"><span>16546</span></td><td id="LC16546" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16547" class="css-a4x74f"><span>16547</span></td><td id="LC16547" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16548" class="css-a4x74f"><span>16548</span></td><td id="LC16548" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16549" class="css-a4x74f"><span>16549</span></td><td id="LC16549" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-rule-style"</span> </code></td></tr><tr><td id="L16550" class="css-a4x74f"><span>16550</span></td><td id="LC16550" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16551" class="css-a4x74f"><span>16551</span></td><td id="LC16551" class="css-1dcdqdg"><code> <span class="code-string">"column-rule-width"</span>: { </code></td></tr><tr><td id="L16552" class="css-a4x74f"><span>16552</span></td><td id="LC16552" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-width'>"</span>, </code></td></tr><tr><td id="L16553" class="css-a4x74f"><span>16553</span></td><td id="LC16553" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16554" class="css-a4x74f"><span>16554</span></td><td id="LC16554" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16555" class="css-a4x74f"><span>16555</span></td><td id="LC16555" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L16556" class="css-a4x74f"><span>16556</span></td><td id="LC16556" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16557" class="css-a4x74f"><span>16557</span></td><td id="LC16557" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16558" class="css-a4x74f"><span>16558</span></td><td id="LC16558" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16559" class="css-a4x74f"><span>16559</span></td><td id="LC16559" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16560" class="css-a4x74f"><span>16560</span></td><td id="LC16560" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L16561" class="css-a4x74f"><span>16561</span></td><td id="LC16561" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multicolElements"</span>, </code></td></tr><tr><td id="L16562" class="css-a4x74f"><span>16562</span></td><td id="LC16562" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLength0IfColumnRuleStyleNoneOrHidden"</span>, </code></td></tr><tr><td id="L16563" class="css-a4x74f"><span>16563</span></td><td id="LC16563" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16564" class="css-a4x74f"><span>16564</span></td><td id="LC16564" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16565" class="css-a4x74f"><span>16565</span></td><td id="LC16565" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-rule-width"</span> </code></td></tr><tr><td id="L16566" class="css-a4x74f"><span>16566</span></td><td id="LC16566" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16567" class="css-a4x74f"><span>16567</span></td><td id="LC16567" class="css-1dcdqdg"><code> <span class="code-string">"column-span"</span>: { </code></td></tr><tr><td id="L16568" class="css-a4x74f"><span>16568</span></td><td id="LC16568" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | all"</span>, </code></td></tr><tr><td id="L16569" class="css-a4x74f"><span>16569</span></td><td id="LC16569" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16570" class="css-a4x74f"><span>16570</span></td><td id="LC16570" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16571" class="css-a4x74f"><span>16571</span></td><td id="LC16571" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16572" class="css-a4x74f"><span>16572</span></td><td id="LC16572" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16573" class="css-a4x74f"><span>16573</span></td><td id="LC16573" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16574" class="css-a4x74f"><span>16574</span></td><td id="LC16574" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16575" class="css-a4x74f"><span>16575</span></td><td id="LC16575" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16576" class="css-a4x74f"><span>16576</span></td><td id="LC16576" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16577" class="css-a4x74f"><span>16577</span></td><td id="LC16577" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"inFlowBlockLevelElements"</span>, </code></td></tr><tr><td id="L16578" class="css-a4x74f"><span>16578</span></td><td id="LC16578" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16579" class="css-a4x74f"><span>16579</span></td><td id="LC16579" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16580" class="css-a4x74f"><span>16580</span></td><td id="LC16580" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16581" class="css-a4x74f"><span>16581</span></td><td id="LC16581" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-span"</span> </code></td></tr><tr><td id="L16582" class="css-a4x74f"><span>16582</span></td><td id="LC16582" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16583" class="css-a4x74f"><span>16583</span></td><td id="LC16583" class="css-1dcdqdg"><code> <span class="code-string">"column-width"</span>: { </code></td></tr><tr><td id="L16584" class="css-a4x74f"><span>16584</span></td><td id="LC16584" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | auto"</span>, </code></td></tr><tr><td id="L16585" class="css-a4x74f"><span>16585</span></td><td id="LC16585" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16586" class="css-a4x74f"><span>16586</span></td><td id="LC16586" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16587" class="css-a4x74f"><span>16587</span></td><td id="LC16587" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L16588" class="css-a4x74f"><span>16588</span></td><td id="LC16588" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16589" class="css-a4x74f"><span>16589</span></td><td id="LC16589" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16590" class="css-a4x74f"><span>16590</span></td><td id="LC16590" class="css-1dcdqdg"><code> <span class="code-string">"CSS Columns"</span> </code></td></tr><tr><td id="L16591" class="css-a4x74f"><span>16591</span></td><td id="LC16591" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16592" class="css-a4x74f"><span>16592</span></td><td id="LC16592" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16593" class="css-a4x74f"><span>16593</span></td><td id="LC16593" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersExceptTableWrappers"</span>, </code></td></tr><tr><td id="L16594" class="css-a4x74f"><span>16594</span></td><td id="LC16594" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthZeroOrLarger"</span>, </code></td></tr><tr><td id="L16595" class="css-a4x74f"><span>16595</span></td><td id="LC16595" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16596" class="css-a4x74f"><span>16596</span></td><td id="LC16596" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16597" class="css-a4x74f"><span>16597</span></td><td id="LC16597" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-width"</span> </code></td></tr><tr><td id="L16598" class="css-a4x74f"><span>16598</span></td><td id="LC16598" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16599" class="css-a4x74f"><span>16599</span></td><td id="LC16599" class="css-1dcdqdg"><code> columns: columns, </code></td></tr><tr><td id="L16600" class="css-a4x74f"><span>16600</span></td><td id="LC16600" class="css-1dcdqdg"><code> contain: contain, </code></td></tr><tr><td id="L16601" class="css-a4x74f"><span>16601</span></td><td id="LC16601" class="css-1dcdqdg"><code> content: content, </code></td></tr><tr><td id="L16602" class="css-a4x74f"><span>16602</span></td><td id="LC16602" class="css-1dcdqdg"><code> <span class="code-string">"counter-increment"</span>: { </code></td></tr><tr><td id="L16603" class="css-a4x74f"><span>16603</span></td><td id="LC16603" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <custom-ident> <integer>? ]+ | none"</span>, </code></td></tr><tr><td id="L16604" class="css-a4x74f"><span>16604</span></td><td id="LC16604" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L16605" class="css-a4x74f"><span>16605</span></td><td id="LC16605" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16606" class="css-a4x74f"><span>16606</span></td><td id="LC16606" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16607" class="css-a4x74f"><span>16607</span></td><td id="LC16607" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16608" class="css-a4x74f"><span>16608</span></td><td id="LC16608" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16609" class="css-a4x74f"><span>16609</span></td><td id="LC16609" class="css-1dcdqdg"><code> <span class="code-string">"CSS Counter Styles"</span> </code></td></tr><tr><td id="L16610" class="css-a4x74f"><span>16610</span></td><td id="LC16610" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16611" class="css-a4x74f"><span>16611</span></td><td id="LC16611" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16612" class="css-a4x74f"><span>16612</span></td><td id="LC16612" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16613" class="css-a4x74f"><span>16613</span></td><td id="LC16613" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16614" class="css-a4x74f"><span>16614</span></td><td id="LC16614" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16615" class="css-a4x74f"><span>16615</span></td><td id="LC16615" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16616" class="css-a4x74f"><span>16616</span></td><td id="LC16616" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/counter-increment"</span> </code></td></tr><tr><td id="L16617" class="css-a4x74f"><span>16617</span></td><td id="LC16617" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16618" class="css-a4x74f"><span>16618</span></td><td id="LC16618" class="css-1dcdqdg"><code> <span class="code-string">"counter-reset"</span>: { </code></td></tr><tr><td id="L16619" class="css-a4x74f"><span>16619</span></td><td id="LC16619" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <custom-ident> <integer>? ]+ | none"</span>, </code></td></tr><tr><td id="L16620" class="css-a4x74f"><span>16620</span></td><td id="LC16620" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L16621" class="css-a4x74f"><span>16621</span></td><td id="LC16621" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16622" class="css-a4x74f"><span>16622</span></td><td id="LC16622" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16623" class="css-a4x74f"><span>16623</span></td><td id="LC16623" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16624" class="css-a4x74f"><span>16624</span></td><td id="LC16624" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16625" class="css-a4x74f"><span>16625</span></td><td id="LC16625" class="css-1dcdqdg"><code> <span class="code-string">"CSS Counter Styles"</span> </code></td></tr><tr><td id="L16626" class="css-a4x74f"><span>16626</span></td><td id="LC16626" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16627" class="css-a4x74f"><span>16627</span></td><td id="LC16627" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16628" class="css-a4x74f"><span>16628</span></td><td id="LC16628" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16629" class="css-a4x74f"><span>16629</span></td><td id="LC16629" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16630" class="css-a4x74f"><span>16630</span></td><td id="LC16630" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16631" class="css-a4x74f"><span>16631</span></td><td id="LC16631" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16632" class="css-a4x74f"><span>16632</span></td><td id="LC16632" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/counter-reset"</span> </code></td></tr><tr><td id="L16633" class="css-a4x74f"><span>16633</span></td><td id="LC16633" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16634" class="css-a4x74f"><span>16634</span></td><td id="LC16634" class="css-1dcdqdg"><code> <span class="code-string">"counter-set"</span>: { </code></td></tr><tr><td id="L16635" class="css-a4x74f"><span>16635</span></td><td id="LC16635" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <custom-ident> <integer>? ]+ | none"</span>, </code></td></tr><tr><td id="L16636" class="css-a4x74f"><span>16636</span></td><td id="LC16636" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L16637" class="css-a4x74f"><span>16637</span></td><td id="LC16637" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16638" class="css-a4x74f"><span>16638</span></td><td id="LC16638" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16639" class="css-a4x74f"><span>16639</span></td><td id="LC16639" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16640" class="css-a4x74f"><span>16640</span></td><td id="LC16640" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16641" class="css-a4x74f"><span>16641</span></td><td id="LC16641" class="css-1dcdqdg"><code> <span class="code-string">"CSS Counter Styles"</span> </code></td></tr><tr><td id="L16642" class="css-a4x74f"><span>16642</span></td><td id="LC16642" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16643" class="css-a4x74f"><span>16643</span></td><td id="LC16643" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16644" class="css-a4x74f"><span>16644</span></td><td id="LC16644" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16645" class="css-a4x74f"><span>16645</span></td><td id="LC16645" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16646" class="css-a4x74f"><span>16646</span></td><td id="LC16646" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16647" class="css-a4x74f"><span>16647</span></td><td id="LC16647" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16648" class="css-a4x74f"><span>16648</span></td><td id="LC16648" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/counter-set"</span> </code></td></tr><tr><td id="L16649" class="css-a4x74f"><span>16649</span></td><td id="LC16649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16650" class="css-a4x74f"><span>16650</span></td><td id="LC16650" class="css-1dcdqdg"><code> cursor: cursor, </code></td></tr><tr><td id="L16651" class="css-a4x74f"><span>16651</span></td><td id="LC16651" class="css-1dcdqdg"><code> direction: direction, </code></td></tr><tr><td id="L16652" class="css-a4x74f"><span>16652</span></td><td id="LC16652" class="css-1dcdqdg"><code> display: display, </code></td></tr><tr><td id="L16653" class="css-a4x74f"><span>16653</span></td><td id="LC16653" class="css-1dcdqdg"><code> <span class="code-string">"empty-cells"</span>: { </code></td></tr><tr><td id="L16654" class="css-a4x74f"><span>16654</span></td><td id="LC16654" class="css-1dcdqdg"><code> syntax: <span class="code-string">"show | hide"</span>, </code></td></tr><tr><td id="L16655" class="css-a4x74f"><span>16655</span></td><td id="LC16655" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16656" class="css-a4x74f"><span>16656</span></td><td id="LC16656" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16657" class="css-a4x74f"><span>16657</span></td><td id="LC16657" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16658" class="css-a4x74f"><span>16658</span></td><td id="LC16658" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16659" class="css-a4x74f"><span>16659</span></td><td id="LC16659" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16660" class="css-a4x74f"><span>16660</span></td><td id="LC16660" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L16661" class="css-a4x74f"><span>16661</span></td><td id="LC16661" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16662" class="css-a4x74f"><span>16662</span></td><td id="LC16662" class="css-1dcdqdg"><code> initial: <span class="code-string">"show"</span>, </code></td></tr><tr><td id="L16663" class="css-a4x74f"><span>16663</span></td><td id="LC16663" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"tableCellElements"</span>, </code></td></tr><tr><td id="L16664" class="css-a4x74f"><span>16664</span></td><td id="LC16664" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16665" class="css-a4x74f"><span>16665</span></td><td id="LC16665" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16666" class="css-a4x74f"><span>16666</span></td><td id="LC16666" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16667" class="css-a4x74f"><span>16667</span></td><td id="LC16667" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/empty-cells"</span> </code></td></tr><tr><td id="L16668" class="css-a4x74f"><span>16668</span></td><td id="LC16668" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16669" class="css-a4x74f"><span>16669</span></td><td id="LC16669" class="css-1dcdqdg"><code> filter: filter, </code></td></tr><tr><td id="L16670" class="css-a4x74f"><span>16670</span></td><td id="LC16670" class="css-1dcdqdg"><code> flex: flex, </code></td></tr><tr><td id="L16671" class="css-a4x74f"><span>16671</span></td><td id="LC16671" class="css-1dcdqdg"><code> <span class="code-string">"flex-basis"</span>: { </code></td></tr><tr><td id="L16672" class="css-a4x74f"><span>16672</span></td><td id="LC16672" class="css-1dcdqdg"><code> syntax: <span class="code-string">"content | <'width'>"</span>, </code></td></tr><tr><td id="L16673" class="css-a4x74f"><span>16673</span></td><td id="LC16673" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16674" class="css-a4x74f"><span>16674</span></td><td id="LC16674" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16675" class="css-a4x74f"><span>16675</span></td><td id="LC16675" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L16676" class="css-a4x74f"><span>16676</span></td><td id="LC16676" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToFlexContainersInnerMainSize"</span>, </code></td></tr><tr><td id="L16677" class="css-a4x74f"><span>16677</span></td><td id="LC16677" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16678" class="css-a4x74f"><span>16678</span></td><td id="LC16678" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16679" class="css-a4x74f"><span>16679</span></td><td id="LC16679" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16680" class="css-a4x74f"><span>16680</span></td><td id="LC16680" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16681" class="css-a4x74f"><span>16681</span></td><td id="LC16681" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsAndInFlowPseudos"</span>, </code></td></tr><tr><td id="L16682" class="css-a4x74f"><span>16682</span></td><td id="LC16682" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L16683" class="css-a4x74f"><span>16683</span></td><td id="LC16683" class="css-1dcdqdg"><code> order: <span class="code-string">"lengthOrPercentageBeforeKeywordIfBothPresent"</span>, </code></td></tr><tr><td id="L16684" class="css-a4x74f"><span>16684</span></td><td id="LC16684" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16685" class="css-a4x74f"><span>16685</span></td><td id="LC16685" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-basis"</span> </code></td></tr><tr><td id="L16686" class="css-a4x74f"><span>16686</span></td><td id="LC16686" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16687" class="css-a4x74f"><span>16687</span></td><td id="LC16687" class="css-1dcdqdg"><code> <span class="code-string">"flex-direction"</span>: { </code></td></tr><tr><td id="L16688" class="css-a4x74f"><span>16688</span></td><td id="LC16688" class="css-1dcdqdg"><code> syntax: <span class="code-string">"row | row-reverse | column | column-reverse"</span>, </code></td></tr><tr><td id="L16689" class="css-a4x74f"><span>16689</span></td><td id="LC16689" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16690" class="css-a4x74f"><span>16690</span></td><td id="LC16690" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16691" class="css-a4x74f"><span>16691</span></td><td id="LC16691" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16692" class="css-a4x74f"><span>16692</span></td><td id="LC16692" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16693" class="css-a4x74f"><span>16693</span></td><td id="LC16693" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16694" class="css-a4x74f"><span>16694</span></td><td id="LC16694" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16695" class="css-a4x74f"><span>16695</span></td><td id="LC16695" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16696" class="css-a4x74f"><span>16696</span></td><td id="LC16696" class="css-1dcdqdg"><code> initial: <span class="code-string">"row"</span>, </code></td></tr><tr><td id="L16697" class="css-a4x74f"><span>16697</span></td><td id="LC16697" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexContainers"</span>, </code></td></tr><tr><td id="L16698" class="css-a4x74f"><span>16698</span></td><td id="LC16698" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16699" class="css-a4x74f"><span>16699</span></td><td id="LC16699" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16700" class="css-a4x74f"><span>16700</span></td><td id="LC16700" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16701" class="css-a4x74f"><span>16701</span></td><td id="LC16701" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-direction"</span> </code></td></tr><tr><td id="L16702" class="css-a4x74f"><span>16702</span></td><td id="LC16702" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16703" class="css-a4x74f"><span>16703</span></td><td id="LC16703" class="css-1dcdqdg"><code> <span class="code-string">"flex-flow"</span>: { </code></td></tr><tr><td id="L16704" class="css-a4x74f"><span>16704</span></td><td id="LC16704" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'flex-direction'> || <'flex-wrap'>"</span>, </code></td></tr><tr><td id="L16705" class="css-a4x74f"><span>16705</span></td><td id="LC16705" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16706" class="css-a4x74f"><span>16706</span></td><td id="LC16706" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16707" class="css-a4x74f"><span>16707</span></td><td id="LC16707" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16708" class="css-a4x74f"><span>16708</span></td><td id="LC16708" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16709" class="css-a4x74f"><span>16709</span></td><td id="LC16709" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16710" class="css-a4x74f"><span>16710</span></td><td id="LC16710" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16711" class="css-a4x74f"><span>16711</span></td><td id="LC16711" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16712" class="css-a4x74f"><span>16712</span></td><td id="LC16712" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L16713" class="css-a4x74f"><span>16713</span></td><td id="LC16713" class="css-1dcdqdg"><code> <span class="code-string">"flex-direction"</span>, </code></td></tr><tr><td id="L16714" class="css-a4x74f"><span>16714</span></td><td id="LC16714" class="css-1dcdqdg"><code> <span class="code-string">"flex-wrap"</span> </code></td></tr><tr><td id="L16715" class="css-a4x74f"><span>16715</span></td><td id="LC16715" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16716" class="css-a4x74f"><span>16716</span></td><td id="LC16716" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexContainers"</span>, </code></td></tr><tr><td id="L16717" class="css-a4x74f"><span>16717</span></td><td id="LC16717" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L16718" class="css-a4x74f"><span>16718</span></td><td id="LC16718" class="css-1dcdqdg"><code> <span class="code-string">"flex-direction"</span>, </code></td></tr><tr><td id="L16719" class="css-a4x74f"><span>16719</span></td><td id="LC16719" class="css-1dcdqdg"><code> <span class="code-string">"flex-wrap"</span> </code></td></tr><tr><td id="L16720" class="css-a4x74f"><span>16720</span></td><td id="LC16720" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16721" class="css-a4x74f"><span>16721</span></td><td id="LC16721" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L16722" class="css-a4x74f"><span>16722</span></td><td id="LC16722" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16723" class="css-a4x74f"><span>16723</span></td><td id="LC16723" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-flow"</span> </code></td></tr><tr><td id="L16724" class="css-a4x74f"><span>16724</span></td><td id="LC16724" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16725" class="css-a4x74f"><span>16725</span></td><td id="LC16725" class="css-1dcdqdg"><code> <span class="code-string">"flex-grow"</span>: { </code></td></tr><tr><td id="L16726" class="css-a4x74f"><span>16726</span></td><td id="LC16726" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number>"</span>, </code></td></tr><tr><td id="L16727" class="css-a4x74f"><span>16727</span></td><td id="LC16727" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16728" class="css-a4x74f"><span>16728</span></td><td id="LC16728" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16729" class="css-a4x74f"><span>16729</span></td><td id="LC16729" class="css-1dcdqdg"><code> animationType: <span class="code-string">"number"</span>, </code></td></tr><tr><td id="L16730" class="css-a4x74f"><span>16730</span></td><td id="LC16730" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16731" class="css-a4x74f"><span>16731</span></td><td id="LC16731" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16732" class="css-a4x74f"><span>16732</span></td><td id="LC16732" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16733" class="css-a4x74f"><span>16733</span></td><td id="LC16733" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16734" class="css-a4x74f"><span>16734</span></td><td id="LC16734" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L16735" class="css-a4x74f"><span>16735</span></td><td id="LC16735" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsAndInFlowPseudos"</span>, </code></td></tr><tr><td id="L16736" class="css-a4x74f"><span>16736</span></td><td id="LC16736" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16737" class="css-a4x74f"><span>16737</span></td><td id="LC16737" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16738" class="css-a4x74f"><span>16738</span></td><td id="LC16738" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16739" class="css-a4x74f"><span>16739</span></td><td id="LC16739" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-grow"</span> </code></td></tr><tr><td id="L16740" class="css-a4x74f"><span>16740</span></td><td id="LC16740" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16741" class="css-a4x74f"><span>16741</span></td><td id="LC16741" class="css-1dcdqdg"><code> <span class="code-string">"flex-shrink"</span>: { </code></td></tr><tr><td id="L16742" class="css-a4x74f"><span>16742</span></td><td id="LC16742" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number>"</span>, </code></td></tr><tr><td id="L16743" class="css-a4x74f"><span>16743</span></td><td id="LC16743" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16744" class="css-a4x74f"><span>16744</span></td><td id="LC16744" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16745" class="css-a4x74f"><span>16745</span></td><td id="LC16745" class="css-1dcdqdg"><code> animationType: <span class="code-string">"number"</span>, </code></td></tr><tr><td id="L16746" class="css-a4x74f"><span>16746</span></td><td id="LC16746" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16747" class="css-a4x74f"><span>16747</span></td><td id="LC16747" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16748" class="css-a4x74f"><span>16748</span></td><td id="LC16748" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16749" class="css-a4x74f"><span>16749</span></td><td id="LC16749" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16750" class="css-a4x74f"><span>16750</span></td><td id="LC16750" class="css-1dcdqdg"><code> initial: <span class="code-string">"1"</span>, </code></td></tr><tr><td id="L16751" class="css-a4x74f"><span>16751</span></td><td id="LC16751" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexItemsAndInFlowPseudos"</span>, </code></td></tr><tr><td id="L16752" class="css-a4x74f"><span>16752</span></td><td id="LC16752" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16753" class="css-a4x74f"><span>16753</span></td><td id="LC16753" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16754" class="css-a4x74f"><span>16754</span></td><td id="LC16754" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16755" class="css-a4x74f"><span>16755</span></td><td id="LC16755" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-shrink"</span> </code></td></tr><tr><td id="L16756" class="css-a4x74f"><span>16756</span></td><td id="LC16756" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16757" class="css-a4x74f"><span>16757</span></td><td id="LC16757" class="css-1dcdqdg"><code> <span class="code-string">"flex-wrap"</span>: { </code></td></tr><tr><td id="L16758" class="css-a4x74f"><span>16758</span></td><td id="LC16758" class="css-1dcdqdg"><code> syntax: <span class="code-string">"nowrap | wrap | wrap-reverse"</span>, </code></td></tr><tr><td id="L16759" class="css-a4x74f"><span>16759</span></td><td id="LC16759" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16760" class="css-a4x74f"><span>16760</span></td><td id="LC16760" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L16761" class="css-a4x74f"><span>16761</span></td><td id="LC16761" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16762" class="css-a4x74f"><span>16762</span></td><td id="LC16762" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16763" class="css-a4x74f"><span>16763</span></td><td id="LC16763" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16764" class="css-a4x74f"><span>16764</span></td><td id="LC16764" class="css-1dcdqdg"><code> <span class="code-string">"CSS Flexible Box Layout"</span> </code></td></tr><tr><td id="L16765" class="css-a4x74f"><span>16765</span></td><td id="LC16765" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16766" class="css-a4x74f"><span>16766</span></td><td id="LC16766" class="css-1dcdqdg"><code> initial: <span class="code-string">"nowrap"</span>, </code></td></tr><tr><td id="L16767" class="css-a4x74f"><span>16767</span></td><td id="LC16767" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexContainers"</span>, </code></td></tr><tr><td id="L16768" class="css-a4x74f"><span>16768</span></td><td id="LC16768" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16769" class="css-a4x74f"><span>16769</span></td><td id="LC16769" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16770" class="css-a4x74f"><span>16770</span></td><td id="LC16770" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16771" class="css-a4x74f"><span>16771</span></td><td id="LC16771" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/flex-wrap"</span> </code></td></tr><tr><td id="L16772" class="css-a4x74f"><span>16772</span></td><td id="LC16772" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16773" class="css-a4x74f"><span>16773</span></td><td id="LC16773" class="css-1dcdqdg"><code> float: float, </code></td></tr><tr><td id="L16774" class="css-a4x74f"><span>16774</span></td><td id="LC16774" class="css-1dcdqdg"><code> font: font, </code></td></tr><tr><td id="L16775" class="css-a4x74f"><span>16775</span></td><td id="LC16775" class="css-1dcdqdg"><code> <span class="code-string">"font-family"</span>: { </code></td></tr><tr><td id="L16776" class="css-a4x74f"><span>16776</span></td><td id="LC16776" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <family-name> | <generic-family> ]#"</span>, </code></td></tr><tr><td id="L16777" class="css-a4x74f"><span>16777</span></td><td id="LC16777" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16778" class="css-a4x74f"><span>16778</span></td><td id="LC16778" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16779" class="css-a4x74f"><span>16779</span></td><td id="LC16779" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16780" class="css-a4x74f"><span>16780</span></td><td id="LC16780" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16781" class="css-a4x74f"><span>16781</span></td><td id="LC16781" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16782" class="css-a4x74f"><span>16782</span></td><td id="LC16782" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16783" class="css-a4x74f"><span>16783</span></td><td id="LC16783" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16784" class="css-a4x74f"><span>16784</span></td><td id="LC16784" class="css-1dcdqdg"><code> initial: <span class="code-string">"dependsOnUserAgent"</span>, </code></td></tr><tr><td id="L16785" class="css-a4x74f"><span>16785</span></td><td id="LC16785" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16786" class="css-a4x74f"><span>16786</span></td><td id="LC16786" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16787" class="css-a4x74f"><span>16787</span></td><td id="LC16787" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16788" class="css-a4x74f"><span>16788</span></td><td id="LC16788" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16789" class="css-a4x74f"><span>16789</span></td><td id="LC16789" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16790" class="css-a4x74f"><span>16790</span></td><td id="LC16790" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16791" class="css-a4x74f"><span>16791</span></td><td id="LC16791" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16792" class="css-a4x74f"><span>16792</span></td><td id="LC16792" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16793" class="css-a4x74f"><span>16793</span></td><td id="LC16793" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16794" class="css-a4x74f"><span>16794</span></td><td id="LC16794" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-family"</span> </code></td></tr><tr><td id="L16795" class="css-a4x74f"><span>16795</span></td><td id="LC16795" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16796" class="css-a4x74f"><span>16796</span></td><td id="LC16796" class="css-1dcdqdg"><code> <span class="code-string">"font-feature-settings"</span>: { </code></td></tr><tr><td id="L16797" class="css-a4x74f"><span>16797</span></td><td id="LC16797" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <feature-tag-value>#"</span>, </code></td></tr><tr><td id="L16798" class="css-a4x74f"><span>16798</span></td><td id="LC16798" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16799" class="css-a4x74f"><span>16799</span></td><td id="LC16799" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16800" class="css-a4x74f"><span>16800</span></td><td id="LC16800" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16801" class="css-a4x74f"><span>16801</span></td><td id="LC16801" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16802" class="css-a4x74f"><span>16802</span></td><td id="LC16802" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16803" class="css-a4x74f"><span>16803</span></td><td id="LC16803" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16804" class="css-a4x74f"><span>16804</span></td><td id="LC16804" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16805" class="css-a4x74f"><span>16805</span></td><td id="LC16805" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16806" class="css-a4x74f"><span>16806</span></td><td id="LC16806" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16807" class="css-a4x74f"><span>16807</span></td><td id="LC16807" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16808" class="css-a4x74f"><span>16808</span></td><td id="LC16808" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16809" class="css-a4x74f"><span>16809</span></td><td id="LC16809" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16810" class="css-a4x74f"><span>16810</span></td><td id="LC16810" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16811" class="css-a4x74f"><span>16811</span></td><td id="LC16811" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16812" class="css-a4x74f"><span>16812</span></td><td id="LC16812" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16813" class="css-a4x74f"><span>16813</span></td><td id="LC16813" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16814" class="css-a4x74f"><span>16814</span></td><td id="LC16814" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16815" class="css-a4x74f"><span>16815</span></td><td id="LC16815" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings"</span> </code></td></tr><tr><td id="L16816" class="css-a4x74f"><span>16816</span></td><td id="LC16816" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16817" class="css-a4x74f"><span>16817</span></td><td id="LC16817" class="css-1dcdqdg"><code> <span class="code-string">"font-kerning"</span>: { </code></td></tr><tr><td id="L16818" class="css-a4x74f"><span>16818</span></td><td id="LC16818" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | normal | none"</span>, </code></td></tr><tr><td id="L16819" class="css-a4x74f"><span>16819</span></td><td id="LC16819" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16820" class="css-a4x74f"><span>16820</span></td><td id="LC16820" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16821" class="css-a4x74f"><span>16821</span></td><td id="LC16821" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16822" class="css-a4x74f"><span>16822</span></td><td id="LC16822" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16823" class="css-a4x74f"><span>16823</span></td><td id="LC16823" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16824" class="css-a4x74f"><span>16824</span></td><td id="LC16824" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16825" class="css-a4x74f"><span>16825</span></td><td id="LC16825" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16826" class="css-a4x74f"><span>16826</span></td><td id="LC16826" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16827" class="css-a4x74f"><span>16827</span></td><td id="LC16827" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16828" class="css-a4x74f"><span>16828</span></td><td id="LC16828" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16829" class="css-a4x74f"><span>16829</span></td><td id="LC16829" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16830" class="css-a4x74f"><span>16830</span></td><td id="LC16830" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16831" class="css-a4x74f"><span>16831</span></td><td id="LC16831" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16832" class="css-a4x74f"><span>16832</span></td><td id="LC16832" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16833" class="css-a4x74f"><span>16833</span></td><td id="LC16833" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16834" class="css-a4x74f"><span>16834</span></td><td id="LC16834" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16835" class="css-a4x74f"><span>16835</span></td><td id="LC16835" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16836" class="css-a4x74f"><span>16836</span></td><td id="LC16836" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-kerning"</span> </code></td></tr><tr><td id="L16837" class="css-a4x74f"><span>16837</span></td><td id="LC16837" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16838" class="css-a4x74f"><span>16838</span></td><td id="LC16838" class="css-1dcdqdg"><code> <span class="code-string">"font-language-override"</span>: { </code></td></tr><tr><td id="L16839" class="css-a4x74f"><span>16839</span></td><td id="LC16839" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <string>"</span>, </code></td></tr><tr><td id="L16840" class="css-a4x74f"><span>16840</span></td><td id="LC16840" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16841" class="css-a4x74f"><span>16841</span></td><td id="LC16841" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16842" class="css-a4x74f"><span>16842</span></td><td id="LC16842" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16843" class="css-a4x74f"><span>16843</span></td><td id="LC16843" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16844" class="css-a4x74f"><span>16844</span></td><td id="LC16844" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16845" class="css-a4x74f"><span>16845</span></td><td id="LC16845" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16846" class="css-a4x74f"><span>16846</span></td><td id="LC16846" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16847" class="css-a4x74f"><span>16847</span></td><td id="LC16847" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16848" class="css-a4x74f"><span>16848</span></td><td id="LC16848" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16849" class="css-a4x74f"><span>16849</span></td><td id="LC16849" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16850" class="css-a4x74f"><span>16850</span></td><td id="LC16850" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16851" class="css-a4x74f"><span>16851</span></td><td id="LC16851" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16852" class="css-a4x74f"><span>16852</span></td><td id="LC16852" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16853" class="css-a4x74f"><span>16853</span></td><td id="LC16853" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16854" class="css-a4x74f"><span>16854</span></td><td id="LC16854" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16855" class="css-a4x74f"><span>16855</span></td><td id="LC16855" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16856" class="css-a4x74f"><span>16856</span></td><td id="LC16856" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16857" class="css-a4x74f"><span>16857</span></td><td id="LC16857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-language-override"</span> </code></td></tr><tr><td id="L16858" class="css-a4x74f"><span>16858</span></td><td id="LC16858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16859" class="css-a4x74f"><span>16859</span></td><td id="LC16859" class="css-1dcdqdg"><code> <span class="code-string">"font-optical-sizing"</span>: { </code></td></tr><tr><td id="L16860" class="css-a4x74f"><span>16860</span></td><td id="LC16860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none"</span>, </code></td></tr><tr><td id="L16861" class="css-a4x74f"><span>16861</span></td><td id="LC16861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16862" class="css-a4x74f"><span>16862</span></td><td id="LC16862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16863" class="css-a4x74f"><span>16863</span></td><td id="LC16863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16864" class="css-a4x74f"><span>16864</span></td><td id="LC16864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16865" class="css-a4x74f"><span>16865</span></td><td id="LC16865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16866" class="css-a4x74f"><span>16866</span></td><td id="LC16866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16867" class="css-a4x74f"><span>16867</span></td><td id="LC16867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16868" class="css-a4x74f"><span>16868</span></td><td id="LC16868" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L16869" class="css-a4x74f"><span>16869</span></td><td id="LC16869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16870" class="css-a4x74f"><span>16870</span></td><td id="LC16870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16871" class="css-a4x74f"><span>16871</span></td><td id="LC16871" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16872" class="css-a4x74f"><span>16872</span></td><td id="LC16872" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16873" class="css-a4x74f"><span>16873</span></td><td id="LC16873" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16874" class="css-a4x74f"><span>16874</span></td><td id="LC16874" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16875" class="css-a4x74f"><span>16875</span></td><td id="LC16875" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16876" class="css-a4x74f"><span>16876</span></td><td id="LC16876" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16877" class="css-a4x74f"><span>16877</span></td><td id="LC16877" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16878" class="css-a4x74f"><span>16878</span></td><td id="LC16878" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing"</span> </code></td></tr><tr><td id="L16879" class="css-a4x74f"><span>16879</span></td><td id="LC16879" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16880" class="css-a4x74f"><span>16880</span></td><td id="LC16880" class="css-1dcdqdg"><code> <span class="code-string">"font-variation-settings"</span>: { </code></td></tr><tr><td id="L16881" class="css-a4x74f"><span>16881</span></td><td id="LC16881" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ <string> <number> ]#"</span>, </code></td></tr><tr><td id="L16882" class="css-a4x74f"><span>16882</span></td><td id="LC16882" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16883" class="css-a4x74f"><span>16883</span></td><td id="LC16883" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16884" class="css-a4x74f"><span>16884</span></td><td id="LC16884" class="css-1dcdqdg"><code> animationType: <span class="code-string">"transform"</span>, </code></td></tr><tr><td id="L16885" class="css-a4x74f"><span>16885</span></td><td id="LC16885" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16886" class="css-a4x74f"><span>16886</span></td><td id="LC16886" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16887" class="css-a4x74f"><span>16887</span></td><td id="LC16887" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16888" class="css-a4x74f"><span>16888</span></td><td id="LC16888" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16889" class="css-a4x74f"><span>16889</span></td><td id="LC16889" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16890" class="css-a4x74f"><span>16890</span></td><td id="LC16890" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16891" class="css-a4x74f"><span>16891</span></td><td id="LC16891" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16892" class="css-a4x74f"><span>16892</span></td><td id="LC16892" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L16893" class="css-a4x74f"><span>16893</span></td><td id="LC16893" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16894" class="css-a4x74f"><span>16894</span></td><td id="LC16894" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16895" class="css-a4x74f"><span>16895</span></td><td id="LC16895" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16896" class="css-a4x74f"><span>16896</span></td><td id="LC16896" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16897" class="css-a4x74f"><span>16897</span></td><td id="LC16897" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16898" class="css-a4x74f"><span>16898</span></td><td id="LC16898" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L16899" class="css-a4x74f"><span>16899</span></td><td id="LC16899" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings"</span> </code></td></tr><tr><td id="L16900" class="css-a4x74f"><span>16900</span></td><td id="LC16900" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16901" class="css-a4x74f"><span>16901</span></td><td id="LC16901" class="css-1dcdqdg"><code> <span class="code-string">"font-size"</span>: { </code></td></tr><tr><td id="L16902" class="css-a4x74f"><span>16902</span></td><td id="LC16902" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<absolute-size> | <relative-size> | <length-percentage>"</span>, </code></td></tr><tr><td id="L16903" class="css-a4x74f"><span>16903</span></td><td id="LC16903" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16904" class="css-a4x74f"><span>16904</span></td><td id="LC16904" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16905" class="css-a4x74f"><span>16905</span></td><td id="LC16905" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L16906" class="css-a4x74f"><span>16906</span></td><td id="LC16906" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToParentElementsFontSize"</span>, </code></td></tr><tr><td id="L16907" class="css-a4x74f"><span>16907</span></td><td id="LC16907" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16908" class="css-a4x74f"><span>16908</span></td><td id="LC16908" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16909" class="css-a4x74f"><span>16909</span></td><td id="LC16909" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16910" class="css-a4x74f"><span>16910</span></td><td id="LC16910" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L16911" class="css-a4x74f"><span>16911</span></td><td id="LC16911" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16912" class="css-a4x74f"><span>16912</span></td><td id="LC16912" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L16913" class="css-a4x74f"><span>16913</span></td><td id="LC16913" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16914" class="css-a4x74f"><span>16914</span></td><td id="LC16914" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16915" class="css-a4x74f"><span>16915</span></td><td id="LC16915" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16916" class="css-a4x74f"><span>16916</span></td><td id="LC16916" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16917" class="css-a4x74f"><span>16917</span></td><td id="LC16917" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16918" class="css-a4x74f"><span>16918</span></td><td id="LC16918" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16919" class="css-a4x74f"><span>16919</span></td><td id="LC16919" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16920" class="css-a4x74f"><span>16920</span></td><td id="LC16920" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-size"</span> </code></td></tr><tr><td id="L16921" class="css-a4x74f"><span>16921</span></td><td id="LC16921" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16922" class="css-a4x74f"><span>16922</span></td><td id="LC16922" class="css-1dcdqdg"><code> <span class="code-string">"font-size-adjust"</span>: { </code></td></tr><tr><td id="L16923" class="css-a4x74f"><span>16923</span></td><td id="LC16923" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <number>"</span>, </code></td></tr><tr><td id="L16924" class="css-a4x74f"><span>16924</span></td><td id="LC16924" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16925" class="css-a4x74f"><span>16925</span></td><td id="LC16925" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16926" class="css-a4x74f"><span>16926</span></td><td id="LC16926" class="css-1dcdqdg"><code> animationType: <span class="code-string">"number"</span>, </code></td></tr><tr><td id="L16927" class="css-a4x74f"><span>16927</span></td><td id="LC16927" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16928" class="css-a4x74f"><span>16928</span></td><td id="LC16928" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16929" class="css-a4x74f"><span>16929</span></td><td id="LC16929" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16930" class="css-a4x74f"><span>16930</span></td><td id="LC16930" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16931" class="css-a4x74f"><span>16931</span></td><td id="LC16931" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L16932" class="css-a4x74f"><span>16932</span></td><td id="LC16932" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16933" class="css-a4x74f"><span>16933</span></td><td id="LC16933" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16934" class="css-a4x74f"><span>16934</span></td><td id="LC16934" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16935" class="css-a4x74f"><span>16935</span></td><td id="LC16935" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16936" class="css-a4x74f"><span>16936</span></td><td id="LC16936" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16937" class="css-a4x74f"><span>16937</span></td><td id="LC16937" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16938" class="css-a4x74f"><span>16938</span></td><td id="LC16938" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16939" class="css-a4x74f"><span>16939</span></td><td id="LC16939" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16940" class="css-a4x74f"><span>16940</span></td><td id="LC16940" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16941" class="css-a4x74f"><span>16941</span></td><td id="LC16941" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust"</span> </code></td></tr><tr><td id="L16942" class="css-a4x74f"><span>16942</span></td><td id="LC16942" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16943" class="css-a4x74f"><span>16943</span></td><td id="LC16943" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch"</span>: { </code></td></tr><tr><td id="L16944" class="css-a4x74f"><span>16944</span></td><td id="LC16944" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<font-stretch-absolute>"</span>, </code></td></tr><tr><td id="L16945" class="css-a4x74f"><span>16945</span></td><td id="LC16945" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16946" class="css-a4x74f"><span>16946</span></td><td id="LC16946" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16947" class="css-a4x74f"><span>16947</span></td><td id="LC16947" class="css-1dcdqdg"><code> animationType: <span class="code-string">"fontStretch"</span>, </code></td></tr><tr><td id="L16948" class="css-a4x74f"><span>16948</span></td><td id="LC16948" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16949" class="css-a4x74f"><span>16949</span></td><td id="LC16949" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16950" class="css-a4x74f"><span>16950</span></td><td id="LC16950" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16951" class="css-a4x74f"><span>16951</span></td><td id="LC16951" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16952" class="css-a4x74f"><span>16952</span></td><td id="LC16952" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16953" class="css-a4x74f"><span>16953</span></td><td id="LC16953" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16954" class="css-a4x74f"><span>16954</span></td><td id="LC16954" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16955" class="css-a4x74f"><span>16955</span></td><td id="LC16955" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16956" class="css-a4x74f"><span>16956</span></td><td id="LC16956" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16957" class="css-a4x74f"><span>16957</span></td><td id="LC16957" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16958" class="css-a4x74f"><span>16958</span></td><td id="LC16958" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16959" class="css-a4x74f"><span>16959</span></td><td id="LC16959" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16960" class="css-a4x74f"><span>16960</span></td><td id="LC16960" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16961" class="css-a4x74f"><span>16961</span></td><td id="LC16961" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16962" class="css-a4x74f"><span>16962</span></td><td id="LC16962" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-stretch"</span> </code></td></tr><tr><td id="L16963" class="css-a4x74f"><span>16963</span></td><td id="LC16963" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16964" class="css-a4x74f"><span>16964</span></td><td id="LC16964" class="css-1dcdqdg"><code> <span class="code-string">"font-style"</span>: { </code></td></tr><tr><td id="L16965" class="css-a4x74f"><span>16965</span></td><td id="LC16965" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | italic | oblique <angle>?"</span>, </code></td></tr><tr><td id="L16966" class="css-a4x74f"><span>16966</span></td><td id="LC16966" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16967" class="css-a4x74f"><span>16967</span></td><td id="LC16967" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16968" class="css-a4x74f"><span>16968</span></td><td id="LC16968" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16969" class="css-a4x74f"><span>16969</span></td><td id="LC16969" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16970" class="css-a4x74f"><span>16970</span></td><td id="LC16970" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16971" class="css-a4x74f"><span>16971</span></td><td id="LC16971" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16972" class="css-a4x74f"><span>16972</span></td><td id="LC16972" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16973" class="css-a4x74f"><span>16973</span></td><td id="LC16973" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L16974" class="css-a4x74f"><span>16974</span></td><td id="LC16974" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16975" class="css-a4x74f"><span>16975</span></td><td id="LC16975" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16976" class="css-a4x74f"><span>16976</span></td><td id="LC16976" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L16977" class="css-a4x74f"><span>16977</span></td><td id="LC16977" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16978" class="css-a4x74f"><span>16978</span></td><td id="LC16978" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L16979" class="css-a4x74f"><span>16979</span></td><td id="LC16979" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L16980" class="css-a4x74f"><span>16980</span></td><td id="LC16980" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L16981" class="css-a4x74f"><span>16981</span></td><td id="LC16981" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16982" class="css-a4x74f"><span>16982</span></td><td id="LC16982" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L16983" class="css-a4x74f"><span>16983</span></td><td id="LC16983" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-style"</span> </code></td></tr><tr><td id="L16984" class="css-a4x74f"><span>16984</span></td><td id="LC16984" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L16985" class="css-a4x74f"><span>16985</span></td><td id="LC16985" class="css-1dcdqdg"><code> <span class="code-string">"font-synthesis"</span>: { </code></td></tr><tr><td id="L16986" class="css-a4x74f"><span>16986</span></td><td id="LC16986" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ weight || style ]"</span>, </code></td></tr><tr><td id="L16987" class="css-a4x74f"><span>16987</span></td><td id="LC16987" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L16988" class="css-a4x74f"><span>16988</span></td><td id="LC16988" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L16989" class="css-a4x74f"><span>16989</span></td><td id="LC16989" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L16990" class="css-a4x74f"><span>16990</span></td><td id="LC16990" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L16991" class="css-a4x74f"><span>16991</span></td><td id="LC16991" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L16992" class="css-a4x74f"><span>16992</span></td><td id="LC16992" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L16993" class="css-a4x74f"><span>16993</span></td><td id="LC16993" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L16994" class="css-a4x74f"><span>16994</span></td><td id="LC16994" class="css-1dcdqdg"><code> initial: <span class="code-string">"weight style"</span>, </code></td></tr><tr><td id="L16995" class="css-a4x74f"><span>16995</span></td><td id="LC16995" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L16996" class="css-a4x74f"><span>16996</span></td><td id="LC16996" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L16997" class="css-a4x74f"><span>16997</span></td><td id="LC16997" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L16998" class="css-a4x74f"><span>16998</span></td><td id="LC16998" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L16999" class="css-a4x74f"><span>16999</span></td><td id="LC16999" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17000" class="css-a4x74f"><span>17000</span></td><td id="LC17000" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17001" class="css-a4x74f"><span>17001</span></td><td id="LC17001" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17002" class="css-a4x74f"><span>17002</span></td><td id="LC17002" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17003" class="css-a4x74f"><span>17003</span></td><td id="LC17003" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17004" class="css-a4x74f"><span>17004</span></td><td id="LC17004" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-synthesis"</span> </code></td></tr><tr><td id="L17005" class="css-a4x74f"><span>17005</span></td><td id="LC17005" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17006" class="css-a4x74f"><span>17006</span></td><td id="LC17006" class="css-1dcdqdg"><code> <span class="code-string">"font-variant"</span>: { </code></td></tr><tr><td id="L17007" class="css-a4x74f"><span>17007</span></td><td id="LC17007" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]"</span>, </code></td></tr><tr><td id="L17008" class="css-a4x74f"><span>17008</span></td><td id="LC17008" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17009" class="css-a4x74f"><span>17009</span></td><td id="LC17009" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17010" class="css-a4x74f"><span>17010</span></td><td id="LC17010" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17011" class="css-a4x74f"><span>17011</span></td><td id="LC17011" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17012" class="css-a4x74f"><span>17012</span></td><td id="LC17012" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17013" class="css-a4x74f"><span>17013</span></td><td id="LC17013" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17014" class="css-a4x74f"><span>17014</span></td><td id="LC17014" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17015" class="css-a4x74f"><span>17015</span></td><td id="LC17015" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17016" class="css-a4x74f"><span>17016</span></td><td id="LC17016" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17017" class="css-a4x74f"><span>17017</span></td><td id="LC17017" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17018" class="css-a4x74f"><span>17018</span></td><td id="LC17018" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17019" class="css-a4x74f"><span>17019</span></td><td id="LC17019" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17020" class="css-a4x74f"><span>17020</span></td><td id="LC17020" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17021" class="css-a4x74f"><span>17021</span></td><td id="LC17021" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17022" class="css-a4x74f"><span>17022</span></td><td id="LC17022" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17023" class="css-a4x74f"><span>17023</span></td><td id="LC17023" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17024" class="css-a4x74f"><span>17024</span></td><td id="LC17024" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17025" class="css-a4x74f"><span>17025</span></td><td id="LC17025" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant"</span> </code></td></tr><tr><td id="L17026" class="css-a4x74f"><span>17026</span></td><td id="LC17026" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17027" class="css-a4x74f"><span>17027</span></td><td id="LC17027" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-alternates"</span>: { </code></td></tr><tr><td id="L17028" class="css-a4x74f"><span>17028</span></td><td id="LC17028" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]"</span>, </code></td></tr><tr><td id="L17029" class="css-a4x74f"><span>17029</span></td><td id="LC17029" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17030" class="css-a4x74f"><span>17030</span></td><td id="LC17030" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17031" class="css-a4x74f"><span>17031</span></td><td id="LC17031" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17032" class="css-a4x74f"><span>17032</span></td><td id="LC17032" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17033" class="css-a4x74f"><span>17033</span></td><td id="LC17033" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17034" class="css-a4x74f"><span>17034</span></td><td id="LC17034" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17035" class="css-a4x74f"><span>17035</span></td><td id="LC17035" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17036" class="css-a4x74f"><span>17036</span></td><td id="LC17036" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17037" class="css-a4x74f"><span>17037</span></td><td id="LC17037" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17038" class="css-a4x74f"><span>17038</span></td><td id="LC17038" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17039" class="css-a4x74f"><span>17039</span></td><td id="LC17039" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L17040" class="css-a4x74f"><span>17040</span></td><td id="LC17040" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17041" class="css-a4x74f"><span>17041</span></td><td id="LC17041" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17042" class="css-a4x74f"><span>17042</span></td><td id="LC17042" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17043" class="css-a4x74f"><span>17043</span></td><td id="LC17043" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17044" class="css-a4x74f"><span>17044</span></td><td id="LC17044" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17045" class="css-a4x74f"><span>17045</span></td><td id="LC17045" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17046" class="css-a4x74f"><span>17046</span></td><td id="LC17046" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates"</span> </code></td></tr><tr><td id="L17047" class="css-a4x74f"><span>17047</span></td><td id="LC17047" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17048" class="css-a4x74f"><span>17048</span></td><td id="LC17048" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-caps"</span>: { </code></td></tr><tr><td id="L17049" class="css-a4x74f"><span>17049</span></td><td id="LC17049" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps"</span>, </code></td></tr><tr><td id="L17050" class="css-a4x74f"><span>17050</span></td><td id="LC17050" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17051" class="css-a4x74f"><span>17051</span></td><td id="LC17051" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17052" class="css-a4x74f"><span>17052</span></td><td id="LC17052" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17053" class="css-a4x74f"><span>17053</span></td><td id="LC17053" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17054" class="css-a4x74f"><span>17054</span></td><td id="LC17054" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17055" class="css-a4x74f"><span>17055</span></td><td id="LC17055" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17056" class="css-a4x74f"><span>17056</span></td><td id="LC17056" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17057" class="css-a4x74f"><span>17057</span></td><td id="LC17057" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17058" class="css-a4x74f"><span>17058</span></td><td id="LC17058" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17059" class="css-a4x74f"><span>17059</span></td><td id="LC17059" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17060" class="css-a4x74f"><span>17060</span></td><td id="LC17060" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17061" class="css-a4x74f"><span>17061</span></td><td id="LC17061" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17062" class="css-a4x74f"><span>17062</span></td><td id="LC17062" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17063" class="css-a4x74f"><span>17063</span></td><td id="LC17063" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17064" class="css-a4x74f"><span>17064</span></td><td id="LC17064" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17065" class="css-a4x74f"><span>17065</span></td><td id="LC17065" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17066" class="css-a4x74f"><span>17066</span></td><td id="LC17066" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17067" class="css-a4x74f"><span>17067</span></td><td id="LC17067" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps"</span> </code></td></tr><tr><td id="L17068" class="css-a4x74f"><span>17068</span></td><td id="LC17068" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17069" class="css-a4x74f"><span>17069</span></td><td id="LC17069" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-east-asian"</span>: { </code></td></tr><tr><td id="L17070" class="css-a4x74f"><span>17070</span></td><td id="LC17070" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]"</span>, </code></td></tr><tr><td id="L17071" class="css-a4x74f"><span>17071</span></td><td id="LC17071" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17072" class="css-a4x74f"><span>17072</span></td><td id="LC17072" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17073" class="css-a4x74f"><span>17073</span></td><td id="LC17073" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17074" class="css-a4x74f"><span>17074</span></td><td id="LC17074" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17075" class="css-a4x74f"><span>17075</span></td><td id="LC17075" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17076" class="css-a4x74f"><span>17076</span></td><td id="LC17076" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17077" class="css-a4x74f"><span>17077</span></td><td id="LC17077" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17078" class="css-a4x74f"><span>17078</span></td><td id="LC17078" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17079" class="css-a4x74f"><span>17079</span></td><td id="LC17079" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17080" class="css-a4x74f"><span>17080</span></td><td id="LC17080" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17081" class="css-a4x74f"><span>17081</span></td><td id="LC17081" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L17082" class="css-a4x74f"><span>17082</span></td><td id="LC17082" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17083" class="css-a4x74f"><span>17083</span></td><td id="LC17083" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17084" class="css-a4x74f"><span>17084</span></td><td id="LC17084" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17085" class="css-a4x74f"><span>17085</span></td><td id="LC17085" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17086" class="css-a4x74f"><span>17086</span></td><td id="LC17086" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17087" class="css-a4x74f"><span>17087</span></td><td id="LC17087" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17088" class="css-a4x74f"><span>17088</span></td><td id="LC17088" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian"</span> </code></td></tr><tr><td id="L17089" class="css-a4x74f"><span>17089</span></td><td id="LC17089" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17090" class="css-a4x74f"><span>17090</span></td><td id="LC17090" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-ligatures"</span>: { </code></td></tr><tr><td id="L17091" class="css-a4x74f"><span>17091</span></td><td id="LC17091" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]"</span>, </code></td></tr><tr><td id="L17092" class="css-a4x74f"><span>17092</span></td><td id="LC17092" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17093" class="css-a4x74f"><span>17093</span></td><td id="LC17093" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17094" class="css-a4x74f"><span>17094</span></td><td id="LC17094" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17095" class="css-a4x74f"><span>17095</span></td><td id="LC17095" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17096" class="css-a4x74f"><span>17096</span></td><td id="LC17096" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17097" class="css-a4x74f"><span>17097</span></td><td id="LC17097" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17098" class="css-a4x74f"><span>17098</span></td><td id="LC17098" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17099" class="css-a4x74f"><span>17099</span></td><td id="LC17099" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17100" class="css-a4x74f"><span>17100</span></td><td id="LC17100" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17101" class="css-a4x74f"><span>17101</span></td><td id="LC17101" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17102" class="css-a4x74f"><span>17102</span></td><td id="LC17102" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L17103" class="css-a4x74f"><span>17103</span></td><td id="LC17103" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17104" class="css-a4x74f"><span>17104</span></td><td id="LC17104" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17105" class="css-a4x74f"><span>17105</span></td><td id="LC17105" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17106" class="css-a4x74f"><span>17106</span></td><td id="LC17106" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17107" class="css-a4x74f"><span>17107</span></td><td id="LC17107" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17108" class="css-a4x74f"><span>17108</span></td><td id="LC17108" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17109" class="css-a4x74f"><span>17109</span></td><td id="LC17109" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures"</span> </code></td></tr><tr><td id="L17110" class="css-a4x74f"><span>17110</span></td><td id="LC17110" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17111" class="css-a4x74f"><span>17111</span></td><td id="LC17111" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-numeric"</span>: { </code></td></tr><tr><td id="L17112" class="css-a4x74f"><span>17112</span></td><td id="LC17112" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]"</span>, </code></td></tr><tr><td id="L17113" class="css-a4x74f"><span>17113</span></td><td id="LC17113" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17114" class="css-a4x74f"><span>17114</span></td><td id="LC17114" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17115" class="css-a4x74f"><span>17115</span></td><td id="LC17115" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17116" class="css-a4x74f"><span>17116</span></td><td id="LC17116" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17117" class="css-a4x74f"><span>17117</span></td><td id="LC17117" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17118" class="css-a4x74f"><span>17118</span></td><td id="LC17118" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17119" class="css-a4x74f"><span>17119</span></td><td id="LC17119" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17120" class="css-a4x74f"><span>17120</span></td><td id="LC17120" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17121" class="css-a4x74f"><span>17121</span></td><td id="LC17121" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17122" class="css-a4x74f"><span>17122</span></td><td id="LC17122" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17123" class="css-a4x74f"><span>17123</span></td><td id="LC17123" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L17124" class="css-a4x74f"><span>17124</span></td><td id="LC17124" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17125" class="css-a4x74f"><span>17125</span></td><td id="LC17125" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17126" class="css-a4x74f"><span>17126</span></td><td id="LC17126" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17127" class="css-a4x74f"><span>17127</span></td><td id="LC17127" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17128" class="css-a4x74f"><span>17128</span></td><td id="LC17128" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17129" class="css-a4x74f"><span>17129</span></td><td id="LC17129" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17130" class="css-a4x74f"><span>17130</span></td><td id="LC17130" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric"</span> </code></td></tr><tr><td id="L17131" class="css-a4x74f"><span>17131</span></td><td id="LC17131" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17132" class="css-a4x74f"><span>17132</span></td><td id="LC17132" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-position"</span>: { </code></td></tr><tr><td id="L17133" class="css-a4x74f"><span>17133</span></td><td id="LC17133" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | sub | super"</span>, </code></td></tr><tr><td id="L17134" class="css-a4x74f"><span>17134</span></td><td id="LC17134" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17135" class="css-a4x74f"><span>17135</span></td><td id="LC17135" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17136" class="css-a4x74f"><span>17136</span></td><td id="LC17136" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17137" class="css-a4x74f"><span>17137</span></td><td id="LC17137" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17138" class="css-a4x74f"><span>17138</span></td><td id="LC17138" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17139" class="css-a4x74f"><span>17139</span></td><td id="LC17139" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17140" class="css-a4x74f"><span>17140</span></td><td id="LC17140" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17141" class="css-a4x74f"><span>17141</span></td><td id="LC17141" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17142" class="css-a4x74f"><span>17142</span></td><td id="LC17142" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17143" class="css-a4x74f"><span>17143</span></td><td id="LC17143" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17144" class="css-a4x74f"><span>17144</span></td><td id="LC17144" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17145" class="css-a4x74f"><span>17145</span></td><td id="LC17145" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17146" class="css-a4x74f"><span>17146</span></td><td id="LC17146" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17147" class="css-a4x74f"><span>17147</span></td><td id="LC17147" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17148" class="css-a4x74f"><span>17148</span></td><td id="LC17148" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17149" class="css-a4x74f"><span>17149</span></td><td id="LC17149" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17150" class="css-a4x74f"><span>17150</span></td><td id="LC17150" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17151" class="css-a4x74f"><span>17151</span></td><td id="LC17151" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-variant-position"</span> </code></td></tr><tr><td id="L17152" class="css-a4x74f"><span>17152</span></td><td id="LC17152" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17153" class="css-a4x74f"><span>17153</span></td><td id="LC17153" class="css-1dcdqdg"><code> <span class="code-string">"font-weight"</span>: { </code></td></tr><tr><td id="L17154" class="css-a4x74f"><span>17154</span></td><td id="LC17154" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<font-weight-absolute> | bolder | lighter"</span>, </code></td></tr><tr><td id="L17155" class="css-a4x74f"><span>17155</span></td><td id="LC17155" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17156" class="css-a4x74f"><span>17156</span></td><td id="LC17156" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17157" class="css-a4x74f"><span>17157</span></td><td id="LC17157" class="css-1dcdqdg"><code> animationType: <span class="code-string">"fontWeight"</span>, </code></td></tr><tr><td id="L17158" class="css-a4x74f"><span>17158</span></td><td id="LC17158" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17159" class="css-a4x74f"><span>17159</span></td><td id="LC17159" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17160" class="css-a4x74f"><span>17160</span></td><td id="LC17160" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17161" class="css-a4x74f"><span>17161</span></td><td id="LC17161" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17162" class="css-a4x74f"><span>17162</span></td><td id="LC17162" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17163" class="css-a4x74f"><span>17163</span></td><td id="LC17163" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17164" class="css-a4x74f"><span>17164</span></td><td id="LC17164" class="css-1dcdqdg"><code> computed: <span class="code-string">"keywordOrNumericalValueBolderLighterTransformedToRealValue"</span>, </code></td></tr><tr><td id="L17165" class="css-a4x74f"><span>17165</span></td><td id="LC17165" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17166" class="css-a4x74f"><span>17166</span></td><td id="LC17166" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17167" class="css-a4x74f"><span>17167</span></td><td id="LC17167" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17168" class="css-a4x74f"><span>17168</span></td><td id="LC17168" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17169" class="css-a4x74f"><span>17169</span></td><td id="LC17169" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17170" class="css-a4x74f"><span>17170</span></td><td id="LC17170" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17171" class="css-a4x74f"><span>17171</span></td><td id="LC17171" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17172" class="css-a4x74f"><span>17172</span></td><td id="LC17172" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/font-weight"</span> </code></td></tr><tr><td id="L17173" class="css-a4x74f"><span>17173</span></td><td id="LC17173" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17174" class="css-a4x74f"><span>17174</span></td><td id="LC17174" class="css-1dcdqdg"><code> gap: gap, </code></td></tr><tr><td id="L17175" class="css-a4x74f"><span>17175</span></td><td id="LC17175" class="css-1dcdqdg"><code> grid: grid, </code></td></tr><tr><td id="L17176" class="css-a4x74f"><span>17176</span></td><td id="LC17176" class="css-1dcdqdg"><code> <span class="code-string">"grid-area"</span>: { </code></td></tr><tr><td id="L17177" class="css-a4x74f"><span>17177</span></td><td id="LC17177" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line> [ / <grid-line> ]{0,3}"</span>, </code></td></tr><tr><td id="L17178" class="css-a4x74f"><span>17178</span></td><td id="LC17178" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17179" class="css-a4x74f"><span>17179</span></td><td id="LC17179" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17180" class="css-a4x74f"><span>17180</span></td><td id="LC17180" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17181" class="css-a4x74f"><span>17181</span></td><td id="LC17181" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17182" class="css-a4x74f"><span>17182</span></td><td id="LC17182" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17183" class="css-a4x74f"><span>17183</span></td><td id="LC17183" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17184" class="css-a4x74f"><span>17184</span></td><td id="LC17184" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17185" class="css-a4x74f"><span>17185</span></td><td id="LC17185" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17186" class="css-a4x74f"><span>17186</span></td><td id="LC17186" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-start"</span>, </code></td></tr><tr><td id="L17187" class="css-a4x74f"><span>17187</span></td><td id="LC17187" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-start"</span>, </code></td></tr><tr><td id="L17188" class="css-a4x74f"><span>17188</span></td><td id="LC17188" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-end"</span>, </code></td></tr><tr><td id="L17189" class="css-a4x74f"><span>17189</span></td><td id="LC17189" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-end"</span> </code></td></tr><tr><td id="L17190" class="css-a4x74f"><span>17190</span></td><td id="LC17190" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17191" class="css-a4x74f"><span>17191</span></td><td id="LC17191" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17192" class="css-a4x74f"><span>17192</span></td><td id="LC17192" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17193" class="css-a4x74f"><span>17193</span></td><td id="LC17193" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-start"</span>, </code></td></tr><tr><td id="L17194" class="css-a4x74f"><span>17194</span></td><td id="LC17194" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-start"</span>, </code></td></tr><tr><td id="L17195" class="css-a4x74f"><span>17195</span></td><td id="LC17195" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-end"</span>, </code></td></tr><tr><td id="L17196" class="css-a4x74f"><span>17196</span></td><td id="LC17196" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-end"</span> </code></td></tr><tr><td id="L17197" class="css-a4x74f"><span>17197</span></td><td id="LC17197" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17198" class="css-a4x74f"><span>17198</span></td><td id="LC17198" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17199" class="css-a4x74f"><span>17199</span></td><td id="LC17199" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17200" class="css-a4x74f"><span>17200</span></td><td id="LC17200" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-area"</span> </code></td></tr><tr><td id="L17201" class="css-a4x74f"><span>17201</span></td><td id="LC17201" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17202" class="css-a4x74f"><span>17202</span></td><td id="LC17202" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-columns"</span>: { </code></td></tr><tr><td id="L17203" class="css-a4x74f"><span>17203</span></td><td id="LC17203" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<track-size>+"</span>, </code></td></tr><tr><td id="L17204" class="css-a4x74f"><span>17204</span></td><td id="LC17204" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17205" class="css-a4x74f"><span>17205</span></td><td id="LC17205" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17206" class="css-a4x74f"><span>17206</span></td><td id="LC17206" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17207" class="css-a4x74f"><span>17207</span></td><td id="LC17207" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17208" class="css-a4x74f"><span>17208</span></td><td id="LC17208" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17209" class="css-a4x74f"><span>17209</span></td><td id="LC17209" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17210" class="css-a4x74f"><span>17210</span></td><td id="LC17210" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17211" class="css-a4x74f"><span>17211</span></td><td id="LC17211" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17212" class="css-a4x74f"><span>17212</span></td><td id="LC17212" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17213" class="css-a4x74f"><span>17213</span></td><td id="LC17213" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L17214" class="css-a4x74f"><span>17214</span></td><td id="LC17214" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17215" class="css-a4x74f"><span>17215</span></td><td id="LC17215" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17216" class="css-a4x74f"><span>17216</span></td><td id="LC17216" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns"</span> </code></td></tr><tr><td id="L17217" class="css-a4x74f"><span>17217</span></td><td id="LC17217" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17218" class="css-a4x74f"><span>17218</span></td><td id="LC17218" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-flow"</span>: { </code></td></tr><tr><td id="L17219" class="css-a4x74f"><span>17219</span></td><td id="LC17219" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ row | column ] || dense"</span>, </code></td></tr><tr><td id="L17220" class="css-a4x74f"><span>17220</span></td><td id="LC17220" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17221" class="css-a4x74f"><span>17221</span></td><td id="LC17221" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17222" class="css-a4x74f"><span>17222</span></td><td id="LC17222" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17223" class="css-a4x74f"><span>17223</span></td><td id="LC17223" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17224" class="css-a4x74f"><span>17224</span></td><td id="LC17224" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17225" class="css-a4x74f"><span>17225</span></td><td id="LC17225" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17226" class="css-a4x74f"><span>17226</span></td><td id="LC17226" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17227" class="css-a4x74f"><span>17227</span></td><td id="LC17227" class="css-1dcdqdg"><code> initial: <span class="code-string">"row"</span>, </code></td></tr><tr><td id="L17228" class="css-a4x74f"><span>17228</span></td><td id="LC17228" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17229" class="css-a4x74f"><span>17229</span></td><td id="LC17229" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17230" class="css-a4x74f"><span>17230</span></td><td id="LC17230" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17231" class="css-a4x74f"><span>17231</span></td><td id="LC17231" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17232" class="css-a4x74f"><span>17232</span></td><td id="LC17232" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow"</span> </code></td></tr><tr><td id="L17233" class="css-a4x74f"><span>17233</span></td><td id="LC17233" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17234" class="css-a4x74f"><span>17234</span></td><td id="LC17234" class="css-1dcdqdg"><code> <span class="code-string">"grid-auto-rows"</span>: { </code></td></tr><tr><td id="L17235" class="css-a4x74f"><span>17235</span></td><td id="LC17235" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<track-size>+"</span>, </code></td></tr><tr><td id="L17236" class="css-a4x74f"><span>17236</span></td><td id="LC17236" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17237" class="css-a4x74f"><span>17237</span></td><td id="LC17237" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17238" class="css-a4x74f"><span>17238</span></td><td id="LC17238" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17239" class="css-a4x74f"><span>17239</span></td><td id="LC17239" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17240" class="css-a4x74f"><span>17240</span></td><td id="LC17240" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17241" class="css-a4x74f"><span>17241</span></td><td id="LC17241" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17242" class="css-a4x74f"><span>17242</span></td><td id="LC17242" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17243" class="css-a4x74f"><span>17243</span></td><td id="LC17243" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17244" class="css-a4x74f"><span>17244</span></td><td id="LC17244" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17245" class="css-a4x74f"><span>17245</span></td><td id="LC17245" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L17246" class="css-a4x74f"><span>17246</span></td><td id="LC17246" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17247" class="css-a4x74f"><span>17247</span></td><td id="LC17247" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17248" class="css-a4x74f"><span>17248</span></td><td id="LC17248" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows"</span> </code></td></tr><tr><td id="L17249" class="css-a4x74f"><span>17249</span></td><td id="LC17249" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17250" class="css-a4x74f"><span>17250</span></td><td id="LC17250" class="css-1dcdqdg"><code> <span class="code-string">"grid-column"</span>: { </code></td></tr><tr><td id="L17251" class="css-a4x74f"><span>17251</span></td><td id="LC17251" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line> [ / <grid-line> ]?"</span>, </code></td></tr><tr><td id="L17252" class="css-a4x74f"><span>17252</span></td><td id="LC17252" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17253" class="css-a4x74f"><span>17253</span></td><td id="LC17253" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17254" class="css-a4x74f"><span>17254</span></td><td id="LC17254" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17255" class="css-a4x74f"><span>17255</span></td><td id="LC17255" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17256" class="css-a4x74f"><span>17256</span></td><td id="LC17256" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17257" class="css-a4x74f"><span>17257</span></td><td id="LC17257" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17258" class="css-a4x74f"><span>17258</span></td><td id="LC17258" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17259" class="css-a4x74f"><span>17259</span></td><td id="LC17259" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17260" class="css-a4x74f"><span>17260</span></td><td id="LC17260" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-start"</span>, </code></td></tr><tr><td id="L17261" class="css-a4x74f"><span>17261</span></td><td id="LC17261" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-end"</span> </code></td></tr><tr><td id="L17262" class="css-a4x74f"><span>17262</span></td><td id="LC17262" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17263" class="css-a4x74f"><span>17263</span></td><td id="LC17263" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17264" class="css-a4x74f"><span>17264</span></td><td id="LC17264" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17265" class="css-a4x74f"><span>17265</span></td><td id="LC17265" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-start"</span>, </code></td></tr><tr><td id="L17266" class="css-a4x74f"><span>17266</span></td><td id="LC17266" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-end"</span> </code></td></tr><tr><td id="L17267" class="css-a4x74f"><span>17267</span></td><td id="LC17267" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17268" class="css-a4x74f"><span>17268</span></td><td id="LC17268" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17269" class="css-a4x74f"><span>17269</span></td><td id="LC17269" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17270" class="css-a4x74f"><span>17270</span></td><td id="LC17270" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-column"</span> </code></td></tr><tr><td id="L17271" class="css-a4x74f"><span>17271</span></td><td id="LC17271" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17272" class="css-a4x74f"><span>17272</span></td><td id="LC17272" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-end"</span>: { </code></td></tr><tr><td id="L17273" class="css-a4x74f"><span>17273</span></td><td id="LC17273" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line>"</span>, </code></td></tr><tr><td id="L17274" class="css-a4x74f"><span>17274</span></td><td id="LC17274" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17275" class="css-a4x74f"><span>17275</span></td><td id="LC17275" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17276" class="css-a4x74f"><span>17276</span></td><td id="LC17276" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17277" class="css-a4x74f"><span>17277</span></td><td id="LC17277" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17278" class="css-a4x74f"><span>17278</span></td><td id="LC17278" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17279" class="css-a4x74f"><span>17279</span></td><td id="LC17279" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17280" class="css-a4x74f"><span>17280</span></td><td id="LC17280" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17281" class="css-a4x74f"><span>17281</span></td><td id="LC17281" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17282" class="css-a4x74f"><span>17282</span></td><td id="LC17282" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17283" class="css-a4x74f"><span>17283</span></td><td id="LC17283" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17284" class="css-a4x74f"><span>17284</span></td><td id="LC17284" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17285" class="css-a4x74f"><span>17285</span></td><td id="LC17285" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17286" class="css-a4x74f"><span>17286</span></td><td id="LC17286" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-column-end"</span> </code></td></tr><tr><td id="L17287" class="css-a4x74f"><span>17287</span></td><td id="LC17287" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17288" class="css-a4x74f"><span>17288</span></td><td id="LC17288" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span>: { </code></td></tr><tr><td id="L17289" class="css-a4x74f"><span>17289</span></td><td id="LC17289" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span>, </code></td></tr><tr><td id="L17290" class="css-a4x74f"><span>17290</span></td><td id="LC17290" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17291" class="css-a4x74f"><span>17291</span></td><td id="LC17291" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17292" class="css-a4x74f"><span>17292</span></td><td id="LC17292" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L17293" class="css-a4x74f"><span>17293</span></td><td id="LC17293" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17294" class="css-a4x74f"><span>17294</span></td><td id="LC17294" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17295" class="css-a4x74f"><span>17295</span></td><td id="LC17295" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17296" class="css-a4x74f"><span>17296</span></td><td id="LC17296" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17297" class="css-a4x74f"><span>17297</span></td><td id="LC17297" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17298" class="css-a4x74f"><span>17298</span></td><td id="LC17298" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17299" class="css-a4x74f"><span>17299</span></td><td id="LC17299" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L17300" class="css-a4x74f"><span>17300</span></td><td id="LC17300" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17301" class="css-a4x74f"><span>17301</span></td><td id="LC17301" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L17302" class="css-a4x74f"><span>17302</span></td><td id="LC17302" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/column-gap"</span> </code></td></tr><tr><td id="L17303" class="css-a4x74f"><span>17303</span></td><td id="LC17303" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17304" class="css-a4x74f"><span>17304</span></td><td id="LC17304" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-start"</span>: { </code></td></tr><tr><td id="L17305" class="css-a4x74f"><span>17305</span></td><td id="LC17305" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line>"</span>, </code></td></tr><tr><td id="L17306" class="css-a4x74f"><span>17306</span></td><td id="LC17306" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17307" class="css-a4x74f"><span>17307</span></td><td id="LC17307" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17308" class="css-a4x74f"><span>17308</span></td><td id="LC17308" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17309" class="css-a4x74f"><span>17309</span></td><td id="LC17309" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17310" class="css-a4x74f"><span>17310</span></td><td id="LC17310" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17311" class="css-a4x74f"><span>17311</span></td><td id="LC17311" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17312" class="css-a4x74f"><span>17312</span></td><td id="LC17312" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17313" class="css-a4x74f"><span>17313</span></td><td id="LC17313" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17314" class="css-a4x74f"><span>17314</span></td><td id="LC17314" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17315" class="css-a4x74f"><span>17315</span></td><td id="LC17315" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17316" class="css-a4x74f"><span>17316</span></td><td id="LC17316" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17317" class="css-a4x74f"><span>17317</span></td><td id="LC17317" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17318" class="css-a4x74f"><span>17318</span></td><td id="LC17318" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-column-start"</span> </code></td></tr><tr><td id="L17319" class="css-a4x74f"><span>17319</span></td><td id="LC17319" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17320" class="css-a4x74f"><span>17320</span></td><td id="LC17320" class="css-1dcdqdg"><code> <span class="code-string">"grid-gap"</span>: { </code></td></tr><tr><td id="L17321" class="css-a4x74f"><span>17321</span></td><td id="LC17321" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'grid-row-gap'> <'grid-column-gap'>?"</span>, </code></td></tr><tr><td id="L17322" class="css-a4x74f"><span>17322</span></td><td id="LC17322" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17323" class="css-a4x74f"><span>17323</span></td><td id="LC17323" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17324" class="css-a4x74f"><span>17324</span></td><td id="LC17324" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L17325" class="css-a4x74f"><span>17325</span></td><td id="LC17325" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>, </code></td></tr><tr><td id="L17326" class="css-a4x74f"><span>17326</span></td><td id="LC17326" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span> </code></td></tr><tr><td id="L17327" class="css-a4x74f"><span>17327</span></td><td id="LC17327" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17328" class="css-a4x74f"><span>17328</span></td><td id="LC17328" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17329" class="css-a4x74f"><span>17329</span></td><td id="LC17329" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17330" class="css-a4x74f"><span>17330</span></td><td id="LC17330" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17331" class="css-a4x74f"><span>17331</span></td><td id="LC17331" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17332" class="css-a4x74f"><span>17332</span></td><td id="LC17332" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17333" class="css-a4x74f"><span>17333</span></td><td id="LC17333" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>, </code></td></tr><tr><td id="L17334" class="css-a4x74f"><span>17334</span></td><td id="LC17334" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span> </code></td></tr><tr><td id="L17335" class="css-a4x74f"><span>17335</span></td><td id="LC17335" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17336" class="css-a4x74f"><span>17336</span></td><td id="LC17336" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17337" class="css-a4x74f"><span>17337</span></td><td id="LC17337" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17338" class="css-a4x74f"><span>17338</span></td><td id="LC17338" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>, </code></td></tr><tr><td id="L17339" class="css-a4x74f"><span>17339</span></td><td id="LC17339" class="css-1dcdqdg"><code> <span class="code-string">"grid-column-gap"</span> </code></td></tr><tr><td id="L17340" class="css-a4x74f"><span>17340</span></td><td id="LC17340" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17341" class="css-a4x74f"><span>17341</span></td><td id="LC17341" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17342" class="css-a4x74f"><span>17342</span></td><td id="LC17342" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L17343" class="css-a4x74f"><span>17343</span></td><td id="LC17343" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/gap"</span> </code></td></tr><tr><td id="L17344" class="css-a4x74f"><span>17344</span></td><td id="LC17344" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17345" class="css-a4x74f"><span>17345</span></td><td id="LC17345" class="css-1dcdqdg"><code> <span class="code-string">"grid-row"</span>: { </code></td></tr><tr><td id="L17346" class="css-a4x74f"><span>17346</span></td><td id="LC17346" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line> [ / <grid-line> ]?"</span>, </code></td></tr><tr><td id="L17347" class="css-a4x74f"><span>17347</span></td><td id="LC17347" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17348" class="css-a4x74f"><span>17348</span></td><td id="LC17348" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17349" class="css-a4x74f"><span>17349</span></td><td id="LC17349" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17350" class="css-a4x74f"><span>17350</span></td><td id="LC17350" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17351" class="css-a4x74f"><span>17351</span></td><td id="LC17351" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17352" class="css-a4x74f"><span>17352</span></td><td id="LC17352" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17353" class="css-a4x74f"><span>17353</span></td><td id="LC17353" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17354" class="css-a4x74f"><span>17354</span></td><td id="LC17354" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17355" class="css-a4x74f"><span>17355</span></td><td id="LC17355" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-start"</span>, </code></td></tr><tr><td id="L17356" class="css-a4x74f"><span>17356</span></td><td id="LC17356" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-end"</span> </code></td></tr><tr><td id="L17357" class="css-a4x74f"><span>17357</span></td><td id="LC17357" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17358" class="css-a4x74f"><span>17358</span></td><td id="LC17358" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17359" class="css-a4x74f"><span>17359</span></td><td id="LC17359" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17360" class="css-a4x74f"><span>17360</span></td><td id="LC17360" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-start"</span>, </code></td></tr><tr><td id="L17361" class="css-a4x74f"><span>17361</span></td><td id="LC17361" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-end"</span> </code></td></tr><tr><td id="L17362" class="css-a4x74f"><span>17362</span></td><td id="LC17362" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17363" class="css-a4x74f"><span>17363</span></td><td id="LC17363" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17364" class="css-a4x74f"><span>17364</span></td><td id="LC17364" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17365" class="css-a4x74f"><span>17365</span></td><td id="LC17365" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-row"</span> </code></td></tr><tr><td id="L17366" class="css-a4x74f"><span>17366</span></td><td id="LC17366" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17367" class="css-a4x74f"><span>17367</span></td><td id="LC17367" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-end"</span>: { </code></td></tr><tr><td id="L17368" class="css-a4x74f"><span>17368</span></td><td id="LC17368" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line>"</span>, </code></td></tr><tr><td id="L17369" class="css-a4x74f"><span>17369</span></td><td id="LC17369" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17370" class="css-a4x74f"><span>17370</span></td><td id="LC17370" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17371" class="css-a4x74f"><span>17371</span></td><td id="LC17371" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17372" class="css-a4x74f"><span>17372</span></td><td id="LC17372" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17373" class="css-a4x74f"><span>17373</span></td><td id="LC17373" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17374" class="css-a4x74f"><span>17374</span></td><td id="LC17374" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17375" class="css-a4x74f"><span>17375</span></td><td id="LC17375" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17376" class="css-a4x74f"><span>17376</span></td><td id="LC17376" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17377" class="css-a4x74f"><span>17377</span></td><td id="LC17377" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17378" class="css-a4x74f"><span>17378</span></td><td id="LC17378" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17379" class="css-a4x74f"><span>17379</span></td><td id="LC17379" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17380" class="css-a4x74f"><span>17380</span></td><td id="LC17380" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17381" class="css-a4x74f"><span>17381</span></td><td id="LC17381" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-row-end"</span> </code></td></tr><tr><td id="L17382" class="css-a4x74f"><span>17382</span></td><td id="LC17382" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17383" class="css-a4x74f"><span>17383</span></td><td id="LC17383" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-gap"</span>: { </code></td></tr><tr><td id="L17384" class="css-a4x74f"><span>17384</span></td><td id="LC17384" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span>, </code></td></tr><tr><td id="L17385" class="css-a4x74f"><span>17385</span></td><td id="LC17385" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17386" class="css-a4x74f"><span>17386</span></td><td id="LC17386" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17387" class="css-a4x74f"><span>17387</span></td><td id="LC17387" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L17388" class="css-a4x74f"><span>17388</span></td><td id="LC17388" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17389" class="css-a4x74f"><span>17389</span></td><td id="LC17389" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17390" class="css-a4x74f"><span>17390</span></td><td id="LC17390" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17391" class="css-a4x74f"><span>17391</span></td><td id="LC17391" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17392" class="css-a4x74f"><span>17392</span></td><td id="LC17392" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17393" class="css-a4x74f"><span>17393</span></td><td id="LC17393" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17394" class="css-a4x74f"><span>17394</span></td><td id="LC17394" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L17395" class="css-a4x74f"><span>17395</span></td><td id="LC17395" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17396" class="css-a4x74f"><span>17396</span></td><td id="LC17396" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L17397" class="css-a4x74f"><span>17397</span></td><td id="LC17397" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/row-gap"</span> </code></td></tr><tr><td id="L17398" class="css-a4x74f"><span>17398</span></td><td id="LC17398" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17399" class="css-a4x74f"><span>17399</span></td><td id="LC17399" class="css-1dcdqdg"><code> <span class="code-string">"grid-row-start"</span>: { </code></td></tr><tr><td id="L17400" class="css-a4x74f"><span>17400</span></td><td id="LC17400" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<grid-line>"</span>, </code></td></tr><tr><td id="L17401" class="css-a4x74f"><span>17401</span></td><td id="LC17401" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17402" class="css-a4x74f"><span>17402</span></td><td id="LC17402" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17403" class="css-a4x74f"><span>17403</span></td><td id="LC17403" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17404" class="css-a4x74f"><span>17404</span></td><td id="LC17404" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17405" class="css-a4x74f"><span>17405</span></td><td id="LC17405" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17406" class="css-a4x74f"><span>17406</span></td><td id="LC17406" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17407" class="css-a4x74f"><span>17407</span></td><td id="LC17407" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17408" class="css-a4x74f"><span>17408</span></td><td id="LC17408" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17409" class="css-a4x74f"><span>17409</span></td><td id="LC17409" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridItemsAndBoxesWithinGridContainer"</span>, </code></td></tr><tr><td id="L17410" class="css-a4x74f"><span>17410</span></td><td id="LC17410" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17411" class="css-a4x74f"><span>17411</span></td><td id="LC17411" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17412" class="css-a4x74f"><span>17412</span></td><td id="LC17412" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17413" class="css-a4x74f"><span>17413</span></td><td id="LC17413" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-row-start"</span> </code></td></tr><tr><td id="L17414" class="css-a4x74f"><span>17414</span></td><td id="LC17414" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17415" class="css-a4x74f"><span>17415</span></td><td id="LC17415" class="css-1dcdqdg"><code> <span class="code-string">"grid-template"</span>: { </code></td></tr><tr><td id="L17416" class="css-a4x74f"><span>17416</span></td><td id="LC17416" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?"</span>, </code></td></tr><tr><td id="L17417" class="css-a4x74f"><span>17417</span></td><td id="LC17417" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17418" class="css-a4x74f"><span>17418</span></td><td id="LC17418" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17419" class="css-a4x74f"><span>17419</span></td><td id="LC17419" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17420" class="css-a4x74f"><span>17420</span></td><td id="LC17420" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L17421" class="css-a4x74f"><span>17421</span></td><td id="LC17421" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L17422" class="css-a4x74f"><span>17422</span></td><td id="LC17422" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span> </code></td></tr><tr><td id="L17423" class="css-a4x74f"><span>17423</span></td><td id="LC17423" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17424" class="css-a4x74f"><span>17424</span></td><td id="LC17424" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17425" class="css-a4x74f"><span>17425</span></td><td id="LC17425" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17426" class="css-a4x74f"><span>17426</span></td><td id="LC17426" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17427" class="css-a4x74f"><span>17427</span></td><td id="LC17427" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17428" class="css-a4x74f"><span>17428</span></td><td id="LC17428" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L17429" class="css-a4x74f"><span>17429</span></td><td id="LC17429" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>, </code></td></tr><tr><td id="L17430" class="css-a4x74f"><span>17430</span></td><td id="LC17430" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-areas"</span> </code></td></tr><tr><td id="L17431" class="css-a4x74f"><span>17431</span></td><td id="LC17431" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17432" class="css-a4x74f"><span>17432</span></td><td id="LC17432" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17433" class="css-a4x74f"><span>17433</span></td><td id="LC17433" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17434" class="css-a4x74f"><span>17434</span></td><td id="LC17434" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>, </code></td></tr><tr><td id="L17435" class="css-a4x74f"><span>17435</span></td><td id="LC17435" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>, </code></td></tr><tr><td id="L17436" class="css-a4x74f"><span>17436</span></td><td id="LC17436" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-areas"</span> </code></td></tr><tr><td id="L17437" class="css-a4x74f"><span>17437</span></td><td id="LC17437" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17438" class="css-a4x74f"><span>17438</span></td><td id="LC17438" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17439" class="css-a4x74f"><span>17439</span></td><td id="LC17439" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17440" class="css-a4x74f"><span>17440</span></td><td id="LC17440" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-template"</span> </code></td></tr><tr><td id="L17441" class="css-a4x74f"><span>17441</span></td><td id="LC17441" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17442" class="css-a4x74f"><span>17442</span></td><td id="LC17442" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-areas"</span>: { </code></td></tr><tr><td id="L17443" class="css-a4x74f"><span>17443</span></td><td id="LC17443" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <string>+"</span>, </code></td></tr><tr><td id="L17444" class="css-a4x74f"><span>17444</span></td><td id="LC17444" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17445" class="css-a4x74f"><span>17445</span></td><td id="LC17445" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17446" class="css-a4x74f"><span>17446</span></td><td id="LC17446" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17447" class="css-a4x74f"><span>17447</span></td><td id="LC17447" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17448" class="css-a4x74f"><span>17448</span></td><td id="LC17448" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17449" class="css-a4x74f"><span>17449</span></td><td id="LC17449" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17450" class="css-a4x74f"><span>17450</span></td><td id="LC17450" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17451" class="css-a4x74f"><span>17451</span></td><td id="LC17451" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17452" class="css-a4x74f"><span>17452</span></td><td id="LC17452" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17453" class="css-a4x74f"><span>17453</span></td><td id="LC17453" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17454" class="css-a4x74f"><span>17454</span></td><td id="LC17454" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17455" class="css-a4x74f"><span>17455</span></td><td id="LC17455" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17456" class="css-a4x74f"><span>17456</span></td><td id="LC17456" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas"</span> </code></td></tr><tr><td id="L17457" class="css-a4x74f"><span>17457</span></td><td id="LC17457" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17458" class="css-a4x74f"><span>17458</span></td><td id="LC17458" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-columns"</span>: { </code></td></tr><tr><td id="L17459" class="css-a4x74f"><span>17459</span></td><td id="LC17459" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?"</span>, </code></td></tr><tr><td id="L17460" class="css-a4x74f"><span>17460</span></td><td id="LC17460" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17461" class="css-a4x74f"><span>17461</span></td><td id="LC17461" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17462" class="css-a4x74f"><span>17462</span></td><td id="LC17462" class="css-1dcdqdg"><code> animationType: <span class="code-string">"simpleListOfLpcDifferenceLpc"</span>, </code></td></tr><tr><td id="L17463" class="css-a4x74f"><span>17463</span></td><td id="LC17463" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17464" class="css-a4x74f"><span>17464</span></td><td id="LC17464" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17465" class="css-a4x74f"><span>17465</span></td><td id="LC17465" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17466" class="css-a4x74f"><span>17466</span></td><td id="LC17466" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17467" class="css-a4x74f"><span>17467</span></td><td id="LC17467" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17468" class="css-a4x74f"><span>17468</span></td><td id="LC17468" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17469" class="css-a4x74f"><span>17469</span></td><td id="LC17469" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L17470" class="css-a4x74f"><span>17470</span></td><td id="LC17470" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17471" class="css-a4x74f"><span>17471</span></td><td id="LC17471" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17472" class="css-a4x74f"><span>17472</span></td><td id="LC17472" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns"</span> </code></td></tr><tr><td id="L17473" class="css-a4x74f"><span>17473</span></td><td id="LC17473" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17474" class="css-a4x74f"><span>17474</span></td><td id="LC17474" class="css-1dcdqdg"><code> <span class="code-string">"grid-template-rows"</span>: { </code></td></tr><tr><td id="L17475" class="css-a4x74f"><span>17475</span></td><td id="LC17475" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?"</span>, </code></td></tr><tr><td id="L17476" class="css-a4x74f"><span>17476</span></td><td id="LC17476" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17477" class="css-a4x74f"><span>17477</span></td><td id="LC17477" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17478" class="css-a4x74f"><span>17478</span></td><td id="LC17478" class="css-1dcdqdg"><code> animationType: <span class="code-string">"simpleListOfLpcDifferenceLpc"</span>, </code></td></tr><tr><td id="L17479" class="css-a4x74f"><span>17479</span></td><td id="LC17479" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L17480" class="css-a4x74f"><span>17480</span></td><td id="LC17480" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17481" class="css-a4x74f"><span>17481</span></td><td id="LC17481" class="css-1dcdqdg"><code> <span class="code-string">"CSS Grid Layout"</span> </code></td></tr><tr><td id="L17482" class="css-a4x74f"><span>17482</span></td><td id="LC17482" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17483" class="css-a4x74f"><span>17483</span></td><td id="LC17483" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17484" class="css-a4x74f"><span>17484</span></td><td id="LC17484" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"gridContainers"</span>, </code></td></tr><tr><td id="L17485" class="css-a4x74f"><span>17485</span></td><td id="LC17485" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L17486" class="css-a4x74f"><span>17486</span></td><td id="LC17486" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17487" class="css-a4x74f"><span>17487</span></td><td id="LC17487" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17488" class="css-a4x74f"><span>17488</span></td><td id="LC17488" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows"</span> </code></td></tr><tr><td id="L17489" class="css-a4x74f"><span>17489</span></td><td id="LC17489" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17490" class="css-a4x74f"><span>17490</span></td><td id="LC17490" class="css-1dcdqdg"><code> <span class="code-string">"hanging-punctuation"</span>: { </code></td></tr><tr><td id="L17491" class="css-a4x74f"><span>17491</span></td><td id="LC17491" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ first || [ force-end | allow-end ] || last ]"</span>, </code></td></tr><tr><td id="L17492" class="css-a4x74f"><span>17492</span></td><td id="LC17492" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17493" class="css-a4x74f"><span>17493</span></td><td id="LC17493" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17494" class="css-a4x74f"><span>17494</span></td><td id="LC17494" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17495" class="css-a4x74f"><span>17495</span></td><td id="LC17495" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17496" class="css-a4x74f"><span>17496</span></td><td id="LC17496" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17497" class="css-a4x74f"><span>17497</span></td><td id="LC17497" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L17498" class="css-a4x74f"><span>17498</span></td><td id="LC17498" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17499" class="css-a4x74f"><span>17499</span></td><td id="LC17499" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17500" class="css-a4x74f"><span>17500</span></td><td id="LC17500" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17501" class="css-a4x74f"><span>17501</span></td><td id="LC17501" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17502" class="css-a4x74f"><span>17502</span></td><td id="LC17502" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17503" class="css-a4x74f"><span>17503</span></td><td id="LC17503" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17504" class="css-a4x74f"><span>17504</span></td><td id="LC17504" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation"</span> </code></td></tr><tr><td id="L17505" class="css-a4x74f"><span>17505</span></td><td id="LC17505" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17506" class="css-a4x74f"><span>17506</span></td><td id="LC17506" class="css-1dcdqdg"><code> height: height, </code></td></tr><tr><td id="L17507" class="css-a4x74f"><span>17507</span></td><td id="LC17507" class="css-1dcdqdg"><code> hyphens: hyphens, </code></td></tr><tr><td id="L17508" class="css-a4x74f"><span>17508</span></td><td id="LC17508" class="css-1dcdqdg"><code> <span class="code-string">"image-orientation"</span>: { </code></td></tr><tr><td id="L17509" class="css-a4x74f"><span>17509</span></td><td id="LC17509" class="css-1dcdqdg"><code> syntax: <span class="code-string">"from-image | <angle> | [ <angle>? flip ]"</span>, </code></td></tr><tr><td id="L17510" class="css-a4x74f"><span>17510</span></td><td id="LC17510" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17511" class="css-a4x74f"><span>17511</span></td><td id="LC17511" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17512" class="css-a4x74f"><span>17512</span></td><td id="LC17512" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17513" class="css-a4x74f"><span>17513</span></td><td id="LC17513" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17514" class="css-a4x74f"><span>17514</span></td><td id="LC17514" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17515" class="css-a4x74f"><span>17515</span></td><td id="LC17515" class="css-1dcdqdg"><code> <span class="code-string">"CSS Images"</span> </code></td></tr><tr><td id="L17516" class="css-a4x74f"><span>17516</span></td><td id="LC17516" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17517" class="css-a4x74f"><span>17517</span></td><td id="LC17517" class="css-1dcdqdg"><code> initial: <span class="code-string">"0deg"</span>, </code></td></tr><tr><td id="L17518" class="css-a4x74f"><span>17518</span></td><td id="LC17518" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17519" class="css-a4x74f"><span>17519</span></td><td id="LC17519" class="css-1dcdqdg"><code> computed: <span class="code-string">"angleRoundedToNextQuarter"</span>, </code></td></tr><tr><td id="L17520" class="css-a4x74f"><span>17520</span></td><td id="LC17520" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17521" class="css-a4x74f"><span>17521</span></td><td id="LC17521" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17522" class="css-a4x74f"><span>17522</span></td><td id="LC17522" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/image-orientation"</span> </code></td></tr><tr><td id="L17523" class="css-a4x74f"><span>17523</span></td><td id="LC17523" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17524" class="css-a4x74f"><span>17524</span></td><td id="LC17524" class="css-1dcdqdg"><code> <span class="code-string">"image-rendering"</span>: { </code></td></tr><tr><td id="L17525" class="css-a4x74f"><span>17525</span></td><td id="LC17525" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | crisp-edges | pixelated"</span>, </code></td></tr><tr><td id="L17526" class="css-a4x74f"><span>17526</span></td><td id="LC17526" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17527" class="css-a4x74f"><span>17527</span></td><td id="LC17527" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17528" class="css-a4x74f"><span>17528</span></td><td id="LC17528" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17529" class="css-a4x74f"><span>17529</span></td><td id="LC17529" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17530" class="css-a4x74f"><span>17530</span></td><td id="LC17530" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17531" class="css-a4x74f"><span>17531</span></td><td id="LC17531" class="css-1dcdqdg"><code> <span class="code-string">"CSS Images"</span> </code></td></tr><tr><td id="L17532" class="css-a4x74f"><span>17532</span></td><td id="LC17532" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17533" class="css-a4x74f"><span>17533</span></td><td id="LC17533" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17534" class="css-a4x74f"><span>17534</span></td><td id="LC17534" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17535" class="css-a4x74f"><span>17535</span></td><td id="LC17535" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17536" class="css-a4x74f"><span>17536</span></td><td id="LC17536" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17537" class="css-a4x74f"><span>17537</span></td><td id="LC17537" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17538" class="css-a4x74f"><span>17538</span></td><td id="LC17538" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/image-rendering"</span> </code></td></tr><tr><td id="L17539" class="css-a4x74f"><span>17539</span></td><td id="LC17539" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17540" class="css-a4x74f"><span>17540</span></td><td id="LC17540" class="css-1dcdqdg"><code> <span class="code-string">"image-resolution"</span>: { </code></td></tr><tr><td id="L17541" class="css-a4x74f"><span>17541</span></td><td id="LC17541" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ from-image || <resolution> ] && snap?"</span>, </code></td></tr><tr><td id="L17542" class="css-a4x74f"><span>17542</span></td><td id="LC17542" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17543" class="css-a4x74f"><span>17543</span></td><td id="LC17543" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17544" class="css-a4x74f"><span>17544</span></td><td id="LC17544" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17545" class="css-a4x74f"><span>17545</span></td><td id="LC17545" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17546" class="css-a4x74f"><span>17546</span></td><td id="LC17546" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17547" class="css-a4x74f"><span>17547</span></td><td id="LC17547" class="css-1dcdqdg"><code> <span class="code-string">"CSS Images"</span> </code></td></tr><tr><td id="L17548" class="css-a4x74f"><span>17548</span></td><td id="LC17548" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17549" class="css-a4x74f"><span>17549</span></td><td id="LC17549" class="css-1dcdqdg"><code> initial: <span class="code-string">"1dppx"</span>, </code></td></tr><tr><td id="L17550" class="css-a4x74f"><span>17550</span></td><td id="LC17550" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17551" class="css-a4x74f"><span>17551</span></td><td id="LC17551" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedWithExceptionOfResolution"</span>, </code></td></tr><tr><td id="L17552" class="css-a4x74f"><span>17552</span></td><td id="LC17552" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17553" class="css-a4x74f"><span>17553</span></td><td id="LC17553" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L17554" class="css-a4x74f"><span>17554</span></td><td id="LC17554" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17555" class="css-a4x74f"><span>17555</span></td><td id="LC17555" class="css-1dcdqdg"><code> <span class="code-string">"ime-mode"</span>: { </code></td></tr><tr><td id="L17556" class="css-a4x74f"><span>17556</span></td><td id="LC17556" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | normal | active | inactive | disabled"</span>, </code></td></tr><tr><td id="L17557" class="css-a4x74f"><span>17557</span></td><td id="LC17557" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L17558" class="css-a4x74f"><span>17558</span></td><td id="LC17558" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17559" class="css-a4x74f"><span>17559</span></td><td id="LC17559" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17560" class="css-a4x74f"><span>17560</span></td><td id="LC17560" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17561" class="css-a4x74f"><span>17561</span></td><td id="LC17561" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17562" class="css-a4x74f"><span>17562</span></td><td id="LC17562" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L17563" class="css-a4x74f"><span>17563</span></td><td id="LC17563" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17564" class="css-a4x74f"><span>17564</span></td><td id="LC17564" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17565" class="css-a4x74f"><span>17565</span></td><td id="LC17565" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"textFields"</span>, </code></td></tr><tr><td id="L17566" class="css-a4x74f"><span>17566</span></td><td id="LC17566" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17567" class="css-a4x74f"><span>17567</span></td><td id="LC17567" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17568" class="css-a4x74f"><span>17568</span></td><td id="LC17568" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L17569" class="css-a4x74f"><span>17569</span></td><td id="LC17569" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/ime-mode"</span> </code></td></tr><tr><td id="L17570" class="css-a4x74f"><span>17570</span></td><td id="LC17570" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17571" class="css-a4x74f"><span>17571</span></td><td id="LC17571" class="css-1dcdqdg"><code> <span class="code-string">"initial-letter"</span>: { </code></td></tr><tr><td id="L17572" class="css-a4x74f"><span>17572</span></td><td id="LC17572" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ <number> <integer>? ]"</span>, </code></td></tr><tr><td id="L17573" class="css-a4x74f"><span>17573</span></td><td id="LC17573" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17574" class="css-a4x74f"><span>17574</span></td><td id="LC17574" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17575" class="css-a4x74f"><span>17575</span></td><td id="LC17575" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17576" class="css-a4x74f"><span>17576</span></td><td id="LC17576" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17577" class="css-a4x74f"><span>17577</span></td><td id="LC17577" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17578" class="css-a4x74f"><span>17578</span></td><td id="LC17578" class="css-1dcdqdg"><code> <span class="code-string">"CSS Inline"</span> </code></td></tr><tr><td id="L17579" class="css-a4x74f"><span>17579</span></td><td id="LC17579" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17580" class="css-a4x74f"><span>17580</span></td><td id="LC17580" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17581" class="css-a4x74f"><span>17581</span></td><td id="LC17581" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"firstLetterPseudoElementsAndInlineLevelFirstChildren"</span>, </code></td></tr><tr><td id="L17582" class="css-a4x74f"><span>17582</span></td><td id="LC17582" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17583" class="css-a4x74f"><span>17583</span></td><td id="LC17583" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17584" class="css-a4x74f"><span>17584</span></td><td id="LC17584" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L17585" class="css-a4x74f"><span>17585</span></td><td id="LC17585" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/initial-letter"</span> </code></td></tr><tr><td id="L17586" class="css-a4x74f"><span>17586</span></td><td id="LC17586" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17587" class="css-a4x74f"><span>17587</span></td><td id="LC17587" class="css-1dcdqdg"><code> <span class="code-string">"initial-letter-align"</span>: { </code></td></tr><tr><td id="L17588" class="css-a4x74f"><span>17588</span></td><td id="LC17588" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | alphabetic | hanging | ideographic ]"</span>, </code></td></tr><tr><td id="L17589" class="css-a4x74f"><span>17589</span></td><td id="LC17589" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17590" class="css-a4x74f"><span>17590</span></td><td id="LC17590" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17591" class="css-a4x74f"><span>17591</span></td><td id="LC17591" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17592" class="css-a4x74f"><span>17592</span></td><td id="LC17592" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17593" class="css-a4x74f"><span>17593</span></td><td id="LC17593" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17594" class="css-a4x74f"><span>17594</span></td><td id="LC17594" class="css-1dcdqdg"><code> <span class="code-string">"CSS Inline"</span> </code></td></tr><tr><td id="L17595" class="css-a4x74f"><span>17595</span></td><td id="LC17595" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17596" class="css-a4x74f"><span>17596</span></td><td id="LC17596" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17597" class="css-a4x74f"><span>17597</span></td><td id="LC17597" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"firstLetterPseudoElementsAndInlineLevelFirstChildren"</span>, </code></td></tr><tr><td id="L17598" class="css-a4x74f"><span>17598</span></td><td id="LC17598" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17599" class="css-a4x74f"><span>17599</span></td><td id="LC17599" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17600" class="css-a4x74f"><span>17600</span></td><td id="LC17600" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L17601" class="css-a4x74f"><span>17601</span></td><td id="LC17601" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align"</span> </code></td></tr><tr><td id="L17602" class="css-a4x74f"><span>17602</span></td><td id="LC17602" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17603" class="css-a4x74f"><span>17603</span></td><td id="LC17603" class="css-1dcdqdg"><code> <span class="code-string">"inline-size"</span>: { </code></td></tr><tr><td id="L17604" class="css-a4x74f"><span>17604</span></td><td id="LC17604" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'width'>"</span>, </code></td></tr><tr><td id="L17605" class="css-a4x74f"><span>17605</span></td><td id="LC17605" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17606" class="css-a4x74f"><span>17606</span></td><td id="LC17606" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17607" class="css-a4x74f"><span>17607</span></td><td id="LC17607" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17608" class="css-a4x74f"><span>17608</span></td><td id="LC17608" class="css-1dcdqdg"><code> percentages: <span class="code-string">"inlineSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L17609" class="css-a4x74f"><span>17609</span></td><td id="LC17609" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17610" class="css-a4x74f"><span>17610</span></td><td id="LC17610" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17611" class="css-a4x74f"><span>17611</span></td><td id="LC17611" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17612" class="css-a4x74f"><span>17612</span></td><td id="LC17612" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17613" class="css-a4x74f"><span>17613</span></td><td id="LC17613" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L17614" class="css-a4x74f"><span>17614</span></td><td id="LC17614" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L17615" class="css-a4x74f"><span>17615</span></td><td id="LC17615" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17616" class="css-a4x74f"><span>17616</span></td><td id="LC17616" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17617" class="css-a4x74f"><span>17617</span></td><td id="LC17617" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inline-size"</span> </code></td></tr><tr><td id="L17618" class="css-a4x74f"><span>17618</span></td><td id="LC17618" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17619" class="css-a4x74f"><span>17619</span></td><td id="LC17619" class="css-1dcdqdg"><code> inset: inset, </code></td></tr><tr><td id="L17620" class="css-a4x74f"><span>17620</span></td><td id="LC17620" class="css-1dcdqdg"><code> <span class="code-string">"inset-block"</span>: { </code></td></tr><tr><td id="L17621" class="css-a4x74f"><span>17621</span></td><td id="LC17621" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>{1,2}"</span>, </code></td></tr><tr><td id="L17622" class="css-a4x74f"><span>17622</span></td><td id="LC17622" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17623" class="css-a4x74f"><span>17623</span></td><td id="LC17623" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17624" class="css-a4x74f"><span>17624</span></td><td id="LC17624" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17625" class="css-a4x74f"><span>17625</span></td><td id="LC17625" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalHeightOfContainingBlock"</span>, </code></td></tr><tr><td id="L17626" class="css-a4x74f"><span>17626</span></td><td id="LC17626" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17627" class="css-a4x74f"><span>17627</span></td><td id="LC17627" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17628" class="css-a4x74f"><span>17628</span></td><td id="LC17628" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17629" class="css-a4x74f"><span>17629</span></td><td id="LC17629" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17630" class="css-a4x74f"><span>17630</span></td><td id="LC17630" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17631" class="css-a4x74f"><span>17631</span></td><td id="LC17631" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17632" class="css-a4x74f"><span>17632</span></td><td id="LC17632" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17633" class="css-a4x74f"><span>17633</span></td><td id="LC17633" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17634" class="css-a4x74f"><span>17634</span></td><td id="LC17634" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-block"</span> </code></td></tr><tr><td id="L17635" class="css-a4x74f"><span>17635</span></td><td id="LC17635" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17636" class="css-a4x74f"><span>17636</span></td><td id="LC17636" class="css-1dcdqdg"><code> <span class="code-string">"inset-block-end"</span>: { </code></td></tr><tr><td id="L17637" class="css-a4x74f"><span>17637</span></td><td id="LC17637" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>"</span>, </code></td></tr><tr><td id="L17638" class="css-a4x74f"><span>17638</span></td><td id="LC17638" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17639" class="css-a4x74f"><span>17639</span></td><td id="LC17639" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17640" class="css-a4x74f"><span>17640</span></td><td id="LC17640" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17641" class="css-a4x74f"><span>17641</span></td><td id="LC17641" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalHeightOfContainingBlock"</span>, </code></td></tr><tr><td id="L17642" class="css-a4x74f"><span>17642</span></td><td id="LC17642" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17643" class="css-a4x74f"><span>17643</span></td><td id="LC17643" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17644" class="css-a4x74f"><span>17644</span></td><td id="LC17644" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17645" class="css-a4x74f"><span>17645</span></td><td id="LC17645" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17646" class="css-a4x74f"><span>17646</span></td><td id="LC17646" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17647" class="css-a4x74f"><span>17647</span></td><td id="LC17647" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17648" class="css-a4x74f"><span>17648</span></td><td id="LC17648" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17649" class="css-a4x74f"><span>17649</span></td><td id="LC17649" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17650" class="css-a4x74f"><span>17650</span></td><td id="LC17650" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-block-end"</span> </code></td></tr><tr><td id="L17651" class="css-a4x74f"><span>17651</span></td><td id="LC17651" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17652" class="css-a4x74f"><span>17652</span></td><td id="LC17652" class="css-1dcdqdg"><code> <span class="code-string">"inset-block-start"</span>: { </code></td></tr><tr><td id="L17653" class="css-a4x74f"><span>17653</span></td><td id="LC17653" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>"</span>, </code></td></tr><tr><td id="L17654" class="css-a4x74f"><span>17654</span></td><td id="LC17654" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17655" class="css-a4x74f"><span>17655</span></td><td id="LC17655" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17656" class="css-a4x74f"><span>17656</span></td><td id="LC17656" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17657" class="css-a4x74f"><span>17657</span></td><td id="LC17657" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalHeightOfContainingBlock"</span>, </code></td></tr><tr><td id="L17658" class="css-a4x74f"><span>17658</span></td><td id="LC17658" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17659" class="css-a4x74f"><span>17659</span></td><td id="LC17659" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17660" class="css-a4x74f"><span>17660</span></td><td id="LC17660" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17661" class="css-a4x74f"><span>17661</span></td><td id="LC17661" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17662" class="css-a4x74f"><span>17662</span></td><td id="LC17662" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17663" class="css-a4x74f"><span>17663</span></td><td id="LC17663" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17664" class="css-a4x74f"><span>17664</span></td><td id="LC17664" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17665" class="css-a4x74f"><span>17665</span></td><td id="LC17665" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17666" class="css-a4x74f"><span>17666</span></td><td id="LC17666" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-block-start"</span> </code></td></tr><tr><td id="L17667" class="css-a4x74f"><span>17667</span></td><td id="LC17667" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17668" class="css-a4x74f"><span>17668</span></td><td id="LC17668" class="css-1dcdqdg"><code> <span class="code-string">"inset-inline"</span>: { </code></td></tr><tr><td id="L17669" class="css-a4x74f"><span>17669</span></td><td id="LC17669" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>{1,2}"</span>, </code></td></tr><tr><td id="L17670" class="css-a4x74f"><span>17670</span></td><td id="LC17670" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17671" class="css-a4x74f"><span>17671</span></td><td id="LC17671" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17672" class="css-a4x74f"><span>17672</span></td><td id="LC17672" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17673" class="css-a4x74f"><span>17673</span></td><td id="LC17673" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L17674" class="css-a4x74f"><span>17674</span></td><td id="LC17674" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17675" class="css-a4x74f"><span>17675</span></td><td id="LC17675" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17676" class="css-a4x74f"><span>17676</span></td><td id="LC17676" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17677" class="css-a4x74f"><span>17677</span></td><td id="LC17677" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17678" class="css-a4x74f"><span>17678</span></td><td id="LC17678" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17679" class="css-a4x74f"><span>17679</span></td><td id="LC17679" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17680" class="css-a4x74f"><span>17680</span></td><td id="LC17680" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17681" class="css-a4x74f"><span>17681</span></td><td id="LC17681" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17682" class="css-a4x74f"><span>17682</span></td><td id="LC17682" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-inline"</span> </code></td></tr><tr><td id="L17683" class="css-a4x74f"><span>17683</span></td><td id="LC17683" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17684" class="css-a4x74f"><span>17684</span></td><td id="LC17684" class="css-1dcdqdg"><code> <span class="code-string">"inset-inline-end"</span>: { </code></td></tr><tr><td id="L17685" class="css-a4x74f"><span>17685</span></td><td id="LC17685" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>"</span>, </code></td></tr><tr><td id="L17686" class="css-a4x74f"><span>17686</span></td><td id="LC17686" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17687" class="css-a4x74f"><span>17687</span></td><td id="LC17687" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17688" class="css-a4x74f"><span>17688</span></td><td id="LC17688" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17689" class="css-a4x74f"><span>17689</span></td><td id="LC17689" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L17690" class="css-a4x74f"><span>17690</span></td><td id="LC17690" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17691" class="css-a4x74f"><span>17691</span></td><td id="LC17691" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17692" class="css-a4x74f"><span>17692</span></td><td id="LC17692" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17693" class="css-a4x74f"><span>17693</span></td><td id="LC17693" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17694" class="css-a4x74f"><span>17694</span></td><td id="LC17694" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17695" class="css-a4x74f"><span>17695</span></td><td id="LC17695" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17696" class="css-a4x74f"><span>17696</span></td><td id="LC17696" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17697" class="css-a4x74f"><span>17697</span></td><td id="LC17697" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17698" class="css-a4x74f"><span>17698</span></td><td id="LC17698" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end"</span> </code></td></tr><tr><td id="L17699" class="css-a4x74f"><span>17699</span></td><td id="LC17699" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17700" class="css-a4x74f"><span>17700</span></td><td id="LC17700" class="css-1dcdqdg"><code> <span class="code-string">"inset-inline-start"</span>: { </code></td></tr><tr><td id="L17701" class="css-a4x74f"><span>17701</span></td><td id="LC17701" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'top'>"</span>, </code></td></tr><tr><td id="L17702" class="css-a4x74f"><span>17702</span></td><td id="LC17702" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17703" class="css-a4x74f"><span>17703</span></td><td id="LC17703" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17704" class="css-a4x74f"><span>17704</span></td><td id="LC17704" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L17705" class="css-a4x74f"><span>17705</span></td><td id="LC17705" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L17706" class="css-a4x74f"><span>17706</span></td><td id="LC17706" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17707" class="css-a4x74f"><span>17707</span></td><td id="LC17707" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17708" class="css-a4x74f"><span>17708</span></td><td id="LC17708" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17709" class="css-a4x74f"><span>17709</span></td><td id="LC17709" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17710" class="css-a4x74f"><span>17710</span></td><td id="LC17710" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L17711" class="css-a4x74f"><span>17711</span></td><td id="LC17711" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsBoxOffsets"</span>, </code></td></tr><tr><td id="L17712" class="css-a4x74f"><span>17712</span></td><td id="LC17712" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17713" class="css-a4x74f"><span>17713</span></td><td id="LC17713" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17714" class="css-a4x74f"><span>17714</span></td><td id="LC17714" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start"</span> </code></td></tr><tr><td id="L17715" class="css-a4x74f"><span>17715</span></td><td id="LC17715" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17716" class="css-a4x74f"><span>17716</span></td><td id="LC17716" class="css-1dcdqdg"><code> isolation: isolation, </code></td></tr><tr><td id="L17717" class="css-a4x74f"><span>17717</span></td><td id="LC17717" class="css-1dcdqdg"><code> <span class="code-string">"justify-content"</span>: { </code></td></tr><tr><td id="L17718" class="css-a4x74f"><span>17718</span></td><td id="LC17718" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]"</span>, </code></td></tr><tr><td id="L17719" class="css-a4x74f"><span>17719</span></td><td id="LC17719" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17720" class="css-a4x74f"><span>17720</span></td><td id="LC17720" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17721" class="css-a4x74f"><span>17721</span></td><td id="LC17721" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17722" class="css-a4x74f"><span>17722</span></td><td id="LC17722" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17723" class="css-a4x74f"><span>17723</span></td><td id="LC17723" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17724" class="css-a4x74f"><span>17724</span></td><td id="LC17724" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L17725" class="css-a4x74f"><span>17725</span></td><td id="LC17725" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17726" class="css-a4x74f"><span>17726</span></td><td id="LC17726" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17727" class="css-a4x74f"><span>17727</span></td><td id="LC17727" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"flexContainers"</span>, </code></td></tr><tr><td id="L17728" class="css-a4x74f"><span>17728</span></td><td id="LC17728" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17729" class="css-a4x74f"><span>17729</span></td><td id="LC17729" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17730" class="css-a4x74f"><span>17730</span></td><td id="LC17730" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17731" class="css-a4x74f"><span>17731</span></td><td id="LC17731" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/justify-content"</span> </code></td></tr><tr><td id="L17732" class="css-a4x74f"><span>17732</span></td><td id="LC17732" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17733" class="css-a4x74f"><span>17733</span></td><td id="LC17733" class="css-1dcdqdg"><code> <span class="code-string">"justify-items"</span>: { </code></td></tr><tr><td id="L17734" class="css-a4x74f"><span>17734</span></td><td id="LC17734" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]"</span>, </code></td></tr><tr><td id="L17735" class="css-a4x74f"><span>17735</span></td><td id="LC17735" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17736" class="css-a4x74f"><span>17736</span></td><td id="LC17736" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17737" class="css-a4x74f"><span>17737</span></td><td id="LC17737" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17738" class="css-a4x74f"><span>17738</span></td><td id="LC17738" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17739" class="css-a4x74f"><span>17739</span></td><td id="LC17739" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17740" class="css-a4x74f"><span>17740</span></td><td id="LC17740" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L17741" class="css-a4x74f"><span>17741</span></td><td id="LC17741" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17742" class="css-a4x74f"><span>17742</span></td><td id="LC17742" class="css-1dcdqdg"><code> initial: <span class="code-string">"legacy"</span>, </code></td></tr><tr><td id="L17743" class="css-a4x74f"><span>17743</span></td><td id="LC17743" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17744" class="css-a4x74f"><span>17744</span></td><td id="LC17744" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17745" class="css-a4x74f"><span>17745</span></td><td id="LC17745" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L17746" class="css-a4x74f"><span>17746</span></td><td id="LC17746" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17747" class="css-a4x74f"><span>17747</span></td><td id="LC17747" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/justify-items"</span> </code></td></tr><tr><td id="L17748" class="css-a4x74f"><span>17748</span></td><td id="LC17748" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17749" class="css-a4x74f"><span>17749</span></td><td id="LC17749" class="css-1dcdqdg"><code> <span class="code-string">"justify-self"</span>: { </code></td></tr><tr><td id="L17750" class="css-a4x74f"><span>17750</span></td><td id="LC17750" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]"</span>, </code></td></tr><tr><td id="L17751" class="css-a4x74f"><span>17751</span></td><td id="LC17751" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17752" class="css-a4x74f"><span>17752</span></td><td id="LC17752" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17753" class="css-a4x74f"><span>17753</span></td><td id="LC17753" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17754" class="css-a4x74f"><span>17754</span></td><td id="LC17754" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17755" class="css-a4x74f"><span>17755</span></td><td id="LC17755" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17756" class="css-a4x74f"><span>17756</span></td><td id="LC17756" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L17757" class="css-a4x74f"><span>17757</span></td><td id="LC17757" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17758" class="css-a4x74f"><span>17758</span></td><td id="LC17758" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17759" class="css-a4x74f"><span>17759</span></td><td id="LC17759" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems"</span>, </code></td></tr><tr><td id="L17760" class="css-a4x74f"><span>17760</span></td><td id="LC17760" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17761" class="css-a4x74f"><span>17761</span></td><td id="LC17761" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17762" class="css-a4x74f"><span>17762</span></td><td id="LC17762" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17763" class="css-a4x74f"><span>17763</span></td><td id="LC17763" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/justify-self"</span> </code></td></tr><tr><td id="L17764" class="css-a4x74f"><span>17764</span></td><td id="LC17764" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17765" class="css-a4x74f"><span>17765</span></td><td id="LC17765" class="css-1dcdqdg"><code> left: left, </code></td></tr><tr><td id="L17766" class="css-a4x74f"><span>17766</span></td><td id="LC17766" class="css-1dcdqdg"><code> <span class="code-string">"letter-spacing"</span>: { </code></td></tr><tr><td id="L17767" class="css-a4x74f"><span>17767</span></td><td id="LC17767" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <length>"</span>, </code></td></tr><tr><td id="L17768" class="css-a4x74f"><span>17768</span></td><td id="LC17768" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17769" class="css-a4x74f"><span>17769</span></td><td id="LC17769" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17770" class="css-a4x74f"><span>17770</span></td><td id="LC17770" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L17771" class="css-a4x74f"><span>17771</span></td><td id="LC17771" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17772" class="css-a4x74f"><span>17772</span></td><td id="LC17772" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17773" class="css-a4x74f"><span>17773</span></td><td id="LC17773" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L17774" class="css-a4x74f"><span>17774</span></td><td id="LC17774" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17775" class="css-a4x74f"><span>17775</span></td><td id="LC17775" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17776" class="css-a4x74f"><span>17776</span></td><td id="LC17776" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17777" class="css-a4x74f"><span>17777</span></td><td id="LC17777" class="css-1dcdqdg"><code> computed: <span class="code-string">"optimumValueOfAbsoluteLengthOrNormal"</span>, </code></td></tr><tr><td id="L17778" class="css-a4x74f"><span>17778</span></td><td id="LC17778" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17779" class="css-a4x74f"><span>17779</span></td><td id="LC17779" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17780" class="css-a4x74f"><span>17780</span></td><td id="LC17780" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17781" class="css-a4x74f"><span>17781</span></td><td id="LC17781" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span> </code></td></tr><tr><td id="L17782" class="css-a4x74f"><span>17782</span></td><td id="LC17782" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17783" class="css-a4x74f"><span>17783</span></td><td id="LC17783" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17784" class="css-a4x74f"><span>17784</span></td><td id="LC17784" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/letter-spacing"</span> </code></td></tr><tr><td id="L17785" class="css-a4x74f"><span>17785</span></td><td id="LC17785" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17786" class="css-a4x74f"><span>17786</span></td><td id="LC17786" class="css-1dcdqdg"><code> <span class="code-string">"line-break"</span>: { </code></td></tr><tr><td id="L17787" class="css-a4x74f"><span>17787</span></td><td id="LC17787" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | loose | normal | strict | anywhere"</span>, </code></td></tr><tr><td id="L17788" class="css-a4x74f"><span>17788</span></td><td id="LC17788" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17789" class="css-a4x74f"><span>17789</span></td><td id="LC17789" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17790" class="css-a4x74f"><span>17790</span></td><td id="LC17790" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17791" class="css-a4x74f"><span>17791</span></td><td id="LC17791" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17792" class="css-a4x74f"><span>17792</span></td><td id="LC17792" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17793" class="css-a4x74f"><span>17793</span></td><td id="LC17793" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L17794" class="css-a4x74f"><span>17794</span></td><td id="LC17794" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17795" class="css-a4x74f"><span>17795</span></td><td id="LC17795" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L17796" class="css-a4x74f"><span>17796</span></td><td id="LC17796" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17797" class="css-a4x74f"><span>17797</span></td><td id="LC17797" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17798" class="css-a4x74f"><span>17798</span></td><td id="LC17798" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17799" class="css-a4x74f"><span>17799</span></td><td id="LC17799" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17800" class="css-a4x74f"><span>17800</span></td><td id="LC17800" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/line-break"</span> </code></td></tr><tr><td id="L17801" class="css-a4x74f"><span>17801</span></td><td id="LC17801" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17802" class="css-a4x74f"><span>17802</span></td><td id="LC17802" class="css-1dcdqdg"><code> <span class="code-string">"line-clamp"</span>: { </code></td></tr><tr><td id="L17803" class="css-a4x74f"><span>17803</span></td><td id="LC17803" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <integer>"</span>, </code></td></tr><tr><td id="L17804" class="css-a4x74f"><span>17804</span></td><td id="LC17804" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17805" class="css-a4x74f"><span>17805</span></td><td id="LC17805" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17806" class="css-a4x74f"><span>17806</span></td><td id="LC17806" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L17807" class="css-a4x74f"><span>17807</span></td><td id="LC17807" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17808" class="css-a4x74f"><span>17808</span></td><td id="LC17808" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17809" class="css-a4x74f"><span>17809</span></td><td id="LC17809" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L17810" class="css-a4x74f"><span>17810</span></td><td id="LC17810" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17811" class="css-a4x74f"><span>17811</span></td><td id="LC17811" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17812" class="css-a4x74f"><span>17812</span></td><td id="LC17812" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersExceptMultiColumnContainers"</span>, </code></td></tr><tr><td id="L17813" class="css-a4x74f"><span>17813</span></td><td id="LC17813" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17814" class="css-a4x74f"><span>17814</span></td><td id="LC17814" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L17815" class="css-a4x74f"><span>17815</span></td><td id="LC17815" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L17816" class="css-a4x74f"><span>17816</span></td><td id="LC17816" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17817" class="css-a4x74f"><span>17817</span></td><td id="LC17817" class="css-1dcdqdg"><code> <span class="code-string">"line-height"</span>: { </code></td></tr><tr><td id="L17818" class="css-a4x74f"><span>17818</span></td><td id="LC17818" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <number> | <length> | <percentage>"</span>, </code></td></tr><tr><td id="L17819" class="css-a4x74f"><span>17819</span></td><td id="LC17819" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17820" class="css-a4x74f"><span>17820</span></td><td id="LC17820" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17821" class="css-a4x74f"><span>17821</span></td><td id="LC17821" class="css-1dcdqdg"><code> animationType: <span class="code-string">"numberOrLength"</span>, </code></td></tr><tr><td id="L17822" class="css-a4x74f"><span>17822</span></td><td id="LC17822" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToElementFontSize"</span>, </code></td></tr><tr><td id="L17823" class="css-a4x74f"><span>17823</span></td><td id="LC17823" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17824" class="css-a4x74f"><span>17824</span></td><td id="LC17824" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17825" class="css-a4x74f"><span>17825</span></td><td id="LC17825" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17826" class="css-a4x74f"><span>17826</span></td><td id="LC17826" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L17827" class="css-a4x74f"><span>17827</span></td><td id="LC17827" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L17828" class="css-a4x74f"><span>17828</span></td><td id="LC17828" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrAsSpecified"</span>, </code></td></tr><tr><td id="L17829" class="css-a4x74f"><span>17829</span></td><td id="LC17829" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17830" class="css-a4x74f"><span>17830</span></td><td id="LC17830" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17831" class="css-a4x74f"><span>17831</span></td><td id="LC17831" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L17832" class="css-a4x74f"><span>17832</span></td><td id="LC17832" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L17833" class="css-a4x74f"><span>17833</span></td><td id="LC17833" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L17834" class="css-a4x74f"><span>17834</span></td><td id="LC17834" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17835" class="css-a4x74f"><span>17835</span></td><td id="LC17835" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17836" class="css-a4x74f"><span>17836</span></td><td id="LC17836" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/line-height"</span> </code></td></tr><tr><td id="L17837" class="css-a4x74f"><span>17837</span></td><td id="LC17837" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17838" class="css-a4x74f"><span>17838</span></td><td id="LC17838" class="css-1dcdqdg"><code> <span class="code-string">"line-height-step"</span>: { </code></td></tr><tr><td id="L17839" class="css-a4x74f"><span>17839</span></td><td id="LC17839" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L17840" class="css-a4x74f"><span>17840</span></td><td id="LC17840" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17841" class="css-a4x74f"><span>17841</span></td><td id="LC17841" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17842" class="css-a4x74f"><span>17842</span></td><td id="LC17842" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17843" class="css-a4x74f"><span>17843</span></td><td id="LC17843" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17844" class="css-a4x74f"><span>17844</span></td><td id="LC17844" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17845" class="css-a4x74f"><span>17845</span></td><td id="LC17845" class="css-1dcdqdg"><code> <span class="code-string">"CSS Fonts"</span> </code></td></tr><tr><td id="L17846" class="css-a4x74f"><span>17846</span></td><td id="LC17846" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17847" class="css-a4x74f"><span>17847</span></td><td id="LC17847" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17848" class="css-a4x74f"><span>17848</span></td><td id="LC17848" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L17849" class="css-a4x74f"><span>17849</span></td><td id="LC17849" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLength"</span>, </code></td></tr><tr><td id="L17850" class="css-a4x74f"><span>17850</span></td><td id="LC17850" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L17851" class="css-a4x74f"><span>17851</span></td><td id="LC17851" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L17852" class="css-a4x74f"><span>17852</span></td><td id="LC17852" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/line-height-step"</span> </code></td></tr><tr><td id="L17853" class="css-a4x74f"><span>17853</span></td><td id="LC17853" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17854" class="css-a4x74f"><span>17854</span></td><td id="LC17854" class="css-1dcdqdg"><code> <span class="code-string">"list-style"</span>: { </code></td></tr><tr><td id="L17855" class="css-a4x74f"><span>17855</span></td><td id="LC17855" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'list-style-type'> || <'list-style-position'> || <'list-style-image'>"</span>, </code></td></tr><tr><td id="L17856" class="css-a4x74f"><span>17856</span></td><td id="LC17856" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17857" class="css-a4x74f"><span>17857</span></td><td id="LC17857" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17858" class="css-a4x74f"><span>17858</span></td><td id="LC17858" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17859" class="css-a4x74f"><span>17859</span></td><td id="LC17859" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17860" class="css-a4x74f"><span>17860</span></td><td id="LC17860" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17861" class="css-a4x74f"><span>17861</span></td><td id="LC17861" class="css-1dcdqdg"><code> <span class="code-string">"CSS Lists and Counters"</span> </code></td></tr><tr><td id="L17862" class="css-a4x74f"><span>17862</span></td><td id="LC17862" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17863" class="css-a4x74f"><span>17863</span></td><td id="LC17863" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L17864" class="css-a4x74f"><span>17864</span></td><td id="LC17864" class="css-1dcdqdg"><code> <span class="code-string">"list-style-type"</span>, </code></td></tr><tr><td id="L17865" class="css-a4x74f"><span>17865</span></td><td id="LC17865" class="css-1dcdqdg"><code> <span class="code-string">"list-style-position"</span>, </code></td></tr><tr><td id="L17866" class="css-a4x74f"><span>17866</span></td><td id="LC17866" class="css-1dcdqdg"><code> <span class="code-string">"list-style-image"</span> </code></td></tr><tr><td id="L17867" class="css-a4x74f"><span>17867</span></td><td id="LC17867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17868" class="css-a4x74f"><span>17868</span></td><td id="LC17868" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"listItems"</span>, </code></td></tr><tr><td id="L17869" class="css-a4x74f"><span>17869</span></td><td id="LC17869" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L17870" class="css-a4x74f"><span>17870</span></td><td id="LC17870" class="css-1dcdqdg"><code> <span class="code-string">"list-style-image"</span>, </code></td></tr><tr><td id="L17871" class="css-a4x74f"><span>17871</span></td><td id="LC17871" class="css-1dcdqdg"><code> <span class="code-string">"list-style-position"</span>, </code></td></tr><tr><td id="L17872" class="css-a4x74f"><span>17872</span></td><td id="LC17872" class="css-1dcdqdg"><code> <span class="code-string">"list-style-type"</span> </code></td></tr><tr><td id="L17873" class="css-a4x74f"><span>17873</span></td><td id="LC17873" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17874" class="css-a4x74f"><span>17874</span></td><td id="LC17874" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L17875" class="css-a4x74f"><span>17875</span></td><td id="LC17875" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17876" class="css-a4x74f"><span>17876</span></td><td id="LC17876" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/list-style"</span> </code></td></tr><tr><td id="L17877" class="css-a4x74f"><span>17877</span></td><td id="LC17877" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17878" class="css-a4x74f"><span>17878</span></td><td id="LC17878" class="css-1dcdqdg"><code> <span class="code-string">"list-style-image"</span>: { </code></td></tr><tr><td id="L17879" class="css-a4x74f"><span>17879</span></td><td id="LC17879" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> | none"</span>, </code></td></tr><tr><td id="L17880" class="css-a4x74f"><span>17880</span></td><td id="LC17880" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17881" class="css-a4x74f"><span>17881</span></td><td id="LC17881" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17882" class="css-a4x74f"><span>17882</span></td><td id="LC17882" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17883" class="css-a4x74f"><span>17883</span></td><td id="LC17883" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17884" class="css-a4x74f"><span>17884</span></td><td id="LC17884" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17885" class="css-a4x74f"><span>17885</span></td><td id="LC17885" class="css-1dcdqdg"><code> <span class="code-string">"CSS Lists and Counters"</span> </code></td></tr><tr><td id="L17886" class="css-a4x74f"><span>17886</span></td><td id="LC17886" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17887" class="css-a4x74f"><span>17887</span></td><td id="LC17887" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L17888" class="css-a4x74f"><span>17888</span></td><td id="LC17888" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"listItems"</span>, </code></td></tr><tr><td id="L17889" class="css-a4x74f"><span>17889</span></td><td id="LC17889" class="css-1dcdqdg"><code> computed: <span class="code-string">"noneOrImageWithAbsoluteURI"</span>, </code></td></tr><tr><td id="L17890" class="css-a4x74f"><span>17890</span></td><td id="LC17890" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17891" class="css-a4x74f"><span>17891</span></td><td id="LC17891" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17892" class="css-a4x74f"><span>17892</span></td><td id="LC17892" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/list-style-image"</span> </code></td></tr><tr><td id="L17893" class="css-a4x74f"><span>17893</span></td><td id="LC17893" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17894" class="css-a4x74f"><span>17894</span></td><td id="LC17894" class="css-1dcdqdg"><code> <span class="code-string">"list-style-position"</span>: { </code></td></tr><tr><td id="L17895" class="css-a4x74f"><span>17895</span></td><td id="LC17895" class="css-1dcdqdg"><code> syntax: <span class="code-string">"inside | outside"</span>, </code></td></tr><tr><td id="L17896" class="css-a4x74f"><span>17896</span></td><td id="LC17896" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17897" class="css-a4x74f"><span>17897</span></td><td id="LC17897" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17898" class="css-a4x74f"><span>17898</span></td><td id="LC17898" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17899" class="css-a4x74f"><span>17899</span></td><td id="LC17899" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17900" class="css-a4x74f"><span>17900</span></td><td id="LC17900" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17901" class="css-a4x74f"><span>17901</span></td><td id="LC17901" class="css-1dcdqdg"><code> <span class="code-string">"CSS Lists and Counters"</span> </code></td></tr><tr><td id="L17902" class="css-a4x74f"><span>17902</span></td><td id="LC17902" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17903" class="css-a4x74f"><span>17903</span></td><td id="LC17903" class="css-1dcdqdg"><code> initial: <span class="code-string">"outside"</span>, </code></td></tr><tr><td id="L17904" class="css-a4x74f"><span>17904</span></td><td id="LC17904" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"listItems"</span>, </code></td></tr><tr><td id="L17905" class="css-a4x74f"><span>17905</span></td><td id="LC17905" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17906" class="css-a4x74f"><span>17906</span></td><td id="LC17906" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17907" class="css-a4x74f"><span>17907</span></td><td id="LC17907" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17908" class="css-a4x74f"><span>17908</span></td><td id="LC17908" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/list-style-position"</span> </code></td></tr><tr><td id="L17909" class="css-a4x74f"><span>17909</span></td><td id="LC17909" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17910" class="css-a4x74f"><span>17910</span></td><td id="LC17910" class="css-1dcdqdg"><code> <span class="code-string">"list-style-type"</span>: { </code></td></tr><tr><td id="L17911" class="css-a4x74f"><span>17911</span></td><td id="LC17911" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<counter-style> | <string> | none"</span>, </code></td></tr><tr><td id="L17912" class="css-a4x74f"><span>17912</span></td><td id="LC17912" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17913" class="css-a4x74f"><span>17913</span></td><td id="LC17913" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L17914" class="css-a4x74f"><span>17914</span></td><td id="LC17914" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17915" class="css-a4x74f"><span>17915</span></td><td id="LC17915" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L17916" class="css-a4x74f"><span>17916</span></td><td id="LC17916" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17917" class="css-a4x74f"><span>17917</span></td><td id="LC17917" class="css-1dcdqdg"><code> <span class="code-string">"CSS Lists and Counters"</span> </code></td></tr><tr><td id="L17918" class="css-a4x74f"><span>17918</span></td><td id="LC17918" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17919" class="css-a4x74f"><span>17919</span></td><td id="LC17919" class="css-1dcdqdg"><code> initial: <span class="code-string">"disc"</span>, </code></td></tr><tr><td id="L17920" class="css-a4x74f"><span>17920</span></td><td id="LC17920" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"listItems"</span>, </code></td></tr><tr><td id="L17921" class="css-a4x74f"><span>17921</span></td><td id="LC17921" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L17922" class="css-a4x74f"><span>17922</span></td><td id="LC17922" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17923" class="css-a4x74f"><span>17923</span></td><td id="LC17923" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17924" class="css-a4x74f"><span>17924</span></td><td id="LC17924" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/list-style-type"</span> </code></td></tr><tr><td id="L17925" class="css-a4x74f"><span>17925</span></td><td id="LC17925" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17926" class="css-a4x74f"><span>17926</span></td><td id="LC17926" class="css-1dcdqdg"><code> margin: margin, </code></td></tr><tr><td id="L17927" class="css-a4x74f"><span>17927</span></td><td id="LC17927" class="css-1dcdqdg"><code> <span class="code-string">"margin-block"</span>: { </code></td></tr><tr><td id="L17928" class="css-a4x74f"><span>17928</span></td><td id="LC17928" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>{1,2}"</span>, </code></td></tr><tr><td id="L17929" class="css-a4x74f"><span>17929</span></td><td id="LC17929" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17930" class="css-a4x74f"><span>17930</span></td><td id="LC17930" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17931" class="css-a4x74f"><span>17931</span></td><td id="LC17931" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17932" class="css-a4x74f"><span>17932</span></td><td id="LC17932" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L17933" class="css-a4x74f"><span>17933</span></td><td id="LC17933" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17934" class="css-a4x74f"><span>17934</span></td><td id="LC17934" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17935" class="css-a4x74f"><span>17935</span></td><td id="LC17935" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17936" class="css-a4x74f"><span>17936</span></td><td id="LC17936" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17937" class="css-a4x74f"><span>17937</span></td><td id="LC17937" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L17938" class="css-a4x74f"><span>17938</span></td><td id="LC17938" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L17939" class="css-a4x74f"><span>17939</span></td><td id="LC17939" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17940" class="css-a4x74f"><span>17940</span></td><td id="LC17940" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17941" class="css-a4x74f"><span>17941</span></td><td id="LC17941" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-block"</span> </code></td></tr><tr><td id="L17942" class="css-a4x74f"><span>17942</span></td><td id="LC17942" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17943" class="css-a4x74f"><span>17943</span></td><td id="LC17943" class="css-1dcdqdg"><code> <span class="code-string">"margin-block-end"</span>: { </code></td></tr><tr><td id="L17944" class="css-a4x74f"><span>17944</span></td><td id="LC17944" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>"</span>, </code></td></tr><tr><td id="L17945" class="css-a4x74f"><span>17945</span></td><td id="LC17945" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17946" class="css-a4x74f"><span>17946</span></td><td id="LC17946" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17947" class="css-a4x74f"><span>17947</span></td><td id="LC17947" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17948" class="css-a4x74f"><span>17948</span></td><td id="LC17948" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L17949" class="css-a4x74f"><span>17949</span></td><td id="LC17949" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17950" class="css-a4x74f"><span>17950</span></td><td id="LC17950" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17951" class="css-a4x74f"><span>17951</span></td><td id="LC17951" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17952" class="css-a4x74f"><span>17952</span></td><td id="LC17952" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17953" class="css-a4x74f"><span>17953</span></td><td id="LC17953" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L17954" class="css-a4x74f"><span>17954</span></td><td id="LC17954" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L17955" class="css-a4x74f"><span>17955</span></td><td id="LC17955" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17956" class="css-a4x74f"><span>17956</span></td><td id="LC17956" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17957" class="css-a4x74f"><span>17957</span></td><td id="LC17957" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-block-end"</span> </code></td></tr><tr><td id="L17958" class="css-a4x74f"><span>17958</span></td><td id="LC17958" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17959" class="css-a4x74f"><span>17959</span></td><td id="LC17959" class="css-1dcdqdg"><code> <span class="code-string">"margin-block-start"</span>: { </code></td></tr><tr><td id="L17960" class="css-a4x74f"><span>17960</span></td><td id="LC17960" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>"</span>, </code></td></tr><tr><td id="L17961" class="css-a4x74f"><span>17961</span></td><td id="LC17961" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17962" class="css-a4x74f"><span>17962</span></td><td id="LC17962" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17963" class="css-a4x74f"><span>17963</span></td><td id="LC17963" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17964" class="css-a4x74f"><span>17964</span></td><td id="LC17964" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L17965" class="css-a4x74f"><span>17965</span></td><td id="LC17965" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17966" class="css-a4x74f"><span>17966</span></td><td id="LC17966" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L17967" class="css-a4x74f"><span>17967</span></td><td id="LC17967" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17968" class="css-a4x74f"><span>17968</span></td><td id="LC17968" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17969" class="css-a4x74f"><span>17969</span></td><td id="LC17969" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L17970" class="css-a4x74f"><span>17970</span></td><td id="LC17970" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L17971" class="css-a4x74f"><span>17971</span></td><td id="LC17971" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17972" class="css-a4x74f"><span>17972</span></td><td id="LC17972" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17973" class="css-a4x74f"><span>17973</span></td><td id="LC17973" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-block-start"</span> </code></td></tr><tr><td id="L17974" class="css-a4x74f"><span>17974</span></td><td id="LC17974" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17975" class="css-a4x74f"><span>17975</span></td><td id="LC17975" class="css-1dcdqdg"><code> <span class="code-string">"margin-bottom"</span>: { </code></td></tr><tr><td id="L17976" class="css-a4x74f"><span>17976</span></td><td id="LC17976" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L17977" class="css-a4x74f"><span>17977</span></td><td id="LC17977" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17978" class="css-a4x74f"><span>17978</span></td><td id="LC17978" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17979" class="css-a4x74f"><span>17979</span></td><td id="LC17979" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L17980" class="css-a4x74f"><span>17980</span></td><td id="LC17980" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L17981" class="css-a4x74f"><span>17981</span></td><td id="LC17981" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L17982" class="css-a4x74f"><span>17982</span></td><td id="LC17982" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L17983" class="css-a4x74f"><span>17983</span></td><td id="LC17983" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17984" class="css-a4x74f"><span>17984</span></td><td id="LC17984" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L17985" class="css-a4x74f"><span>17985</span></td><td id="LC17985" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableDisplayTypes"</span>, </code></td></tr><tr><td id="L17986" class="css-a4x74f"><span>17986</span></td><td id="LC17986" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L17987" class="css-a4x74f"><span>17987</span></td><td id="LC17987" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L17988" class="css-a4x74f"><span>17988</span></td><td id="LC17988" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L17989" class="css-a4x74f"><span>17989</span></td><td id="LC17989" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L17990" class="css-a4x74f"><span>17990</span></td><td id="LC17990" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L17991" class="css-a4x74f"><span>17991</span></td><td id="LC17991" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L17992" class="css-a4x74f"><span>17992</span></td><td id="LC17992" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-bottom"</span> </code></td></tr><tr><td id="L17993" class="css-a4x74f"><span>17993</span></td><td id="LC17993" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L17994" class="css-a4x74f"><span>17994</span></td><td id="LC17994" class="css-1dcdqdg"><code> <span class="code-string">"margin-inline"</span>: { </code></td></tr><tr><td id="L17995" class="css-a4x74f"><span>17995</span></td><td id="LC17995" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>{1,2}"</span>, </code></td></tr><tr><td id="L17996" class="css-a4x74f"><span>17996</span></td><td id="LC17996" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L17997" class="css-a4x74f"><span>17997</span></td><td id="LC17997" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L17998" class="css-a4x74f"><span>17998</span></td><td id="LC17998" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L17999" class="css-a4x74f"><span>17999</span></td><td id="LC17999" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L18000" class="css-a4x74f"><span>18000</span></td><td id="LC18000" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18001" class="css-a4x74f"><span>18001</span></td><td id="LC18001" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18002" class="css-a4x74f"><span>18002</span></td><td id="LC18002" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18003" class="css-a4x74f"><span>18003</span></td><td id="LC18003" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18004" class="css-a4x74f"><span>18004</span></td><td id="LC18004" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L18005" class="css-a4x74f"><span>18005</span></td><td id="LC18005" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L18006" class="css-a4x74f"><span>18006</span></td><td id="LC18006" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18007" class="css-a4x74f"><span>18007</span></td><td id="LC18007" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18008" class="css-a4x74f"><span>18008</span></td><td id="LC18008" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-inline"</span> </code></td></tr><tr><td id="L18009" class="css-a4x74f"><span>18009</span></td><td id="LC18009" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18010" class="css-a4x74f"><span>18010</span></td><td id="LC18010" class="css-1dcdqdg"><code> <span class="code-string">"margin-inline-end"</span>: { </code></td></tr><tr><td id="L18011" class="css-a4x74f"><span>18011</span></td><td id="LC18011" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>"</span>, </code></td></tr><tr><td id="L18012" class="css-a4x74f"><span>18012</span></td><td id="LC18012" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18013" class="css-a4x74f"><span>18013</span></td><td id="LC18013" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18014" class="css-a4x74f"><span>18014</span></td><td id="LC18014" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18015" class="css-a4x74f"><span>18015</span></td><td id="LC18015" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L18016" class="css-a4x74f"><span>18016</span></td><td id="LC18016" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18017" class="css-a4x74f"><span>18017</span></td><td id="LC18017" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18018" class="css-a4x74f"><span>18018</span></td><td id="LC18018" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18019" class="css-a4x74f"><span>18019</span></td><td id="LC18019" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18020" class="css-a4x74f"><span>18020</span></td><td id="LC18020" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L18021" class="css-a4x74f"><span>18021</span></td><td id="LC18021" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L18022" class="css-a4x74f"><span>18022</span></td><td id="LC18022" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18023" class="css-a4x74f"><span>18023</span></td><td id="LC18023" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18024" class="css-a4x74f"><span>18024</span></td><td id="LC18024" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end"</span> </code></td></tr><tr><td id="L18025" class="css-a4x74f"><span>18025</span></td><td id="LC18025" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18026" class="css-a4x74f"><span>18026</span></td><td id="LC18026" class="css-1dcdqdg"><code> <span class="code-string">"margin-inline-start"</span>: { </code></td></tr><tr><td id="L18027" class="css-a4x74f"><span>18027</span></td><td id="LC18027" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'margin-left'>"</span>, </code></td></tr><tr><td id="L18028" class="css-a4x74f"><span>18028</span></td><td id="LC18028" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18029" class="css-a4x74f"><span>18029</span></td><td id="LC18029" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18030" class="css-a4x74f"><span>18030</span></td><td id="LC18030" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18031" class="css-a4x74f"><span>18031</span></td><td id="LC18031" class="css-1dcdqdg"><code> percentages: <span class="code-string">"dependsOnLayoutModel"</span>, </code></td></tr><tr><td id="L18032" class="css-a4x74f"><span>18032</span></td><td id="LC18032" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18033" class="css-a4x74f"><span>18033</span></td><td id="LC18033" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18034" class="css-a4x74f"><span>18034</span></td><td id="LC18034" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18035" class="css-a4x74f"><span>18035</span></td><td id="LC18035" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18036" class="css-a4x74f"><span>18036</span></td><td id="LC18036" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsMargin"</span>, </code></td></tr><tr><td id="L18037" class="css-a4x74f"><span>18037</span></td><td id="LC18037" class="css-1dcdqdg"><code> computed: <span class="code-string">"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto"</span>, </code></td></tr><tr><td id="L18038" class="css-a4x74f"><span>18038</span></td><td id="LC18038" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18039" class="css-a4x74f"><span>18039</span></td><td id="LC18039" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18040" class="css-a4x74f"><span>18040</span></td><td id="LC18040" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start"</span> </code></td></tr><tr><td id="L18041" class="css-a4x74f"><span>18041</span></td><td id="LC18041" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18042" class="css-a4x74f"><span>18042</span></td><td id="LC18042" class="css-1dcdqdg"><code> <span class="code-string">"margin-left"</span>: { </code></td></tr><tr><td id="L18043" class="css-a4x74f"><span>18043</span></td><td id="LC18043" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L18044" class="css-a4x74f"><span>18044</span></td><td id="LC18044" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18045" class="css-a4x74f"><span>18045</span></td><td id="LC18045" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18046" class="css-a4x74f"><span>18046</span></td><td id="LC18046" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18047" class="css-a4x74f"><span>18047</span></td><td id="LC18047" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18048" class="css-a4x74f"><span>18048</span></td><td id="LC18048" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18049" class="css-a4x74f"><span>18049</span></td><td id="LC18049" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18050" class="css-a4x74f"><span>18050</span></td><td id="LC18050" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18051" class="css-a4x74f"><span>18051</span></td><td id="LC18051" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18052" class="css-a4x74f"><span>18052</span></td><td id="LC18052" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableDisplayTypes"</span>, </code></td></tr><tr><td id="L18053" class="css-a4x74f"><span>18053</span></td><td id="LC18053" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18054" class="css-a4x74f"><span>18054</span></td><td id="LC18054" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18055" class="css-a4x74f"><span>18055</span></td><td id="LC18055" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L18056" class="css-a4x74f"><span>18056</span></td><td id="LC18056" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L18057" class="css-a4x74f"><span>18057</span></td><td id="LC18057" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18058" class="css-a4x74f"><span>18058</span></td><td id="LC18058" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18059" class="css-a4x74f"><span>18059</span></td><td id="LC18059" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-left"</span> </code></td></tr><tr><td id="L18060" class="css-a4x74f"><span>18060</span></td><td id="LC18060" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18061" class="css-a4x74f"><span>18061</span></td><td id="LC18061" class="css-1dcdqdg"><code> <span class="code-string">"margin-right"</span>: { </code></td></tr><tr><td id="L18062" class="css-a4x74f"><span>18062</span></td><td id="LC18062" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L18063" class="css-a4x74f"><span>18063</span></td><td id="LC18063" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18064" class="css-a4x74f"><span>18064</span></td><td id="LC18064" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18065" class="css-a4x74f"><span>18065</span></td><td id="LC18065" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18066" class="css-a4x74f"><span>18066</span></td><td id="LC18066" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18067" class="css-a4x74f"><span>18067</span></td><td id="LC18067" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18068" class="css-a4x74f"><span>18068</span></td><td id="LC18068" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18069" class="css-a4x74f"><span>18069</span></td><td id="LC18069" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18070" class="css-a4x74f"><span>18070</span></td><td id="LC18070" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18071" class="css-a4x74f"><span>18071</span></td><td id="LC18071" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableDisplayTypes"</span>, </code></td></tr><tr><td id="L18072" class="css-a4x74f"><span>18072</span></td><td id="LC18072" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18073" class="css-a4x74f"><span>18073</span></td><td id="LC18073" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18074" class="css-a4x74f"><span>18074</span></td><td id="LC18074" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L18075" class="css-a4x74f"><span>18075</span></td><td id="LC18075" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L18076" class="css-a4x74f"><span>18076</span></td><td id="LC18076" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18077" class="css-a4x74f"><span>18077</span></td><td id="LC18077" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18078" class="css-a4x74f"><span>18078</span></td><td id="LC18078" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-right"</span> </code></td></tr><tr><td id="L18079" class="css-a4x74f"><span>18079</span></td><td id="LC18079" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18080" class="css-a4x74f"><span>18080</span></td><td id="LC18080" class="css-1dcdqdg"><code> <span class="code-string">"margin-top"</span>: { </code></td></tr><tr><td id="L18081" class="css-a4x74f"><span>18081</span></td><td id="LC18081" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto"</span>, </code></td></tr><tr><td id="L18082" class="css-a4x74f"><span>18082</span></td><td id="LC18082" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18083" class="css-a4x74f"><span>18083</span></td><td id="LC18083" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18084" class="css-a4x74f"><span>18084</span></td><td id="LC18084" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18085" class="css-a4x74f"><span>18085</span></td><td id="LC18085" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18086" class="css-a4x74f"><span>18086</span></td><td id="LC18086" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18087" class="css-a4x74f"><span>18087</span></td><td id="LC18087" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18088" class="css-a4x74f"><span>18088</span></td><td id="LC18088" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18089" class="css-a4x74f"><span>18089</span></td><td id="LC18089" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18090" class="css-a4x74f"><span>18090</span></td><td id="LC18090" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableDisplayTypes"</span>, </code></td></tr><tr><td id="L18091" class="css-a4x74f"><span>18091</span></td><td id="LC18091" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18092" class="css-a4x74f"><span>18092</span></td><td id="LC18092" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18093" class="css-a4x74f"><span>18093</span></td><td id="LC18093" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L18094" class="css-a4x74f"><span>18094</span></td><td id="LC18094" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L18095" class="css-a4x74f"><span>18095</span></td><td id="LC18095" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18096" class="css-a4x74f"><span>18096</span></td><td id="LC18096" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18097" class="css-a4x74f"><span>18097</span></td><td id="LC18097" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/margin-top"</span> </code></td></tr><tr><td id="L18098" class="css-a4x74f"><span>18098</span></td><td id="LC18098" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18099" class="css-a4x74f"><span>18099</span></td><td id="LC18099" class="css-1dcdqdg"><code> mask: mask, </code></td></tr><tr><td id="L18100" class="css-a4x74f"><span>18100</span></td><td id="LC18100" class="css-1dcdqdg"><code> <span class="code-string">"mask-border"</span>: { </code></td></tr><tr><td id="L18101" class="css-a4x74f"><span>18101</span></td><td id="LC18101" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>"</span>, </code></td></tr><tr><td id="L18102" class="css-a4x74f"><span>18102</span></td><td id="LC18102" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18103" class="css-a4x74f"><span>18103</span></td><td id="LC18103" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18104" class="css-a4x74f"><span>18104</span></td><td id="LC18104" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L18105" class="css-a4x74f"><span>18105</span></td><td id="LC18105" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-mode"</span>, </code></td></tr><tr><td id="L18106" class="css-a4x74f"><span>18106</span></td><td id="LC18106" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-outset"</span>, </code></td></tr><tr><td id="L18107" class="css-a4x74f"><span>18107</span></td><td id="LC18107" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-repeat"</span>, </code></td></tr><tr><td id="L18108" class="css-a4x74f"><span>18108</span></td><td id="LC18108" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-slice"</span>, </code></td></tr><tr><td id="L18109" class="css-a4x74f"><span>18109</span></td><td id="LC18109" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-source"</span>, </code></td></tr><tr><td id="L18110" class="css-a4x74f"><span>18110</span></td><td id="LC18110" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-width"</span> </code></td></tr><tr><td id="L18111" class="css-a4x74f"><span>18111</span></td><td id="LC18111" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18112" class="css-a4x74f"><span>18112</span></td><td id="LC18112" class="css-1dcdqdg"><code> percentages: [ </code></td></tr><tr><td id="L18113" class="css-a4x74f"><span>18113</span></td><td id="LC18113" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-slice"</span>, </code></td></tr><tr><td id="L18114" class="css-a4x74f"><span>18114</span></td><td id="LC18114" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-width"</span> </code></td></tr><tr><td id="L18115" class="css-a4x74f"><span>18115</span></td><td id="LC18115" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18116" class="css-a4x74f"><span>18116</span></td><td id="LC18116" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18117" class="css-a4x74f"><span>18117</span></td><td id="LC18117" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18118" class="css-a4x74f"><span>18118</span></td><td id="LC18118" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18119" class="css-a4x74f"><span>18119</span></td><td id="LC18119" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L18120" class="css-a4x74f"><span>18120</span></td><td id="LC18120" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-mode"</span>, </code></td></tr><tr><td id="L18121" class="css-a4x74f"><span>18121</span></td><td id="LC18121" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-outset"</span>, </code></td></tr><tr><td id="L18122" class="css-a4x74f"><span>18122</span></td><td id="LC18122" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-repeat"</span>, </code></td></tr><tr><td id="L18123" class="css-a4x74f"><span>18123</span></td><td id="LC18123" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-slice"</span>, </code></td></tr><tr><td id="L18124" class="css-a4x74f"><span>18124</span></td><td id="LC18124" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-source"</span>, </code></td></tr><tr><td id="L18125" class="css-a4x74f"><span>18125</span></td><td id="LC18125" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-width"</span> </code></td></tr><tr><td id="L18126" class="css-a4x74f"><span>18126</span></td><td id="LC18126" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18127" class="css-a4x74f"><span>18127</span></td><td id="LC18127" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18128" class="css-a4x74f"><span>18128</span></td><td id="LC18128" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L18129" class="css-a4x74f"><span>18129</span></td><td id="LC18129" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-mode"</span>, </code></td></tr><tr><td id="L18130" class="css-a4x74f"><span>18130</span></td><td id="LC18130" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-outset"</span>, </code></td></tr><tr><td id="L18131" class="css-a4x74f"><span>18131</span></td><td id="LC18131" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-repeat"</span>, </code></td></tr><tr><td id="L18132" class="css-a4x74f"><span>18132</span></td><td id="LC18132" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-slice"</span>, </code></td></tr><tr><td id="L18133" class="css-a4x74f"><span>18133</span></td><td id="LC18133" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-source"</span>, </code></td></tr><tr><td id="L18134" class="css-a4x74f"><span>18134</span></td><td id="LC18134" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-width"</span> </code></td></tr><tr><td id="L18135" class="css-a4x74f"><span>18135</span></td><td id="LC18135" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18136" class="css-a4x74f"><span>18136</span></td><td id="LC18136" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18137" class="css-a4x74f"><span>18137</span></td><td id="LC18137" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L18138" class="css-a4x74f"><span>18138</span></td><td id="LC18138" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18139" class="css-a4x74f"><span>18139</span></td><td id="LC18139" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border"</span> </code></td></tr><tr><td id="L18140" class="css-a4x74f"><span>18140</span></td><td id="LC18140" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18141" class="css-a4x74f"><span>18141</span></td><td id="LC18141" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-mode"</span>: { </code></td></tr><tr><td id="L18142" class="css-a4x74f"><span>18142</span></td><td id="LC18142" class="css-1dcdqdg"><code> syntax: <span class="code-string">"luminance | alpha"</span>, </code></td></tr><tr><td id="L18143" class="css-a4x74f"><span>18143</span></td><td id="LC18143" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18144" class="css-a4x74f"><span>18144</span></td><td id="LC18144" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18145" class="css-a4x74f"><span>18145</span></td><td id="LC18145" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18146" class="css-a4x74f"><span>18146</span></td><td id="LC18146" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18147" class="css-a4x74f"><span>18147</span></td><td id="LC18147" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18148" class="css-a4x74f"><span>18148</span></td><td id="LC18148" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18149" class="css-a4x74f"><span>18149</span></td><td id="LC18149" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18150" class="css-a4x74f"><span>18150</span></td><td id="LC18150" class="css-1dcdqdg"><code> initial: <span class="code-string">"alpha"</span>, </code></td></tr><tr><td id="L18151" class="css-a4x74f"><span>18151</span></td><td id="LC18151" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18152" class="css-a4x74f"><span>18152</span></td><td id="LC18152" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18153" class="css-a4x74f"><span>18153</span></td><td id="LC18153" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18154" class="css-a4x74f"><span>18154</span></td><td id="LC18154" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18155" class="css-a4x74f"><span>18155</span></td><td id="LC18155" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode"</span> </code></td></tr><tr><td id="L18156" class="css-a4x74f"><span>18156</span></td><td id="LC18156" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18157" class="css-a4x74f"><span>18157</span></td><td id="LC18157" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-outset"</span>: { </code></td></tr><tr><td id="L18158" class="css-a4x74f"><span>18158</span></td><td id="LC18158" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length> | <number> ]{1,4}"</span>, </code></td></tr><tr><td id="L18159" class="css-a4x74f"><span>18159</span></td><td id="LC18159" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18160" class="css-a4x74f"><span>18160</span></td><td id="LC18160" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18161" class="css-a4x74f"><span>18161</span></td><td id="LC18161" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18162" class="css-a4x74f"><span>18162</span></td><td id="LC18162" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18163" class="css-a4x74f"><span>18163</span></td><td id="LC18163" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18164" class="css-a4x74f"><span>18164</span></td><td id="LC18164" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18165" class="css-a4x74f"><span>18165</span></td><td id="LC18165" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18166" class="css-a4x74f"><span>18166</span></td><td id="LC18166" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18167" class="css-a4x74f"><span>18167</span></td><td id="LC18167" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18168" class="css-a4x74f"><span>18168</span></td><td id="LC18168" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L18169" class="css-a4x74f"><span>18169</span></td><td id="LC18169" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18170" class="css-a4x74f"><span>18170</span></td><td id="LC18170" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18171" class="css-a4x74f"><span>18171</span></td><td id="LC18171" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"</span> </code></td></tr><tr><td id="L18172" class="css-a4x74f"><span>18172</span></td><td id="LC18172" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18173" class="css-a4x74f"><span>18173</span></td><td id="LC18173" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-repeat"</span>: { </code></td></tr><tr><td id="L18174" class="css-a4x74f"><span>18174</span></td><td id="LC18174" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ stretch | repeat | round | space ]{1,2}"</span>, </code></td></tr><tr><td id="L18175" class="css-a4x74f"><span>18175</span></td><td id="LC18175" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18176" class="css-a4x74f"><span>18176</span></td><td id="LC18176" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18177" class="css-a4x74f"><span>18177</span></td><td id="LC18177" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18178" class="css-a4x74f"><span>18178</span></td><td id="LC18178" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18179" class="css-a4x74f"><span>18179</span></td><td id="LC18179" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18180" class="css-a4x74f"><span>18180</span></td><td id="LC18180" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18181" class="css-a4x74f"><span>18181</span></td><td id="LC18181" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18182" class="css-a4x74f"><span>18182</span></td><td id="LC18182" class="css-1dcdqdg"><code> initial: <span class="code-string">"stretch"</span>, </code></td></tr><tr><td id="L18183" class="css-a4x74f"><span>18183</span></td><td id="LC18183" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18184" class="css-a4x74f"><span>18184</span></td><td id="LC18184" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18185" class="css-a4x74f"><span>18185</span></td><td id="LC18185" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18186" class="css-a4x74f"><span>18186</span></td><td id="LC18186" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18187" class="css-a4x74f"><span>18187</span></td><td id="LC18187" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"</span> </code></td></tr><tr><td id="L18188" class="css-a4x74f"><span>18188</span></td><td id="LC18188" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18189" class="css-a4x74f"><span>18189</span></td><td id="LC18189" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-slice"</span>: { </code></td></tr><tr><td id="L18190" class="css-a4x74f"><span>18190</span></td><td id="LC18190" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-percentage>{1,4} fill?"</span>, </code></td></tr><tr><td id="L18191" class="css-a4x74f"><span>18191</span></td><td id="LC18191" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18192" class="css-a4x74f"><span>18192</span></td><td id="LC18192" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18193" class="css-a4x74f"><span>18193</span></td><td id="LC18193" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18194" class="css-a4x74f"><span>18194</span></td><td id="LC18194" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfMaskBorderImage"</span>, </code></td></tr><tr><td id="L18195" class="css-a4x74f"><span>18195</span></td><td id="LC18195" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18196" class="css-a4x74f"><span>18196</span></td><td id="LC18196" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18197" class="css-a4x74f"><span>18197</span></td><td id="LC18197" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18198" class="css-a4x74f"><span>18198</span></td><td id="LC18198" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18199" class="css-a4x74f"><span>18199</span></td><td id="LC18199" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18200" class="css-a4x74f"><span>18200</span></td><td id="LC18200" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18201" class="css-a4x74f"><span>18201</span></td><td id="LC18201" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18202" class="css-a4x74f"><span>18202</span></td><td id="LC18202" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18203" class="css-a4x74f"><span>18203</span></td><td id="LC18203" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"</span> </code></td></tr><tr><td id="L18204" class="css-a4x74f"><span>18204</span></td><td id="LC18204" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18205" class="css-a4x74f"><span>18205</span></td><td id="LC18205" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-source"</span>: { </code></td></tr><tr><td id="L18206" class="css-a4x74f"><span>18206</span></td><td id="LC18206" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <image>"</span>, </code></td></tr><tr><td id="L18207" class="css-a4x74f"><span>18207</span></td><td id="LC18207" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18208" class="css-a4x74f"><span>18208</span></td><td id="LC18208" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18209" class="css-a4x74f"><span>18209</span></td><td id="LC18209" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18210" class="css-a4x74f"><span>18210</span></td><td id="LC18210" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18211" class="css-a4x74f"><span>18211</span></td><td id="LC18211" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18212" class="css-a4x74f"><span>18212</span></td><td id="LC18212" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18213" class="css-a4x74f"><span>18213</span></td><td id="LC18213" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18214" class="css-a4x74f"><span>18214</span></td><td id="LC18214" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18215" class="css-a4x74f"><span>18215</span></td><td id="LC18215" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18216" class="css-a4x74f"><span>18216</span></td><td id="LC18216" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedURLsAbsolute"</span>, </code></td></tr><tr><td id="L18217" class="css-a4x74f"><span>18217</span></td><td id="LC18217" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18218" class="css-a4x74f"><span>18218</span></td><td id="LC18218" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18219" class="css-a4x74f"><span>18219</span></td><td id="LC18219" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"</span> </code></td></tr><tr><td id="L18220" class="css-a4x74f"><span>18220</span></td><td id="LC18220" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18221" class="css-a4x74f"><span>18221</span></td><td id="LC18221" class="css-1dcdqdg"><code> <span class="code-string">"mask-border-width"</span>: { </code></td></tr><tr><td id="L18222" class="css-a4x74f"><span>18222</span></td><td id="LC18222" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | <number> | auto ]{1,4}"</span>, </code></td></tr><tr><td id="L18223" class="css-a4x74f"><span>18223</span></td><td id="LC18223" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18224" class="css-a4x74f"><span>18224</span></td><td id="LC18224" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18225" class="css-a4x74f"><span>18225</span></td><td id="LC18225" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18226" class="css-a4x74f"><span>18226</span></td><td id="LC18226" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToMaskBorderImageArea"</span>, </code></td></tr><tr><td id="L18227" class="css-a4x74f"><span>18227</span></td><td id="LC18227" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18228" class="css-a4x74f"><span>18228</span></td><td id="LC18228" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18229" class="css-a4x74f"><span>18229</span></td><td id="LC18229" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18230" class="css-a4x74f"><span>18230</span></td><td id="LC18230" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18231" class="css-a4x74f"><span>18231</span></td><td id="LC18231" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18232" class="css-a4x74f"><span>18232</span></td><td id="LC18232" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L18233" class="css-a4x74f"><span>18233</span></td><td id="LC18233" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18234" class="css-a4x74f"><span>18234</span></td><td id="LC18234" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18235" class="css-a4x74f"><span>18235</span></td><td id="LC18235" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"</span> </code></td></tr><tr><td id="L18236" class="css-a4x74f"><span>18236</span></td><td id="LC18236" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18237" class="css-a4x74f"><span>18237</span></td><td id="LC18237" class="css-1dcdqdg"><code> <span class="code-string">"mask-clip"</span>: { </code></td></tr><tr><td id="L18238" class="css-a4x74f"><span>18238</span></td><td id="LC18238" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <geometry-box> | no-clip ]#"</span>, </code></td></tr><tr><td id="L18239" class="css-a4x74f"><span>18239</span></td><td id="LC18239" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18240" class="css-a4x74f"><span>18240</span></td><td id="LC18240" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18241" class="css-a4x74f"><span>18241</span></td><td id="LC18241" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18242" class="css-a4x74f"><span>18242</span></td><td id="LC18242" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18243" class="css-a4x74f"><span>18243</span></td><td id="LC18243" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18244" class="css-a4x74f"><span>18244</span></td><td id="LC18244" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18245" class="css-a4x74f"><span>18245</span></td><td id="LC18245" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18246" class="css-a4x74f"><span>18246</span></td><td id="LC18246" class="css-1dcdqdg"><code> initial: <span class="code-string">"border-box"</span>, </code></td></tr><tr><td id="L18247" class="css-a4x74f"><span>18247</span></td><td id="LC18247" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18248" class="css-a4x74f"><span>18248</span></td><td id="LC18248" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18249" class="css-a4x74f"><span>18249</span></td><td id="LC18249" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18250" class="css-a4x74f"><span>18250</span></td><td id="LC18250" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18251" class="css-a4x74f"><span>18251</span></td><td id="LC18251" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-clip"</span> </code></td></tr><tr><td id="L18252" class="css-a4x74f"><span>18252</span></td><td id="LC18252" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18253" class="css-a4x74f"><span>18253</span></td><td id="LC18253" class="css-1dcdqdg"><code> <span class="code-string">"mask-composite"</span>: { </code></td></tr><tr><td id="L18254" class="css-a4x74f"><span>18254</span></td><td id="LC18254" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<compositing-operator>#"</span>, </code></td></tr><tr><td id="L18255" class="css-a4x74f"><span>18255</span></td><td id="LC18255" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18256" class="css-a4x74f"><span>18256</span></td><td id="LC18256" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18257" class="css-a4x74f"><span>18257</span></td><td id="LC18257" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18258" class="css-a4x74f"><span>18258</span></td><td id="LC18258" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18259" class="css-a4x74f"><span>18259</span></td><td id="LC18259" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18260" class="css-a4x74f"><span>18260</span></td><td id="LC18260" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18261" class="css-a4x74f"><span>18261</span></td><td id="LC18261" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18262" class="css-a4x74f"><span>18262</span></td><td id="LC18262" class="css-1dcdqdg"><code> initial: <span class="code-string">"add"</span>, </code></td></tr><tr><td id="L18263" class="css-a4x74f"><span>18263</span></td><td id="LC18263" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18264" class="css-a4x74f"><span>18264</span></td><td id="LC18264" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18265" class="css-a4x74f"><span>18265</span></td><td id="LC18265" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18266" class="css-a4x74f"><span>18266</span></td><td id="LC18266" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18267" class="css-a4x74f"><span>18267</span></td><td id="LC18267" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-composite"</span> </code></td></tr><tr><td id="L18268" class="css-a4x74f"><span>18268</span></td><td id="LC18268" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18269" class="css-a4x74f"><span>18269</span></td><td id="LC18269" class="css-1dcdqdg"><code> <span class="code-string">"mask-image"</span>: { </code></td></tr><tr><td id="L18270" class="css-a4x74f"><span>18270</span></td><td id="LC18270" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mask-reference>#"</span>, </code></td></tr><tr><td id="L18271" class="css-a4x74f"><span>18271</span></td><td id="LC18271" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18272" class="css-a4x74f"><span>18272</span></td><td id="LC18272" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18273" class="css-a4x74f"><span>18273</span></td><td id="LC18273" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18274" class="css-a4x74f"><span>18274</span></td><td id="LC18274" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18275" class="css-a4x74f"><span>18275</span></td><td id="LC18275" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18276" class="css-a4x74f"><span>18276</span></td><td id="LC18276" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18277" class="css-a4x74f"><span>18277</span></td><td id="LC18277" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18278" class="css-a4x74f"><span>18278</span></td><td id="LC18278" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18279" class="css-a4x74f"><span>18279</span></td><td id="LC18279" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18280" class="css-a4x74f"><span>18280</span></td><td id="LC18280" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedURLsAbsolute"</span>, </code></td></tr><tr><td id="L18281" class="css-a4x74f"><span>18281</span></td><td id="LC18281" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18282" class="css-a4x74f"><span>18282</span></td><td id="LC18282" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18283" class="css-a4x74f"><span>18283</span></td><td id="LC18283" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-image"</span> </code></td></tr><tr><td id="L18284" class="css-a4x74f"><span>18284</span></td><td id="LC18284" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18285" class="css-a4x74f"><span>18285</span></td><td id="LC18285" class="css-1dcdqdg"><code> <span class="code-string">"mask-mode"</span>: { </code></td></tr><tr><td id="L18286" class="css-a4x74f"><span>18286</span></td><td id="LC18286" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<masking-mode>#"</span>, </code></td></tr><tr><td id="L18287" class="css-a4x74f"><span>18287</span></td><td id="LC18287" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18288" class="css-a4x74f"><span>18288</span></td><td id="LC18288" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18289" class="css-a4x74f"><span>18289</span></td><td id="LC18289" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18290" class="css-a4x74f"><span>18290</span></td><td id="LC18290" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18291" class="css-a4x74f"><span>18291</span></td><td id="LC18291" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18292" class="css-a4x74f"><span>18292</span></td><td id="LC18292" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18293" class="css-a4x74f"><span>18293</span></td><td id="LC18293" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18294" class="css-a4x74f"><span>18294</span></td><td id="LC18294" class="css-1dcdqdg"><code> initial: <span class="code-string">"match-source"</span>, </code></td></tr><tr><td id="L18295" class="css-a4x74f"><span>18295</span></td><td id="LC18295" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18296" class="css-a4x74f"><span>18296</span></td><td id="LC18296" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18297" class="css-a4x74f"><span>18297</span></td><td id="LC18297" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18298" class="css-a4x74f"><span>18298</span></td><td id="LC18298" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18299" class="css-a4x74f"><span>18299</span></td><td id="LC18299" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-mode"</span> </code></td></tr><tr><td id="L18300" class="css-a4x74f"><span>18300</span></td><td id="LC18300" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18301" class="css-a4x74f"><span>18301</span></td><td id="LC18301" class="css-1dcdqdg"><code> <span class="code-string">"mask-origin"</span>: { </code></td></tr><tr><td id="L18302" class="css-a4x74f"><span>18302</span></td><td id="LC18302" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<geometry-box>#"</span>, </code></td></tr><tr><td id="L18303" class="css-a4x74f"><span>18303</span></td><td id="LC18303" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18304" class="css-a4x74f"><span>18304</span></td><td id="LC18304" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18305" class="css-a4x74f"><span>18305</span></td><td id="LC18305" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18306" class="css-a4x74f"><span>18306</span></td><td id="LC18306" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18307" class="css-a4x74f"><span>18307</span></td><td id="LC18307" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18308" class="css-a4x74f"><span>18308</span></td><td id="LC18308" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18309" class="css-a4x74f"><span>18309</span></td><td id="LC18309" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18310" class="css-a4x74f"><span>18310</span></td><td id="LC18310" class="css-1dcdqdg"><code> initial: <span class="code-string">"border-box"</span>, </code></td></tr><tr><td id="L18311" class="css-a4x74f"><span>18311</span></td><td id="LC18311" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18312" class="css-a4x74f"><span>18312</span></td><td id="LC18312" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18313" class="css-a4x74f"><span>18313</span></td><td id="LC18313" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18314" class="css-a4x74f"><span>18314</span></td><td id="LC18314" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18315" class="css-a4x74f"><span>18315</span></td><td id="LC18315" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-origin"</span> </code></td></tr><tr><td id="L18316" class="css-a4x74f"><span>18316</span></td><td id="LC18316" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18317" class="css-a4x74f"><span>18317</span></td><td id="LC18317" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span>: { </code></td></tr><tr><td id="L18318" class="css-a4x74f"><span>18318</span></td><td id="LC18318" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<position>#"</span>, </code></td></tr><tr><td id="L18319" class="css-a4x74f"><span>18319</span></td><td id="LC18319" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18320" class="css-a4x74f"><span>18320</span></td><td id="LC18320" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18321" class="css-a4x74f"><span>18321</span></td><td id="LC18321" class="css-1dcdqdg"><code> animationType: <span class="code-string">"repeatableListOfSimpleListOfLpc"</span>, </code></td></tr><tr><td id="L18322" class="css-a4x74f"><span>18322</span></td><td id="LC18322" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfMaskPaintingArea"</span>, </code></td></tr><tr><td id="L18323" class="css-a4x74f"><span>18323</span></td><td id="LC18323" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18324" class="css-a4x74f"><span>18324</span></td><td id="LC18324" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18325" class="css-a4x74f"><span>18325</span></td><td id="LC18325" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18326" class="css-a4x74f"><span>18326</span></td><td id="LC18326" class="css-1dcdqdg"><code> initial: <span class="code-string">"center"</span>, </code></td></tr><tr><td id="L18327" class="css-a4x74f"><span>18327</span></td><td id="LC18327" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18328" class="css-a4x74f"><span>18328</span></td><td id="LC18328" class="css-1dcdqdg"><code> computed: <span class="code-string">"consistsOfTwoKeywordsForOriginAndOffsets"</span>, </code></td></tr><tr><td id="L18329" class="css-a4x74f"><span>18329</span></td><td id="LC18329" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18330" class="css-a4x74f"><span>18330</span></td><td id="LC18330" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18331" class="css-a4x74f"><span>18331</span></td><td id="LC18331" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-position"</span> </code></td></tr><tr><td id="L18332" class="css-a4x74f"><span>18332</span></td><td id="LC18332" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18333" class="css-a4x74f"><span>18333</span></td><td id="LC18333" class="css-1dcdqdg"><code> <span class="code-string">"mask-repeat"</span>: { </code></td></tr><tr><td id="L18334" class="css-a4x74f"><span>18334</span></td><td id="LC18334" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<repeat-style>#"</span>, </code></td></tr><tr><td id="L18335" class="css-a4x74f"><span>18335</span></td><td id="LC18335" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18336" class="css-a4x74f"><span>18336</span></td><td id="LC18336" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18337" class="css-a4x74f"><span>18337</span></td><td id="LC18337" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18338" class="css-a4x74f"><span>18338</span></td><td id="LC18338" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18339" class="css-a4x74f"><span>18339</span></td><td id="LC18339" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18340" class="css-a4x74f"><span>18340</span></td><td id="LC18340" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18341" class="css-a4x74f"><span>18341</span></td><td id="LC18341" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18342" class="css-a4x74f"><span>18342</span></td><td id="LC18342" class="css-1dcdqdg"><code> initial: <span class="code-string">"no-repeat"</span>, </code></td></tr><tr><td id="L18343" class="css-a4x74f"><span>18343</span></td><td id="LC18343" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18344" class="css-a4x74f"><span>18344</span></td><td id="LC18344" class="css-1dcdqdg"><code> computed: <span class="code-string">"consistsOfTwoDimensionKeywords"</span>, </code></td></tr><tr><td id="L18345" class="css-a4x74f"><span>18345</span></td><td id="LC18345" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18346" class="css-a4x74f"><span>18346</span></td><td id="LC18346" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18347" class="css-a4x74f"><span>18347</span></td><td id="LC18347" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"</span> </code></td></tr><tr><td id="L18348" class="css-a4x74f"><span>18348</span></td><td id="LC18348" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18349" class="css-a4x74f"><span>18349</span></td><td id="LC18349" class="css-1dcdqdg"><code> <span class="code-string">"mask-size"</span>: { </code></td></tr><tr><td id="L18350" class="css-a4x74f"><span>18350</span></td><td id="LC18350" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-size>#"</span>, </code></td></tr><tr><td id="L18351" class="css-a4x74f"><span>18351</span></td><td id="LC18351" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18352" class="css-a4x74f"><span>18352</span></td><td id="LC18352" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18353" class="css-a4x74f"><span>18353</span></td><td id="LC18353" class="css-1dcdqdg"><code> animationType: <span class="code-string">"repeatableListOfSimpleListOfLpc"</span>, </code></td></tr><tr><td id="L18354" class="css-a4x74f"><span>18354</span></td><td id="LC18354" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18355" class="css-a4x74f"><span>18355</span></td><td id="LC18355" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18356" class="css-a4x74f"><span>18356</span></td><td id="LC18356" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18357" class="css-a4x74f"><span>18357</span></td><td id="LC18357" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18358" class="css-a4x74f"><span>18358</span></td><td id="LC18358" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18359" class="css-a4x74f"><span>18359</span></td><td id="LC18359" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSVGContainerElements"</span>, </code></td></tr><tr><td id="L18360" class="css-a4x74f"><span>18360</span></td><td id="LC18360" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L18361" class="css-a4x74f"><span>18361</span></td><td id="LC18361" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18362" class="css-a4x74f"><span>18362</span></td><td id="LC18362" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18363" class="css-a4x74f"><span>18363</span></td><td id="LC18363" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-size"</span> </code></td></tr><tr><td id="L18364" class="css-a4x74f"><span>18364</span></td><td id="LC18364" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18365" class="css-a4x74f"><span>18365</span></td><td id="LC18365" class="css-1dcdqdg"><code> <span class="code-string">"mask-type"</span>: { </code></td></tr><tr><td id="L18366" class="css-a4x74f"><span>18366</span></td><td id="LC18366" class="css-1dcdqdg"><code> syntax: <span class="code-string">"luminance | alpha"</span>, </code></td></tr><tr><td id="L18367" class="css-a4x74f"><span>18367</span></td><td id="LC18367" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18368" class="css-a4x74f"><span>18368</span></td><td id="LC18368" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18369" class="css-a4x74f"><span>18369</span></td><td id="LC18369" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18370" class="css-a4x74f"><span>18370</span></td><td id="LC18370" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18371" class="css-a4x74f"><span>18371</span></td><td id="LC18371" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18372" class="css-a4x74f"><span>18372</span></td><td id="LC18372" class="css-1dcdqdg"><code> <span class="code-string">"CSS Masking"</span> </code></td></tr><tr><td id="L18373" class="css-a4x74f"><span>18373</span></td><td id="LC18373" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18374" class="css-a4x74f"><span>18374</span></td><td id="LC18374" class="css-1dcdqdg"><code> initial: <span class="code-string">"luminance"</span>, </code></td></tr><tr><td id="L18375" class="css-a4x74f"><span>18375</span></td><td id="LC18375" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"maskElements"</span>, </code></td></tr><tr><td id="L18376" class="css-a4x74f"><span>18376</span></td><td id="LC18376" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18377" class="css-a4x74f"><span>18377</span></td><td id="LC18377" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18378" class="css-a4x74f"><span>18378</span></td><td id="LC18378" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18379" class="css-a4x74f"><span>18379</span></td><td id="LC18379" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mask-type"</span> </code></td></tr><tr><td id="L18380" class="css-a4x74f"><span>18380</span></td><td id="LC18380" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18381" class="css-a4x74f"><span>18381</span></td><td id="LC18381" class="css-1dcdqdg"><code> <span class="code-string">"max-block-size"</span>: { </code></td></tr><tr><td id="L18382" class="css-a4x74f"><span>18382</span></td><td id="LC18382" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'max-width'>"</span>, </code></td></tr><tr><td id="L18383" class="css-a4x74f"><span>18383</span></td><td id="LC18383" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18384" class="css-a4x74f"><span>18384</span></td><td id="LC18384" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18385" class="css-a4x74f"><span>18385</span></td><td id="LC18385" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18386" class="css-a4x74f"><span>18386</span></td><td id="LC18386" class="css-1dcdqdg"><code> percentages: <span class="code-string">"blockSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L18387" class="css-a4x74f"><span>18387</span></td><td id="LC18387" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18388" class="css-a4x74f"><span>18388</span></td><td id="LC18388" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18389" class="css-a4x74f"><span>18389</span></td><td id="LC18389" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18390" class="css-a4x74f"><span>18390</span></td><td id="LC18390" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18391" class="css-a4x74f"><span>18391</span></td><td id="LC18391" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L18392" class="css-a4x74f"><span>18392</span></td><td id="LC18392" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsMaxWidthAndMaxHeight"</span>, </code></td></tr><tr><td id="L18393" class="css-a4x74f"><span>18393</span></td><td id="LC18393" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18394" class="css-a4x74f"><span>18394</span></td><td id="LC18394" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18395" class="css-a4x74f"><span>18395</span></td><td id="LC18395" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/max-block-size"</span> </code></td></tr><tr><td id="L18396" class="css-a4x74f"><span>18396</span></td><td id="LC18396" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18397" class="css-a4x74f"><span>18397</span></td><td id="LC18397" class="css-1dcdqdg"><code> <span class="code-string">"max-height"</span>: { </code></td></tr><tr><td id="L18398" class="css-a4x74f"><span>18398</span></td><td id="LC18398" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available"</span>, </code></td></tr><tr><td id="L18399" class="css-a4x74f"><span>18399</span></td><td id="LC18399" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18400" class="css-a4x74f"><span>18400</span></td><td id="LC18400" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18401" class="css-a4x74f"><span>18401</span></td><td id="LC18401" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L18402" class="css-a4x74f"><span>18402</span></td><td id="LC18402" class="css-1dcdqdg"><code> percentages: <span class="code-string">"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone"</span>, </code></td></tr><tr><td id="L18403" class="css-a4x74f"><span>18403</span></td><td id="LC18403" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18404" class="css-a4x74f"><span>18404</span></td><td id="LC18404" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18405" class="css-a4x74f"><span>18405</span></td><td id="LC18405" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18406" class="css-a4x74f"><span>18406</span></td><td id="LC18406" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18407" class="css-a4x74f"><span>18407</span></td><td id="LC18407" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableColumns"</span>, </code></td></tr><tr><td id="L18408" class="css-a4x74f"><span>18408</span></td><td id="LC18408" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedAbsoluteLengthOrNone"</span>, </code></td></tr><tr><td id="L18409" class="css-a4x74f"><span>18409</span></td><td id="LC18409" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18410" class="css-a4x74f"><span>18410</span></td><td id="LC18410" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18411" class="css-a4x74f"><span>18411</span></td><td id="LC18411" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/max-height"</span> </code></td></tr><tr><td id="L18412" class="css-a4x74f"><span>18412</span></td><td id="LC18412" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18413" class="css-a4x74f"><span>18413</span></td><td id="LC18413" class="css-1dcdqdg"><code> <span class="code-string">"max-inline-size"</span>: { </code></td></tr><tr><td id="L18414" class="css-a4x74f"><span>18414</span></td><td id="LC18414" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'max-width'>"</span>, </code></td></tr><tr><td id="L18415" class="css-a4x74f"><span>18415</span></td><td id="LC18415" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18416" class="css-a4x74f"><span>18416</span></td><td id="LC18416" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18417" class="css-a4x74f"><span>18417</span></td><td id="LC18417" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18418" class="css-a4x74f"><span>18418</span></td><td id="LC18418" class="css-1dcdqdg"><code> percentages: <span class="code-string">"inlineSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L18419" class="css-a4x74f"><span>18419</span></td><td id="LC18419" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18420" class="css-a4x74f"><span>18420</span></td><td id="LC18420" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18421" class="css-a4x74f"><span>18421</span></td><td id="LC18421" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18422" class="css-a4x74f"><span>18422</span></td><td id="LC18422" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18423" class="css-a4x74f"><span>18423</span></td><td id="LC18423" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L18424" class="css-a4x74f"><span>18424</span></td><td id="LC18424" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsMaxWidthAndMaxHeight"</span>, </code></td></tr><tr><td id="L18425" class="css-a4x74f"><span>18425</span></td><td id="LC18425" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18426" class="css-a4x74f"><span>18426</span></td><td id="LC18426" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18427" class="css-a4x74f"><span>18427</span></td><td id="LC18427" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/max-inline-size"</span> </code></td></tr><tr><td id="L18428" class="css-a4x74f"><span>18428</span></td><td id="LC18428" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18429" class="css-a4x74f"><span>18429</span></td><td id="LC18429" class="css-1dcdqdg"><code> <span class="code-string">"max-lines"</span>: { </code></td></tr><tr><td id="L18430" class="css-a4x74f"><span>18430</span></td><td id="LC18430" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <integer>"</span>, </code></td></tr><tr><td id="L18431" class="css-a4x74f"><span>18431</span></td><td id="LC18431" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18432" class="css-a4x74f"><span>18432</span></td><td id="LC18432" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18433" class="css-a4x74f"><span>18433</span></td><td id="LC18433" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L18434" class="css-a4x74f"><span>18434</span></td><td id="LC18434" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18435" class="css-a4x74f"><span>18435</span></td><td id="LC18435" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18436" class="css-a4x74f"><span>18436</span></td><td id="LC18436" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L18437" class="css-a4x74f"><span>18437</span></td><td id="LC18437" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18438" class="css-a4x74f"><span>18438</span></td><td id="LC18438" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18439" class="css-a4x74f"><span>18439</span></td><td id="LC18439" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersExceptMultiColumnContainers"</span>, </code></td></tr><tr><td id="L18440" class="css-a4x74f"><span>18440</span></td><td id="LC18440" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18441" class="css-a4x74f"><span>18441</span></td><td id="LC18441" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18442" class="css-a4x74f"><span>18442</span></td><td id="LC18442" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18443" class="css-a4x74f"><span>18443</span></td><td id="LC18443" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18444" class="css-a4x74f"><span>18444</span></td><td id="LC18444" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span>: { </code></td></tr><tr><td id="L18445" class="css-a4x74f"><span>18445</span></td><td id="LC18445" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available"</span>, </code></td></tr><tr><td id="L18446" class="css-a4x74f"><span>18446</span></td><td id="LC18446" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18447" class="css-a4x74f"><span>18447</span></td><td id="LC18447" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18448" class="css-a4x74f"><span>18448</span></td><td id="LC18448" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L18449" class="css-a4x74f"><span>18449</span></td><td id="LC18449" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18450" class="css-a4x74f"><span>18450</span></td><td id="LC18450" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18451" class="css-a4x74f"><span>18451</span></td><td id="LC18451" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18452" class="css-a4x74f"><span>18452</span></td><td id="LC18452" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18453" class="css-a4x74f"><span>18453</span></td><td id="LC18453" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18454" class="css-a4x74f"><span>18454</span></td><td id="LC18454" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableRows"</span>, </code></td></tr><tr><td id="L18455" class="css-a4x74f"><span>18455</span></td><td id="LC18455" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedAbsoluteLengthOrNone"</span>, </code></td></tr><tr><td id="L18456" class="css-a4x74f"><span>18456</span></td><td id="LC18456" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18457" class="css-a4x74f"><span>18457</span></td><td id="LC18457" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18458" class="css-a4x74f"><span>18458</span></td><td id="LC18458" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/max-width"</span> </code></td></tr><tr><td id="L18459" class="css-a4x74f"><span>18459</span></td><td id="LC18459" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18460" class="css-a4x74f"><span>18460</span></td><td id="LC18460" class="css-1dcdqdg"><code> <span class="code-string">"min-block-size"</span>: { </code></td></tr><tr><td id="L18461" class="css-a4x74f"><span>18461</span></td><td id="LC18461" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'min-width'>"</span>, </code></td></tr><tr><td id="L18462" class="css-a4x74f"><span>18462</span></td><td id="LC18462" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18463" class="css-a4x74f"><span>18463</span></td><td id="LC18463" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18464" class="css-a4x74f"><span>18464</span></td><td id="LC18464" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18465" class="css-a4x74f"><span>18465</span></td><td id="LC18465" class="css-1dcdqdg"><code> percentages: <span class="code-string">"blockSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L18466" class="css-a4x74f"><span>18466</span></td><td id="LC18466" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18467" class="css-a4x74f"><span>18467</span></td><td id="LC18467" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18468" class="css-a4x74f"><span>18468</span></td><td id="LC18468" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18469" class="css-a4x74f"><span>18469</span></td><td id="LC18469" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18470" class="css-a4x74f"><span>18470</span></td><td id="LC18470" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L18471" class="css-a4x74f"><span>18471</span></td><td id="LC18471" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsMinWidthAndMinHeight"</span>, </code></td></tr><tr><td id="L18472" class="css-a4x74f"><span>18472</span></td><td id="LC18472" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18473" class="css-a4x74f"><span>18473</span></td><td id="LC18473" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18474" class="css-a4x74f"><span>18474</span></td><td id="LC18474" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/min-block-size"</span> </code></td></tr><tr><td id="L18475" class="css-a4x74f"><span>18475</span></td><td id="LC18475" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18476" class="css-a4x74f"><span>18476</span></td><td id="LC18476" class="css-1dcdqdg"><code> <span class="code-string">"min-height"</span>: { </code></td></tr><tr><td id="L18477" class="css-a4x74f"><span>18477</span></td><td id="LC18477" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available"</span>, </code></td></tr><tr><td id="L18478" class="css-a4x74f"><span>18478</span></td><td id="LC18478" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18479" class="css-a4x74f"><span>18479</span></td><td id="LC18479" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18480" class="css-a4x74f"><span>18480</span></td><td id="LC18480" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L18481" class="css-a4x74f"><span>18481</span></td><td id="LC18481" class="css-1dcdqdg"><code> percentages: <span class="code-string">"regardingHeightOfGeneratedBoxContainingBlockPercentages0"</span>, </code></td></tr><tr><td id="L18482" class="css-a4x74f"><span>18482</span></td><td id="LC18482" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18483" class="css-a4x74f"><span>18483</span></td><td id="LC18483" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18484" class="css-a4x74f"><span>18484</span></td><td id="LC18484" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18485" class="css-a4x74f"><span>18485</span></td><td id="LC18485" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18486" class="css-a4x74f"><span>18486</span></td><td id="LC18486" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableColumns"</span>, </code></td></tr><tr><td id="L18487" class="css-a4x74f"><span>18487</span></td><td id="LC18487" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18488" class="css-a4x74f"><span>18488</span></td><td id="LC18488" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18489" class="css-a4x74f"><span>18489</span></td><td id="LC18489" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18490" class="css-a4x74f"><span>18490</span></td><td id="LC18490" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/min-height"</span> </code></td></tr><tr><td id="L18491" class="css-a4x74f"><span>18491</span></td><td id="LC18491" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18492" class="css-a4x74f"><span>18492</span></td><td id="LC18492" class="css-1dcdqdg"><code> <span class="code-string">"min-inline-size"</span>: { </code></td></tr><tr><td id="L18493" class="css-a4x74f"><span>18493</span></td><td id="LC18493" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'min-width'>"</span>, </code></td></tr><tr><td id="L18494" class="css-a4x74f"><span>18494</span></td><td id="LC18494" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18495" class="css-a4x74f"><span>18495</span></td><td id="LC18495" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18496" class="css-a4x74f"><span>18496</span></td><td id="LC18496" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18497" class="css-a4x74f"><span>18497</span></td><td id="LC18497" class="css-1dcdqdg"><code> percentages: <span class="code-string">"inlineSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L18498" class="css-a4x74f"><span>18498</span></td><td id="LC18498" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18499" class="css-a4x74f"><span>18499</span></td><td id="LC18499" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18500" class="css-a4x74f"><span>18500</span></td><td id="LC18500" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18501" class="css-a4x74f"><span>18501</span></td><td id="LC18501" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18502" class="css-a4x74f"><span>18502</span></td><td id="LC18502" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"sameAsWidthAndHeight"</span>, </code></td></tr><tr><td id="L18503" class="css-a4x74f"><span>18503</span></td><td id="LC18503" class="css-1dcdqdg"><code> computed: <span class="code-string">"sameAsMinWidthAndMinHeight"</span>, </code></td></tr><tr><td id="L18504" class="css-a4x74f"><span>18504</span></td><td id="LC18504" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18505" class="css-a4x74f"><span>18505</span></td><td id="LC18505" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18506" class="css-a4x74f"><span>18506</span></td><td id="LC18506" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/min-inline-size"</span> </code></td></tr><tr><td id="L18507" class="css-a4x74f"><span>18507</span></td><td id="LC18507" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18508" class="css-a4x74f"><span>18508</span></td><td id="LC18508" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>: { </code></td></tr><tr><td id="L18509" class="css-a4x74f"><span>18509</span></td><td id="LC18509" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available"</span>, </code></td></tr><tr><td id="L18510" class="css-a4x74f"><span>18510</span></td><td id="LC18510" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18511" class="css-a4x74f"><span>18511</span></td><td id="LC18511" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18512" class="css-a4x74f"><span>18512</span></td><td id="LC18512" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L18513" class="css-a4x74f"><span>18513</span></td><td id="LC18513" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18514" class="css-a4x74f"><span>18514</span></td><td id="LC18514" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18515" class="css-a4x74f"><span>18515</span></td><td id="LC18515" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18516" class="css-a4x74f"><span>18516</span></td><td id="LC18516" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18517" class="css-a4x74f"><span>18517</span></td><td id="LC18517" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18518" class="css-a4x74f"><span>18518</span></td><td id="LC18518" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsButNonReplacedAndTableRows"</span>, </code></td></tr><tr><td id="L18519" class="css-a4x74f"><span>18519</span></td><td id="LC18519" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18520" class="css-a4x74f"><span>18520</span></td><td id="LC18520" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18521" class="css-a4x74f"><span>18521</span></td><td id="LC18521" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18522" class="css-a4x74f"><span>18522</span></td><td id="LC18522" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/min-width"</span> </code></td></tr><tr><td id="L18523" class="css-a4x74f"><span>18523</span></td><td id="LC18523" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18524" class="css-a4x74f"><span>18524</span></td><td id="LC18524" class="css-1dcdqdg"><code> <span class="code-string">"mix-blend-mode"</span>: { </code></td></tr><tr><td id="L18525" class="css-a4x74f"><span>18525</span></td><td id="LC18525" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<blend-mode>"</span>, </code></td></tr><tr><td id="L18526" class="css-a4x74f"><span>18526</span></td><td id="LC18526" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18527" class="css-a4x74f"><span>18527</span></td><td id="LC18527" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18528" class="css-a4x74f"><span>18528</span></td><td id="LC18528" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18529" class="css-a4x74f"><span>18529</span></td><td id="LC18529" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18530" class="css-a4x74f"><span>18530</span></td><td id="LC18530" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18531" class="css-a4x74f"><span>18531</span></td><td id="LC18531" class="css-1dcdqdg"><code> <span class="code-string">"Compositing and Blending"</span> </code></td></tr><tr><td id="L18532" class="css-a4x74f"><span>18532</span></td><td id="LC18532" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18533" class="css-a4x74f"><span>18533</span></td><td id="LC18533" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L18534" class="css-a4x74f"><span>18534</span></td><td id="LC18534" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18535" class="css-a4x74f"><span>18535</span></td><td id="LC18535" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18536" class="css-a4x74f"><span>18536</span></td><td id="LC18536" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18537" class="css-a4x74f"><span>18537</span></td><td id="LC18537" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L18538" class="css-a4x74f"><span>18538</span></td><td id="LC18538" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18539" class="css-a4x74f"><span>18539</span></td><td id="LC18539" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode"</span> </code></td></tr><tr><td id="L18540" class="css-a4x74f"><span>18540</span></td><td id="LC18540" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18541" class="css-a4x74f"><span>18541</span></td><td id="LC18541" class="css-1dcdqdg"><code> <span class="code-string">"object-fit"</span>: { </code></td></tr><tr><td id="L18542" class="css-a4x74f"><span>18542</span></td><td id="LC18542" class="css-1dcdqdg"><code> syntax: <span class="code-string">"fill | contain | cover | none | scale-down"</span>, </code></td></tr><tr><td id="L18543" class="css-a4x74f"><span>18543</span></td><td id="LC18543" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18544" class="css-a4x74f"><span>18544</span></td><td id="LC18544" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18545" class="css-a4x74f"><span>18545</span></td><td id="LC18545" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18546" class="css-a4x74f"><span>18546</span></td><td id="LC18546" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18547" class="css-a4x74f"><span>18547</span></td><td id="LC18547" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18548" class="css-a4x74f"><span>18548</span></td><td id="LC18548" class="css-1dcdqdg"><code> <span class="code-string">"CSS Images"</span> </code></td></tr><tr><td id="L18549" class="css-a4x74f"><span>18549</span></td><td id="LC18549" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18550" class="css-a4x74f"><span>18550</span></td><td id="LC18550" class="css-1dcdqdg"><code> initial: <span class="code-string">"fill"</span>, </code></td></tr><tr><td id="L18551" class="css-a4x74f"><span>18551</span></td><td id="LC18551" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"replacedElements"</span>, </code></td></tr><tr><td id="L18552" class="css-a4x74f"><span>18552</span></td><td id="LC18552" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18553" class="css-a4x74f"><span>18553</span></td><td id="LC18553" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18554" class="css-a4x74f"><span>18554</span></td><td id="LC18554" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18555" class="css-a4x74f"><span>18555</span></td><td id="LC18555" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/object-fit"</span> </code></td></tr><tr><td id="L18556" class="css-a4x74f"><span>18556</span></td><td id="LC18556" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18557" class="css-a4x74f"><span>18557</span></td><td id="LC18557" class="css-1dcdqdg"><code> <span class="code-string">"object-position"</span>: { </code></td></tr><tr><td id="L18558" class="css-a4x74f"><span>18558</span></td><td id="LC18558" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<position>"</span>, </code></td></tr><tr><td id="L18559" class="css-a4x74f"><span>18559</span></td><td id="LC18559" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18560" class="css-a4x74f"><span>18560</span></td><td id="LC18560" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L18561" class="css-a4x74f"><span>18561</span></td><td id="LC18561" class="css-1dcdqdg"><code> animationType: <span class="code-string">"repeatableListOfSimpleListOfLpc"</span>, </code></td></tr><tr><td id="L18562" class="css-a4x74f"><span>18562</span></td><td id="LC18562" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthAndHeightOfElement"</span>, </code></td></tr><tr><td id="L18563" class="css-a4x74f"><span>18563</span></td><td id="LC18563" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18564" class="css-a4x74f"><span>18564</span></td><td id="LC18564" class="css-1dcdqdg"><code> <span class="code-string">"CSS Images"</span> </code></td></tr><tr><td id="L18565" class="css-a4x74f"><span>18565</span></td><td id="LC18565" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18566" class="css-a4x74f"><span>18566</span></td><td id="LC18566" class="css-1dcdqdg"><code> initial: <span class="code-string">"50% 50%"</span>, </code></td></tr><tr><td id="L18567" class="css-a4x74f"><span>18567</span></td><td id="LC18567" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"replacedElements"</span>, </code></td></tr><tr><td id="L18568" class="css-a4x74f"><span>18568</span></td><td id="LC18568" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18569" class="css-a4x74f"><span>18569</span></td><td id="LC18569" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18570" class="css-a4x74f"><span>18570</span></td><td id="LC18570" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18571" class="css-a4x74f"><span>18571</span></td><td id="LC18571" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/object-position"</span> </code></td></tr><tr><td id="L18572" class="css-a4x74f"><span>18572</span></td><td id="LC18572" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18573" class="css-a4x74f"><span>18573</span></td><td id="LC18573" class="css-1dcdqdg"><code> offset: offset, </code></td></tr><tr><td id="L18574" class="css-a4x74f"><span>18574</span></td><td id="LC18574" class="css-1dcdqdg"><code> <span class="code-string">"offset-anchor"</span>: { </code></td></tr><tr><td id="L18575" class="css-a4x74f"><span>18575</span></td><td id="LC18575" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <position>"</span>, </code></td></tr><tr><td id="L18576" class="css-a4x74f"><span>18576</span></td><td id="LC18576" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18577" class="css-a4x74f"><span>18577</span></td><td id="LC18577" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18578" class="css-a4x74f"><span>18578</span></td><td id="LC18578" class="css-1dcdqdg"><code> animationType: <span class="code-string">"position"</span>, </code></td></tr><tr><td id="L18579" class="css-a4x74f"><span>18579</span></td><td id="LC18579" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToWidthAndHeight"</span>, </code></td></tr><tr><td id="L18580" class="css-a4x74f"><span>18580</span></td><td id="LC18580" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18581" class="css-a4x74f"><span>18581</span></td><td id="LC18581" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L18582" class="css-a4x74f"><span>18582</span></td><td id="LC18582" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18583" class="css-a4x74f"><span>18583</span></td><td id="LC18583" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18584" class="css-a4x74f"><span>18584</span></td><td id="LC18584" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L18585" class="css-a4x74f"><span>18585</span></td><td id="LC18585" class="css-1dcdqdg"><code> computed: <span class="code-string">"forLengthAbsoluteValueOtherwisePercentage"</span>, </code></td></tr><tr><td id="L18586" class="css-a4x74f"><span>18586</span></td><td id="LC18586" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18587" class="css-a4x74f"><span>18587</span></td><td id="LC18587" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18588" class="css-a4x74f"><span>18588</span></td><td id="LC18588" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18589" class="css-a4x74f"><span>18589</span></td><td id="LC18589" class="css-1dcdqdg"><code> <span class="code-string">"offset-distance"</span>: { </code></td></tr><tr><td id="L18590" class="css-a4x74f"><span>18590</span></td><td id="LC18590" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span>, </code></td></tr><tr><td id="L18591" class="css-a4x74f"><span>18591</span></td><td id="LC18591" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18592" class="css-a4x74f"><span>18592</span></td><td id="LC18592" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18593" class="css-a4x74f"><span>18593</span></td><td id="LC18593" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L18594" class="css-a4x74f"><span>18594</span></td><td id="LC18594" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToTotalPathLength"</span>, </code></td></tr><tr><td id="L18595" class="css-a4x74f"><span>18595</span></td><td id="LC18595" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18596" class="css-a4x74f"><span>18596</span></td><td id="LC18596" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L18597" class="css-a4x74f"><span>18597</span></td><td id="LC18597" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18598" class="css-a4x74f"><span>18598</span></td><td id="LC18598" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18599" class="css-a4x74f"><span>18599</span></td><td id="LC18599" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L18600" class="css-a4x74f"><span>18600</span></td><td id="LC18600" class="css-1dcdqdg"><code> computed: <span class="code-string">"forLengthAbsoluteValueOtherwisePercentage"</span>, </code></td></tr><tr><td id="L18601" class="css-a4x74f"><span>18601</span></td><td id="LC18601" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18602" class="css-a4x74f"><span>18602</span></td><td id="LC18602" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18603" class="css-a4x74f"><span>18603</span></td><td id="LC18603" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/offset-distance"</span> </code></td></tr><tr><td id="L18604" class="css-a4x74f"><span>18604</span></td><td id="LC18604" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18605" class="css-a4x74f"><span>18605</span></td><td id="LC18605" class="css-1dcdqdg"><code> <span class="code-string">"offset-path"</span>: { </code></td></tr><tr><td id="L18606" class="css-a4x74f"><span>18606</span></td><td id="LC18606" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]"</span>, </code></td></tr><tr><td id="L18607" class="css-a4x74f"><span>18607</span></td><td id="LC18607" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18608" class="css-a4x74f"><span>18608</span></td><td id="LC18608" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18609" class="css-a4x74f"><span>18609</span></td><td id="LC18609" class="css-1dcdqdg"><code> animationType: <span class="code-string">"angleOrBasicShapeOrPath"</span>, </code></td></tr><tr><td id="L18610" class="css-a4x74f"><span>18610</span></td><td id="LC18610" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18611" class="css-a4x74f"><span>18611</span></td><td id="LC18611" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18612" class="css-a4x74f"><span>18612</span></td><td id="LC18612" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L18613" class="css-a4x74f"><span>18613</span></td><td id="LC18613" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18614" class="css-a4x74f"><span>18614</span></td><td id="LC18614" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18615" class="css-a4x74f"><span>18615</span></td><td id="LC18615" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L18616" class="css-a4x74f"><span>18616</span></td><td id="LC18616" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18617" class="css-a4x74f"><span>18617</span></td><td id="LC18617" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18618" class="css-a4x74f"><span>18618</span></td><td id="LC18618" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L18619" class="css-a4x74f"><span>18619</span></td><td id="LC18619" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18620" class="css-a4x74f"><span>18620</span></td><td id="LC18620" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/offset-path"</span> </code></td></tr><tr><td id="L18621" class="css-a4x74f"><span>18621</span></td><td id="LC18621" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18622" class="css-a4x74f"><span>18622</span></td><td id="LC18622" class="css-1dcdqdg"><code> <span class="code-string">"offset-position"</span>: { </code></td></tr><tr><td id="L18623" class="css-a4x74f"><span>18623</span></td><td id="LC18623" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <position>"</span>, </code></td></tr><tr><td id="L18624" class="css-a4x74f"><span>18624</span></td><td id="LC18624" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18625" class="css-a4x74f"><span>18625</span></td><td id="LC18625" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18626" class="css-a4x74f"><span>18626</span></td><td id="LC18626" class="css-1dcdqdg"><code> animationType: <span class="code-string">"position"</span>, </code></td></tr><tr><td id="L18627" class="css-a4x74f"><span>18627</span></td><td id="LC18627" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfContainingBlock"</span>, </code></td></tr><tr><td id="L18628" class="css-a4x74f"><span>18628</span></td><td id="LC18628" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18629" class="css-a4x74f"><span>18629</span></td><td id="LC18629" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L18630" class="css-a4x74f"><span>18630</span></td><td id="LC18630" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18631" class="css-a4x74f"><span>18631</span></td><td id="LC18631" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18632" class="css-a4x74f"><span>18632</span></td><td id="LC18632" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L18633" class="css-a4x74f"><span>18633</span></td><td id="LC18633" class="css-1dcdqdg"><code> computed: <span class="code-string">"forLengthAbsoluteValueOtherwisePercentage"</span>, </code></td></tr><tr><td id="L18634" class="css-a4x74f"><span>18634</span></td><td id="LC18634" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18635" class="css-a4x74f"><span>18635</span></td><td id="LC18635" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18636" class="css-a4x74f"><span>18636</span></td><td id="LC18636" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18637" class="css-a4x74f"><span>18637</span></td><td id="LC18637" class="css-1dcdqdg"><code> <span class="code-string">"offset-rotate"</span>: { </code></td></tr><tr><td id="L18638" class="css-a4x74f"><span>18638</span></td><td id="LC18638" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | reverse ] || <angle>"</span>, </code></td></tr><tr><td id="L18639" class="css-a4x74f"><span>18639</span></td><td id="LC18639" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18640" class="css-a4x74f"><span>18640</span></td><td id="LC18640" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18641" class="css-a4x74f"><span>18641</span></td><td id="LC18641" class="css-1dcdqdg"><code> animationType: <span class="code-string">"angleOrBasicShapeOrPath"</span>, </code></td></tr><tr><td id="L18642" class="css-a4x74f"><span>18642</span></td><td id="LC18642" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18643" class="css-a4x74f"><span>18643</span></td><td id="LC18643" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18644" class="css-a4x74f"><span>18644</span></td><td id="LC18644" class="css-1dcdqdg"><code> <span class="code-string">"CSS Motion Path"</span> </code></td></tr><tr><td id="L18645" class="css-a4x74f"><span>18645</span></td><td id="LC18645" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18646" class="css-a4x74f"><span>18646</span></td><td id="LC18646" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18647" class="css-a4x74f"><span>18647</span></td><td id="LC18647" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L18648" class="css-a4x74f"><span>18648</span></td><td id="LC18648" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18649" class="css-a4x74f"><span>18649</span></td><td id="LC18649" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18650" class="css-a4x74f"><span>18650</span></td><td id="LC18650" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L18651" class="css-a4x74f"><span>18651</span></td><td id="LC18651" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"</span> </code></td></tr><tr><td id="L18652" class="css-a4x74f"><span>18652</span></td><td id="LC18652" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18653" class="css-a4x74f"><span>18653</span></td><td id="LC18653" class="css-1dcdqdg"><code> opacity: opacity, </code></td></tr><tr><td id="L18654" class="css-a4x74f"><span>18654</span></td><td id="LC18654" class="css-1dcdqdg"><code> order: order, </code></td></tr><tr><td id="L18655" class="css-a4x74f"><span>18655</span></td><td id="LC18655" class="css-1dcdqdg"><code> orphans: orphans, </code></td></tr><tr><td id="L18656" class="css-a4x74f"><span>18656</span></td><td id="LC18656" class="css-1dcdqdg"><code> outline: outline, </code></td></tr><tr><td id="L18657" class="css-a4x74f"><span>18657</span></td><td id="LC18657" class="css-1dcdqdg"><code> <span class="code-string">"outline-color"</span>: { </code></td></tr><tr><td id="L18658" class="css-a4x74f"><span>18658</span></td><td id="LC18658" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color> | invert"</span>, </code></td></tr><tr><td id="L18659" class="css-a4x74f"><span>18659</span></td><td id="LC18659" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L18660" class="css-a4x74f"><span>18660</span></td><td id="LC18660" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18661" class="css-a4x74f"><span>18661</span></td><td id="LC18661" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L18662" class="css-a4x74f"><span>18662</span></td><td id="LC18662" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18663" class="css-a4x74f"><span>18663</span></td><td id="LC18663" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18664" class="css-a4x74f"><span>18664</span></td><td id="LC18664" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L18665" class="css-a4x74f"><span>18665</span></td><td id="LC18665" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18666" class="css-a4x74f"><span>18666</span></td><td id="LC18666" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18667" class="css-a4x74f"><span>18667</span></td><td id="LC18667" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L18668" class="css-a4x74f"><span>18668</span></td><td id="LC18668" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18669" class="css-a4x74f"><span>18669</span></td><td id="LC18669" class="css-1dcdqdg"><code> initial: <span class="code-string">"invertOrCurrentColor"</span>, </code></td></tr><tr><td id="L18670" class="css-a4x74f"><span>18670</span></td><td id="LC18670" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18671" class="css-a4x74f"><span>18671</span></td><td id="LC18671" class="css-1dcdqdg"><code> computed: <span class="code-string">"invertForTranslucentColorRGBAOtherwiseRGB"</span>, </code></td></tr><tr><td id="L18672" class="css-a4x74f"><span>18672</span></td><td id="LC18672" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18673" class="css-a4x74f"><span>18673</span></td><td id="LC18673" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18674" class="css-a4x74f"><span>18674</span></td><td id="LC18674" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/outline-color"</span> </code></td></tr><tr><td id="L18675" class="css-a4x74f"><span>18675</span></td><td id="LC18675" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18676" class="css-a4x74f"><span>18676</span></td><td id="LC18676" class="css-1dcdqdg"><code> <span class="code-string">"outline-offset"</span>: { </code></td></tr><tr><td id="L18677" class="css-a4x74f"><span>18677</span></td><td id="LC18677" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L18678" class="css-a4x74f"><span>18678</span></td><td id="LC18678" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L18679" class="css-a4x74f"><span>18679</span></td><td id="LC18679" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18680" class="css-a4x74f"><span>18680</span></td><td id="LC18680" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L18681" class="css-a4x74f"><span>18681</span></td><td id="LC18681" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18682" class="css-a4x74f"><span>18682</span></td><td id="LC18682" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18683" class="css-a4x74f"><span>18683</span></td><td id="LC18683" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18684" class="css-a4x74f"><span>18684</span></td><td id="LC18684" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18685" class="css-a4x74f"><span>18685</span></td><td id="LC18685" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18686" class="css-a4x74f"><span>18686</span></td><td id="LC18686" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L18687" class="css-a4x74f"><span>18687</span></td><td id="LC18687" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18688" class="css-a4x74f"><span>18688</span></td><td id="LC18688" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18689" class="css-a4x74f"><span>18689</span></td><td id="LC18689" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18690" class="css-a4x74f"><span>18690</span></td><td id="LC18690" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L18691" class="css-a4x74f"><span>18691</span></td><td id="LC18691" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18692" class="css-a4x74f"><span>18692</span></td><td id="LC18692" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18693" class="css-a4x74f"><span>18693</span></td><td id="LC18693" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/outline-offset"</span> </code></td></tr><tr><td id="L18694" class="css-a4x74f"><span>18694</span></td><td id="LC18694" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18695" class="css-a4x74f"><span>18695</span></td><td id="LC18695" class="css-1dcdqdg"><code> <span class="code-string">"outline-style"</span>: { </code></td></tr><tr><td id="L18696" class="css-a4x74f"><span>18696</span></td><td id="LC18696" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <'border-style'>"</span>, </code></td></tr><tr><td id="L18697" class="css-a4x74f"><span>18697</span></td><td id="LC18697" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L18698" class="css-a4x74f"><span>18698</span></td><td id="LC18698" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18699" class="css-a4x74f"><span>18699</span></td><td id="LC18699" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L18700" class="css-a4x74f"><span>18700</span></td><td id="LC18700" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18701" class="css-a4x74f"><span>18701</span></td><td id="LC18701" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18702" class="css-a4x74f"><span>18702</span></td><td id="LC18702" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18703" class="css-a4x74f"><span>18703</span></td><td id="LC18703" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18704" class="css-a4x74f"><span>18704</span></td><td id="LC18704" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18705" class="css-a4x74f"><span>18705</span></td><td id="LC18705" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L18706" class="css-a4x74f"><span>18706</span></td><td id="LC18706" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18707" class="css-a4x74f"><span>18707</span></td><td id="LC18707" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L18708" class="css-a4x74f"><span>18708</span></td><td id="LC18708" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18709" class="css-a4x74f"><span>18709</span></td><td id="LC18709" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18710" class="css-a4x74f"><span>18710</span></td><td id="LC18710" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18711" class="css-a4x74f"><span>18711</span></td><td id="LC18711" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18712" class="css-a4x74f"><span>18712</span></td><td id="LC18712" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/outline-style"</span> </code></td></tr><tr><td id="L18713" class="css-a4x74f"><span>18713</span></td><td id="LC18713" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18714" class="css-a4x74f"><span>18714</span></td><td id="LC18714" class="css-1dcdqdg"><code> <span class="code-string">"outline-width"</span>: { </code></td></tr><tr><td id="L18715" class="css-a4x74f"><span>18715</span></td><td id="LC18715" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<line-width>"</span>, </code></td></tr><tr><td id="L18716" class="css-a4x74f"><span>18716</span></td><td id="LC18716" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L18717" class="css-a4x74f"><span>18717</span></td><td id="LC18717" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18718" class="css-a4x74f"><span>18718</span></td><td id="LC18718" class="css-1dcdqdg"><code> <span class="code-string">"interactive"</span> </code></td></tr><tr><td id="L18719" class="css-a4x74f"><span>18719</span></td><td id="LC18719" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18720" class="css-a4x74f"><span>18720</span></td><td id="LC18720" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18721" class="css-a4x74f"><span>18721</span></td><td id="LC18721" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18722" class="css-a4x74f"><span>18722</span></td><td id="LC18722" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18723" class="css-a4x74f"><span>18723</span></td><td id="LC18723" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18724" class="css-a4x74f"><span>18724</span></td><td id="LC18724" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L18725" class="css-a4x74f"><span>18725</span></td><td id="LC18725" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18726" class="css-a4x74f"><span>18726</span></td><td id="LC18726" class="css-1dcdqdg"><code> initial: <span class="code-string">"medium"</span>, </code></td></tr><tr><td id="L18727" class="css-a4x74f"><span>18727</span></td><td id="LC18727" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18728" class="css-a4x74f"><span>18728</span></td><td id="LC18728" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLength0ForNone"</span>, </code></td></tr><tr><td id="L18729" class="css-a4x74f"><span>18729</span></td><td id="LC18729" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18730" class="css-a4x74f"><span>18730</span></td><td id="LC18730" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18731" class="css-a4x74f"><span>18731</span></td><td id="LC18731" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/outline-width"</span> </code></td></tr><tr><td id="L18732" class="css-a4x74f"><span>18732</span></td><td id="LC18732" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18733" class="css-a4x74f"><span>18733</span></td><td id="LC18733" class="css-1dcdqdg"><code> overflow: overflow, </code></td></tr><tr><td id="L18734" class="css-a4x74f"><span>18734</span></td><td id="LC18734" class="css-1dcdqdg"><code> <span class="code-string">"overflow-anchor"</span>: { </code></td></tr><tr><td id="L18735" class="css-a4x74f"><span>18735</span></td><td id="LC18735" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none"</span>, </code></td></tr><tr><td id="L18736" class="css-a4x74f"><span>18736</span></td><td id="LC18736" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18737" class="css-a4x74f"><span>18737</span></td><td id="LC18737" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18738" class="css-a4x74f"><span>18738</span></td><td id="LC18738" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18739" class="css-a4x74f"><span>18739</span></td><td id="LC18739" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18740" class="css-a4x74f"><span>18740</span></td><td id="LC18740" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18741" class="css-a4x74f"><span>18741</span></td><td id="LC18741" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Anchoring"</span> </code></td></tr><tr><td id="L18742" class="css-a4x74f"><span>18742</span></td><td id="LC18742" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18743" class="css-a4x74f"><span>18743</span></td><td id="LC18743" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18744" class="css-a4x74f"><span>18744</span></td><td id="LC18744" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18745" class="css-a4x74f"><span>18745</span></td><td id="LC18745" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18746" class="css-a4x74f"><span>18746</span></td><td id="LC18746" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18747" class="css-a4x74f"><span>18747</span></td><td id="LC18747" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18748" class="css-a4x74f"><span>18748</span></td><td id="LC18748" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18749" class="css-a4x74f"><span>18749</span></td><td id="LC18749" class="css-1dcdqdg"><code> <span class="code-string">"overflow-block"</span>: { </code></td></tr><tr><td id="L18750" class="css-a4x74f"><span>18750</span></td><td id="LC18750" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden | clip | scroll | auto"</span>, </code></td></tr><tr><td id="L18751" class="css-a4x74f"><span>18751</span></td><td id="LC18751" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18752" class="css-a4x74f"><span>18752</span></td><td id="LC18752" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18753" class="css-a4x74f"><span>18753</span></td><td id="LC18753" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18754" class="css-a4x74f"><span>18754</span></td><td id="LC18754" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18755" class="css-a4x74f"><span>18755</span></td><td id="LC18755" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18756" class="css-a4x74f"><span>18756</span></td><td id="LC18756" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L18757" class="css-a4x74f"><span>18757</span></td><td id="LC18757" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18758" class="css-a4x74f"><span>18758</span></td><td id="LC18758" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18759" class="css-a4x74f"><span>18759</span></td><td id="LC18759" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L18760" class="css-a4x74f"><span>18760</span></td><td id="LC18760" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18761" class="css-a4x74f"><span>18761</span></td><td id="LC18761" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18762" class="css-a4x74f"><span>18762</span></td><td id="LC18762" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18763" class="css-a4x74f"><span>18763</span></td><td id="LC18763" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18764" class="css-a4x74f"><span>18764</span></td><td id="LC18764" class="css-1dcdqdg"><code> <span class="code-string">"overflow-clip-box"</span>: { </code></td></tr><tr><td id="L18765" class="css-a4x74f"><span>18765</span></td><td id="LC18765" class="css-1dcdqdg"><code> syntax: <span class="code-string">"padding-box | content-box"</span>, </code></td></tr><tr><td id="L18766" class="css-a4x74f"><span>18766</span></td><td id="LC18766" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18767" class="css-a4x74f"><span>18767</span></td><td id="LC18767" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18768" class="css-a4x74f"><span>18768</span></td><td id="LC18768" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18769" class="css-a4x74f"><span>18769</span></td><td id="LC18769" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18770" class="css-a4x74f"><span>18770</span></td><td id="LC18770" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18771" class="css-a4x74f"><span>18771</span></td><td id="LC18771" class="css-1dcdqdg"><code> <span class="code-string">"Mozilla Extensions"</span> </code></td></tr><tr><td id="L18772" class="css-a4x74f"><span>18772</span></td><td id="LC18772" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18773" class="css-a4x74f"><span>18773</span></td><td id="LC18773" class="css-1dcdqdg"><code> initial: <span class="code-string">"padding-box"</span>, </code></td></tr><tr><td id="L18774" class="css-a4x74f"><span>18774</span></td><td id="LC18774" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18775" class="css-a4x74f"><span>18775</span></td><td id="LC18775" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18776" class="css-a4x74f"><span>18776</span></td><td id="LC18776" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18777" class="css-a4x74f"><span>18777</span></td><td id="LC18777" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L18778" class="css-a4x74f"><span>18778</span></td><td id="LC18778" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box"</span> </code></td></tr><tr><td id="L18779" class="css-a4x74f"><span>18779</span></td><td id="LC18779" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18780" class="css-a4x74f"><span>18780</span></td><td id="LC18780" class="css-1dcdqdg"><code> <span class="code-string">"overflow-inline"</span>: { </code></td></tr><tr><td id="L18781" class="css-a4x74f"><span>18781</span></td><td id="LC18781" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden | clip | scroll | auto"</span>, </code></td></tr><tr><td id="L18782" class="css-a4x74f"><span>18782</span></td><td id="LC18782" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18783" class="css-a4x74f"><span>18783</span></td><td id="LC18783" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18784" class="css-a4x74f"><span>18784</span></td><td id="LC18784" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18785" class="css-a4x74f"><span>18785</span></td><td id="LC18785" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18786" class="css-a4x74f"><span>18786</span></td><td id="LC18786" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18787" class="css-a4x74f"><span>18787</span></td><td id="LC18787" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L18788" class="css-a4x74f"><span>18788</span></td><td id="LC18788" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18789" class="css-a4x74f"><span>18789</span></td><td id="LC18789" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18790" class="css-a4x74f"><span>18790</span></td><td id="LC18790" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L18791" class="css-a4x74f"><span>18791</span></td><td id="LC18791" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18792" class="css-a4x74f"><span>18792</span></td><td id="LC18792" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L18793" class="css-a4x74f"><span>18793</span></td><td id="LC18793" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L18794" class="css-a4x74f"><span>18794</span></td><td id="LC18794" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18795" class="css-a4x74f"><span>18795</span></td><td id="LC18795" class="css-1dcdqdg"><code> <span class="code-string">"overflow-wrap"</span>: { </code></td></tr><tr><td id="L18796" class="css-a4x74f"><span>18796</span></td><td id="LC18796" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | break-word | anywhere"</span>, </code></td></tr><tr><td id="L18797" class="css-a4x74f"><span>18797</span></td><td id="LC18797" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18798" class="css-a4x74f"><span>18798</span></td><td id="LC18798" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L18799" class="css-a4x74f"><span>18799</span></td><td id="LC18799" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18800" class="css-a4x74f"><span>18800</span></td><td id="LC18800" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18801" class="css-a4x74f"><span>18801</span></td><td id="LC18801" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18802" class="css-a4x74f"><span>18802</span></td><td id="LC18802" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L18803" class="css-a4x74f"><span>18803</span></td><td id="LC18803" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18804" class="css-a4x74f"><span>18804</span></td><td id="LC18804" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L18805" class="css-a4x74f"><span>18805</span></td><td id="LC18805" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedInlineElements"</span>, </code></td></tr><tr><td id="L18806" class="css-a4x74f"><span>18806</span></td><td id="LC18806" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18807" class="css-a4x74f"><span>18807</span></td><td id="LC18807" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18808" class="css-a4x74f"><span>18808</span></td><td id="LC18808" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18809" class="css-a4x74f"><span>18809</span></td><td id="LC18809" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"</span> </code></td></tr><tr><td id="L18810" class="css-a4x74f"><span>18810</span></td><td id="LC18810" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18811" class="css-a4x74f"><span>18811</span></td><td id="LC18811" class="css-1dcdqdg"><code> <span class="code-string">"overflow-x"</span>: { </code></td></tr><tr><td id="L18812" class="css-a4x74f"><span>18812</span></td><td id="LC18812" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden | clip | scroll | auto"</span>, </code></td></tr><tr><td id="L18813" class="css-a4x74f"><span>18813</span></td><td id="LC18813" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18814" class="css-a4x74f"><span>18814</span></td><td id="LC18814" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18815" class="css-a4x74f"><span>18815</span></td><td id="LC18815" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18816" class="css-a4x74f"><span>18816</span></td><td id="LC18816" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18817" class="css-a4x74f"><span>18817</span></td><td id="LC18817" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18818" class="css-a4x74f"><span>18818</span></td><td id="LC18818" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L18819" class="css-a4x74f"><span>18819</span></td><td id="LC18819" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18820" class="css-a4x74f"><span>18820</span></td><td id="LC18820" class="css-1dcdqdg"><code> initial: <span class="code-string">"visible"</span>, </code></td></tr><tr><td id="L18821" class="css-a4x74f"><span>18821</span></td><td id="LC18821" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L18822" class="css-a4x74f"><span>18822</span></td><td id="LC18822" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18823" class="css-a4x74f"><span>18823</span></td><td id="LC18823" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18824" class="css-a4x74f"><span>18824</span></td><td id="LC18824" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18825" class="css-a4x74f"><span>18825</span></td><td id="LC18825" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overflow-x"</span> </code></td></tr><tr><td id="L18826" class="css-a4x74f"><span>18826</span></td><td id="LC18826" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18827" class="css-a4x74f"><span>18827</span></td><td id="LC18827" class="css-1dcdqdg"><code> <span class="code-string">"overflow-y"</span>: { </code></td></tr><tr><td id="L18828" class="css-a4x74f"><span>18828</span></td><td id="LC18828" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden | clip | scroll | auto"</span>, </code></td></tr><tr><td id="L18829" class="css-a4x74f"><span>18829</span></td><td id="LC18829" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18830" class="css-a4x74f"><span>18830</span></td><td id="LC18830" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18831" class="css-a4x74f"><span>18831</span></td><td id="LC18831" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18832" class="css-a4x74f"><span>18832</span></td><td id="LC18832" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18833" class="css-a4x74f"><span>18833</span></td><td id="LC18833" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18834" class="css-a4x74f"><span>18834</span></td><td id="LC18834" class="css-1dcdqdg"><code> <span class="code-string">"CSS Overflow"</span> </code></td></tr><tr><td id="L18835" class="css-a4x74f"><span>18835</span></td><td id="LC18835" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18836" class="css-a4x74f"><span>18836</span></td><td id="LC18836" class="css-1dcdqdg"><code> initial: <span class="code-string">"visible"</span>, </code></td></tr><tr><td id="L18837" class="css-a4x74f"><span>18837</span></td><td id="LC18837" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainersFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L18838" class="css-a4x74f"><span>18838</span></td><td id="LC18838" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18839" class="css-a4x74f"><span>18839</span></td><td id="LC18839" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18840" class="css-a4x74f"><span>18840</span></td><td id="LC18840" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18841" class="css-a4x74f"><span>18841</span></td><td id="LC18841" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overflow-y"</span> </code></td></tr><tr><td id="L18842" class="css-a4x74f"><span>18842</span></td><td id="LC18842" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18843" class="css-a4x74f"><span>18843</span></td><td id="LC18843" class="css-1dcdqdg"><code> <span class="code-string">"overscroll-behavior"</span>: { </code></td></tr><tr><td id="L18844" class="css-a4x74f"><span>18844</span></td><td id="LC18844" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ contain | none | auto ]{1,2}"</span>, </code></td></tr><tr><td id="L18845" class="css-a4x74f"><span>18845</span></td><td id="LC18845" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18846" class="css-a4x74f"><span>18846</span></td><td id="LC18846" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18847" class="css-a4x74f"><span>18847</span></td><td id="LC18847" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18848" class="css-a4x74f"><span>18848</span></td><td id="LC18848" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18849" class="css-a4x74f"><span>18849</span></td><td id="LC18849" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18850" class="css-a4x74f"><span>18850</span></td><td id="LC18850" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18851" class="css-a4x74f"><span>18851</span></td><td id="LC18851" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18852" class="css-a4x74f"><span>18852</span></td><td id="LC18852" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18853" class="css-a4x74f"><span>18853</span></td><td id="LC18853" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L18854" class="css-a4x74f"><span>18854</span></td><td id="LC18854" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18855" class="css-a4x74f"><span>18855</span></td><td id="LC18855" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18856" class="css-a4x74f"><span>18856</span></td><td id="LC18856" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L18857" class="css-a4x74f"><span>18857</span></td><td id="LC18857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"</span> </code></td></tr><tr><td id="L18858" class="css-a4x74f"><span>18858</span></td><td id="LC18858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18859" class="css-a4x74f"><span>18859</span></td><td id="LC18859" class="css-1dcdqdg"><code> <span class="code-string">"overscroll-behavior-x"</span>: { </code></td></tr><tr><td id="L18860" class="css-a4x74f"><span>18860</span></td><td id="LC18860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"contain | none | auto"</span>, </code></td></tr><tr><td id="L18861" class="css-a4x74f"><span>18861</span></td><td id="LC18861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18862" class="css-a4x74f"><span>18862</span></td><td id="LC18862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18863" class="css-a4x74f"><span>18863</span></td><td id="LC18863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18864" class="css-a4x74f"><span>18864</span></td><td id="LC18864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18865" class="css-a4x74f"><span>18865</span></td><td id="LC18865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18866" class="css-a4x74f"><span>18866</span></td><td id="LC18866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18867" class="css-a4x74f"><span>18867</span></td><td id="LC18867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18868" class="css-a4x74f"><span>18868</span></td><td id="LC18868" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18869" class="css-a4x74f"><span>18869</span></td><td id="LC18869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L18870" class="css-a4x74f"><span>18870</span></td><td id="LC18870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18871" class="css-a4x74f"><span>18871</span></td><td id="LC18871" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18872" class="css-a4x74f"><span>18872</span></td><td id="LC18872" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L18873" class="css-a4x74f"><span>18873</span></td><td id="LC18873" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x"</span> </code></td></tr><tr><td id="L18874" class="css-a4x74f"><span>18874</span></td><td id="LC18874" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18875" class="css-a4x74f"><span>18875</span></td><td id="LC18875" class="css-1dcdqdg"><code> <span class="code-string">"overscroll-behavior-y"</span>: { </code></td></tr><tr><td id="L18876" class="css-a4x74f"><span>18876</span></td><td id="LC18876" class="css-1dcdqdg"><code> syntax: <span class="code-string">"contain | none | auto"</span>, </code></td></tr><tr><td id="L18877" class="css-a4x74f"><span>18877</span></td><td id="LC18877" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18878" class="css-a4x74f"><span>18878</span></td><td id="LC18878" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18879" class="css-a4x74f"><span>18879</span></td><td id="LC18879" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18880" class="css-a4x74f"><span>18880</span></td><td id="LC18880" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L18881" class="css-a4x74f"><span>18881</span></td><td id="LC18881" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18882" class="css-a4x74f"><span>18882</span></td><td id="LC18882" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18883" class="css-a4x74f"><span>18883</span></td><td id="LC18883" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18884" class="css-a4x74f"><span>18884</span></td><td id="LC18884" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L18885" class="css-a4x74f"><span>18885</span></td><td id="LC18885" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedBlockAndInlineBlockElements"</span>, </code></td></tr><tr><td id="L18886" class="css-a4x74f"><span>18886</span></td><td id="LC18886" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L18887" class="css-a4x74f"><span>18887</span></td><td id="LC18887" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18888" class="css-a4x74f"><span>18888</span></td><td id="LC18888" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L18889" class="css-a4x74f"><span>18889</span></td><td id="LC18889" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y"</span> </code></td></tr><tr><td id="L18890" class="css-a4x74f"><span>18890</span></td><td id="LC18890" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18891" class="css-a4x74f"><span>18891</span></td><td id="LC18891" class="css-1dcdqdg"><code> padding: padding, </code></td></tr><tr><td id="L18892" class="css-a4x74f"><span>18892</span></td><td id="LC18892" class="css-1dcdqdg"><code> <span class="code-string">"padding-block"</span>: { </code></td></tr><tr><td id="L18893" class="css-a4x74f"><span>18893</span></td><td id="LC18893" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>{1,2}"</span>, </code></td></tr><tr><td id="L18894" class="css-a4x74f"><span>18894</span></td><td id="LC18894" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18895" class="css-a4x74f"><span>18895</span></td><td id="LC18895" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18896" class="css-a4x74f"><span>18896</span></td><td id="LC18896" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18897" class="css-a4x74f"><span>18897</span></td><td id="LC18897" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18898" class="css-a4x74f"><span>18898</span></td><td id="LC18898" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18899" class="css-a4x74f"><span>18899</span></td><td id="LC18899" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18900" class="css-a4x74f"><span>18900</span></td><td id="LC18900" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18901" class="css-a4x74f"><span>18901</span></td><td id="LC18901" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18902" class="css-a4x74f"><span>18902</span></td><td id="LC18902" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18903" class="css-a4x74f"><span>18903</span></td><td id="LC18903" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L18904" class="css-a4x74f"><span>18904</span></td><td id="LC18904" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18905" class="css-a4x74f"><span>18905</span></td><td id="LC18905" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18906" class="css-a4x74f"><span>18906</span></td><td id="LC18906" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-block"</span> </code></td></tr><tr><td id="L18907" class="css-a4x74f"><span>18907</span></td><td id="LC18907" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18908" class="css-a4x74f"><span>18908</span></td><td id="LC18908" class="css-1dcdqdg"><code> <span class="code-string">"padding-block-end"</span>: { </code></td></tr><tr><td id="L18909" class="css-a4x74f"><span>18909</span></td><td id="LC18909" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>"</span>, </code></td></tr><tr><td id="L18910" class="css-a4x74f"><span>18910</span></td><td id="LC18910" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18911" class="css-a4x74f"><span>18911</span></td><td id="LC18911" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18912" class="css-a4x74f"><span>18912</span></td><td id="LC18912" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18913" class="css-a4x74f"><span>18913</span></td><td id="LC18913" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18914" class="css-a4x74f"><span>18914</span></td><td id="LC18914" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18915" class="css-a4x74f"><span>18915</span></td><td id="LC18915" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18916" class="css-a4x74f"><span>18916</span></td><td id="LC18916" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18917" class="css-a4x74f"><span>18917</span></td><td id="LC18917" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18918" class="css-a4x74f"><span>18918</span></td><td id="LC18918" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18919" class="css-a4x74f"><span>18919</span></td><td id="LC18919" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L18920" class="css-a4x74f"><span>18920</span></td><td id="LC18920" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18921" class="css-a4x74f"><span>18921</span></td><td id="LC18921" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18922" class="css-a4x74f"><span>18922</span></td><td id="LC18922" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-block-end"</span> </code></td></tr><tr><td id="L18923" class="css-a4x74f"><span>18923</span></td><td id="LC18923" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18924" class="css-a4x74f"><span>18924</span></td><td id="LC18924" class="css-1dcdqdg"><code> <span class="code-string">"padding-block-start"</span>: { </code></td></tr><tr><td id="L18925" class="css-a4x74f"><span>18925</span></td><td id="LC18925" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>"</span>, </code></td></tr><tr><td id="L18926" class="css-a4x74f"><span>18926</span></td><td id="LC18926" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18927" class="css-a4x74f"><span>18927</span></td><td id="LC18927" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18928" class="css-a4x74f"><span>18928</span></td><td id="LC18928" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18929" class="css-a4x74f"><span>18929</span></td><td id="LC18929" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18930" class="css-a4x74f"><span>18930</span></td><td id="LC18930" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18931" class="css-a4x74f"><span>18931</span></td><td id="LC18931" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18932" class="css-a4x74f"><span>18932</span></td><td id="LC18932" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18933" class="css-a4x74f"><span>18933</span></td><td id="LC18933" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18934" class="css-a4x74f"><span>18934</span></td><td id="LC18934" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18935" class="css-a4x74f"><span>18935</span></td><td id="LC18935" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L18936" class="css-a4x74f"><span>18936</span></td><td id="LC18936" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18937" class="css-a4x74f"><span>18937</span></td><td id="LC18937" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18938" class="css-a4x74f"><span>18938</span></td><td id="LC18938" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-block-start"</span> </code></td></tr><tr><td id="L18939" class="css-a4x74f"><span>18939</span></td><td id="LC18939" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18940" class="css-a4x74f"><span>18940</span></td><td id="LC18940" class="css-1dcdqdg"><code> <span class="code-string">"padding-bottom"</span>: { </code></td></tr><tr><td id="L18941" class="css-a4x74f"><span>18941</span></td><td id="LC18941" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span>, </code></td></tr><tr><td id="L18942" class="css-a4x74f"><span>18942</span></td><td id="LC18942" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18943" class="css-a4x74f"><span>18943</span></td><td id="LC18943" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18944" class="css-a4x74f"><span>18944</span></td><td id="LC18944" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L18945" class="css-a4x74f"><span>18945</span></td><td id="LC18945" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18946" class="css-a4x74f"><span>18946</span></td><td id="LC18946" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18947" class="css-a4x74f"><span>18947</span></td><td id="LC18947" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L18948" class="css-a4x74f"><span>18948</span></td><td id="LC18948" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18949" class="css-a4x74f"><span>18949</span></td><td id="LC18949" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18950" class="css-a4x74f"><span>18950</span></td><td id="LC18950" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInternalTableDisplayTypes"</span>, </code></td></tr><tr><td id="L18951" class="css-a4x74f"><span>18951</span></td><td id="LC18951" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L18952" class="css-a4x74f"><span>18952</span></td><td id="LC18952" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18953" class="css-a4x74f"><span>18953</span></td><td id="LC18953" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L18954" class="css-a4x74f"><span>18954</span></td><td id="LC18954" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L18955" class="css-a4x74f"><span>18955</span></td><td id="LC18955" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18956" class="css-a4x74f"><span>18956</span></td><td id="LC18956" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18957" class="css-a4x74f"><span>18957</span></td><td id="LC18957" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-bottom"</span> </code></td></tr><tr><td id="L18958" class="css-a4x74f"><span>18958</span></td><td id="LC18958" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18959" class="css-a4x74f"><span>18959</span></td><td id="LC18959" class="css-1dcdqdg"><code> <span class="code-string">"padding-inline"</span>: { </code></td></tr><tr><td id="L18960" class="css-a4x74f"><span>18960</span></td><td id="LC18960" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>{1,2}"</span>, </code></td></tr><tr><td id="L18961" class="css-a4x74f"><span>18961</span></td><td id="LC18961" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18962" class="css-a4x74f"><span>18962</span></td><td id="LC18962" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18963" class="css-a4x74f"><span>18963</span></td><td id="LC18963" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18964" class="css-a4x74f"><span>18964</span></td><td id="LC18964" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18965" class="css-a4x74f"><span>18965</span></td><td id="LC18965" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18966" class="css-a4x74f"><span>18966</span></td><td id="LC18966" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18967" class="css-a4x74f"><span>18967</span></td><td id="LC18967" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18968" class="css-a4x74f"><span>18968</span></td><td id="LC18968" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18969" class="css-a4x74f"><span>18969</span></td><td id="LC18969" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18970" class="css-a4x74f"><span>18970</span></td><td id="LC18970" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L18971" class="css-a4x74f"><span>18971</span></td><td id="LC18971" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18972" class="css-a4x74f"><span>18972</span></td><td id="LC18972" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18973" class="css-a4x74f"><span>18973</span></td><td id="LC18973" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-inline"</span> </code></td></tr><tr><td id="L18974" class="css-a4x74f"><span>18974</span></td><td id="LC18974" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18975" class="css-a4x74f"><span>18975</span></td><td id="LC18975" class="css-1dcdqdg"><code> <span class="code-string">"padding-inline-end"</span>: { </code></td></tr><tr><td id="L18976" class="css-a4x74f"><span>18976</span></td><td id="LC18976" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>"</span>, </code></td></tr><tr><td id="L18977" class="css-a4x74f"><span>18977</span></td><td id="LC18977" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18978" class="css-a4x74f"><span>18978</span></td><td id="LC18978" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18979" class="css-a4x74f"><span>18979</span></td><td id="LC18979" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18980" class="css-a4x74f"><span>18980</span></td><td id="LC18980" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18981" class="css-a4x74f"><span>18981</span></td><td id="LC18981" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18982" class="css-a4x74f"><span>18982</span></td><td id="LC18982" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18983" class="css-a4x74f"><span>18983</span></td><td id="LC18983" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L18984" class="css-a4x74f"><span>18984</span></td><td id="LC18984" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L18985" class="css-a4x74f"><span>18985</span></td><td id="LC18985" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L18986" class="css-a4x74f"><span>18986</span></td><td id="LC18986" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L18987" class="css-a4x74f"><span>18987</span></td><td id="LC18987" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L18988" class="css-a4x74f"><span>18988</span></td><td id="LC18988" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L18989" class="css-a4x74f"><span>18989</span></td><td id="LC18989" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end"</span> </code></td></tr><tr><td id="L18990" class="css-a4x74f"><span>18990</span></td><td id="LC18990" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L18991" class="css-a4x74f"><span>18991</span></td><td id="LC18991" class="css-1dcdqdg"><code> <span class="code-string">"padding-inline-start"</span>: { </code></td></tr><tr><td id="L18992" class="css-a4x74f"><span>18992</span></td><td id="LC18992" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'padding-left'>"</span>, </code></td></tr><tr><td id="L18993" class="css-a4x74f"><span>18993</span></td><td id="LC18993" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L18994" class="css-a4x74f"><span>18994</span></td><td id="LC18994" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L18995" class="css-a4x74f"><span>18995</span></td><td id="LC18995" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L18996" class="css-a4x74f"><span>18996</span></td><td id="LC18996" class="css-1dcdqdg"><code> percentages: <span class="code-string">"logicalWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L18997" class="css-a4x74f"><span>18997</span></td><td id="LC18997" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L18998" class="css-a4x74f"><span>18998</span></td><td id="LC18998" class="css-1dcdqdg"><code> <span class="code-string">"CSS Logical Properties"</span> </code></td></tr><tr><td id="L18999" class="css-a4x74f"><span>18999</span></td><td id="LC18999" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19000" class="css-a4x74f"><span>19000</span></td><td id="LC19000" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19001" class="css-a4x74f"><span>19001</span></td><td id="LC19001" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19002" class="css-a4x74f"><span>19002</span></td><td id="LC19002" class="css-1dcdqdg"><code> computed: <span class="code-string">"asLength"</span>, </code></td></tr><tr><td id="L19003" class="css-a4x74f"><span>19003</span></td><td id="LC19003" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19004" class="css-a4x74f"><span>19004</span></td><td id="LC19004" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19005" class="css-a4x74f"><span>19005</span></td><td id="LC19005" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start"</span> </code></td></tr><tr><td id="L19006" class="css-a4x74f"><span>19006</span></td><td id="LC19006" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19007" class="css-a4x74f"><span>19007</span></td><td id="LC19007" class="css-1dcdqdg"><code> <span class="code-string">"padding-left"</span>: { </code></td></tr><tr><td id="L19008" class="css-a4x74f"><span>19008</span></td><td id="LC19008" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span>, </code></td></tr><tr><td id="L19009" class="css-a4x74f"><span>19009</span></td><td id="LC19009" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19010" class="css-a4x74f"><span>19010</span></td><td id="LC19010" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19011" class="css-a4x74f"><span>19011</span></td><td id="LC19011" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L19012" class="css-a4x74f"><span>19012</span></td><td id="LC19012" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L19013" class="css-a4x74f"><span>19013</span></td><td id="LC19013" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19014" class="css-a4x74f"><span>19014</span></td><td id="LC19014" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L19015" class="css-a4x74f"><span>19015</span></td><td id="LC19015" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19016" class="css-a4x74f"><span>19016</span></td><td id="LC19016" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19017" class="css-a4x74f"><span>19017</span></td><td id="LC19017" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInternalTableDisplayTypes"</span>, </code></td></tr><tr><td id="L19018" class="css-a4x74f"><span>19018</span></td><td id="LC19018" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L19019" class="css-a4x74f"><span>19019</span></td><td id="LC19019" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19020" class="css-a4x74f"><span>19020</span></td><td id="LC19020" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L19021" class="css-a4x74f"><span>19021</span></td><td id="LC19021" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L19022" class="css-a4x74f"><span>19022</span></td><td id="LC19022" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19023" class="css-a4x74f"><span>19023</span></td><td id="LC19023" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19024" class="css-a4x74f"><span>19024</span></td><td id="LC19024" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-left"</span> </code></td></tr><tr><td id="L19025" class="css-a4x74f"><span>19025</span></td><td id="LC19025" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19026" class="css-a4x74f"><span>19026</span></td><td id="LC19026" class="css-1dcdqdg"><code> <span class="code-string">"padding-right"</span>: { </code></td></tr><tr><td id="L19027" class="css-a4x74f"><span>19027</span></td><td id="LC19027" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span>, </code></td></tr><tr><td id="L19028" class="css-a4x74f"><span>19028</span></td><td id="LC19028" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19029" class="css-a4x74f"><span>19029</span></td><td id="LC19029" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19030" class="css-a4x74f"><span>19030</span></td><td id="LC19030" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L19031" class="css-a4x74f"><span>19031</span></td><td id="LC19031" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L19032" class="css-a4x74f"><span>19032</span></td><td id="LC19032" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19033" class="css-a4x74f"><span>19033</span></td><td id="LC19033" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L19034" class="css-a4x74f"><span>19034</span></td><td id="LC19034" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19035" class="css-a4x74f"><span>19035</span></td><td id="LC19035" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19036" class="css-a4x74f"><span>19036</span></td><td id="LC19036" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInternalTableDisplayTypes"</span>, </code></td></tr><tr><td id="L19037" class="css-a4x74f"><span>19037</span></td><td id="LC19037" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L19038" class="css-a4x74f"><span>19038</span></td><td id="LC19038" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19039" class="css-a4x74f"><span>19039</span></td><td id="LC19039" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L19040" class="css-a4x74f"><span>19040</span></td><td id="LC19040" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L19041" class="css-a4x74f"><span>19041</span></td><td id="LC19041" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19042" class="css-a4x74f"><span>19042</span></td><td id="LC19042" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19043" class="css-a4x74f"><span>19043</span></td><td id="LC19043" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-right"</span> </code></td></tr><tr><td id="L19044" class="css-a4x74f"><span>19044</span></td><td id="LC19044" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19045" class="css-a4x74f"><span>19045</span></td><td id="LC19045" class="css-1dcdqdg"><code> <span class="code-string">"padding-top"</span>: { </code></td></tr><tr><td id="L19046" class="css-a4x74f"><span>19046</span></td><td id="LC19046" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span>, </code></td></tr><tr><td id="L19047" class="css-a4x74f"><span>19047</span></td><td id="LC19047" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19048" class="css-a4x74f"><span>19048</span></td><td id="LC19048" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19049" class="css-a4x74f"><span>19049</span></td><td id="LC19049" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L19050" class="css-a4x74f"><span>19050</span></td><td id="LC19050" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L19051" class="css-a4x74f"><span>19051</span></td><td id="LC19051" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19052" class="css-a4x74f"><span>19052</span></td><td id="LC19052" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Model"</span> </code></td></tr><tr><td id="L19053" class="css-a4x74f"><span>19053</span></td><td id="LC19053" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19054" class="css-a4x74f"><span>19054</span></td><td id="LC19054" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19055" class="css-a4x74f"><span>19055</span></td><td id="LC19055" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptInternalTableDisplayTypes"</span>, </code></td></tr><tr><td id="L19056" class="css-a4x74f"><span>19056</span></td><td id="LC19056" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageAsSpecifiedOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L19057" class="css-a4x74f"><span>19057</span></td><td id="LC19057" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19058" class="css-a4x74f"><span>19058</span></td><td id="LC19058" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L19059" class="css-a4x74f"><span>19059</span></td><td id="LC19059" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span> </code></td></tr><tr><td id="L19060" class="css-a4x74f"><span>19060</span></td><td id="LC19060" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19061" class="css-a4x74f"><span>19061</span></td><td id="LC19061" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19062" class="css-a4x74f"><span>19062</span></td><td id="LC19062" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/padding-top"</span> </code></td></tr><tr><td id="L19063" class="css-a4x74f"><span>19063</span></td><td id="LC19063" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19064" class="css-a4x74f"><span>19064</span></td><td id="LC19064" class="css-1dcdqdg"><code> <span class="code-string">"page-break-after"</span>: { </code></td></tr><tr><td id="L19065" class="css-a4x74f"><span>19065</span></td><td id="LC19065" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | always | avoid | left | right | recto | verso"</span>, </code></td></tr><tr><td id="L19066" class="css-a4x74f"><span>19066</span></td><td id="LC19066" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L19067" class="css-a4x74f"><span>19067</span></td><td id="LC19067" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19068" class="css-a4x74f"><span>19068</span></td><td id="LC19068" class="css-1dcdqdg"><code> <span class="code-string">"paged"</span> </code></td></tr><tr><td id="L19069" class="css-a4x74f"><span>19069</span></td><td id="LC19069" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19070" class="css-a4x74f"><span>19070</span></td><td id="LC19070" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19071" class="css-a4x74f"><span>19071</span></td><td id="LC19071" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19072" class="css-a4x74f"><span>19072</span></td><td id="LC19072" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19073" class="css-a4x74f"><span>19073</span></td><td id="LC19073" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19074" class="css-a4x74f"><span>19074</span></td><td id="LC19074" class="css-1dcdqdg"><code> <span class="code-string">"CSS Pages"</span> </code></td></tr><tr><td id="L19075" class="css-a4x74f"><span>19075</span></td><td id="LC19075" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19076" class="css-a4x74f"><span>19076</span></td><td id="LC19076" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19077" class="css-a4x74f"><span>19077</span></td><td id="LC19077" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockElementsInNormalFlow"</span>, </code></td></tr><tr><td id="L19078" class="css-a4x74f"><span>19078</span></td><td id="LC19078" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19079" class="css-a4x74f"><span>19079</span></td><td id="LC19079" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19080" class="css-a4x74f"><span>19080</span></td><td id="LC19080" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19081" class="css-a4x74f"><span>19081</span></td><td id="LC19081" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/page-break-after"</span> </code></td></tr><tr><td id="L19082" class="css-a4x74f"><span>19082</span></td><td id="LC19082" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19083" class="css-a4x74f"><span>19083</span></td><td id="LC19083" class="css-1dcdqdg"><code> <span class="code-string">"page-break-before"</span>: { </code></td></tr><tr><td id="L19084" class="css-a4x74f"><span>19084</span></td><td id="LC19084" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | always | avoid | left | right | recto | verso"</span>, </code></td></tr><tr><td id="L19085" class="css-a4x74f"><span>19085</span></td><td id="LC19085" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L19086" class="css-a4x74f"><span>19086</span></td><td id="LC19086" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19087" class="css-a4x74f"><span>19087</span></td><td id="LC19087" class="css-1dcdqdg"><code> <span class="code-string">"paged"</span> </code></td></tr><tr><td id="L19088" class="css-a4x74f"><span>19088</span></td><td id="LC19088" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19089" class="css-a4x74f"><span>19089</span></td><td id="LC19089" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19090" class="css-a4x74f"><span>19090</span></td><td id="LC19090" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19091" class="css-a4x74f"><span>19091</span></td><td id="LC19091" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19092" class="css-a4x74f"><span>19092</span></td><td id="LC19092" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19093" class="css-a4x74f"><span>19093</span></td><td id="LC19093" class="css-1dcdqdg"><code> <span class="code-string">"CSS Pages"</span> </code></td></tr><tr><td id="L19094" class="css-a4x74f"><span>19094</span></td><td id="LC19094" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19095" class="css-a4x74f"><span>19095</span></td><td id="LC19095" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19096" class="css-a4x74f"><span>19096</span></td><td id="LC19096" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockElementsInNormalFlow"</span>, </code></td></tr><tr><td id="L19097" class="css-a4x74f"><span>19097</span></td><td id="LC19097" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19098" class="css-a4x74f"><span>19098</span></td><td id="LC19098" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19099" class="css-a4x74f"><span>19099</span></td><td id="LC19099" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19100" class="css-a4x74f"><span>19100</span></td><td id="LC19100" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/page-break-before"</span> </code></td></tr><tr><td id="L19101" class="css-a4x74f"><span>19101</span></td><td id="LC19101" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19102" class="css-a4x74f"><span>19102</span></td><td id="LC19102" class="css-1dcdqdg"><code> <span class="code-string">"page-break-inside"</span>: { </code></td></tr><tr><td id="L19103" class="css-a4x74f"><span>19103</span></td><td id="LC19103" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | avoid"</span>, </code></td></tr><tr><td id="L19104" class="css-a4x74f"><span>19104</span></td><td id="LC19104" class="css-1dcdqdg"><code> media: [ </code></td></tr><tr><td id="L19105" class="css-a4x74f"><span>19105</span></td><td id="LC19105" class="css-1dcdqdg"><code> <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19106" class="css-a4x74f"><span>19106</span></td><td id="LC19106" class="css-1dcdqdg"><code> <span class="code-string">"paged"</span> </code></td></tr><tr><td id="L19107" class="css-a4x74f"><span>19107</span></td><td id="LC19107" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19108" class="css-a4x74f"><span>19108</span></td><td id="LC19108" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19109" class="css-a4x74f"><span>19109</span></td><td id="LC19109" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19110" class="css-a4x74f"><span>19110</span></td><td id="LC19110" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19111" class="css-a4x74f"><span>19111</span></td><td id="LC19111" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19112" class="css-a4x74f"><span>19112</span></td><td id="LC19112" class="css-1dcdqdg"><code> <span class="code-string">"CSS Pages"</span> </code></td></tr><tr><td id="L19113" class="css-a4x74f"><span>19113</span></td><td id="LC19113" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19114" class="css-a4x74f"><span>19114</span></td><td id="LC19114" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19115" class="css-a4x74f"><span>19115</span></td><td id="LC19115" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockElementsInNormalFlow"</span>, </code></td></tr><tr><td id="L19116" class="css-a4x74f"><span>19116</span></td><td id="LC19116" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19117" class="css-a4x74f"><span>19117</span></td><td id="LC19117" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19118" class="css-a4x74f"><span>19118</span></td><td id="LC19118" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19119" class="css-a4x74f"><span>19119</span></td><td id="LC19119" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/page-break-inside"</span> </code></td></tr><tr><td id="L19120" class="css-a4x74f"><span>19120</span></td><td id="LC19120" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19121" class="css-a4x74f"><span>19121</span></td><td id="LC19121" class="css-1dcdqdg"><code> <span class="code-string">"paint-order"</span>: { </code></td></tr><tr><td id="L19122" class="css-a4x74f"><span>19122</span></td><td id="LC19122" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | [ fill || stroke || markers ]"</span>, </code></td></tr><tr><td id="L19123" class="css-a4x74f"><span>19123</span></td><td id="LC19123" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19124" class="css-a4x74f"><span>19124</span></td><td id="LC19124" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19125" class="css-a4x74f"><span>19125</span></td><td id="LC19125" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19126" class="css-a4x74f"><span>19126</span></td><td id="LC19126" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19127" class="css-a4x74f"><span>19127</span></td><td id="LC19127" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19128" class="css-a4x74f"><span>19128</span></td><td id="LC19128" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L19129" class="css-a4x74f"><span>19129</span></td><td id="LC19129" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19130" class="css-a4x74f"><span>19130</span></td><td id="LC19130" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L19131" class="css-a4x74f"><span>19131</span></td><td id="LC19131" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"textElements"</span>, </code></td></tr><tr><td id="L19132" class="css-a4x74f"><span>19132</span></td><td id="LC19132" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19133" class="css-a4x74f"><span>19133</span></td><td id="LC19133" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19134" class="css-a4x74f"><span>19134</span></td><td id="LC19134" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L19135" class="css-a4x74f"><span>19135</span></td><td id="LC19135" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/paint-order"</span> </code></td></tr><tr><td id="L19136" class="css-a4x74f"><span>19136</span></td><td id="LC19136" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19137" class="css-a4x74f"><span>19137</span></td><td id="LC19137" class="css-1dcdqdg"><code> perspective: perspective, </code></td></tr><tr><td id="L19138" class="css-a4x74f"><span>19138</span></td><td id="LC19138" class="css-1dcdqdg"><code> <span class="code-string">"perspective-origin"</span>: { </code></td></tr><tr><td id="L19139" class="css-a4x74f"><span>19139</span></td><td id="LC19139" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<position>"</span>, </code></td></tr><tr><td id="L19140" class="css-a4x74f"><span>19140</span></td><td id="LC19140" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19141" class="css-a4x74f"><span>19141</span></td><td id="LC19141" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19142" class="css-a4x74f"><span>19142</span></td><td id="LC19142" class="css-1dcdqdg"><code> animationType: <span class="code-string">"simpleListOfLpc"</span>, </code></td></tr><tr><td id="L19143" class="css-a4x74f"><span>19143</span></td><td id="LC19143" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L19144" class="css-a4x74f"><span>19144</span></td><td id="LC19144" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19145" class="css-a4x74f"><span>19145</span></td><td id="LC19145" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L19146" class="css-a4x74f"><span>19146</span></td><td id="LC19146" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19147" class="css-a4x74f"><span>19147</span></td><td id="LC19147" class="css-1dcdqdg"><code> initial: <span class="code-string">"50% 50%"</span>, </code></td></tr><tr><td id="L19148" class="css-a4x74f"><span>19148</span></td><td id="LC19148" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L19149" class="css-a4x74f"><span>19149</span></td><td id="LC19149" class="css-1dcdqdg"><code> computed: <span class="code-string">"forLengthAbsoluteValueOtherwisePercentage"</span>, </code></td></tr><tr><td id="L19150" class="css-a4x74f"><span>19150</span></td><td id="LC19150" class="css-1dcdqdg"><code> order: <span class="code-string">"oneOrTwoValuesLengthAbsoluteKeywordsPercentages"</span>, </code></td></tr><tr><td id="L19151" class="css-a4x74f"><span>19151</span></td><td id="LC19151" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19152" class="css-a4x74f"><span>19152</span></td><td id="LC19152" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/perspective-origin"</span> </code></td></tr><tr><td id="L19153" class="css-a4x74f"><span>19153</span></td><td id="LC19153" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19154" class="css-a4x74f"><span>19154</span></td><td id="LC19154" class="css-1dcdqdg"><code> <span class="code-string">"place-content"</span>: { </code></td></tr><tr><td id="L19155" class="css-a4x74f"><span>19155</span></td><td id="LC19155" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'align-content'> <'justify-content'>?"</span>, </code></td></tr><tr><td id="L19156" class="css-a4x74f"><span>19156</span></td><td id="LC19156" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19157" class="css-a4x74f"><span>19157</span></td><td id="LC19157" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19158" class="css-a4x74f"><span>19158</span></td><td id="LC19158" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19159" class="css-a4x74f"><span>19159</span></td><td id="LC19159" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19160" class="css-a4x74f"><span>19160</span></td><td id="LC19160" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19161" class="css-a4x74f"><span>19161</span></td><td id="LC19161" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L19162" class="css-a4x74f"><span>19162</span></td><td id="LC19162" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19163" class="css-a4x74f"><span>19163</span></td><td id="LC19163" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L19164" class="css-a4x74f"><span>19164</span></td><td id="LC19164" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multilineFlexContainers"</span>, </code></td></tr><tr><td id="L19165" class="css-a4x74f"><span>19165</span></td><td id="LC19165" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19166" class="css-a4x74f"><span>19166</span></td><td id="LC19166" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19167" class="css-a4x74f"><span>19167</span></td><td id="LC19167" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19168" class="css-a4x74f"><span>19168</span></td><td id="LC19168" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/place-content"</span> </code></td></tr><tr><td id="L19169" class="css-a4x74f"><span>19169</span></td><td id="LC19169" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19170" class="css-a4x74f"><span>19170</span></td><td id="LC19170" class="css-1dcdqdg"><code> <span class="code-string">"place-items"</span>: { </code></td></tr><tr><td id="L19171" class="css-a4x74f"><span>19171</span></td><td id="LC19171" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'align-items'> <'justify-items'>?"</span>, </code></td></tr><tr><td id="L19172" class="css-a4x74f"><span>19172</span></td><td id="LC19172" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19173" class="css-a4x74f"><span>19173</span></td><td id="LC19173" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19174" class="css-a4x74f"><span>19174</span></td><td id="LC19174" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19175" class="css-a4x74f"><span>19175</span></td><td id="LC19175" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19176" class="css-a4x74f"><span>19176</span></td><td id="LC19176" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19177" class="css-a4x74f"><span>19177</span></td><td id="LC19177" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L19178" class="css-a4x74f"><span>19178</span></td><td id="LC19178" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19179" class="css-a4x74f"><span>19179</span></td><td id="LC19179" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L19180" class="css-a4x74f"><span>19180</span></td><td id="LC19180" class="css-1dcdqdg"><code> <span class="code-string">"align-items"</span>, </code></td></tr><tr><td id="L19181" class="css-a4x74f"><span>19181</span></td><td id="LC19181" class="css-1dcdqdg"><code> <span class="code-string">"justify-items"</span> </code></td></tr><tr><td id="L19182" class="css-a4x74f"><span>19182</span></td><td id="LC19182" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19183" class="css-a4x74f"><span>19183</span></td><td id="LC19183" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19184" class="css-a4x74f"><span>19184</span></td><td id="LC19184" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L19185" class="css-a4x74f"><span>19185</span></td><td id="LC19185" class="css-1dcdqdg"><code> <span class="code-string">"align-items"</span>, </code></td></tr><tr><td id="L19186" class="css-a4x74f"><span>19186</span></td><td id="LC19186" class="css-1dcdqdg"><code> <span class="code-string">"justify-items"</span> </code></td></tr><tr><td id="L19187" class="css-a4x74f"><span>19187</span></td><td id="LC19187" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19188" class="css-a4x74f"><span>19188</span></td><td id="LC19188" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19189" class="css-a4x74f"><span>19189</span></td><td id="LC19189" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19190" class="css-a4x74f"><span>19190</span></td><td id="LC19190" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/place-items"</span> </code></td></tr><tr><td id="L19191" class="css-a4x74f"><span>19191</span></td><td id="LC19191" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19192" class="css-a4x74f"><span>19192</span></td><td id="LC19192" class="css-1dcdqdg"><code> <span class="code-string">"place-self"</span>: { </code></td></tr><tr><td id="L19193" class="css-a4x74f"><span>19193</span></td><td id="LC19193" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'align-self'> <'justify-self'>?"</span>, </code></td></tr><tr><td id="L19194" class="css-a4x74f"><span>19194</span></td><td id="LC19194" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19195" class="css-a4x74f"><span>19195</span></td><td id="LC19195" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19196" class="css-a4x74f"><span>19196</span></td><td id="LC19196" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19197" class="css-a4x74f"><span>19197</span></td><td id="LC19197" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19198" class="css-a4x74f"><span>19198</span></td><td id="LC19198" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19199" class="css-a4x74f"><span>19199</span></td><td id="LC19199" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L19200" class="css-a4x74f"><span>19200</span></td><td id="LC19200" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19201" class="css-a4x74f"><span>19201</span></td><td id="LC19201" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L19202" class="css-a4x74f"><span>19202</span></td><td id="LC19202" class="css-1dcdqdg"><code> <span class="code-string">"align-self"</span>, </code></td></tr><tr><td id="L19203" class="css-a4x74f"><span>19203</span></td><td id="LC19203" class="css-1dcdqdg"><code> <span class="code-string">"justify-self"</span> </code></td></tr><tr><td id="L19204" class="css-a4x74f"><span>19204</span></td><td id="LC19204" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19205" class="css-a4x74f"><span>19205</span></td><td id="LC19205" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems"</span>, </code></td></tr><tr><td id="L19206" class="css-a4x74f"><span>19206</span></td><td id="LC19206" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L19207" class="css-a4x74f"><span>19207</span></td><td id="LC19207" class="css-1dcdqdg"><code> <span class="code-string">"align-self"</span>, </code></td></tr><tr><td id="L19208" class="css-a4x74f"><span>19208</span></td><td id="LC19208" class="css-1dcdqdg"><code> <span class="code-string">"justify-self"</span> </code></td></tr><tr><td id="L19209" class="css-a4x74f"><span>19209</span></td><td id="LC19209" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19210" class="css-a4x74f"><span>19210</span></td><td id="LC19210" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19211" class="css-a4x74f"><span>19211</span></td><td id="LC19211" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19212" class="css-a4x74f"><span>19212</span></td><td id="LC19212" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/place-self"</span> </code></td></tr><tr><td id="L19213" class="css-a4x74f"><span>19213</span></td><td id="LC19213" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19214" class="css-a4x74f"><span>19214</span></td><td id="LC19214" class="css-1dcdqdg"><code> <span class="code-string">"pointer-events"</span>: { </code></td></tr><tr><td id="L19215" class="css-a4x74f"><span>19215</span></td><td id="LC19215" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit"</span>, </code></td></tr><tr><td id="L19216" class="css-a4x74f"><span>19216</span></td><td id="LC19216" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19217" class="css-a4x74f"><span>19217</span></td><td id="LC19217" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19218" class="css-a4x74f"><span>19218</span></td><td id="LC19218" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19219" class="css-a4x74f"><span>19219</span></td><td id="LC19219" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19220" class="css-a4x74f"><span>19220</span></td><td id="LC19220" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19221" class="css-a4x74f"><span>19221</span></td><td id="LC19221" class="css-1dcdqdg"><code> <span class="code-string">"Pointer Events"</span> </code></td></tr><tr><td id="L19222" class="css-a4x74f"><span>19222</span></td><td id="LC19222" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19223" class="css-a4x74f"><span>19223</span></td><td id="LC19223" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19224" class="css-a4x74f"><span>19224</span></td><td id="LC19224" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19225" class="css-a4x74f"><span>19225</span></td><td id="LC19225" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19226" class="css-a4x74f"><span>19226</span></td><td id="LC19226" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19227" class="css-a4x74f"><span>19227</span></td><td id="LC19227" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19228" class="css-a4x74f"><span>19228</span></td><td id="LC19228" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/pointer-events"</span> </code></td></tr><tr><td id="L19229" class="css-a4x74f"><span>19229</span></td><td id="LC19229" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19230" class="css-a4x74f"><span>19230</span></td><td id="LC19230" class="css-1dcdqdg"><code> position: position, </code></td></tr><tr><td id="L19231" class="css-a4x74f"><span>19231</span></td><td id="LC19231" class="css-1dcdqdg"><code> quotes: quotes, </code></td></tr><tr><td id="L19232" class="css-a4x74f"><span>19232</span></td><td id="LC19232" class="css-1dcdqdg"><code> resize: resize, </code></td></tr><tr><td id="L19233" class="css-a4x74f"><span>19233</span></td><td id="LC19233" class="css-1dcdqdg"><code> right: right, </code></td></tr><tr><td id="L19234" class="css-a4x74f"><span>19234</span></td><td id="LC19234" class="css-1dcdqdg"><code> rotate: rotate, </code></td></tr><tr><td id="L19235" class="css-a4x74f"><span>19235</span></td><td id="LC19235" class="css-1dcdqdg"><code> <span class="code-string">"row-gap"</span>: { </code></td></tr><tr><td id="L19236" class="css-a4x74f"><span>19236</span></td><td id="LC19236" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <length-percentage>"</span>, </code></td></tr><tr><td id="L19237" class="css-a4x74f"><span>19237</span></td><td id="LC19237" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19238" class="css-a4x74f"><span>19238</span></td><td id="LC19238" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19239" class="css-a4x74f"><span>19239</span></td><td id="LC19239" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L19240" class="css-a4x74f"><span>19240</span></td><td id="LC19240" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToDimensionOfContentArea"</span>, </code></td></tr><tr><td id="L19241" class="css-a4x74f"><span>19241</span></td><td id="LC19241" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19242" class="css-a4x74f"><span>19242</span></td><td id="LC19242" class="css-1dcdqdg"><code> <span class="code-string">"CSS Box Alignment"</span> </code></td></tr><tr><td id="L19243" class="css-a4x74f"><span>19243</span></td><td id="LC19243" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19244" class="css-a4x74f"><span>19244</span></td><td id="LC19244" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L19245" class="css-a4x74f"><span>19245</span></td><td id="LC19245" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"multiColumnElementsFlexContainersGridContainers"</span>, </code></td></tr><tr><td id="L19246" class="css-a4x74f"><span>19246</span></td><td id="LC19246" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn"</span>, </code></td></tr><tr><td id="L19247" class="css-a4x74f"><span>19247</span></td><td id="LC19247" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19248" class="css-a4x74f"><span>19248</span></td><td id="LC19248" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19249" class="css-a4x74f"><span>19249</span></td><td id="LC19249" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/row-gap"</span> </code></td></tr><tr><td id="L19250" class="css-a4x74f"><span>19250</span></td><td id="LC19250" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19251" class="css-a4x74f"><span>19251</span></td><td id="LC19251" class="css-1dcdqdg"><code> <span class="code-string">"ruby-align"</span>: { </code></td></tr><tr><td id="L19252" class="css-a4x74f"><span>19252</span></td><td id="LC19252" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | center | space-between | space-around"</span>, </code></td></tr><tr><td id="L19253" class="css-a4x74f"><span>19253</span></td><td id="LC19253" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19254" class="css-a4x74f"><span>19254</span></td><td id="LC19254" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19255" class="css-a4x74f"><span>19255</span></td><td id="LC19255" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19256" class="css-a4x74f"><span>19256</span></td><td id="LC19256" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19257" class="css-a4x74f"><span>19257</span></td><td id="LC19257" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19258" class="css-a4x74f"><span>19258</span></td><td id="LC19258" class="css-1dcdqdg"><code> <span class="code-string">"CSS Ruby"</span> </code></td></tr><tr><td id="L19259" class="css-a4x74f"><span>19259</span></td><td id="LC19259" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19260" class="css-a4x74f"><span>19260</span></td><td id="LC19260" class="css-1dcdqdg"><code> initial: <span class="code-string">"space-around"</span>, </code></td></tr><tr><td id="L19261" class="css-a4x74f"><span>19261</span></td><td id="LC19261" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"rubyBasesAnnotationsBaseAnnotationContainers"</span>, </code></td></tr><tr><td id="L19262" class="css-a4x74f"><span>19262</span></td><td id="LC19262" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19263" class="css-a4x74f"><span>19263</span></td><td id="LC19263" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19264" class="css-a4x74f"><span>19264</span></td><td id="LC19264" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L19265" class="css-a4x74f"><span>19265</span></td><td id="LC19265" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/ruby-align"</span> </code></td></tr><tr><td id="L19266" class="css-a4x74f"><span>19266</span></td><td id="LC19266" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19267" class="css-a4x74f"><span>19267</span></td><td id="LC19267" class="css-1dcdqdg"><code> <span class="code-string">"ruby-merge"</span>: { </code></td></tr><tr><td id="L19268" class="css-a4x74f"><span>19268</span></td><td id="LC19268" class="css-1dcdqdg"><code> syntax: <span class="code-string">"separate | collapse | auto"</span>, </code></td></tr><tr><td id="L19269" class="css-a4x74f"><span>19269</span></td><td id="LC19269" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19270" class="css-a4x74f"><span>19270</span></td><td id="LC19270" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19271" class="css-a4x74f"><span>19271</span></td><td id="LC19271" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19272" class="css-a4x74f"><span>19272</span></td><td id="LC19272" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19273" class="css-a4x74f"><span>19273</span></td><td id="LC19273" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19274" class="css-a4x74f"><span>19274</span></td><td id="LC19274" class="css-1dcdqdg"><code> <span class="code-string">"CSS Ruby"</span> </code></td></tr><tr><td id="L19275" class="css-a4x74f"><span>19275</span></td><td id="LC19275" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19276" class="css-a4x74f"><span>19276</span></td><td id="LC19276" class="css-1dcdqdg"><code> initial: <span class="code-string">"separate"</span>, </code></td></tr><tr><td id="L19277" class="css-a4x74f"><span>19277</span></td><td id="LC19277" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"rubyAnnotationsContainers"</span>, </code></td></tr><tr><td id="L19278" class="css-a4x74f"><span>19278</span></td><td id="LC19278" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19279" class="css-a4x74f"><span>19279</span></td><td id="LC19279" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19280" class="css-a4x74f"><span>19280</span></td><td id="LC19280" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span> </code></td></tr><tr><td id="L19281" class="css-a4x74f"><span>19281</span></td><td id="LC19281" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19282" class="css-a4x74f"><span>19282</span></td><td id="LC19282" class="css-1dcdqdg"><code> <span class="code-string">"ruby-position"</span>: { </code></td></tr><tr><td id="L19283" class="css-a4x74f"><span>19283</span></td><td id="LC19283" class="css-1dcdqdg"><code> syntax: <span class="code-string">"over | under | inter-character"</span>, </code></td></tr><tr><td id="L19284" class="css-a4x74f"><span>19284</span></td><td id="LC19284" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19285" class="css-a4x74f"><span>19285</span></td><td id="LC19285" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19286" class="css-a4x74f"><span>19286</span></td><td id="LC19286" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19287" class="css-a4x74f"><span>19287</span></td><td id="LC19287" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19288" class="css-a4x74f"><span>19288</span></td><td id="LC19288" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19289" class="css-a4x74f"><span>19289</span></td><td id="LC19289" class="css-1dcdqdg"><code> <span class="code-string">"CSS Ruby"</span> </code></td></tr><tr><td id="L19290" class="css-a4x74f"><span>19290</span></td><td id="LC19290" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19291" class="css-a4x74f"><span>19291</span></td><td id="LC19291" class="css-1dcdqdg"><code> initial: <span class="code-string">"over"</span>, </code></td></tr><tr><td id="L19292" class="css-a4x74f"><span>19292</span></td><td id="LC19292" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"rubyAnnotationsContainers"</span>, </code></td></tr><tr><td id="L19293" class="css-a4x74f"><span>19293</span></td><td id="LC19293" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19294" class="css-a4x74f"><span>19294</span></td><td id="LC19294" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19295" class="css-a4x74f"><span>19295</span></td><td id="LC19295" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L19296" class="css-a4x74f"><span>19296</span></td><td id="LC19296" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/ruby-position"</span> </code></td></tr><tr><td id="L19297" class="css-a4x74f"><span>19297</span></td><td id="LC19297" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19298" class="css-a4x74f"><span>19298</span></td><td id="LC19298" class="css-1dcdqdg"><code> scale: scale, </code></td></tr><tr><td id="L19299" class="css-a4x74f"><span>19299</span></td><td id="LC19299" class="css-1dcdqdg"><code> <span class="code-string">"scrollbar-color"</span>: { </code></td></tr><tr><td id="L19300" class="css-a4x74f"><span>19300</span></td><td id="LC19300" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | dark | light | <color>{2}"</span>, </code></td></tr><tr><td id="L19301" class="css-a4x74f"><span>19301</span></td><td id="LC19301" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19302" class="css-a4x74f"><span>19302</span></td><td id="LC19302" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19303" class="css-a4x74f"><span>19303</span></td><td id="LC19303" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L19304" class="css-a4x74f"><span>19304</span></td><td id="LC19304" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19305" class="css-a4x74f"><span>19305</span></td><td id="LC19305" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19306" class="css-a4x74f"><span>19306</span></td><td id="LC19306" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scrollbars"</span> </code></td></tr><tr><td id="L19307" class="css-a4x74f"><span>19307</span></td><td id="LC19307" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19308" class="css-a4x74f"><span>19308</span></td><td id="LC19308" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19309" class="css-a4x74f"><span>19309</span></td><td id="LC19309" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollingBoxes"</span>, </code></td></tr><tr><td id="L19310" class="css-a4x74f"><span>19310</span></td><td id="LC19310" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19311" class="css-a4x74f"><span>19311</span></td><td id="LC19311" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19312" class="css-a4x74f"><span>19312</span></td><td id="LC19312" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19313" class="css-a4x74f"><span>19313</span></td><td id="LC19313" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color"</span> </code></td></tr><tr><td id="L19314" class="css-a4x74f"><span>19314</span></td><td id="LC19314" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19315" class="css-a4x74f"><span>19315</span></td><td id="LC19315" class="css-1dcdqdg"><code> <span class="code-string">"scrollbar-width"</span>: { </code></td></tr><tr><td id="L19316" class="css-a4x74f"><span>19316</span></td><td id="LC19316" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | thin | none"</span>, </code></td></tr><tr><td id="L19317" class="css-a4x74f"><span>19317</span></td><td id="LC19317" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19318" class="css-a4x74f"><span>19318</span></td><td id="LC19318" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19319" class="css-a4x74f"><span>19319</span></td><td id="LC19319" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19320" class="css-a4x74f"><span>19320</span></td><td id="LC19320" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19321" class="css-a4x74f"><span>19321</span></td><td id="LC19321" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19322" class="css-a4x74f"><span>19322</span></td><td id="LC19322" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scrollbars"</span> </code></td></tr><tr><td id="L19323" class="css-a4x74f"><span>19323</span></td><td id="LC19323" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19324" class="css-a4x74f"><span>19324</span></td><td id="LC19324" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19325" class="css-a4x74f"><span>19325</span></td><td id="LC19325" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollingBoxes"</span>, </code></td></tr><tr><td id="L19326" class="css-a4x74f"><span>19326</span></td><td id="LC19326" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19327" class="css-a4x74f"><span>19327</span></td><td id="LC19327" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19328" class="css-a4x74f"><span>19328</span></td><td id="LC19328" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19329" class="css-a4x74f"><span>19329</span></td><td id="LC19329" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width"</span> </code></td></tr><tr><td id="L19330" class="css-a4x74f"><span>19330</span></td><td id="LC19330" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19331" class="css-a4x74f"><span>19331</span></td><td id="LC19331" class="css-1dcdqdg"><code> <span class="code-string">"scroll-behavior"</span>: { </code></td></tr><tr><td id="L19332" class="css-a4x74f"><span>19332</span></td><td id="LC19332" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | smooth"</span>, </code></td></tr><tr><td id="L19333" class="css-a4x74f"><span>19333</span></td><td id="LC19333" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19334" class="css-a4x74f"><span>19334</span></td><td id="LC19334" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19335" class="css-a4x74f"><span>19335</span></td><td id="LC19335" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19336" class="css-a4x74f"><span>19336</span></td><td id="LC19336" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19337" class="css-a4x74f"><span>19337</span></td><td id="LC19337" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19338" class="css-a4x74f"><span>19338</span></td><td id="LC19338" class="css-1dcdqdg"><code> <span class="code-string">"CSSOM View"</span> </code></td></tr><tr><td id="L19339" class="css-a4x74f"><span>19339</span></td><td id="LC19339" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19340" class="css-a4x74f"><span>19340</span></td><td id="LC19340" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19341" class="css-a4x74f"><span>19341</span></td><td id="LC19341" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollingBoxes"</span>, </code></td></tr><tr><td id="L19342" class="css-a4x74f"><span>19342</span></td><td id="LC19342" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19343" class="css-a4x74f"><span>19343</span></td><td id="LC19343" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19344" class="css-a4x74f"><span>19344</span></td><td id="LC19344" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19345" class="css-a4x74f"><span>19345</span></td><td id="LC19345" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior"</span> </code></td></tr><tr><td id="L19346" class="css-a4x74f"><span>19346</span></td><td id="LC19346" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19347" class="css-a4x74f"><span>19347</span></td><td id="LC19347" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin"</span>: { </code></td></tr><tr><td id="L19348" class="css-a4x74f"><span>19348</span></td><td id="LC19348" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>{1,4}"</span>, </code></td></tr><tr><td id="L19349" class="css-a4x74f"><span>19349</span></td><td id="LC19349" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19350" class="css-a4x74f"><span>19350</span></td><td id="LC19350" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19351" class="css-a4x74f"><span>19351</span></td><td id="LC19351" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19352" class="css-a4x74f"><span>19352</span></td><td id="LC19352" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19353" class="css-a4x74f"><span>19353</span></td><td id="LC19353" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19354" class="css-a4x74f"><span>19354</span></td><td id="LC19354" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19355" class="css-a4x74f"><span>19355</span></td><td id="LC19355" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19356" class="css-a4x74f"><span>19356</span></td><td id="LC19356" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19357" class="css-a4x74f"><span>19357</span></td><td id="LC19357" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19358" class="css-a4x74f"><span>19358</span></td><td id="LC19358" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19359" class="css-a4x74f"><span>19359</span></td><td id="LC19359" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19360" class="css-a4x74f"><span>19360</span></td><td id="LC19360" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19361" class="css-a4x74f"><span>19361</span></td><td id="LC19361" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin"</span> </code></td></tr><tr><td id="L19362" class="css-a4x74f"><span>19362</span></td><td id="LC19362" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19363" class="css-a4x74f"><span>19363</span></td><td id="LC19363" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-block"</span>: { </code></td></tr><tr><td id="L19364" class="css-a4x74f"><span>19364</span></td><td id="LC19364" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>{1,2}"</span>, </code></td></tr><tr><td id="L19365" class="css-a4x74f"><span>19365</span></td><td id="LC19365" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19366" class="css-a4x74f"><span>19366</span></td><td id="LC19366" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19367" class="css-a4x74f"><span>19367</span></td><td id="LC19367" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19368" class="css-a4x74f"><span>19368</span></td><td id="LC19368" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19369" class="css-a4x74f"><span>19369</span></td><td id="LC19369" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19370" class="css-a4x74f"><span>19370</span></td><td id="LC19370" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19371" class="css-a4x74f"><span>19371</span></td><td id="LC19371" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19372" class="css-a4x74f"><span>19372</span></td><td id="LC19372" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19373" class="css-a4x74f"><span>19373</span></td><td id="LC19373" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19374" class="css-a4x74f"><span>19374</span></td><td id="LC19374" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19375" class="css-a4x74f"><span>19375</span></td><td id="LC19375" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19376" class="css-a4x74f"><span>19376</span></td><td id="LC19376" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19377" class="css-a4x74f"><span>19377</span></td><td id="LC19377" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block"</span> </code></td></tr><tr><td id="L19378" class="css-a4x74f"><span>19378</span></td><td id="LC19378" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19379" class="css-a4x74f"><span>19379</span></td><td id="LC19379" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-block-start"</span>: { </code></td></tr><tr><td id="L19380" class="css-a4x74f"><span>19380</span></td><td id="LC19380" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19381" class="css-a4x74f"><span>19381</span></td><td id="LC19381" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19382" class="css-a4x74f"><span>19382</span></td><td id="LC19382" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19383" class="css-a4x74f"><span>19383</span></td><td id="LC19383" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19384" class="css-a4x74f"><span>19384</span></td><td id="LC19384" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19385" class="css-a4x74f"><span>19385</span></td><td id="LC19385" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19386" class="css-a4x74f"><span>19386</span></td><td id="LC19386" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19387" class="css-a4x74f"><span>19387</span></td><td id="LC19387" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19388" class="css-a4x74f"><span>19388</span></td><td id="LC19388" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19389" class="css-a4x74f"><span>19389</span></td><td id="LC19389" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19390" class="css-a4x74f"><span>19390</span></td><td id="LC19390" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19391" class="css-a4x74f"><span>19391</span></td><td id="LC19391" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19392" class="css-a4x74f"><span>19392</span></td><td id="LC19392" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19393" class="css-a4x74f"><span>19393</span></td><td id="LC19393" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start"</span> </code></td></tr><tr><td id="L19394" class="css-a4x74f"><span>19394</span></td><td id="LC19394" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19395" class="css-a4x74f"><span>19395</span></td><td id="LC19395" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-block-end"</span>: { </code></td></tr><tr><td id="L19396" class="css-a4x74f"><span>19396</span></td><td id="LC19396" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19397" class="css-a4x74f"><span>19397</span></td><td id="LC19397" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19398" class="css-a4x74f"><span>19398</span></td><td id="LC19398" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19399" class="css-a4x74f"><span>19399</span></td><td id="LC19399" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19400" class="css-a4x74f"><span>19400</span></td><td id="LC19400" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19401" class="css-a4x74f"><span>19401</span></td><td id="LC19401" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19402" class="css-a4x74f"><span>19402</span></td><td id="LC19402" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19403" class="css-a4x74f"><span>19403</span></td><td id="LC19403" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19404" class="css-a4x74f"><span>19404</span></td><td id="LC19404" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19405" class="css-a4x74f"><span>19405</span></td><td id="LC19405" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19406" class="css-a4x74f"><span>19406</span></td><td id="LC19406" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19407" class="css-a4x74f"><span>19407</span></td><td id="LC19407" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19408" class="css-a4x74f"><span>19408</span></td><td id="LC19408" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19409" class="css-a4x74f"><span>19409</span></td><td id="LC19409" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end"</span> </code></td></tr><tr><td id="L19410" class="css-a4x74f"><span>19410</span></td><td id="LC19410" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19411" class="css-a4x74f"><span>19411</span></td><td id="LC19411" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-bottom"</span>: { </code></td></tr><tr><td id="L19412" class="css-a4x74f"><span>19412</span></td><td id="LC19412" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19413" class="css-a4x74f"><span>19413</span></td><td id="LC19413" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19414" class="css-a4x74f"><span>19414</span></td><td id="LC19414" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19415" class="css-a4x74f"><span>19415</span></td><td id="LC19415" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19416" class="css-a4x74f"><span>19416</span></td><td id="LC19416" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19417" class="css-a4x74f"><span>19417</span></td><td id="LC19417" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19418" class="css-a4x74f"><span>19418</span></td><td id="LC19418" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19419" class="css-a4x74f"><span>19419</span></td><td id="LC19419" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19420" class="css-a4x74f"><span>19420</span></td><td id="LC19420" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19421" class="css-a4x74f"><span>19421</span></td><td id="LC19421" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19422" class="css-a4x74f"><span>19422</span></td><td id="LC19422" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19423" class="css-a4x74f"><span>19423</span></td><td id="LC19423" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19424" class="css-a4x74f"><span>19424</span></td><td id="LC19424" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19425" class="css-a4x74f"><span>19425</span></td><td id="LC19425" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom"</span> </code></td></tr><tr><td id="L19426" class="css-a4x74f"><span>19426</span></td><td id="LC19426" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19427" class="css-a4x74f"><span>19427</span></td><td id="LC19427" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-inline"</span>: { </code></td></tr><tr><td id="L19428" class="css-a4x74f"><span>19428</span></td><td id="LC19428" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>{1,2}"</span>, </code></td></tr><tr><td id="L19429" class="css-a4x74f"><span>19429</span></td><td id="LC19429" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19430" class="css-a4x74f"><span>19430</span></td><td id="LC19430" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19431" class="css-a4x74f"><span>19431</span></td><td id="LC19431" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19432" class="css-a4x74f"><span>19432</span></td><td id="LC19432" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19433" class="css-a4x74f"><span>19433</span></td><td id="LC19433" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19434" class="css-a4x74f"><span>19434</span></td><td id="LC19434" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19435" class="css-a4x74f"><span>19435</span></td><td id="LC19435" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19436" class="css-a4x74f"><span>19436</span></td><td id="LC19436" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19437" class="css-a4x74f"><span>19437</span></td><td id="LC19437" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19438" class="css-a4x74f"><span>19438</span></td><td id="LC19438" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19439" class="css-a4x74f"><span>19439</span></td><td id="LC19439" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19440" class="css-a4x74f"><span>19440</span></td><td id="LC19440" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19441" class="css-a4x74f"><span>19441</span></td><td id="LC19441" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline"</span> </code></td></tr><tr><td id="L19442" class="css-a4x74f"><span>19442</span></td><td id="LC19442" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19443" class="css-a4x74f"><span>19443</span></td><td id="LC19443" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-inline-start"</span>: { </code></td></tr><tr><td id="L19444" class="css-a4x74f"><span>19444</span></td><td id="LC19444" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19445" class="css-a4x74f"><span>19445</span></td><td id="LC19445" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19446" class="css-a4x74f"><span>19446</span></td><td id="LC19446" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19447" class="css-a4x74f"><span>19447</span></td><td id="LC19447" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19448" class="css-a4x74f"><span>19448</span></td><td id="LC19448" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19449" class="css-a4x74f"><span>19449</span></td><td id="LC19449" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19450" class="css-a4x74f"><span>19450</span></td><td id="LC19450" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19451" class="css-a4x74f"><span>19451</span></td><td id="LC19451" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19452" class="css-a4x74f"><span>19452</span></td><td id="LC19452" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19453" class="css-a4x74f"><span>19453</span></td><td id="LC19453" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19454" class="css-a4x74f"><span>19454</span></td><td id="LC19454" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19455" class="css-a4x74f"><span>19455</span></td><td id="LC19455" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19456" class="css-a4x74f"><span>19456</span></td><td id="LC19456" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19457" class="css-a4x74f"><span>19457</span></td><td id="LC19457" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start"</span> </code></td></tr><tr><td id="L19458" class="css-a4x74f"><span>19458</span></td><td id="LC19458" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19459" class="css-a4x74f"><span>19459</span></td><td id="LC19459" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-inline-end"</span>: { </code></td></tr><tr><td id="L19460" class="css-a4x74f"><span>19460</span></td><td id="LC19460" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19461" class="css-a4x74f"><span>19461</span></td><td id="LC19461" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19462" class="css-a4x74f"><span>19462</span></td><td id="LC19462" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19463" class="css-a4x74f"><span>19463</span></td><td id="LC19463" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19464" class="css-a4x74f"><span>19464</span></td><td id="LC19464" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19465" class="css-a4x74f"><span>19465</span></td><td id="LC19465" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19466" class="css-a4x74f"><span>19466</span></td><td id="LC19466" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19467" class="css-a4x74f"><span>19467</span></td><td id="LC19467" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19468" class="css-a4x74f"><span>19468</span></td><td id="LC19468" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19469" class="css-a4x74f"><span>19469</span></td><td id="LC19469" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19470" class="css-a4x74f"><span>19470</span></td><td id="LC19470" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19471" class="css-a4x74f"><span>19471</span></td><td id="LC19471" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19472" class="css-a4x74f"><span>19472</span></td><td id="LC19472" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19473" class="css-a4x74f"><span>19473</span></td><td id="LC19473" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end"</span> </code></td></tr><tr><td id="L19474" class="css-a4x74f"><span>19474</span></td><td id="LC19474" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19475" class="css-a4x74f"><span>19475</span></td><td id="LC19475" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-left"</span>: { </code></td></tr><tr><td id="L19476" class="css-a4x74f"><span>19476</span></td><td id="LC19476" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19477" class="css-a4x74f"><span>19477</span></td><td id="LC19477" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19478" class="css-a4x74f"><span>19478</span></td><td id="LC19478" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19479" class="css-a4x74f"><span>19479</span></td><td id="LC19479" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19480" class="css-a4x74f"><span>19480</span></td><td id="LC19480" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19481" class="css-a4x74f"><span>19481</span></td><td id="LC19481" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19482" class="css-a4x74f"><span>19482</span></td><td id="LC19482" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19483" class="css-a4x74f"><span>19483</span></td><td id="LC19483" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19484" class="css-a4x74f"><span>19484</span></td><td id="LC19484" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19485" class="css-a4x74f"><span>19485</span></td><td id="LC19485" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19486" class="css-a4x74f"><span>19486</span></td><td id="LC19486" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19487" class="css-a4x74f"><span>19487</span></td><td id="LC19487" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19488" class="css-a4x74f"><span>19488</span></td><td id="LC19488" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19489" class="css-a4x74f"><span>19489</span></td><td id="LC19489" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left"</span> </code></td></tr><tr><td id="L19490" class="css-a4x74f"><span>19490</span></td><td id="LC19490" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19491" class="css-a4x74f"><span>19491</span></td><td id="LC19491" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-right"</span>: { </code></td></tr><tr><td id="L19492" class="css-a4x74f"><span>19492</span></td><td id="LC19492" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19493" class="css-a4x74f"><span>19493</span></td><td id="LC19493" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19494" class="css-a4x74f"><span>19494</span></td><td id="LC19494" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19495" class="css-a4x74f"><span>19495</span></td><td id="LC19495" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19496" class="css-a4x74f"><span>19496</span></td><td id="LC19496" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19497" class="css-a4x74f"><span>19497</span></td><td id="LC19497" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19498" class="css-a4x74f"><span>19498</span></td><td id="LC19498" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19499" class="css-a4x74f"><span>19499</span></td><td id="LC19499" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19500" class="css-a4x74f"><span>19500</span></td><td id="LC19500" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19501" class="css-a4x74f"><span>19501</span></td><td id="LC19501" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19502" class="css-a4x74f"><span>19502</span></td><td id="LC19502" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19503" class="css-a4x74f"><span>19503</span></td><td id="LC19503" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19504" class="css-a4x74f"><span>19504</span></td><td id="LC19504" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19505" class="css-a4x74f"><span>19505</span></td><td id="LC19505" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right"</span> </code></td></tr><tr><td id="L19506" class="css-a4x74f"><span>19506</span></td><td id="LC19506" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19507" class="css-a4x74f"><span>19507</span></td><td id="LC19507" class="css-1dcdqdg"><code> <span class="code-string">"scroll-margin-top"</span>: { </code></td></tr><tr><td id="L19508" class="css-a4x74f"><span>19508</span></td><td id="LC19508" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length>"</span>, </code></td></tr><tr><td id="L19509" class="css-a4x74f"><span>19509</span></td><td id="LC19509" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19510" class="css-a4x74f"><span>19510</span></td><td id="LC19510" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19511" class="css-a4x74f"><span>19511</span></td><td id="LC19511" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19512" class="css-a4x74f"><span>19512</span></td><td id="LC19512" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19513" class="css-a4x74f"><span>19513</span></td><td id="LC19513" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19514" class="css-a4x74f"><span>19514</span></td><td id="LC19514" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19515" class="css-a4x74f"><span>19515</span></td><td id="LC19515" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19516" class="css-a4x74f"><span>19516</span></td><td id="LC19516" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19517" class="css-a4x74f"><span>19517</span></td><td id="LC19517" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19518" class="css-a4x74f"><span>19518</span></td><td id="LC19518" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19519" class="css-a4x74f"><span>19519</span></td><td id="LC19519" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19520" class="css-a4x74f"><span>19520</span></td><td id="LC19520" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19521" class="css-a4x74f"><span>19521</span></td><td id="LC19521" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top"</span> </code></td></tr><tr><td id="L19522" class="css-a4x74f"><span>19522</span></td><td id="LC19522" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19523" class="css-a4x74f"><span>19523</span></td><td id="LC19523" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding"</span>: { </code></td></tr><tr><td id="L19524" class="css-a4x74f"><span>19524</span></td><td id="LC19524" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | <length-percentage> ]{1,4}"</span>, </code></td></tr><tr><td id="L19525" class="css-a4x74f"><span>19525</span></td><td id="LC19525" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19526" class="css-a4x74f"><span>19526</span></td><td id="LC19526" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19527" class="css-a4x74f"><span>19527</span></td><td id="LC19527" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19528" class="css-a4x74f"><span>19528</span></td><td id="LC19528" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19529" class="css-a4x74f"><span>19529</span></td><td id="LC19529" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19530" class="css-a4x74f"><span>19530</span></td><td id="LC19530" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19531" class="css-a4x74f"><span>19531</span></td><td id="LC19531" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19532" class="css-a4x74f"><span>19532</span></td><td id="LC19532" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19533" class="css-a4x74f"><span>19533</span></td><td id="LC19533" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19534" class="css-a4x74f"><span>19534</span></td><td id="LC19534" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19535" class="css-a4x74f"><span>19535</span></td><td id="LC19535" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19536" class="css-a4x74f"><span>19536</span></td><td id="LC19536" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19537" class="css-a4x74f"><span>19537</span></td><td id="LC19537" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding"</span> </code></td></tr><tr><td id="L19538" class="css-a4x74f"><span>19538</span></td><td id="LC19538" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19539" class="css-a4x74f"><span>19539</span></td><td id="LC19539" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-block"</span>: { </code></td></tr><tr><td id="L19540" class="css-a4x74f"><span>19540</span></td><td id="LC19540" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | <length-percentage> ]{1,2}"</span>, </code></td></tr><tr><td id="L19541" class="css-a4x74f"><span>19541</span></td><td id="LC19541" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19542" class="css-a4x74f"><span>19542</span></td><td id="LC19542" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19543" class="css-a4x74f"><span>19543</span></td><td id="LC19543" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19544" class="css-a4x74f"><span>19544</span></td><td id="LC19544" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19545" class="css-a4x74f"><span>19545</span></td><td id="LC19545" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19546" class="css-a4x74f"><span>19546</span></td><td id="LC19546" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19547" class="css-a4x74f"><span>19547</span></td><td id="LC19547" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19548" class="css-a4x74f"><span>19548</span></td><td id="LC19548" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19549" class="css-a4x74f"><span>19549</span></td><td id="LC19549" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19550" class="css-a4x74f"><span>19550</span></td><td id="LC19550" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19551" class="css-a4x74f"><span>19551</span></td><td id="LC19551" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19552" class="css-a4x74f"><span>19552</span></td><td id="LC19552" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19553" class="css-a4x74f"><span>19553</span></td><td id="LC19553" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block"</span> </code></td></tr><tr><td id="L19554" class="css-a4x74f"><span>19554</span></td><td id="LC19554" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19555" class="css-a4x74f"><span>19555</span></td><td id="LC19555" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-block-start"</span>: { </code></td></tr><tr><td id="L19556" class="css-a4x74f"><span>19556</span></td><td id="LC19556" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19557" class="css-a4x74f"><span>19557</span></td><td id="LC19557" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19558" class="css-a4x74f"><span>19558</span></td><td id="LC19558" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19559" class="css-a4x74f"><span>19559</span></td><td id="LC19559" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19560" class="css-a4x74f"><span>19560</span></td><td id="LC19560" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19561" class="css-a4x74f"><span>19561</span></td><td id="LC19561" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19562" class="css-a4x74f"><span>19562</span></td><td id="LC19562" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19563" class="css-a4x74f"><span>19563</span></td><td id="LC19563" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19564" class="css-a4x74f"><span>19564</span></td><td id="LC19564" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19565" class="css-a4x74f"><span>19565</span></td><td id="LC19565" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19566" class="css-a4x74f"><span>19566</span></td><td id="LC19566" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19567" class="css-a4x74f"><span>19567</span></td><td id="LC19567" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19568" class="css-a4x74f"><span>19568</span></td><td id="LC19568" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19569" class="css-a4x74f"><span>19569</span></td><td id="LC19569" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start"</span> </code></td></tr><tr><td id="L19570" class="css-a4x74f"><span>19570</span></td><td id="LC19570" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19571" class="css-a4x74f"><span>19571</span></td><td id="LC19571" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-block-end"</span>: { </code></td></tr><tr><td id="L19572" class="css-a4x74f"><span>19572</span></td><td id="LC19572" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19573" class="css-a4x74f"><span>19573</span></td><td id="LC19573" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19574" class="css-a4x74f"><span>19574</span></td><td id="LC19574" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19575" class="css-a4x74f"><span>19575</span></td><td id="LC19575" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19576" class="css-a4x74f"><span>19576</span></td><td id="LC19576" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19577" class="css-a4x74f"><span>19577</span></td><td id="LC19577" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19578" class="css-a4x74f"><span>19578</span></td><td id="LC19578" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19579" class="css-a4x74f"><span>19579</span></td><td id="LC19579" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19580" class="css-a4x74f"><span>19580</span></td><td id="LC19580" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19581" class="css-a4x74f"><span>19581</span></td><td id="LC19581" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19582" class="css-a4x74f"><span>19582</span></td><td id="LC19582" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19583" class="css-a4x74f"><span>19583</span></td><td id="LC19583" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19584" class="css-a4x74f"><span>19584</span></td><td id="LC19584" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19585" class="css-a4x74f"><span>19585</span></td><td id="LC19585" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end"</span> </code></td></tr><tr><td id="L19586" class="css-a4x74f"><span>19586</span></td><td id="LC19586" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19587" class="css-a4x74f"><span>19587</span></td><td id="LC19587" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-bottom"</span>: { </code></td></tr><tr><td id="L19588" class="css-a4x74f"><span>19588</span></td><td id="LC19588" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19589" class="css-a4x74f"><span>19589</span></td><td id="LC19589" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19590" class="css-a4x74f"><span>19590</span></td><td id="LC19590" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19591" class="css-a4x74f"><span>19591</span></td><td id="LC19591" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19592" class="css-a4x74f"><span>19592</span></td><td id="LC19592" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19593" class="css-a4x74f"><span>19593</span></td><td id="LC19593" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19594" class="css-a4x74f"><span>19594</span></td><td id="LC19594" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19595" class="css-a4x74f"><span>19595</span></td><td id="LC19595" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19596" class="css-a4x74f"><span>19596</span></td><td id="LC19596" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19597" class="css-a4x74f"><span>19597</span></td><td id="LC19597" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19598" class="css-a4x74f"><span>19598</span></td><td id="LC19598" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19599" class="css-a4x74f"><span>19599</span></td><td id="LC19599" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19600" class="css-a4x74f"><span>19600</span></td><td id="LC19600" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19601" class="css-a4x74f"><span>19601</span></td><td id="LC19601" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom"</span> </code></td></tr><tr><td id="L19602" class="css-a4x74f"><span>19602</span></td><td id="LC19602" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19603" class="css-a4x74f"><span>19603</span></td><td id="LC19603" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-inline"</span>: { </code></td></tr><tr><td id="L19604" class="css-a4x74f"><span>19604</span></td><td id="LC19604" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ auto | <length-percentage> ]{1,2}"</span>, </code></td></tr><tr><td id="L19605" class="css-a4x74f"><span>19605</span></td><td id="LC19605" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19606" class="css-a4x74f"><span>19606</span></td><td id="LC19606" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19607" class="css-a4x74f"><span>19607</span></td><td id="LC19607" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19608" class="css-a4x74f"><span>19608</span></td><td id="LC19608" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19609" class="css-a4x74f"><span>19609</span></td><td id="LC19609" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19610" class="css-a4x74f"><span>19610</span></td><td id="LC19610" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19611" class="css-a4x74f"><span>19611</span></td><td id="LC19611" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19612" class="css-a4x74f"><span>19612</span></td><td id="LC19612" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19613" class="css-a4x74f"><span>19613</span></td><td id="LC19613" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19614" class="css-a4x74f"><span>19614</span></td><td id="LC19614" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19615" class="css-a4x74f"><span>19615</span></td><td id="LC19615" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19616" class="css-a4x74f"><span>19616</span></td><td id="LC19616" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19617" class="css-a4x74f"><span>19617</span></td><td id="LC19617" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline"</span> </code></td></tr><tr><td id="L19618" class="css-a4x74f"><span>19618</span></td><td id="LC19618" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19619" class="css-a4x74f"><span>19619</span></td><td id="LC19619" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-inline-start"</span>: { </code></td></tr><tr><td id="L19620" class="css-a4x74f"><span>19620</span></td><td id="LC19620" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19621" class="css-a4x74f"><span>19621</span></td><td id="LC19621" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19622" class="css-a4x74f"><span>19622</span></td><td id="LC19622" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19623" class="css-a4x74f"><span>19623</span></td><td id="LC19623" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19624" class="css-a4x74f"><span>19624</span></td><td id="LC19624" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19625" class="css-a4x74f"><span>19625</span></td><td id="LC19625" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19626" class="css-a4x74f"><span>19626</span></td><td id="LC19626" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19627" class="css-a4x74f"><span>19627</span></td><td id="LC19627" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19628" class="css-a4x74f"><span>19628</span></td><td id="LC19628" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19629" class="css-a4x74f"><span>19629</span></td><td id="LC19629" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19630" class="css-a4x74f"><span>19630</span></td><td id="LC19630" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19631" class="css-a4x74f"><span>19631</span></td><td id="LC19631" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19632" class="css-a4x74f"><span>19632</span></td><td id="LC19632" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19633" class="css-a4x74f"><span>19633</span></td><td id="LC19633" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start"</span> </code></td></tr><tr><td id="L19634" class="css-a4x74f"><span>19634</span></td><td id="LC19634" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19635" class="css-a4x74f"><span>19635</span></td><td id="LC19635" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-inline-end"</span>: { </code></td></tr><tr><td id="L19636" class="css-a4x74f"><span>19636</span></td><td id="LC19636" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19637" class="css-a4x74f"><span>19637</span></td><td id="LC19637" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19638" class="css-a4x74f"><span>19638</span></td><td id="LC19638" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19639" class="css-a4x74f"><span>19639</span></td><td id="LC19639" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19640" class="css-a4x74f"><span>19640</span></td><td id="LC19640" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19641" class="css-a4x74f"><span>19641</span></td><td id="LC19641" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19642" class="css-a4x74f"><span>19642</span></td><td id="LC19642" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19643" class="css-a4x74f"><span>19643</span></td><td id="LC19643" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19644" class="css-a4x74f"><span>19644</span></td><td id="LC19644" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19645" class="css-a4x74f"><span>19645</span></td><td id="LC19645" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19646" class="css-a4x74f"><span>19646</span></td><td id="LC19646" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19647" class="css-a4x74f"><span>19647</span></td><td id="LC19647" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19648" class="css-a4x74f"><span>19648</span></td><td id="LC19648" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19649" class="css-a4x74f"><span>19649</span></td><td id="LC19649" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end"</span> </code></td></tr><tr><td id="L19650" class="css-a4x74f"><span>19650</span></td><td id="LC19650" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19651" class="css-a4x74f"><span>19651</span></td><td id="LC19651" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-left"</span>: { </code></td></tr><tr><td id="L19652" class="css-a4x74f"><span>19652</span></td><td id="LC19652" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19653" class="css-a4x74f"><span>19653</span></td><td id="LC19653" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19654" class="css-a4x74f"><span>19654</span></td><td id="LC19654" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19655" class="css-a4x74f"><span>19655</span></td><td id="LC19655" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19656" class="css-a4x74f"><span>19656</span></td><td id="LC19656" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19657" class="css-a4x74f"><span>19657</span></td><td id="LC19657" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19658" class="css-a4x74f"><span>19658</span></td><td id="LC19658" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19659" class="css-a4x74f"><span>19659</span></td><td id="LC19659" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19660" class="css-a4x74f"><span>19660</span></td><td id="LC19660" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19661" class="css-a4x74f"><span>19661</span></td><td id="LC19661" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19662" class="css-a4x74f"><span>19662</span></td><td id="LC19662" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19663" class="css-a4x74f"><span>19663</span></td><td id="LC19663" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19664" class="css-a4x74f"><span>19664</span></td><td id="LC19664" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19665" class="css-a4x74f"><span>19665</span></td><td id="LC19665" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left"</span> </code></td></tr><tr><td id="L19666" class="css-a4x74f"><span>19666</span></td><td id="LC19666" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19667" class="css-a4x74f"><span>19667</span></td><td id="LC19667" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-right"</span>: { </code></td></tr><tr><td id="L19668" class="css-a4x74f"><span>19668</span></td><td id="LC19668" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19669" class="css-a4x74f"><span>19669</span></td><td id="LC19669" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19670" class="css-a4x74f"><span>19670</span></td><td id="LC19670" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19671" class="css-a4x74f"><span>19671</span></td><td id="LC19671" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19672" class="css-a4x74f"><span>19672</span></td><td id="LC19672" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19673" class="css-a4x74f"><span>19673</span></td><td id="LC19673" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19674" class="css-a4x74f"><span>19674</span></td><td id="LC19674" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19675" class="css-a4x74f"><span>19675</span></td><td id="LC19675" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19676" class="css-a4x74f"><span>19676</span></td><td id="LC19676" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19677" class="css-a4x74f"><span>19677</span></td><td id="LC19677" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19678" class="css-a4x74f"><span>19678</span></td><td id="LC19678" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19679" class="css-a4x74f"><span>19679</span></td><td id="LC19679" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19680" class="css-a4x74f"><span>19680</span></td><td id="LC19680" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19681" class="css-a4x74f"><span>19681</span></td><td id="LC19681" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right"</span> </code></td></tr><tr><td id="L19682" class="css-a4x74f"><span>19682</span></td><td id="LC19682" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19683" class="css-a4x74f"><span>19683</span></td><td id="LC19683" class="css-1dcdqdg"><code> <span class="code-string">"scroll-padding-top"</span>: { </code></td></tr><tr><td id="L19684" class="css-a4x74f"><span>19684</span></td><td id="LC19684" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span>, </code></td></tr><tr><td id="L19685" class="css-a4x74f"><span>19685</span></td><td id="LC19685" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19686" class="css-a4x74f"><span>19686</span></td><td id="LC19686" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19687" class="css-a4x74f"><span>19687</span></td><td id="LC19687" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L19688" class="css-a4x74f"><span>19688</span></td><td id="LC19688" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToTheScrollContainersScrollport"</span>, </code></td></tr><tr><td id="L19689" class="css-a4x74f"><span>19689</span></td><td id="LC19689" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19690" class="css-a4x74f"><span>19690</span></td><td id="LC19690" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19691" class="css-a4x74f"><span>19691</span></td><td id="LC19691" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19692" class="css-a4x74f"><span>19692</span></td><td id="LC19692" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19693" class="css-a4x74f"><span>19693</span></td><td id="LC19693" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19694" class="css-a4x74f"><span>19694</span></td><td id="LC19694" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19695" class="css-a4x74f"><span>19695</span></td><td id="LC19695" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19696" class="css-a4x74f"><span>19696</span></td><td id="LC19696" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19697" class="css-a4x74f"><span>19697</span></td><td id="LC19697" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top"</span> </code></td></tr><tr><td id="L19698" class="css-a4x74f"><span>19698</span></td><td id="LC19698" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19699" class="css-a4x74f"><span>19699</span></td><td id="LC19699" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-align"</span>: { </code></td></tr><tr><td id="L19700" class="css-a4x74f"><span>19700</span></td><td id="LC19700" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ none | start | end | center ]{1,2}"</span>, </code></td></tr><tr><td id="L19701" class="css-a4x74f"><span>19701</span></td><td id="LC19701" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19702" class="css-a4x74f"><span>19702</span></td><td id="LC19702" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19703" class="css-a4x74f"><span>19703</span></td><td id="LC19703" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19704" class="css-a4x74f"><span>19704</span></td><td id="LC19704" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19705" class="css-a4x74f"><span>19705</span></td><td id="LC19705" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19706" class="css-a4x74f"><span>19706</span></td><td id="LC19706" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19707" class="css-a4x74f"><span>19707</span></td><td id="LC19707" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19708" class="css-a4x74f"><span>19708</span></td><td id="LC19708" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19709" class="css-a4x74f"><span>19709</span></td><td id="LC19709" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19710" class="css-a4x74f"><span>19710</span></td><td id="LC19710" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19711" class="css-a4x74f"><span>19711</span></td><td id="LC19711" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19712" class="css-a4x74f"><span>19712</span></td><td id="LC19712" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19713" class="css-a4x74f"><span>19713</span></td><td id="LC19713" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align"</span> </code></td></tr><tr><td id="L19714" class="css-a4x74f"><span>19714</span></td><td id="LC19714" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19715" class="css-a4x74f"><span>19715</span></td><td id="LC19715" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-coordinate"</span>: { </code></td></tr><tr><td id="L19716" class="css-a4x74f"><span>19716</span></td><td id="LC19716" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <position>#"</span>, </code></td></tr><tr><td id="L19717" class="css-a4x74f"><span>19717</span></td><td id="LC19717" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19718" class="css-a4x74f"><span>19718</span></td><td id="LC19718" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19719" class="css-a4x74f"><span>19719</span></td><td id="LC19719" class="css-1dcdqdg"><code> animationType: <span class="code-string">"position"</span>, </code></td></tr><tr><td id="L19720" class="css-a4x74f"><span>19720</span></td><td id="LC19720" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToBorderBox"</span>, </code></td></tr><tr><td id="L19721" class="css-a4x74f"><span>19721</span></td><td id="LC19721" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19722" class="css-a4x74f"><span>19722</span></td><td id="LC19722" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19723" class="css-a4x74f"><span>19723</span></td><td id="LC19723" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19724" class="css-a4x74f"><span>19724</span></td><td id="LC19724" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19725" class="css-a4x74f"><span>19725</span></td><td id="LC19725" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19726" class="css-a4x74f"><span>19726</span></td><td id="LC19726" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L19727" class="css-a4x74f"><span>19727</span></td><td id="LC19727" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19728" class="css-a4x74f"><span>19728</span></td><td id="LC19728" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19729" class="css-a4x74f"><span>19729</span></td><td id="LC19729" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate"</span> </code></td></tr><tr><td id="L19730" class="css-a4x74f"><span>19730</span></td><td id="LC19730" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19731" class="css-a4x74f"><span>19731</span></td><td id="LC19731" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-destination"</span>: { </code></td></tr><tr><td id="L19732" class="css-a4x74f"><span>19732</span></td><td id="LC19732" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<position>"</span>, </code></td></tr><tr><td id="L19733" class="css-a4x74f"><span>19733</span></td><td id="LC19733" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19734" class="css-a4x74f"><span>19734</span></td><td id="LC19734" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19735" class="css-a4x74f"><span>19735</span></td><td id="LC19735" class="css-1dcdqdg"><code> animationType: <span class="code-string">"position"</span>, </code></td></tr><tr><td id="L19736" class="css-a4x74f"><span>19736</span></td><td id="LC19736" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToScrollContainerPaddingBoxAxis"</span>, </code></td></tr><tr><td id="L19737" class="css-a4x74f"><span>19737</span></td><td id="LC19737" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19738" class="css-a4x74f"><span>19738</span></td><td id="LC19738" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19739" class="css-a4x74f"><span>19739</span></td><td id="LC19739" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19740" class="css-a4x74f"><span>19740</span></td><td id="LC19740" class="css-1dcdqdg"><code> initial: <span class="code-string">"0px 0px"</span>, </code></td></tr><tr><td id="L19741" class="css-a4x74f"><span>19741</span></td><td id="LC19741" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19742" class="css-a4x74f"><span>19742</span></td><td id="LC19742" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L19743" class="css-a4x74f"><span>19743</span></td><td id="LC19743" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19744" class="css-a4x74f"><span>19744</span></td><td id="LC19744" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19745" class="css-a4x74f"><span>19745</span></td><td id="LC19745" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination"</span> </code></td></tr><tr><td id="L19746" class="css-a4x74f"><span>19746</span></td><td id="LC19746" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19747" class="css-a4x74f"><span>19747</span></td><td id="LC19747" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-points-x"</span>: { </code></td></tr><tr><td id="L19748" class="css-a4x74f"><span>19748</span></td><td id="LC19748" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | repeat( <length-percentage> )"</span>, </code></td></tr><tr><td id="L19749" class="css-a4x74f"><span>19749</span></td><td id="LC19749" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19750" class="css-a4x74f"><span>19750</span></td><td id="LC19750" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19751" class="css-a4x74f"><span>19751</span></td><td id="LC19751" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19752" class="css-a4x74f"><span>19752</span></td><td id="LC19752" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToScrollContainerPaddingBoxAxis"</span>, </code></td></tr><tr><td id="L19753" class="css-a4x74f"><span>19753</span></td><td id="LC19753" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19754" class="css-a4x74f"><span>19754</span></td><td id="LC19754" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19755" class="css-a4x74f"><span>19755</span></td><td id="LC19755" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19756" class="css-a4x74f"><span>19756</span></td><td id="LC19756" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19757" class="css-a4x74f"><span>19757</span></td><td id="LC19757" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19758" class="css-a4x74f"><span>19758</span></td><td id="LC19758" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L19759" class="css-a4x74f"><span>19759</span></td><td id="LC19759" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19760" class="css-a4x74f"><span>19760</span></td><td id="LC19760" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19761" class="css-a4x74f"><span>19761</span></td><td id="LC19761" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x"</span> </code></td></tr><tr><td id="L19762" class="css-a4x74f"><span>19762</span></td><td id="LC19762" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19763" class="css-a4x74f"><span>19763</span></td><td id="LC19763" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-points-y"</span>: { </code></td></tr><tr><td id="L19764" class="css-a4x74f"><span>19764</span></td><td id="LC19764" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | repeat( <length-percentage> )"</span>, </code></td></tr><tr><td id="L19765" class="css-a4x74f"><span>19765</span></td><td id="LC19765" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19766" class="css-a4x74f"><span>19766</span></td><td id="LC19766" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19767" class="css-a4x74f"><span>19767</span></td><td id="LC19767" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19768" class="css-a4x74f"><span>19768</span></td><td id="LC19768" class="css-1dcdqdg"><code> percentages: <span class="code-string">"relativeToScrollContainerPaddingBoxAxis"</span>, </code></td></tr><tr><td id="L19769" class="css-a4x74f"><span>19769</span></td><td id="LC19769" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19770" class="css-a4x74f"><span>19770</span></td><td id="LC19770" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19771" class="css-a4x74f"><span>19771</span></td><td id="LC19771" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19772" class="css-a4x74f"><span>19772</span></td><td id="LC19772" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19773" class="css-a4x74f"><span>19773</span></td><td id="LC19773" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19774" class="css-a4x74f"><span>19774</span></td><td id="LC19774" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L19775" class="css-a4x74f"><span>19775</span></td><td id="LC19775" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19776" class="css-a4x74f"><span>19776</span></td><td id="LC19776" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19777" class="css-a4x74f"><span>19777</span></td><td id="LC19777" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y"</span> </code></td></tr><tr><td id="L19778" class="css-a4x74f"><span>19778</span></td><td id="LC19778" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19779" class="css-a4x74f"><span>19779</span></td><td id="LC19779" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-stop"</span>: { </code></td></tr><tr><td id="L19780" class="css-a4x74f"><span>19780</span></td><td id="LC19780" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | always"</span>, </code></td></tr><tr><td id="L19781" class="css-a4x74f"><span>19781</span></td><td id="LC19781" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19782" class="css-a4x74f"><span>19782</span></td><td id="LC19782" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19783" class="css-a4x74f"><span>19783</span></td><td id="LC19783" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19784" class="css-a4x74f"><span>19784</span></td><td id="LC19784" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19785" class="css-a4x74f"><span>19785</span></td><td id="LC19785" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19786" class="css-a4x74f"><span>19786</span></td><td id="LC19786" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19787" class="css-a4x74f"><span>19787</span></td><td id="LC19787" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19788" class="css-a4x74f"><span>19788</span></td><td id="LC19788" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L19789" class="css-a4x74f"><span>19789</span></td><td id="LC19789" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19790" class="css-a4x74f"><span>19790</span></td><td id="LC19790" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19791" class="css-a4x74f"><span>19791</span></td><td id="LC19791" class="css-1dcdqdg"><code> order: <span class="code-string">"perGrammar"</span>, </code></td></tr><tr><td id="L19792" class="css-a4x74f"><span>19792</span></td><td id="LC19792" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19793" class="css-a4x74f"><span>19793</span></td><td id="LC19793" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop"</span> </code></td></tr><tr><td id="L19794" class="css-a4x74f"><span>19794</span></td><td id="LC19794" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19795" class="css-a4x74f"><span>19795</span></td><td id="LC19795" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-type"</span>: { </code></td></tr><tr><td id="L19796" class="css-a4x74f"><span>19796</span></td><td id="LC19796" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?"</span>, </code></td></tr><tr><td id="L19797" class="css-a4x74f"><span>19797</span></td><td id="LC19797" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19798" class="css-a4x74f"><span>19798</span></td><td id="LC19798" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19799" class="css-a4x74f"><span>19799</span></td><td id="LC19799" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19800" class="css-a4x74f"><span>19800</span></td><td id="LC19800" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19801" class="css-a4x74f"><span>19801</span></td><td id="LC19801" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19802" class="css-a4x74f"><span>19802</span></td><td id="LC19802" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19803" class="css-a4x74f"><span>19803</span></td><td id="LC19803" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19804" class="css-a4x74f"><span>19804</span></td><td id="LC19804" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19805" class="css-a4x74f"><span>19805</span></td><td id="LC19805" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19806" class="css-a4x74f"><span>19806</span></td><td id="LC19806" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19807" class="css-a4x74f"><span>19807</span></td><td id="LC19807" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19808" class="css-a4x74f"><span>19808</span></td><td id="LC19808" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19809" class="css-a4x74f"><span>19809</span></td><td id="LC19809" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type"</span> </code></td></tr><tr><td id="L19810" class="css-a4x74f"><span>19810</span></td><td id="LC19810" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19811" class="css-a4x74f"><span>19811</span></td><td id="LC19811" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-type-x"</span>: { </code></td></tr><tr><td id="L19812" class="css-a4x74f"><span>19812</span></td><td id="LC19812" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | mandatory | proximity"</span>, </code></td></tr><tr><td id="L19813" class="css-a4x74f"><span>19813</span></td><td id="LC19813" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19814" class="css-a4x74f"><span>19814</span></td><td id="LC19814" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19815" class="css-a4x74f"><span>19815</span></td><td id="LC19815" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19816" class="css-a4x74f"><span>19816</span></td><td id="LC19816" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19817" class="css-a4x74f"><span>19817</span></td><td id="LC19817" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19818" class="css-a4x74f"><span>19818</span></td><td id="LC19818" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19819" class="css-a4x74f"><span>19819</span></td><td id="LC19819" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19820" class="css-a4x74f"><span>19820</span></td><td id="LC19820" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19821" class="css-a4x74f"><span>19821</span></td><td id="LC19821" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19822" class="css-a4x74f"><span>19822</span></td><td id="LC19822" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19823" class="css-a4x74f"><span>19823</span></td><td id="LC19823" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19824" class="css-a4x74f"><span>19824</span></td><td id="LC19824" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19825" class="css-a4x74f"><span>19825</span></td><td id="LC19825" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x"</span> </code></td></tr><tr><td id="L19826" class="css-a4x74f"><span>19826</span></td><td id="LC19826" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19827" class="css-a4x74f"><span>19827</span></td><td id="LC19827" class="css-1dcdqdg"><code> <span class="code-string">"scroll-snap-type-y"</span>: { </code></td></tr><tr><td id="L19828" class="css-a4x74f"><span>19828</span></td><td id="LC19828" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | mandatory | proximity"</span>, </code></td></tr><tr><td id="L19829" class="css-a4x74f"><span>19829</span></td><td id="LC19829" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L19830" class="css-a4x74f"><span>19830</span></td><td id="LC19830" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19831" class="css-a4x74f"><span>19831</span></td><td id="LC19831" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19832" class="css-a4x74f"><span>19832</span></td><td id="LC19832" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19833" class="css-a4x74f"><span>19833</span></td><td id="LC19833" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19834" class="css-a4x74f"><span>19834</span></td><td id="LC19834" class="css-1dcdqdg"><code> <span class="code-string">"CSS Scroll Snap"</span> </code></td></tr><tr><td id="L19835" class="css-a4x74f"><span>19835</span></td><td id="LC19835" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19836" class="css-a4x74f"><span>19836</span></td><td id="LC19836" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19837" class="css-a4x74f"><span>19837</span></td><td id="LC19837" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"scrollContainers"</span>, </code></td></tr><tr><td id="L19838" class="css-a4x74f"><span>19838</span></td><td id="LC19838" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19839" class="css-a4x74f"><span>19839</span></td><td id="LC19839" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19840" class="css-a4x74f"><span>19840</span></td><td id="LC19840" class="css-1dcdqdg"><code> status: <span class="code-string">"obsolete"</span>, </code></td></tr><tr><td id="L19841" class="css-a4x74f"><span>19841</span></td><td id="LC19841" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"</span> </code></td></tr><tr><td id="L19842" class="css-a4x74f"><span>19842</span></td><td id="LC19842" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19843" class="css-a4x74f"><span>19843</span></td><td id="LC19843" class="css-1dcdqdg"><code> <span class="code-string">"shape-image-threshold"</span>: { </code></td></tr><tr><td id="L19844" class="css-a4x74f"><span>19844</span></td><td id="LC19844" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<alpha-value>"</span>, </code></td></tr><tr><td id="L19845" class="css-a4x74f"><span>19845</span></td><td id="LC19845" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19846" class="css-a4x74f"><span>19846</span></td><td id="LC19846" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19847" class="css-a4x74f"><span>19847</span></td><td id="LC19847" class="css-1dcdqdg"><code> animationType: <span class="code-string">"number"</span>, </code></td></tr><tr><td id="L19848" class="css-a4x74f"><span>19848</span></td><td id="LC19848" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19849" class="css-a4x74f"><span>19849</span></td><td id="LC19849" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19850" class="css-a4x74f"><span>19850</span></td><td id="LC19850" class="css-1dcdqdg"><code> <span class="code-string">"CSS Shapes"</span> </code></td></tr><tr><td id="L19851" class="css-a4x74f"><span>19851</span></td><td id="LC19851" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19852" class="css-a4x74f"><span>19852</span></td><td id="LC19852" class="css-1dcdqdg"><code> initial: <span class="code-string">"0.0"</span>, </code></td></tr><tr><td id="L19853" class="css-a4x74f"><span>19853</span></td><td id="LC19853" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"floats"</span>, </code></td></tr><tr><td id="L19854" class="css-a4x74f"><span>19854</span></td><td id="LC19854" class="css-1dcdqdg"><code> computed: <span class="code-string">"specifiedValueNumberClipped0To1"</span>, </code></td></tr><tr><td id="L19855" class="css-a4x74f"><span>19855</span></td><td id="LC19855" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19856" class="css-a4x74f"><span>19856</span></td><td id="LC19856" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19857" class="css-a4x74f"><span>19857</span></td><td id="LC19857" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold"</span> </code></td></tr><tr><td id="L19858" class="css-a4x74f"><span>19858</span></td><td id="LC19858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19859" class="css-a4x74f"><span>19859</span></td><td id="LC19859" class="css-1dcdqdg"><code> <span class="code-string">"shape-margin"</span>: { </code></td></tr><tr><td id="L19860" class="css-a4x74f"><span>19860</span></td><td id="LC19860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span>, </code></td></tr><tr><td id="L19861" class="css-a4x74f"><span>19861</span></td><td id="LC19861" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19862" class="css-a4x74f"><span>19862</span></td><td id="LC19862" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19863" class="css-a4x74f"><span>19863</span></td><td id="LC19863" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L19864" class="css-a4x74f"><span>19864</span></td><td id="LC19864" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L19865" class="css-a4x74f"><span>19865</span></td><td id="LC19865" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19866" class="css-a4x74f"><span>19866</span></td><td id="LC19866" class="css-1dcdqdg"><code> <span class="code-string">"CSS Shapes"</span> </code></td></tr><tr><td id="L19867" class="css-a4x74f"><span>19867</span></td><td id="LC19867" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19868" class="css-a4x74f"><span>19868</span></td><td id="LC19868" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L19869" class="css-a4x74f"><span>19869</span></td><td id="LC19869" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"floats"</span>, </code></td></tr><tr><td id="L19870" class="css-a4x74f"><span>19870</span></td><td id="LC19870" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedRelativeToAbsoluteLengths"</span>, </code></td></tr><tr><td id="L19871" class="css-a4x74f"><span>19871</span></td><td id="LC19871" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19872" class="css-a4x74f"><span>19872</span></td><td id="LC19872" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19873" class="css-a4x74f"><span>19873</span></td><td id="LC19873" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/shape-margin"</span> </code></td></tr><tr><td id="L19874" class="css-a4x74f"><span>19874</span></td><td id="LC19874" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19875" class="css-a4x74f"><span>19875</span></td><td id="LC19875" class="css-1dcdqdg"><code> <span class="code-string">"shape-outside"</span>: { </code></td></tr><tr><td id="L19876" class="css-a4x74f"><span>19876</span></td><td id="LC19876" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <shape-box> || <basic-shape> | <image>"</span>, </code></td></tr><tr><td id="L19877" class="css-a4x74f"><span>19877</span></td><td id="LC19877" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19878" class="css-a4x74f"><span>19878</span></td><td id="LC19878" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19879" class="css-a4x74f"><span>19879</span></td><td id="LC19879" class="css-1dcdqdg"><code> animationType: <span class="code-string">"basicShapeOtherwiseNo"</span>, </code></td></tr><tr><td id="L19880" class="css-a4x74f"><span>19880</span></td><td id="LC19880" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19881" class="css-a4x74f"><span>19881</span></td><td id="LC19881" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19882" class="css-a4x74f"><span>19882</span></td><td id="LC19882" class="css-1dcdqdg"><code> <span class="code-string">"CSS Shapes"</span> </code></td></tr><tr><td id="L19883" class="css-a4x74f"><span>19883</span></td><td id="LC19883" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19884" class="css-a4x74f"><span>19884</span></td><td id="LC19884" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19885" class="css-a4x74f"><span>19885</span></td><td id="LC19885" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"floats"</span>, </code></td></tr><tr><td id="L19886" class="css-a4x74f"><span>19886</span></td><td id="LC19886" class="css-1dcdqdg"><code> computed: <span class="code-string">"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified"</span>, </code></td></tr><tr><td id="L19887" class="css-a4x74f"><span>19887</span></td><td id="LC19887" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19888" class="css-a4x74f"><span>19888</span></td><td id="LC19888" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19889" class="css-a4x74f"><span>19889</span></td><td id="LC19889" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/shape-outside"</span> </code></td></tr><tr><td id="L19890" class="css-a4x74f"><span>19890</span></td><td id="LC19890" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19891" class="css-a4x74f"><span>19891</span></td><td id="LC19891" class="css-1dcdqdg"><code> <span class="code-string">"tab-size"</span>: { </code></td></tr><tr><td id="L19892" class="css-a4x74f"><span>19892</span></td><td id="LC19892" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer> | <length>"</span>, </code></td></tr><tr><td id="L19893" class="css-a4x74f"><span>19893</span></td><td id="LC19893" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19894" class="css-a4x74f"><span>19894</span></td><td id="LC19894" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19895" class="css-a4x74f"><span>19895</span></td><td id="LC19895" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L19896" class="css-a4x74f"><span>19896</span></td><td id="LC19896" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19897" class="css-a4x74f"><span>19897</span></td><td id="LC19897" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19898" class="css-a4x74f"><span>19898</span></td><td id="LC19898" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L19899" class="css-a4x74f"><span>19899</span></td><td id="LC19899" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19900" class="css-a4x74f"><span>19900</span></td><td id="LC19900" class="css-1dcdqdg"><code> initial: <span class="code-string">"8"</span>, </code></td></tr><tr><td id="L19901" class="css-a4x74f"><span>19901</span></td><td id="LC19901" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L19902" class="css-a4x74f"><span>19902</span></td><td id="LC19902" class="css-1dcdqdg"><code> computed: <span class="code-string">"specifiedIntegerOrAbsoluteLength"</span>, </code></td></tr><tr><td id="L19903" class="css-a4x74f"><span>19903</span></td><td id="LC19903" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19904" class="css-a4x74f"><span>19904</span></td><td id="LC19904" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19905" class="css-a4x74f"><span>19905</span></td><td id="LC19905" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/tab-size"</span> </code></td></tr><tr><td id="L19906" class="css-a4x74f"><span>19906</span></td><td id="LC19906" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19907" class="css-a4x74f"><span>19907</span></td><td id="LC19907" class="css-1dcdqdg"><code> <span class="code-string">"table-layout"</span>: { </code></td></tr><tr><td id="L19908" class="css-a4x74f"><span>19908</span></td><td id="LC19908" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | fixed"</span>, </code></td></tr><tr><td id="L19909" class="css-a4x74f"><span>19909</span></td><td id="LC19909" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19910" class="css-a4x74f"><span>19910</span></td><td id="LC19910" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19911" class="css-a4x74f"><span>19911</span></td><td id="LC19911" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19912" class="css-a4x74f"><span>19912</span></td><td id="LC19912" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19913" class="css-a4x74f"><span>19913</span></td><td id="LC19913" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19914" class="css-a4x74f"><span>19914</span></td><td id="LC19914" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L19915" class="css-a4x74f"><span>19915</span></td><td id="LC19915" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19916" class="css-a4x74f"><span>19916</span></td><td id="LC19916" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19917" class="css-a4x74f"><span>19917</span></td><td id="LC19917" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"tableElements"</span>, </code></td></tr><tr><td id="L19918" class="css-a4x74f"><span>19918</span></td><td id="LC19918" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19919" class="css-a4x74f"><span>19919</span></td><td id="LC19919" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19920" class="css-a4x74f"><span>19920</span></td><td id="LC19920" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19921" class="css-a4x74f"><span>19921</span></td><td id="LC19921" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/table-layout"</span> </code></td></tr><tr><td id="L19922" class="css-a4x74f"><span>19922</span></td><td id="LC19922" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19923" class="css-a4x74f"><span>19923</span></td><td id="LC19923" class="css-1dcdqdg"><code> <span class="code-string">"text-align"</span>: { </code></td></tr><tr><td id="L19924" class="css-a4x74f"><span>19924</span></td><td id="LC19924" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | left | right | center | justify | match-parent"</span>, </code></td></tr><tr><td id="L19925" class="css-a4x74f"><span>19925</span></td><td id="LC19925" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19926" class="css-a4x74f"><span>19926</span></td><td id="LC19926" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19927" class="css-a4x74f"><span>19927</span></td><td id="LC19927" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19928" class="css-a4x74f"><span>19928</span></td><td id="LC19928" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19929" class="css-a4x74f"><span>19929</span></td><td id="LC19929" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19930" class="css-a4x74f"><span>19930</span></td><td id="LC19930" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L19931" class="css-a4x74f"><span>19931</span></td><td id="LC19931" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19932" class="css-a4x74f"><span>19932</span></td><td id="LC19932" class="css-1dcdqdg"><code> initial: <span class="code-string">"startOrNamelessValueIfLTRRightIfRTL"</span>, </code></td></tr><tr><td id="L19933" class="css-a4x74f"><span>19933</span></td><td id="LC19933" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L19934" class="css-a4x74f"><span>19934</span></td><td id="LC19934" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecifiedExceptMatchParent"</span>, </code></td></tr><tr><td id="L19935" class="css-a4x74f"><span>19935</span></td><td id="LC19935" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L19936" class="css-a4x74f"><span>19936</span></td><td id="LC19936" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L19937" class="css-a4x74f"><span>19937</span></td><td id="LC19937" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L19938" class="css-a4x74f"><span>19938</span></td><td id="LC19938" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19939" class="css-a4x74f"><span>19939</span></td><td id="LC19939" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19940" class="css-a4x74f"><span>19940</span></td><td id="LC19940" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-align"</span> </code></td></tr><tr><td id="L19941" class="css-a4x74f"><span>19941</span></td><td id="LC19941" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19942" class="css-a4x74f"><span>19942</span></td><td id="LC19942" class="css-1dcdqdg"><code> <span class="code-string">"text-align-last"</span>: { </code></td></tr><tr><td id="L19943" class="css-a4x74f"><span>19943</span></td><td id="LC19943" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | start | end | left | right | center | justify"</span>, </code></td></tr><tr><td id="L19944" class="css-a4x74f"><span>19944</span></td><td id="LC19944" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19945" class="css-a4x74f"><span>19945</span></td><td id="LC19945" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19946" class="css-a4x74f"><span>19946</span></td><td id="LC19946" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19947" class="css-a4x74f"><span>19947</span></td><td id="LC19947" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19948" class="css-a4x74f"><span>19948</span></td><td id="LC19948" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19949" class="css-a4x74f"><span>19949</span></td><td id="LC19949" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L19950" class="css-a4x74f"><span>19950</span></td><td id="LC19950" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19951" class="css-a4x74f"><span>19951</span></td><td id="LC19951" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L19952" class="css-a4x74f"><span>19952</span></td><td id="LC19952" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L19953" class="css-a4x74f"><span>19953</span></td><td id="LC19953" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L19954" class="css-a4x74f"><span>19954</span></td><td id="LC19954" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19955" class="css-a4x74f"><span>19955</span></td><td id="LC19955" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19956" class="css-a4x74f"><span>19956</span></td><td id="LC19956" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-align-last"</span> </code></td></tr><tr><td id="L19957" class="css-a4x74f"><span>19957</span></td><td id="LC19957" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19958" class="css-a4x74f"><span>19958</span></td><td id="LC19958" class="css-1dcdqdg"><code> <span class="code-string">"text-combine-upright"</span>: { </code></td></tr><tr><td id="L19959" class="css-a4x74f"><span>19959</span></td><td id="LC19959" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | all | [ digits <integer>? ]"</span>, </code></td></tr><tr><td id="L19960" class="css-a4x74f"><span>19960</span></td><td id="LC19960" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19961" class="css-a4x74f"><span>19961</span></td><td id="LC19961" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L19962" class="css-a4x74f"><span>19962</span></td><td id="LC19962" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L19963" class="css-a4x74f"><span>19963</span></td><td id="LC19963" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19964" class="css-a4x74f"><span>19964</span></td><td id="LC19964" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19965" class="css-a4x74f"><span>19965</span></td><td id="LC19965" class="css-1dcdqdg"><code> <span class="code-string">"CSS Writing Modes"</span> </code></td></tr><tr><td id="L19966" class="css-a4x74f"><span>19966</span></td><td id="LC19966" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19967" class="css-a4x74f"><span>19967</span></td><td id="LC19967" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L19968" class="css-a4x74f"><span>19968</span></td><td id="LC19968" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedInlineElements"</span>, </code></td></tr><tr><td id="L19969" class="css-a4x74f"><span>19969</span></td><td id="LC19969" class="css-1dcdqdg"><code> computed: <span class="code-string">"keywordPlusIntegerIfDigits"</span>, </code></td></tr><tr><td id="L19970" class="css-a4x74f"><span>19970</span></td><td id="LC19970" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L19971" class="css-a4x74f"><span>19971</span></td><td id="LC19971" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L19972" class="css-a4x74f"><span>19972</span></td><td id="LC19972" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"</span> </code></td></tr><tr><td id="L19973" class="css-a4x74f"><span>19973</span></td><td id="LC19973" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L19974" class="css-a4x74f"><span>19974</span></td><td id="LC19974" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration"</span>: { </code></td></tr><tr><td id="L19975" class="css-a4x74f"><span>19975</span></td><td id="LC19975" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>"</span>, </code></td></tr><tr><td id="L19976" class="css-a4x74f"><span>19976</span></td><td id="LC19976" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L19977" class="css-a4x74f"><span>19977</span></td><td id="LC19977" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L19978" class="css-a4x74f"><span>19978</span></td><td id="LC19978" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L19979" class="css-a4x74f"><span>19979</span></td><td id="LC19979" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-color"</span>, </code></td></tr><tr><td id="L19980" class="css-a4x74f"><span>19980</span></td><td id="LC19980" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-style"</span>, </code></td></tr><tr><td id="L19981" class="css-a4x74f"><span>19981</span></td><td id="LC19981" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-line"</span>, </code></td></tr><tr><td id="L19982" class="css-a4x74f"><span>19982</span></td><td id="LC19982" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-thickness"</span> </code></td></tr><tr><td id="L19983" class="css-a4x74f"><span>19983</span></td><td id="LC19983" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19984" class="css-a4x74f"><span>19984</span></td><td id="LC19984" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L19985" class="css-a4x74f"><span>19985</span></td><td id="LC19985" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L19986" class="css-a4x74f"><span>19986</span></td><td id="LC19986" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L19987" class="css-a4x74f"><span>19987</span></td><td id="LC19987" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19988" class="css-a4x74f"><span>19988</span></td><td id="LC19988" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L19989" class="css-a4x74f"><span>19989</span></td><td id="LC19989" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-color"</span>, </code></td></tr><tr><td id="L19990" class="css-a4x74f"><span>19990</span></td><td id="LC19990" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-style"</span>, </code></td></tr><tr><td id="L19991" class="css-a4x74f"><span>19991</span></td><td id="LC19991" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-line"</span> </code></td></tr><tr><td id="L19992" class="css-a4x74f"><span>19992</span></td><td id="LC19992" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L19993" class="css-a4x74f"><span>19993</span></td><td id="LC19993" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L19994" class="css-a4x74f"><span>19994</span></td><td id="LC19994" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L19995" class="css-a4x74f"><span>19995</span></td><td id="LC19995" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-line"</span>, </code></td></tr><tr><td id="L19996" class="css-a4x74f"><span>19996</span></td><td id="LC19996" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-style"</span>, </code></td></tr><tr><td id="L19997" class="css-a4x74f"><span>19997</span></td><td id="LC19997" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-color"</span>, </code></td></tr><tr><td id="L19998" class="css-a4x74f"><span>19998</span></td><td id="LC19998" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-thickness"</span> </code></td></tr><tr><td id="L19999" class="css-a4x74f"><span>19999</span></td><td id="LC19999" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20000" class="css-a4x74f"><span>20000</span></td><td id="LC20000" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20001" class="css-a4x74f"><span>20001</span></td><td id="LC20001" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20002" class="css-a4x74f"><span>20002</span></td><td id="LC20002" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20003" class="css-a4x74f"><span>20003</span></td><td id="LC20003" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20004" class="css-a4x74f"><span>20004</span></td><td id="LC20004" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20005" class="css-a4x74f"><span>20005</span></td><td id="LC20005" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20006" class="css-a4x74f"><span>20006</span></td><td id="LC20006" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20007" class="css-a4x74f"><span>20007</span></td><td id="LC20007" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration"</span> </code></td></tr><tr><td id="L20008" class="css-a4x74f"><span>20008</span></td><td id="LC20008" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20009" class="css-a4x74f"><span>20009</span></td><td id="LC20009" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-color"</span>: { </code></td></tr><tr><td id="L20010" class="css-a4x74f"><span>20010</span></td><td id="LC20010" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L20011" class="css-a4x74f"><span>20011</span></td><td id="LC20011" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20012" class="css-a4x74f"><span>20012</span></td><td id="LC20012" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20013" class="css-a4x74f"><span>20013</span></td><td id="LC20013" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L20014" class="css-a4x74f"><span>20014</span></td><td id="LC20014" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20015" class="css-a4x74f"><span>20015</span></td><td id="LC20015" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20016" class="css-a4x74f"><span>20016</span></td><td id="LC20016" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20017" class="css-a4x74f"><span>20017</span></td><td id="LC20017" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20018" class="css-a4x74f"><span>20018</span></td><td id="LC20018" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L20019" class="css-a4x74f"><span>20019</span></td><td id="LC20019" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20020" class="css-a4x74f"><span>20020</span></td><td id="LC20020" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L20021" class="css-a4x74f"><span>20021</span></td><td id="LC20021" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20022" class="css-a4x74f"><span>20022</span></td><td id="LC20022" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20023" class="css-a4x74f"><span>20023</span></td><td id="LC20023" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20024" class="css-a4x74f"><span>20024</span></td><td id="LC20024" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20025" class="css-a4x74f"><span>20025</span></td><td id="LC20025" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20026" class="css-a4x74f"><span>20026</span></td><td id="LC20026" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20027" class="css-a4x74f"><span>20027</span></td><td id="LC20027" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20028" class="css-a4x74f"><span>20028</span></td><td id="LC20028" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color"</span> </code></td></tr><tr><td id="L20029" class="css-a4x74f"><span>20029</span></td><td id="LC20029" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20030" class="css-a4x74f"><span>20030</span></td><td id="LC20030" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-line"</span>: { </code></td></tr><tr><td id="L20031" class="css-a4x74f"><span>20031</span></td><td id="LC20031" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error"</span>, </code></td></tr><tr><td id="L20032" class="css-a4x74f"><span>20032</span></td><td id="LC20032" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20033" class="css-a4x74f"><span>20033</span></td><td id="LC20033" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20034" class="css-a4x74f"><span>20034</span></td><td id="LC20034" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20035" class="css-a4x74f"><span>20035</span></td><td id="LC20035" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20036" class="css-a4x74f"><span>20036</span></td><td id="LC20036" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20037" class="css-a4x74f"><span>20037</span></td><td id="LC20037" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20038" class="css-a4x74f"><span>20038</span></td><td id="LC20038" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20039" class="css-a4x74f"><span>20039</span></td><td id="LC20039" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L20040" class="css-a4x74f"><span>20040</span></td><td id="LC20040" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20041" class="css-a4x74f"><span>20041</span></td><td id="LC20041" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20042" class="css-a4x74f"><span>20042</span></td><td id="LC20042" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20043" class="css-a4x74f"><span>20043</span></td><td id="LC20043" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20044" class="css-a4x74f"><span>20044</span></td><td id="LC20044" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20045" class="css-a4x74f"><span>20045</span></td><td id="LC20045" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20046" class="css-a4x74f"><span>20046</span></td><td id="LC20046" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20047" class="css-a4x74f"><span>20047</span></td><td id="LC20047" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20048" class="css-a4x74f"><span>20048</span></td><td id="LC20048" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20049" class="css-a4x74f"><span>20049</span></td><td id="LC20049" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line"</span> </code></td></tr><tr><td id="L20050" class="css-a4x74f"><span>20050</span></td><td id="LC20050" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20051" class="css-a4x74f"><span>20051</span></td><td id="LC20051" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-skip"</span>: { </code></td></tr><tr><td id="L20052" class="css-a4x74f"><span>20052</span></td><td id="LC20052" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]"</span>, </code></td></tr><tr><td id="L20053" class="css-a4x74f"><span>20053</span></td><td id="LC20053" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20054" class="css-a4x74f"><span>20054</span></td><td id="LC20054" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20055" class="css-a4x74f"><span>20055</span></td><td id="LC20055" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20056" class="css-a4x74f"><span>20056</span></td><td id="LC20056" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20057" class="css-a4x74f"><span>20057</span></td><td id="LC20057" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20058" class="css-a4x74f"><span>20058</span></td><td id="LC20058" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20059" class="css-a4x74f"><span>20059</span></td><td id="LC20059" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20060" class="css-a4x74f"><span>20060</span></td><td id="LC20060" class="css-1dcdqdg"><code> initial: <span class="code-string">"objects"</span>, </code></td></tr><tr><td id="L20061" class="css-a4x74f"><span>20061</span></td><td id="LC20061" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20062" class="css-a4x74f"><span>20062</span></td><td id="LC20062" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20063" class="css-a4x74f"><span>20063</span></td><td id="LC20063" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20064" class="css-a4x74f"><span>20064</span></td><td id="LC20064" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L20065" class="css-a4x74f"><span>20065</span></td><td id="LC20065" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"</span> </code></td></tr><tr><td id="L20066" class="css-a4x74f"><span>20066</span></td><td id="LC20066" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20067" class="css-a4x74f"><span>20067</span></td><td id="LC20067" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-skip-ink"</span>: { </code></td></tr><tr><td id="L20068" class="css-a4x74f"><span>20068</span></td><td id="LC20068" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none"</span>, </code></td></tr><tr><td id="L20069" class="css-a4x74f"><span>20069</span></td><td id="LC20069" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20070" class="css-a4x74f"><span>20070</span></td><td id="LC20070" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20071" class="css-a4x74f"><span>20071</span></td><td id="LC20071" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20072" class="css-a4x74f"><span>20072</span></td><td id="LC20072" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20073" class="css-a4x74f"><span>20073</span></td><td id="LC20073" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20074" class="css-a4x74f"><span>20074</span></td><td id="LC20074" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20075" class="css-a4x74f"><span>20075</span></td><td id="LC20075" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20076" class="css-a4x74f"><span>20076</span></td><td id="LC20076" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20077" class="css-a4x74f"><span>20077</span></td><td id="LC20077" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20078" class="css-a4x74f"><span>20078</span></td><td id="LC20078" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20079" class="css-a4x74f"><span>20079</span></td><td id="LC20079" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20080" class="css-a4x74f"><span>20080</span></td><td id="LC20080" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L20081" class="css-a4x74f"><span>20081</span></td><td id="LC20081" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"</span> </code></td></tr><tr><td id="L20082" class="css-a4x74f"><span>20082</span></td><td id="LC20082" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20083" class="css-a4x74f"><span>20083</span></td><td id="LC20083" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-style"</span>: { </code></td></tr><tr><td id="L20084" class="css-a4x74f"><span>20084</span></td><td id="LC20084" class="css-1dcdqdg"><code> syntax: <span class="code-string">"solid | double | dotted | dashed | wavy"</span>, </code></td></tr><tr><td id="L20085" class="css-a4x74f"><span>20085</span></td><td id="LC20085" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20086" class="css-a4x74f"><span>20086</span></td><td id="LC20086" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20087" class="css-a4x74f"><span>20087</span></td><td id="LC20087" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20088" class="css-a4x74f"><span>20088</span></td><td id="LC20088" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20089" class="css-a4x74f"><span>20089</span></td><td id="LC20089" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20090" class="css-a4x74f"><span>20090</span></td><td id="LC20090" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20091" class="css-a4x74f"><span>20091</span></td><td id="LC20091" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20092" class="css-a4x74f"><span>20092</span></td><td id="LC20092" class="css-1dcdqdg"><code> initial: <span class="code-string">"solid"</span>, </code></td></tr><tr><td id="L20093" class="css-a4x74f"><span>20093</span></td><td id="LC20093" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20094" class="css-a4x74f"><span>20094</span></td><td id="LC20094" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20095" class="css-a4x74f"><span>20095</span></td><td id="LC20095" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20096" class="css-a4x74f"><span>20096</span></td><td id="LC20096" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20097" class="css-a4x74f"><span>20097</span></td><td id="LC20097" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20098" class="css-a4x74f"><span>20098</span></td><td id="LC20098" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20099" class="css-a4x74f"><span>20099</span></td><td id="LC20099" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20100" class="css-a4x74f"><span>20100</span></td><td id="LC20100" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20101" class="css-a4x74f"><span>20101</span></td><td id="LC20101" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20102" class="css-a4x74f"><span>20102</span></td><td id="LC20102" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style"</span> </code></td></tr><tr><td id="L20103" class="css-a4x74f"><span>20103</span></td><td id="LC20103" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20104" class="css-a4x74f"><span>20104</span></td><td id="LC20104" class="css-1dcdqdg"><code> <span class="code-string">"text-decoration-thickness"</span>: { </code></td></tr><tr><td id="L20105" class="css-a4x74f"><span>20105</span></td><td id="LC20105" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | from-font | <length>"</span>, </code></td></tr><tr><td id="L20106" class="css-a4x74f"><span>20106</span></td><td id="LC20106" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20107" class="css-a4x74f"><span>20107</span></td><td id="LC20107" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20108" class="css-a4x74f"><span>20108</span></td><td id="LC20108" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L20109" class="css-a4x74f"><span>20109</span></td><td id="LC20109" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20110" class="css-a4x74f"><span>20110</span></td><td id="LC20110" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20111" class="css-a4x74f"><span>20111</span></td><td id="LC20111" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20112" class="css-a4x74f"><span>20112</span></td><td id="LC20112" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20113" class="css-a4x74f"><span>20113</span></td><td id="LC20113" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20114" class="css-a4x74f"><span>20114</span></td><td id="LC20114" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20115" class="css-a4x74f"><span>20115</span></td><td id="LC20115" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20116" class="css-a4x74f"><span>20116</span></td><td id="LC20116" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20117" class="css-a4x74f"><span>20117</span></td><td id="LC20117" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20118" class="css-a4x74f"><span>20118</span></td><td id="LC20118" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20119" class="css-a4x74f"><span>20119</span></td><td id="LC20119" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20120" class="css-a4x74f"><span>20120</span></td><td id="LC20120" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20121" class="css-a4x74f"><span>20121</span></td><td id="LC20121" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20122" class="css-a4x74f"><span>20122</span></td><td id="LC20122" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20123" class="css-a4x74f"><span>20123</span></td><td id="LC20123" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"</span> </code></td></tr><tr><td id="L20124" class="css-a4x74f"><span>20124</span></td><td id="LC20124" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20125" class="css-a4x74f"><span>20125</span></td><td id="LC20125" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis"</span>: { </code></td></tr><tr><td id="L20126" class="css-a4x74f"><span>20126</span></td><td id="LC20126" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'text-emphasis-style'> || <'text-emphasis-color'>"</span>, </code></td></tr><tr><td id="L20127" class="css-a4x74f"><span>20127</span></td><td id="LC20127" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20128" class="css-a4x74f"><span>20128</span></td><td id="LC20128" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20129" class="css-a4x74f"><span>20129</span></td><td id="LC20129" class="css-1dcdqdg"><code> animationType: [ </code></td></tr><tr><td id="L20130" class="css-a4x74f"><span>20130</span></td><td id="LC20130" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-color"</span>, </code></td></tr><tr><td id="L20131" class="css-a4x74f"><span>20131</span></td><td id="LC20131" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-style"</span> </code></td></tr><tr><td id="L20132" class="css-a4x74f"><span>20132</span></td><td id="LC20132" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20133" class="css-a4x74f"><span>20133</span></td><td id="LC20133" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20134" class="css-a4x74f"><span>20134</span></td><td id="LC20134" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20135" class="css-a4x74f"><span>20135</span></td><td id="LC20135" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20136" class="css-a4x74f"><span>20136</span></td><td id="LC20136" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20137" class="css-a4x74f"><span>20137</span></td><td id="LC20137" class="css-1dcdqdg"><code> initial: [ </code></td></tr><tr><td id="L20138" class="css-a4x74f"><span>20138</span></td><td id="LC20138" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-style"</span>, </code></td></tr><tr><td id="L20139" class="css-a4x74f"><span>20139</span></td><td id="LC20139" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-color"</span> </code></td></tr><tr><td id="L20140" class="css-a4x74f"><span>20140</span></td><td id="LC20140" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20141" class="css-a4x74f"><span>20141</span></td><td id="LC20141" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20142" class="css-a4x74f"><span>20142</span></td><td id="LC20142" class="css-1dcdqdg"><code> computed: [ </code></td></tr><tr><td id="L20143" class="css-a4x74f"><span>20143</span></td><td id="LC20143" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-style"</span>, </code></td></tr><tr><td id="L20144" class="css-a4x74f"><span>20144</span></td><td id="LC20144" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-color"</span> </code></td></tr><tr><td id="L20145" class="css-a4x74f"><span>20145</span></td><td id="LC20145" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20146" class="css-a4x74f"><span>20146</span></td><td id="LC20146" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20147" class="css-a4x74f"><span>20147</span></td><td id="LC20147" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20148" class="css-a4x74f"><span>20148</span></td><td id="LC20148" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"</span> </code></td></tr><tr><td id="L20149" class="css-a4x74f"><span>20149</span></td><td id="LC20149" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20150" class="css-a4x74f"><span>20150</span></td><td id="LC20150" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-color"</span>: { </code></td></tr><tr><td id="L20151" class="css-a4x74f"><span>20151</span></td><td id="LC20151" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color>"</span>, </code></td></tr><tr><td id="L20152" class="css-a4x74f"><span>20152</span></td><td id="LC20152" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20153" class="css-a4x74f"><span>20153</span></td><td id="LC20153" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20154" class="css-a4x74f"><span>20154</span></td><td id="LC20154" class="css-1dcdqdg"><code> animationType: <span class="code-string">"color"</span>, </code></td></tr><tr><td id="L20155" class="css-a4x74f"><span>20155</span></td><td id="LC20155" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20156" class="css-a4x74f"><span>20156</span></td><td id="LC20156" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20157" class="css-a4x74f"><span>20157</span></td><td id="LC20157" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20158" class="css-a4x74f"><span>20158</span></td><td id="LC20158" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20159" class="css-a4x74f"><span>20159</span></td><td id="LC20159" class="css-1dcdqdg"><code> initial: <span class="code-string">"currentcolor"</span>, </code></td></tr><tr><td id="L20160" class="css-a4x74f"><span>20160</span></td><td id="LC20160" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20161" class="css-a4x74f"><span>20161</span></td><td id="LC20161" class="css-1dcdqdg"><code> computed: <span class="code-string">"computedColor"</span>, </code></td></tr><tr><td id="L20162" class="css-a4x74f"><span>20162</span></td><td id="LC20162" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20163" class="css-a4x74f"><span>20163</span></td><td id="LC20163" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20164" class="css-a4x74f"><span>20164</span></td><td id="LC20164" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"</span> </code></td></tr><tr><td id="L20165" class="css-a4x74f"><span>20165</span></td><td id="LC20165" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20166" class="css-a4x74f"><span>20166</span></td><td id="LC20166" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-position"</span>: { </code></td></tr><tr><td id="L20167" class="css-a4x74f"><span>20167</span></td><td id="LC20167" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ over | under ] && [ right | left ]"</span>, </code></td></tr><tr><td id="L20168" class="css-a4x74f"><span>20168</span></td><td id="LC20168" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20169" class="css-a4x74f"><span>20169</span></td><td id="LC20169" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20170" class="css-a4x74f"><span>20170</span></td><td id="LC20170" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20171" class="css-a4x74f"><span>20171</span></td><td id="LC20171" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20172" class="css-a4x74f"><span>20172</span></td><td id="LC20172" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20173" class="css-a4x74f"><span>20173</span></td><td id="LC20173" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20174" class="css-a4x74f"><span>20174</span></td><td id="LC20174" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20175" class="css-a4x74f"><span>20175</span></td><td id="LC20175" class="css-1dcdqdg"><code> initial: <span class="code-string">"over right"</span>, </code></td></tr><tr><td id="L20176" class="css-a4x74f"><span>20176</span></td><td id="LC20176" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20177" class="css-a4x74f"><span>20177</span></td><td id="LC20177" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20178" class="css-a4x74f"><span>20178</span></td><td id="LC20178" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20179" class="css-a4x74f"><span>20179</span></td><td id="LC20179" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20180" class="css-a4x74f"><span>20180</span></td><td id="LC20180" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"</span> </code></td></tr><tr><td id="L20181" class="css-a4x74f"><span>20181</span></td><td id="LC20181" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20182" class="css-a4x74f"><span>20182</span></td><td id="LC20182" class="css-1dcdqdg"><code> <span class="code-string">"text-emphasis-style"</span>: { </code></td></tr><tr><td id="L20183" class="css-a4x74f"><span>20183</span></td><td id="LC20183" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>"</span>, </code></td></tr><tr><td id="L20184" class="css-a4x74f"><span>20184</span></td><td id="LC20184" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20185" class="css-a4x74f"><span>20185</span></td><td id="LC20185" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20186" class="css-a4x74f"><span>20186</span></td><td id="LC20186" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20187" class="css-a4x74f"><span>20187</span></td><td id="LC20187" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20188" class="css-a4x74f"><span>20188</span></td><td id="LC20188" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20189" class="css-a4x74f"><span>20189</span></td><td id="LC20189" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20190" class="css-a4x74f"><span>20190</span></td><td id="LC20190" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20191" class="css-a4x74f"><span>20191</span></td><td id="LC20191" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L20192" class="css-a4x74f"><span>20192</span></td><td id="LC20192" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20193" class="css-a4x74f"><span>20193</span></td><td id="LC20193" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20194" class="css-a4x74f"><span>20194</span></td><td id="LC20194" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20195" class="css-a4x74f"><span>20195</span></td><td id="LC20195" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20196" class="css-a4x74f"><span>20196</span></td><td id="LC20196" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"</span> </code></td></tr><tr><td id="L20197" class="css-a4x74f"><span>20197</span></td><td id="LC20197" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20198" class="css-a4x74f"><span>20198</span></td><td id="LC20198" class="css-1dcdqdg"><code> <span class="code-string">"text-indent"</span>: { </code></td></tr><tr><td id="L20199" class="css-a4x74f"><span>20199</span></td><td id="LC20199" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage> && hanging? && each-line?"</span>, </code></td></tr><tr><td id="L20200" class="css-a4x74f"><span>20200</span></td><td id="LC20200" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20201" class="css-a4x74f"><span>20201</span></td><td id="LC20201" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20202" class="css-a4x74f"><span>20202</span></td><td id="LC20202" class="css-1dcdqdg"><code> animationType: <span class="code-string">"lpc"</span>, </code></td></tr><tr><td id="L20203" class="css-a4x74f"><span>20203</span></td><td id="LC20203" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfContainingBlock"</span>, </code></td></tr><tr><td id="L20204" class="css-a4x74f"><span>20204</span></td><td id="LC20204" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20205" class="css-a4x74f"><span>20205</span></td><td id="LC20205" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20206" class="css-a4x74f"><span>20206</span></td><td id="LC20206" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20207" class="css-a4x74f"><span>20207</span></td><td id="LC20207" class="css-1dcdqdg"><code> initial: <span class="code-string">"0"</span>, </code></td></tr><tr><td id="L20208" class="css-a4x74f"><span>20208</span></td><td id="LC20208" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainers"</span>, </code></td></tr><tr><td id="L20209" class="css-a4x74f"><span>20209</span></td><td id="LC20209" class="css-1dcdqdg"><code> computed: <span class="code-string">"percentageOrAbsoluteLengthPlusKeywords"</span>, </code></td></tr><tr><td id="L20210" class="css-a4x74f"><span>20210</span></td><td id="LC20210" class="css-1dcdqdg"><code> order: <span class="code-string">"lengthOrPercentageBeforeKeywords"</span>, </code></td></tr><tr><td id="L20211" class="css-a4x74f"><span>20211</span></td><td id="LC20211" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20212" class="css-a4x74f"><span>20212</span></td><td id="LC20212" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-indent"</span> </code></td></tr><tr><td id="L20213" class="css-a4x74f"><span>20213</span></td><td id="LC20213" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20214" class="css-a4x74f"><span>20214</span></td><td id="LC20214" class="css-1dcdqdg"><code> <span class="code-string">"text-justify"</span>: { </code></td></tr><tr><td id="L20215" class="css-a4x74f"><span>20215</span></td><td id="LC20215" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | inter-character | inter-word | none"</span>, </code></td></tr><tr><td id="L20216" class="css-a4x74f"><span>20216</span></td><td id="LC20216" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20217" class="css-a4x74f"><span>20217</span></td><td id="LC20217" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20218" class="css-a4x74f"><span>20218</span></td><td id="LC20218" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20219" class="css-a4x74f"><span>20219</span></td><td id="LC20219" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20220" class="css-a4x74f"><span>20220</span></td><td id="LC20220" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20221" class="css-a4x74f"><span>20221</span></td><td id="LC20221" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20222" class="css-a4x74f"><span>20222</span></td><td id="LC20222" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20223" class="css-a4x74f"><span>20223</span></td><td id="LC20223" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20224" class="css-a4x74f"><span>20224</span></td><td id="LC20224" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"inlineLevelAndTableCellElements"</span>, </code></td></tr><tr><td id="L20225" class="css-a4x74f"><span>20225</span></td><td id="LC20225" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20226" class="css-a4x74f"><span>20226</span></td><td id="LC20226" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20227" class="css-a4x74f"><span>20227</span></td><td id="LC20227" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20228" class="css-a4x74f"><span>20228</span></td><td id="LC20228" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-justify"</span> </code></td></tr><tr><td id="L20229" class="css-a4x74f"><span>20229</span></td><td id="LC20229" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20230" class="css-a4x74f"><span>20230</span></td><td id="LC20230" class="css-1dcdqdg"><code> <span class="code-string">"text-orientation"</span>: { </code></td></tr><tr><td id="L20231" class="css-a4x74f"><span>20231</span></td><td id="LC20231" class="css-1dcdqdg"><code> syntax: <span class="code-string">"mixed | upright | sideways"</span>, </code></td></tr><tr><td id="L20232" class="css-a4x74f"><span>20232</span></td><td id="LC20232" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20233" class="css-a4x74f"><span>20233</span></td><td id="LC20233" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20234" class="css-a4x74f"><span>20234</span></td><td id="LC20234" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20235" class="css-a4x74f"><span>20235</span></td><td id="LC20235" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20236" class="css-a4x74f"><span>20236</span></td><td id="LC20236" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20237" class="css-a4x74f"><span>20237</span></td><td id="LC20237" class="css-1dcdqdg"><code> <span class="code-string">"CSS Writing Modes"</span> </code></td></tr><tr><td id="L20238" class="css-a4x74f"><span>20238</span></td><td id="LC20238" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20239" class="css-a4x74f"><span>20239</span></td><td id="LC20239" class="css-1dcdqdg"><code> initial: <span class="code-string">"mixed"</span>, </code></td></tr><tr><td id="L20240" class="css-a4x74f"><span>20240</span></td><td id="LC20240" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns"</span>, </code></td></tr><tr><td id="L20241" class="css-a4x74f"><span>20241</span></td><td id="LC20241" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20242" class="css-a4x74f"><span>20242</span></td><td id="LC20242" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20243" class="css-a4x74f"><span>20243</span></td><td id="LC20243" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20244" class="css-a4x74f"><span>20244</span></td><td id="LC20244" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-orientation"</span> </code></td></tr><tr><td id="L20245" class="css-a4x74f"><span>20245</span></td><td id="LC20245" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20246" class="css-a4x74f"><span>20246</span></td><td id="LC20246" class="css-1dcdqdg"><code> <span class="code-string">"text-overflow"</span>: { </code></td></tr><tr><td id="L20247" class="css-a4x74f"><span>20247</span></td><td id="LC20247" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ clip | ellipsis | <string> ]{1,2}"</span>, </code></td></tr><tr><td id="L20248" class="css-a4x74f"><span>20248</span></td><td id="LC20248" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20249" class="css-a4x74f"><span>20249</span></td><td id="LC20249" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20250" class="css-a4x74f"><span>20250</span></td><td id="LC20250" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20251" class="css-a4x74f"><span>20251</span></td><td id="LC20251" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20252" class="css-a4x74f"><span>20252</span></td><td id="LC20252" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20253" class="css-a4x74f"><span>20253</span></td><td id="LC20253" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L20254" class="css-a4x74f"><span>20254</span></td><td id="LC20254" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20255" class="css-a4x74f"><span>20255</span></td><td id="LC20255" class="css-1dcdqdg"><code> initial: <span class="code-string">"clip"</span>, </code></td></tr><tr><td id="L20256" class="css-a4x74f"><span>20256</span></td><td id="LC20256" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"blockContainerElements"</span>, </code></td></tr><tr><td id="L20257" class="css-a4x74f"><span>20257</span></td><td id="LC20257" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20258" class="css-a4x74f"><span>20258</span></td><td id="LC20258" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20259" class="css-a4x74f"><span>20259</span></td><td id="LC20259" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20260" class="css-a4x74f"><span>20260</span></td><td id="LC20260" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20261" class="css-a4x74f"><span>20261</span></td><td id="LC20261" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20262" class="css-a4x74f"><span>20262</span></td><td id="LC20262" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20263" class="css-a4x74f"><span>20263</span></td><td id="LC20263" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-overflow"</span> </code></td></tr><tr><td id="L20264" class="css-a4x74f"><span>20264</span></td><td id="LC20264" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20265" class="css-a4x74f"><span>20265</span></td><td id="LC20265" class="css-1dcdqdg"><code> <span class="code-string">"text-rendering"</span>: { </code></td></tr><tr><td id="L20266" class="css-a4x74f"><span>20266</span></td><td id="LC20266" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | optimizeSpeed | optimizeLegibility | geometricPrecision"</span>, </code></td></tr><tr><td id="L20267" class="css-a4x74f"><span>20267</span></td><td id="LC20267" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20268" class="css-a4x74f"><span>20268</span></td><td id="LC20268" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20269" class="css-a4x74f"><span>20269</span></td><td id="LC20269" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20270" class="css-a4x74f"><span>20270</span></td><td id="LC20270" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20271" class="css-a4x74f"><span>20271</span></td><td id="LC20271" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20272" class="css-a4x74f"><span>20272</span></td><td id="LC20272" class="css-1dcdqdg"><code> <span class="code-string">"CSS Miscellaneous"</span> </code></td></tr><tr><td id="L20273" class="css-a4x74f"><span>20273</span></td><td id="LC20273" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20274" class="css-a4x74f"><span>20274</span></td><td id="LC20274" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20275" class="css-a4x74f"><span>20275</span></td><td id="LC20275" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"textElements"</span>, </code></td></tr><tr><td id="L20276" class="css-a4x74f"><span>20276</span></td><td id="LC20276" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20277" class="css-a4x74f"><span>20277</span></td><td id="LC20277" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20278" class="css-a4x74f"><span>20278</span></td><td id="LC20278" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20279" class="css-a4x74f"><span>20279</span></td><td id="LC20279" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-rendering"</span> </code></td></tr><tr><td id="L20280" class="css-a4x74f"><span>20280</span></td><td id="LC20280" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20281" class="css-a4x74f"><span>20281</span></td><td id="LC20281" class="css-1dcdqdg"><code> <span class="code-string">"text-shadow"</span>: { </code></td></tr><tr><td id="L20282" class="css-a4x74f"><span>20282</span></td><td id="LC20282" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <shadow-t>#"</span>, </code></td></tr><tr><td id="L20283" class="css-a4x74f"><span>20283</span></td><td id="LC20283" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20284" class="css-a4x74f"><span>20284</span></td><td id="LC20284" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20285" class="css-a4x74f"><span>20285</span></td><td id="LC20285" class="css-1dcdqdg"><code> animationType: <span class="code-string">"shadowList"</span>, </code></td></tr><tr><td id="L20286" class="css-a4x74f"><span>20286</span></td><td id="LC20286" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20287" class="css-a4x74f"><span>20287</span></td><td id="LC20287" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20288" class="css-a4x74f"><span>20288</span></td><td id="LC20288" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20289" class="css-a4x74f"><span>20289</span></td><td id="LC20289" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20290" class="css-a4x74f"><span>20290</span></td><td id="LC20290" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L20291" class="css-a4x74f"><span>20291</span></td><td id="LC20291" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20292" class="css-a4x74f"><span>20292</span></td><td id="LC20292" class="css-1dcdqdg"><code> computed: <span class="code-string">"colorPlusThreeAbsoluteLengths"</span>, </code></td></tr><tr><td id="L20293" class="css-a4x74f"><span>20293</span></td><td id="LC20293" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20294" class="css-a4x74f"><span>20294</span></td><td id="LC20294" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20295" class="css-a4x74f"><span>20295</span></td><td id="LC20295" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20296" class="css-a4x74f"><span>20296</span></td><td id="LC20296" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20297" class="css-a4x74f"><span>20297</span></td><td id="LC20297" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20298" class="css-a4x74f"><span>20298</span></td><td id="LC20298" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20299" class="css-a4x74f"><span>20299</span></td><td id="LC20299" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20300" class="css-a4x74f"><span>20300</span></td><td id="LC20300" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-shadow"</span> </code></td></tr><tr><td id="L20301" class="css-a4x74f"><span>20301</span></td><td id="LC20301" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20302" class="css-a4x74f"><span>20302</span></td><td id="LC20302" class="css-1dcdqdg"><code> <span class="code-string">"text-size-adjust"</span>: { </code></td></tr><tr><td id="L20303" class="css-a4x74f"><span>20303</span></td><td id="LC20303" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | auto | <percentage>"</span>, </code></td></tr><tr><td id="L20304" class="css-a4x74f"><span>20304</span></td><td id="LC20304" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20305" class="css-a4x74f"><span>20305</span></td><td id="LC20305" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20306" class="css-a4x74f"><span>20306</span></td><td id="LC20306" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20307" class="css-a4x74f"><span>20307</span></td><td id="LC20307" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfFont"</span>, </code></td></tr><tr><td id="L20308" class="css-a4x74f"><span>20308</span></td><td id="LC20308" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20309" class="css-a4x74f"><span>20309</span></td><td id="LC20309" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20310" class="css-a4x74f"><span>20310</span></td><td id="LC20310" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20311" class="css-a4x74f"><span>20311</span></td><td id="LC20311" class="css-1dcdqdg"><code> initial: <span class="code-string">"autoForSmartphoneBrowsersSupportingInflation"</span>, </code></td></tr><tr><td id="L20312" class="css-a4x74f"><span>20312</span></td><td id="LC20312" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20313" class="css-a4x74f"><span>20313</span></td><td id="LC20313" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20314" class="css-a4x74f"><span>20314</span></td><td id="LC20314" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20315" class="css-a4x74f"><span>20315</span></td><td id="LC20315" class="css-1dcdqdg"><code> status: <span class="code-string">"experimental"</span>, </code></td></tr><tr><td id="L20316" class="css-a4x74f"><span>20316</span></td><td id="LC20316" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"</span> </code></td></tr><tr><td id="L20317" class="css-a4x74f"><span>20317</span></td><td id="LC20317" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20318" class="css-a4x74f"><span>20318</span></td><td id="LC20318" class="css-1dcdqdg"><code> <span class="code-string">"text-transform"</span>: { </code></td></tr><tr><td id="L20319" class="css-a4x74f"><span>20319</span></td><td id="LC20319" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | capitalize | uppercase | lowercase | full-width | full-size-kana"</span>, </code></td></tr><tr><td id="L20320" class="css-a4x74f"><span>20320</span></td><td id="LC20320" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20321" class="css-a4x74f"><span>20321</span></td><td id="LC20321" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20322" class="css-a4x74f"><span>20322</span></td><td id="LC20322" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20323" class="css-a4x74f"><span>20323</span></td><td id="LC20323" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20324" class="css-a4x74f"><span>20324</span></td><td id="LC20324" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20325" class="css-a4x74f"><span>20325</span></td><td id="LC20325" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20326" class="css-a4x74f"><span>20326</span></td><td id="LC20326" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20327" class="css-a4x74f"><span>20327</span></td><td id="LC20327" class="css-1dcdqdg"><code> initial: <span class="code-string">"none"</span>, </code></td></tr><tr><td id="L20328" class="css-a4x74f"><span>20328</span></td><td id="LC20328" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20329" class="css-a4x74f"><span>20329</span></td><td id="LC20329" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20330" class="css-a4x74f"><span>20330</span></td><td id="LC20330" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20331" class="css-a4x74f"><span>20331</span></td><td id="LC20331" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20332" class="css-a4x74f"><span>20332</span></td><td id="LC20332" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20333" class="css-a4x74f"><span>20333</span></td><td id="LC20333" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20334" class="css-a4x74f"><span>20334</span></td><td id="LC20334" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20335" class="css-a4x74f"><span>20335</span></td><td id="LC20335" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20336" class="css-a4x74f"><span>20336</span></td><td id="LC20336" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20337" class="css-a4x74f"><span>20337</span></td><td id="LC20337" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-transform"</span> </code></td></tr><tr><td id="L20338" class="css-a4x74f"><span>20338</span></td><td id="LC20338" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20339" class="css-a4x74f"><span>20339</span></td><td id="LC20339" class="css-1dcdqdg"><code> <span class="code-string">"text-underline-offset"</span>: { </code></td></tr><tr><td id="L20340" class="css-a4x74f"><span>20340</span></td><td id="LC20340" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | from-font | <length>"</span>, </code></td></tr><tr><td id="L20341" class="css-a4x74f"><span>20341</span></td><td id="LC20341" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20342" class="css-a4x74f"><span>20342</span></td><td id="LC20342" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20343" class="css-a4x74f"><span>20343</span></td><td id="LC20343" class="css-1dcdqdg"><code> animationType: <span class="code-string">"byComputedValueType"</span>, </code></td></tr><tr><td id="L20344" class="css-a4x74f"><span>20344</span></td><td id="LC20344" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20345" class="css-a4x74f"><span>20345</span></td><td id="LC20345" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20346" class="css-a4x74f"><span>20346</span></td><td id="LC20346" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20347" class="css-a4x74f"><span>20347</span></td><td id="LC20347" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20348" class="css-a4x74f"><span>20348</span></td><td id="LC20348" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20349" class="css-a4x74f"><span>20349</span></td><td id="LC20349" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20350" class="css-a4x74f"><span>20350</span></td><td id="LC20350" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20351" class="css-a4x74f"><span>20351</span></td><td id="LC20351" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20352" class="css-a4x74f"><span>20352</span></td><td id="LC20352" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20353" class="css-a4x74f"><span>20353</span></td><td id="LC20353" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20354" class="css-a4x74f"><span>20354</span></td><td id="LC20354" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20355" class="css-a4x74f"><span>20355</span></td><td id="LC20355" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20356" class="css-a4x74f"><span>20356</span></td><td id="LC20356" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20357" class="css-a4x74f"><span>20357</span></td><td id="LC20357" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20358" class="css-a4x74f"><span>20358</span></td><td id="LC20358" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"</span> </code></td></tr><tr><td id="L20359" class="css-a4x74f"><span>20359</span></td><td id="LC20359" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20360" class="css-a4x74f"><span>20360</span></td><td id="LC20360" class="css-1dcdqdg"><code> <span class="code-string">"text-underline-position"</span>: { </code></td></tr><tr><td id="L20361" class="css-a4x74f"><span>20361</span></td><td id="LC20361" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | [ under || [ left | right ] ]"</span>, </code></td></tr><tr><td id="L20362" class="css-a4x74f"><span>20362</span></td><td id="LC20362" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20363" class="css-a4x74f"><span>20363</span></td><td id="LC20363" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20364" class="css-a4x74f"><span>20364</span></td><td id="LC20364" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20365" class="css-a4x74f"><span>20365</span></td><td id="LC20365" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20366" class="css-a4x74f"><span>20366</span></td><td id="LC20366" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20367" class="css-a4x74f"><span>20367</span></td><td id="LC20367" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text Decoration"</span> </code></td></tr><tr><td id="L20368" class="css-a4x74f"><span>20368</span></td><td id="LC20368" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20369" class="css-a4x74f"><span>20369</span></td><td id="LC20369" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20370" class="css-a4x74f"><span>20370</span></td><td id="LC20370" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20371" class="css-a4x74f"><span>20371</span></td><td id="LC20371" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20372" class="css-a4x74f"><span>20372</span></td><td id="LC20372" class="css-1dcdqdg"><code> order: <span class="code-string">"orderOfAppearance"</span>, </code></td></tr><tr><td id="L20373" class="css-a4x74f"><span>20373</span></td><td id="LC20373" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20374" class="css-a4x74f"><span>20374</span></td><td id="LC20374" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/text-underline-position"</span> </code></td></tr><tr><td id="L20375" class="css-a4x74f"><span>20375</span></td><td id="LC20375" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20376" class="css-a4x74f"><span>20376</span></td><td id="LC20376" class="css-1dcdqdg"><code> top: top, </code></td></tr><tr><td id="L20377" class="css-a4x74f"><span>20377</span></td><td id="LC20377" class="css-1dcdqdg"><code> <span class="code-string">"touch-action"</span>: { </code></td></tr><tr><td id="L20378" class="css-a4x74f"><span>20378</span></td><td id="LC20378" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation"</span>, </code></td></tr><tr><td id="L20379" class="css-a4x74f"><span>20379</span></td><td id="LC20379" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20380" class="css-a4x74f"><span>20380</span></td><td id="LC20380" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20381" class="css-a4x74f"><span>20381</span></td><td id="LC20381" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20382" class="css-a4x74f"><span>20382</span></td><td id="LC20382" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20383" class="css-a4x74f"><span>20383</span></td><td id="LC20383" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20384" class="css-a4x74f"><span>20384</span></td><td id="LC20384" class="css-1dcdqdg"><code> <span class="code-string">"Pointer Events"</span> </code></td></tr><tr><td id="L20385" class="css-a4x74f"><span>20385</span></td><td id="LC20385" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20386" class="css-a4x74f"><span>20386</span></td><td id="LC20386" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20387" class="css-a4x74f"><span>20387</span></td><td id="LC20387" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups"</span>, </code></td></tr><tr><td id="L20388" class="css-a4x74f"><span>20388</span></td><td id="LC20388" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20389" class="css-a4x74f"><span>20389</span></td><td id="LC20389" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20390" class="css-a4x74f"><span>20390</span></td><td id="LC20390" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20391" class="css-a4x74f"><span>20391</span></td><td id="LC20391" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/touch-action"</span> </code></td></tr><tr><td id="L20392" class="css-a4x74f"><span>20392</span></td><td id="LC20392" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20393" class="css-a4x74f"><span>20393</span></td><td id="LC20393" class="css-1dcdqdg"><code> transform: transform, </code></td></tr><tr><td id="L20394" class="css-a4x74f"><span>20394</span></td><td id="LC20394" class="css-1dcdqdg"><code> <span class="code-string">"transform-box"</span>: { </code></td></tr><tr><td id="L20395" class="css-a4x74f"><span>20395</span></td><td id="LC20395" class="css-1dcdqdg"><code> syntax: <span class="code-string">"border-box | fill-box | view-box"</span>, </code></td></tr><tr><td id="L20396" class="css-a4x74f"><span>20396</span></td><td id="LC20396" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20397" class="css-a4x74f"><span>20397</span></td><td id="LC20397" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20398" class="css-a4x74f"><span>20398</span></td><td id="LC20398" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20399" class="css-a4x74f"><span>20399</span></td><td id="LC20399" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20400" class="css-a4x74f"><span>20400</span></td><td id="LC20400" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20401" class="css-a4x74f"><span>20401</span></td><td id="LC20401" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L20402" class="css-a4x74f"><span>20402</span></td><td id="LC20402" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20403" class="css-a4x74f"><span>20403</span></td><td id="LC20403" class="css-1dcdqdg"><code> initial: <span class="code-string">"border-box "</span>, </code></td></tr><tr><td id="L20404" class="css-a4x74f"><span>20404</span></td><td id="LC20404" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L20405" class="css-a4x74f"><span>20405</span></td><td id="LC20405" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20406" class="css-a4x74f"><span>20406</span></td><td id="LC20406" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20407" class="css-a4x74f"><span>20407</span></td><td id="LC20407" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20408" class="css-a4x74f"><span>20408</span></td><td id="LC20408" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transform-box"</span> </code></td></tr><tr><td id="L20409" class="css-a4x74f"><span>20409</span></td><td id="LC20409" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20410" class="css-a4x74f"><span>20410</span></td><td id="LC20410" class="css-1dcdqdg"><code> <span class="code-string">"transform-origin"</span>: { </code></td></tr><tr><td id="L20411" class="css-a4x74f"><span>20411</span></td><td id="LC20411" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?"</span>, </code></td></tr><tr><td id="L20412" class="css-a4x74f"><span>20412</span></td><td id="LC20412" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20413" class="css-a4x74f"><span>20413</span></td><td id="LC20413" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20414" class="css-a4x74f"><span>20414</span></td><td id="LC20414" class="css-1dcdqdg"><code> animationType: <span class="code-string">"simpleListOfLpc"</span>, </code></td></tr><tr><td id="L20415" class="css-a4x74f"><span>20415</span></td><td id="LC20415" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToSizeOfBoundingBox"</span>, </code></td></tr><tr><td id="L20416" class="css-a4x74f"><span>20416</span></td><td id="LC20416" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20417" class="css-a4x74f"><span>20417</span></td><td id="LC20417" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L20418" class="css-a4x74f"><span>20418</span></td><td id="LC20418" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20419" class="css-a4x74f"><span>20419</span></td><td id="LC20419" class="css-1dcdqdg"><code> initial: <span class="code-string">"50% 50% 0"</span>, </code></td></tr><tr><td id="L20420" class="css-a4x74f"><span>20420</span></td><td id="LC20420" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L20421" class="css-a4x74f"><span>20421</span></td><td id="LC20421" class="css-1dcdqdg"><code> computed: <span class="code-string">"forLengthAbsoluteValueOtherwisePercentage"</span>, </code></td></tr><tr><td id="L20422" class="css-a4x74f"><span>20422</span></td><td id="LC20422" class="css-1dcdqdg"><code> order: <span class="code-string">"oneOrTwoValuesLengthAbsoluteKeywordsPercentages"</span>, </code></td></tr><tr><td id="L20423" class="css-a4x74f"><span>20423</span></td><td id="LC20423" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20424" class="css-a4x74f"><span>20424</span></td><td id="LC20424" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transform-origin"</span> </code></td></tr><tr><td id="L20425" class="css-a4x74f"><span>20425</span></td><td id="LC20425" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20426" class="css-a4x74f"><span>20426</span></td><td id="LC20426" class="css-1dcdqdg"><code> <span class="code-string">"transform-style"</span>: { </code></td></tr><tr><td id="L20427" class="css-a4x74f"><span>20427</span></td><td id="LC20427" class="css-1dcdqdg"><code> syntax: <span class="code-string">"flat | preserve-3d"</span>, </code></td></tr><tr><td id="L20428" class="css-a4x74f"><span>20428</span></td><td id="LC20428" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20429" class="css-a4x74f"><span>20429</span></td><td id="LC20429" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20430" class="css-a4x74f"><span>20430</span></td><td id="LC20430" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20431" class="css-a4x74f"><span>20431</span></td><td id="LC20431" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20432" class="css-a4x74f"><span>20432</span></td><td id="LC20432" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20433" class="css-a4x74f"><span>20433</span></td><td id="LC20433" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transforms"</span> </code></td></tr><tr><td id="L20434" class="css-a4x74f"><span>20434</span></td><td id="LC20434" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20435" class="css-a4x74f"><span>20435</span></td><td id="LC20435" class="css-1dcdqdg"><code> initial: <span class="code-string">"flat"</span>, </code></td></tr><tr><td id="L20436" class="css-a4x74f"><span>20436</span></td><td id="LC20436" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"transformableElements"</span>, </code></td></tr><tr><td id="L20437" class="css-a4x74f"><span>20437</span></td><td id="LC20437" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20438" class="css-a4x74f"><span>20438</span></td><td id="LC20438" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20439" class="css-a4x74f"><span>20439</span></td><td id="LC20439" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20440" class="css-a4x74f"><span>20440</span></td><td id="LC20440" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20441" class="css-a4x74f"><span>20441</span></td><td id="LC20441" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transform-style"</span> </code></td></tr><tr><td id="L20442" class="css-a4x74f"><span>20442</span></td><td id="LC20442" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20443" class="css-a4x74f"><span>20443</span></td><td id="LC20443" class="css-1dcdqdg"><code> transition: transition, </code></td></tr><tr><td id="L20444" class="css-a4x74f"><span>20444</span></td><td id="LC20444" class="css-1dcdqdg"><code> <span class="code-string">"transition-delay"</span>: { </code></td></tr><tr><td id="L20445" class="css-a4x74f"><span>20445</span></td><td id="LC20445" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time>#"</span>, </code></td></tr><tr><td id="L20446" class="css-a4x74f"><span>20446</span></td><td id="LC20446" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L20447" class="css-a4x74f"><span>20447</span></td><td id="LC20447" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20448" class="css-a4x74f"><span>20448</span></td><td id="LC20448" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20449" class="css-a4x74f"><span>20449</span></td><td id="LC20449" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20450" class="css-a4x74f"><span>20450</span></td><td id="LC20450" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20451" class="css-a4x74f"><span>20451</span></td><td id="LC20451" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transitions"</span> </code></td></tr><tr><td id="L20452" class="css-a4x74f"><span>20452</span></td><td id="LC20452" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20453" class="css-a4x74f"><span>20453</span></td><td id="LC20453" class="css-1dcdqdg"><code> initial: <span class="code-string">"0s"</span>, </code></td></tr><tr><td id="L20454" class="css-a4x74f"><span>20454</span></td><td id="LC20454" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L20455" class="css-a4x74f"><span>20455</span></td><td id="LC20455" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20456" class="css-a4x74f"><span>20456</span></td><td id="LC20456" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20457" class="css-a4x74f"><span>20457</span></td><td id="LC20457" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20458" class="css-a4x74f"><span>20458</span></td><td id="LC20458" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transition-delay"</span> </code></td></tr><tr><td id="L20459" class="css-a4x74f"><span>20459</span></td><td id="LC20459" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20460" class="css-a4x74f"><span>20460</span></td><td id="LC20460" class="css-1dcdqdg"><code> <span class="code-string">"transition-duration"</span>: { </code></td></tr><tr><td id="L20461" class="css-a4x74f"><span>20461</span></td><td id="LC20461" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time>#"</span>, </code></td></tr><tr><td id="L20462" class="css-a4x74f"><span>20462</span></td><td id="LC20462" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L20463" class="css-a4x74f"><span>20463</span></td><td id="LC20463" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20464" class="css-a4x74f"><span>20464</span></td><td id="LC20464" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20465" class="css-a4x74f"><span>20465</span></td><td id="LC20465" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20466" class="css-a4x74f"><span>20466</span></td><td id="LC20466" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20467" class="css-a4x74f"><span>20467</span></td><td id="LC20467" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transitions"</span> </code></td></tr><tr><td id="L20468" class="css-a4x74f"><span>20468</span></td><td id="LC20468" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20469" class="css-a4x74f"><span>20469</span></td><td id="LC20469" class="css-1dcdqdg"><code> initial: <span class="code-string">"0s"</span>, </code></td></tr><tr><td id="L20470" class="css-a4x74f"><span>20470</span></td><td id="LC20470" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L20471" class="css-a4x74f"><span>20471</span></td><td id="LC20471" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20472" class="css-a4x74f"><span>20472</span></td><td id="LC20472" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20473" class="css-a4x74f"><span>20473</span></td><td id="LC20473" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20474" class="css-a4x74f"><span>20474</span></td><td id="LC20474" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transition-duration"</span> </code></td></tr><tr><td id="L20475" class="css-a4x74f"><span>20475</span></td><td id="LC20475" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20476" class="css-a4x74f"><span>20476</span></td><td id="LC20476" class="css-1dcdqdg"><code> <span class="code-string">"transition-property"</span>: { </code></td></tr><tr><td id="L20477" class="css-a4x74f"><span>20477</span></td><td id="LC20477" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <single-transition-property>#"</span>, </code></td></tr><tr><td id="L20478" class="css-a4x74f"><span>20478</span></td><td id="LC20478" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20479" class="css-a4x74f"><span>20479</span></td><td id="LC20479" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20480" class="css-a4x74f"><span>20480</span></td><td id="LC20480" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20481" class="css-a4x74f"><span>20481</span></td><td id="LC20481" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20482" class="css-a4x74f"><span>20482</span></td><td id="LC20482" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20483" class="css-a4x74f"><span>20483</span></td><td id="LC20483" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transitions"</span> </code></td></tr><tr><td id="L20484" class="css-a4x74f"><span>20484</span></td><td id="LC20484" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20485" class="css-a4x74f"><span>20485</span></td><td id="LC20485" class="css-1dcdqdg"><code> initial: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L20486" class="css-a4x74f"><span>20486</span></td><td id="LC20486" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L20487" class="css-a4x74f"><span>20487</span></td><td id="LC20487" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20488" class="css-a4x74f"><span>20488</span></td><td id="LC20488" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20489" class="css-a4x74f"><span>20489</span></td><td id="LC20489" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20490" class="css-a4x74f"><span>20490</span></td><td id="LC20490" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transition-property"</span> </code></td></tr><tr><td id="L20491" class="css-a4x74f"><span>20491</span></td><td id="LC20491" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20492" class="css-a4x74f"><span>20492</span></td><td id="LC20492" class="css-1dcdqdg"><code> <span class="code-string">"transition-timing-function"</span>: { </code></td></tr><tr><td id="L20493" class="css-a4x74f"><span>20493</span></td><td id="LC20493" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<timing-function>#"</span>, </code></td></tr><tr><td id="L20494" class="css-a4x74f"><span>20494</span></td><td id="LC20494" class="css-1dcdqdg"><code> media: <span class="code-string">"interactive"</span>, </code></td></tr><tr><td id="L20495" class="css-a4x74f"><span>20495</span></td><td id="LC20495" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20496" class="css-a4x74f"><span>20496</span></td><td id="LC20496" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20497" class="css-a4x74f"><span>20497</span></td><td id="LC20497" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20498" class="css-a4x74f"><span>20498</span></td><td id="LC20498" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20499" class="css-a4x74f"><span>20499</span></td><td id="LC20499" class="css-1dcdqdg"><code> <span class="code-string">"CSS Transitions"</span> </code></td></tr><tr><td id="L20500" class="css-a4x74f"><span>20500</span></td><td id="LC20500" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20501" class="css-a4x74f"><span>20501</span></td><td id="LC20501" class="css-1dcdqdg"><code> initial: <span class="code-string">"ease"</span>, </code></td></tr><tr><td id="L20502" class="css-a4x74f"><span>20502</span></td><td id="LC20502" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsAndPseudos"</span>, </code></td></tr><tr><td id="L20503" class="css-a4x74f"><span>20503</span></td><td id="LC20503" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20504" class="css-a4x74f"><span>20504</span></td><td id="LC20504" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20505" class="css-a4x74f"><span>20505</span></td><td id="LC20505" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20506" class="css-a4x74f"><span>20506</span></td><td id="LC20506" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function"</span> </code></td></tr><tr><td id="L20507" class="css-a4x74f"><span>20507</span></td><td id="LC20507" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20508" class="css-a4x74f"><span>20508</span></td><td id="LC20508" class="css-1dcdqdg"><code> translate: translate, </code></td></tr><tr><td id="L20509" class="css-a4x74f"><span>20509</span></td><td id="LC20509" class="css-1dcdqdg"><code> <span class="code-string">"unicode-bidi"</span>: { </code></td></tr><tr><td id="L20510" class="css-a4x74f"><span>20510</span></td><td id="LC20510" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | embed | isolate | bidi-override | isolate-override | plaintext"</span>, </code></td></tr><tr><td id="L20511" class="css-a4x74f"><span>20511</span></td><td id="LC20511" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20512" class="css-a4x74f"><span>20512</span></td><td id="LC20512" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20513" class="css-a4x74f"><span>20513</span></td><td id="LC20513" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20514" class="css-a4x74f"><span>20514</span></td><td id="LC20514" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20515" class="css-a4x74f"><span>20515</span></td><td id="LC20515" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20516" class="css-a4x74f"><span>20516</span></td><td id="LC20516" class="css-1dcdqdg"><code> <span class="code-string">"CSS Writing Modes"</span> </code></td></tr><tr><td id="L20517" class="css-a4x74f"><span>20517</span></td><td id="LC20517" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20518" class="css-a4x74f"><span>20518</span></td><td id="LC20518" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L20519" class="css-a4x74f"><span>20519</span></td><td id="LC20519" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsSomeValuesNoEffectOnNonInlineElements"</span>, </code></td></tr><tr><td id="L20520" class="css-a4x74f"><span>20520</span></td><td id="LC20520" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20521" class="css-a4x74f"><span>20521</span></td><td id="LC20521" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20522" class="css-a4x74f"><span>20522</span></td><td id="LC20522" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20523" class="css-a4x74f"><span>20523</span></td><td id="LC20523" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi"</span> </code></td></tr><tr><td id="L20524" class="css-a4x74f"><span>20524</span></td><td id="LC20524" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20525" class="css-a4x74f"><span>20525</span></td><td id="LC20525" class="css-1dcdqdg"><code> <span class="code-string">"user-select"</span>: { </code></td></tr><tr><td id="L20526" class="css-a4x74f"><span>20526</span></td><td id="LC20526" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | text | none | contain | all"</span>, </code></td></tr><tr><td id="L20527" class="css-a4x74f"><span>20527</span></td><td id="LC20527" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20528" class="css-a4x74f"><span>20528</span></td><td id="LC20528" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20529" class="css-a4x74f"><span>20529</span></td><td id="LC20529" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20530" class="css-a4x74f"><span>20530</span></td><td id="LC20530" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20531" class="css-a4x74f"><span>20531</span></td><td id="LC20531" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20532" class="css-a4x74f"><span>20532</span></td><td id="LC20532" class="css-1dcdqdg"><code> <span class="code-string">"CSS Basic User Interface"</span> </code></td></tr><tr><td id="L20533" class="css-a4x74f"><span>20533</span></td><td id="LC20533" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20534" class="css-a4x74f"><span>20534</span></td><td id="LC20534" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20535" class="css-a4x74f"><span>20535</span></td><td id="LC20535" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20536" class="css-a4x74f"><span>20536</span></td><td id="LC20536" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20537" class="css-a4x74f"><span>20537</span></td><td id="LC20537" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20538" class="css-a4x74f"><span>20538</span></td><td id="LC20538" class="css-1dcdqdg"><code> status: <span class="code-string">"nonstandard"</span>, </code></td></tr><tr><td id="L20539" class="css-a4x74f"><span>20539</span></td><td id="LC20539" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/user-select"</span> </code></td></tr><tr><td id="L20540" class="css-a4x74f"><span>20540</span></td><td id="LC20540" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20541" class="css-a4x74f"><span>20541</span></td><td id="LC20541" class="css-1dcdqdg"><code> <span class="code-string">"vertical-align"</span>: { </code></td></tr><tr><td id="L20542" class="css-a4x74f"><span>20542</span></td><td id="LC20542" class="css-1dcdqdg"><code> syntax: <span class="code-string">"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>"</span>, </code></td></tr><tr><td id="L20543" class="css-a4x74f"><span>20543</span></td><td id="LC20543" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20544" class="css-a4x74f"><span>20544</span></td><td id="LC20544" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20545" class="css-a4x74f"><span>20545</span></td><td id="LC20545" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L20546" class="css-a4x74f"><span>20546</span></td><td id="LC20546" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToLineHeight"</span>, </code></td></tr><tr><td id="L20547" class="css-a4x74f"><span>20547</span></td><td id="LC20547" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20548" class="css-a4x74f"><span>20548</span></td><td id="LC20548" class="css-1dcdqdg"><code> <span class="code-string">"CSS Table"</span> </code></td></tr><tr><td id="L20549" class="css-a4x74f"><span>20549</span></td><td id="LC20549" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20550" class="css-a4x74f"><span>20550</span></td><td id="LC20550" class="css-1dcdqdg"><code> initial: <span class="code-string">"baseline"</span>, </code></td></tr><tr><td id="L20551" class="css-a4x74f"><span>20551</span></td><td id="LC20551" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"inlineLevelAndTableCellElements"</span>, </code></td></tr><tr><td id="L20552" class="css-a4x74f"><span>20552</span></td><td id="LC20552" class="css-1dcdqdg"><code> computed: <span class="code-string">"absoluteLengthOrKeyword"</span>, </code></td></tr><tr><td id="L20553" class="css-a4x74f"><span>20553</span></td><td id="LC20553" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20554" class="css-a4x74f"><span>20554</span></td><td id="LC20554" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20555" class="css-a4x74f"><span>20555</span></td><td id="LC20555" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20556" class="css-a4x74f"><span>20556</span></td><td id="LC20556" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20557" class="css-a4x74f"><span>20557</span></td><td id="LC20557" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20558" class="css-a4x74f"><span>20558</span></td><td id="LC20558" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20559" class="css-a4x74f"><span>20559</span></td><td id="LC20559" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20560" class="css-a4x74f"><span>20560</span></td><td id="LC20560" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/vertical-align"</span> </code></td></tr><tr><td id="L20561" class="css-a4x74f"><span>20561</span></td><td id="LC20561" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20562" class="css-a4x74f"><span>20562</span></td><td id="LC20562" class="css-1dcdqdg"><code> visibility: visibility, </code></td></tr><tr><td id="L20563" class="css-a4x74f"><span>20563</span></td><td id="LC20563" class="css-1dcdqdg"><code> <span class="code-string">"white-space"</span>: { </code></td></tr><tr><td id="L20564" class="css-a4x74f"><span>20564</span></td><td id="LC20564" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | pre | nowrap | pre-wrap | pre-line | break-spaces"</span>, </code></td></tr><tr><td id="L20565" class="css-a4x74f"><span>20565</span></td><td id="LC20565" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20566" class="css-a4x74f"><span>20566</span></td><td id="LC20566" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20567" class="css-a4x74f"><span>20567</span></td><td id="LC20567" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20568" class="css-a4x74f"><span>20568</span></td><td id="LC20568" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20569" class="css-a4x74f"><span>20569</span></td><td id="LC20569" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20570" class="css-a4x74f"><span>20570</span></td><td id="LC20570" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20571" class="css-a4x74f"><span>20571</span></td><td id="LC20571" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20572" class="css-a4x74f"><span>20572</span></td><td id="LC20572" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L20573" class="css-a4x74f"><span>20573</span></td><td id="LC20573" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20574" class="css-a4x74f"><span>20574</span></td><td id="LC20574" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20575" class="css-a4x74f"><span>20575</span></td><td id="LC20575" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20576" class="css-a4x74f"><span>20576</span></td><td id="LC20576" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20577" class="css-a4x74f"><span>20577</span></td><td id="LC20577" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/white-space"</span> </code></td></tr><tr><td id="L20578" class="css-a4x74f"><span>20578</span></td><td id="LC20578" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20579" class="css-a4x74f"><span>20579</span></td><td id="LC20579" class="css-1dcdqdg"><code> widows: widows, </code></td></tr><tr><td id="L20580" class="css-a4x74f"><span>20580</span></td><td id="LC20580" class="css-1dcdqdg"><code> width: width, </code></td></tr><tr><td id="L20581" class="css-a4x74f"><span>20581</span></td><td id="LC20581" class="css-1dcdqdg"><code> <span class="code-string">"will-change"</span>: { </code></td></tr><tr><td id="L20582" class="css-a4x74f"><span>20582</span></td><td id="LC20582" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <animateable-feature>#"</span>, </code></td></tr><tr><td id="L20583" class="css-a4x74f"><span>20583</span></td><td id="LC20583" class="css-1dcdqdg"><code> media: <span class="code-string">"all"</span>, </code></td></tr><tr><td id="L20584" class="css-a4x74f"><span>20584</span></td><td id="LC20584" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20585" class="css-a4x74f"><span>20585</span></td><td id="LC20585" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20586" class="css-a4x74f"><span>20586</span></td><td id="LC20586" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20587" class="css-a4x74f"><span>20587</span></td><td id="LC20587" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20588" class="css-a4x74f"><span>20588</span></td><td id="LC20588" class="css-1dcdqdg"><code> <span class="code-string">"CSS Will Change"</span> </code></td></tr><tr><td id="L20589" class="css-a4x74f"><span>20589</span></td><td id="LC20589" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20590" class="css-a4x74f"><span>20590</span></td><td id="LC20590" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20591" class="css-a4x74f"><span>20591</span></td><td id="LC20591" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20592" class="css-a4x74f"><span>20592</span></td><td id="LC20592" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20593" class="css-a4x74f"><span>20593</span></td><td id="LC20593" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20594" class="css-a4x74f"><span>20594</span></td><td id="LC20594" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20595" class="css-a4x74f"><span>20595</span></td><td id="LC20595" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/will-change"</span> </code></td></tr><tr><td id="L20596" class="css-a4x74f"><span>20596</span></td><td id="LC20596" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20597" class="css-a4x74f"><span>20597</span></td><td id="LC20597" class="css-1dcdqdg"><code> <span class="code-string">"word-break"</span>: { </code></td></tr><tr><td id="L20598" class="css-a4x74f"><span>20598</span></td><td id="LC20598" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | break-all | keep-all | break-word"</span>, </code></td></tr><tr><td id="L20599" class="css-a4x74f"><span>20599</span></td><td id="LC20599" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20600" class="css-a4x74f"><span>20600</span></td><td id="LC20600" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20601" class="css-a4x74f"><span>20601</span></td><td id="LC20601" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20602" class="css-a4x74f"><span>20602</span></td><td id="LC20602" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20603" class="css-a4x74f"><span>20603</span></td><td id="LC20603" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20604" class="css-a4x74f"><span>20604</span></td><td id="LC20604" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20605" class="css-a4x74f"><span>20605</span></td><td id="LC20605" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20606" class="css-a4x74f"><span>20606</span></td><td id="LC20606" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L20607" class="css-a4x74f"><span>20607</span></td><td id="LC20607" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20608" class="css-a4x74f"><span>20608</span></td><td id="LC20608" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20609" class="css-a4x74f"><span>20609</span></td><td id="LC20609" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20610" class="css-a4x74f"><span>20610</span></td><td id="LC20610" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20611" class="css-a4x74f"><span>20611</span></td><td id="LC20611" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/word-break"</span> </code></td></tr><tr><td id="L20612" class="css-a4x74f"><span>20612</span></td><td id="LC20612" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20613" class="css-a4x74f"><span>20613</span></td><td id="LC20613" class="css-1dcdqdg"><code> <span class="code-string">"word-spacing"</span>: { </code></td></tr><tr><td id="L20614" class="css-a4x74f"><span>20614</span></td><td id="LC20614" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <length-percentage>"</span>, </code></td></tr><tr><td id="L20615" class="css-a4x74f"><span>20615</span></td><td id="LC20615" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20616" class="css-a4x74f"><span>20616</span></td><td id="LC20616" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20617" class="css-a4x74f"><span>20617</span></td><td id="LC20617" class="css-1dcdqdg"><code> animationType: <span class="code-string">"length"</span>, </code></td></tr><tr><td id="L20618" class="css-a4x74f"><span>20618</span></td><td id="LC20618" class="css-1dcdqdg"><code> percentages: <span class="code-string">"referToWidthOfAffectedGlyph"</span>, </code></td></tr><tr><td id="L20619" class="css-a4x74f"><span>20619</span></td><td id="LC20619" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20620" class="css-a4x74f"><span>20620</span></td><td id="LC20620" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20621" class="css-a4x74f"><span>20621</span></td><td id="LC20621" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20622" class="css-a4x74f"><span>20622</span></td><td id="LC20622" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L20623" class="css-a4x74f"><span>20623</span></td><td id="LC20623" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElements"</span>, </code></td></tr><tr><td id="L20624" class="css-a4x74f"><span>20624</span></td><td id="LC20624" class="css-1dcdqdg"><code> computed: <span class="code-string">"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal"</span>, </code></td></tr><tr><td id="L20625" class="css-a4x74f"><span>20625</span></td><td id="LC20625" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20626" class="css-a4x74f"><span>20626</span></td><td id="LC20626" class="css-1dcdqdg"><code> alsoAppliesTo: [ </code></td></tr><tr><td id="L20627" class="css-a4x74f"><span>20627</span></td><td id="LC20627" class="css-1dcdqdg"><code> <span class="code-string">"::first-letter"</span>, </code></td></tr><tr><td id="L20628" class="css-a4x74f"><span>20628</span></td><td id="LC20628" class="css-1dcdqdg"><code> <span class="code-string">"::first-line"</span>, </code></td></tr><tr><td id="L20629" class="css-a4x74f"><span>20629</span></td><td id="LC20629" class="css-1dcdqdg"><code> <span class="code-string">"::placeholder"</span> </code></td></tr><tr><td id="L20630" class="css-a4x74f"><span>20630</span></td><td id="LC20630" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20631" class="css-a4x74f"><span>20631</span></td><td id="LC20631" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20632" class="css-a4x74f"><span>20632</span></td><td id="LC20632" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/word-spacing"</span> </code></td></tr><tr><td id="L20633" class="css-a4x74f"><span>20633</span></td><td id="LC20633" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20634" class="css-a4x74f"><span>20634</span></td><td id="LC20634" class="css-1dcdqdg"><code> <span class="code-string">"word-wrap"</span>: { </code></td></tr><tr><td id="L20635" class="css-a4x74f"><span>20635</span></td><td id="LC20635" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | break-word"</span>, </code></td></tr><tr><td id="L20636" class="css-a4x74f"><span>20636</span></td><td id="LC20636" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20637" class="css-a4x74f"><span>20637</span></td><td id="LC20637" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20638" class="css-a4x74f"><span>20638</span></td><td id="LC20638" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20639" class="css-a4x74f"><span>20639</span></td><td id="LC20639" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20640" class="css-a4x74f"><span>20640</span></td><td id="LC20640" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20641" class="css-a4x74f"><span>20641</span></td><td id="LC20641" class="css-1dcdqdg"><code> <span class="code-string">"CSS Text"</span> </code></td></tr><tr><td id="L20642" class="css-a4x74f"><span>20642</span></td><td id="LC20642" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20643" class="css-a4x74f"><span>20643</span></td><td id="LC20643" class="css-1dcdqdg"><code> initial: <span class="code-string">"normal"</span>, </code></td></tr><tr><td id="L20644" class="css-a4x74f"><span>20644</span></td><td id="LC20644" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"nonReplacedInlineElements"</span>, </code></td></tr><tr><td id="L20645" class="css-a4x74f"><span>20645</span></td><td id="LC20645" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20646" class="css-a4x74f"><span>20646</span></td><td id="LC20646" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20647" class="css-a4x74f"><span>20647</span></td><td id="LC20647" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20648" class="css-a4x74f"><span>20648</span></td><td id="LC20648" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"</span> </code></td></tr><tr><td id="L20649" class="css-a4x74f"><span>20649</span></td><td id="LC20649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20650" class="css-a4x74f"><span>20650</span></td><td id="LC20650" class="css-1dcdqdg"><code> <span class="code-string">"writing-mode"</span>: { </code></td></tr><tr><td id="L20651" class="css-a4x74f"><span>20651</span></td><td id="LC20651" class="css-1dcdqdg"><code> syntax: <span class="code-string">"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr"</span>, </code></td></tr><tr><td id="L20652" class="css-a4x74f"><span>20652</span></td><td id="LC20652" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20653" class="css-a4x74f"><span>20653</span></td><td id="LC20653" class="css-1dcdqdg"><code> inherited: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20654" class="css-a4x74f"><span>20654</span></td><td id="LC20654" class="css-1dcdqdg"><code> animationType: <span class="code-string">"discrete"</span>, </code></td></tr><tr><td id="L20655" class="css-a4x74f"><span>20655</span></td><td id="LC20655" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20656" class="css-a4x74f"><span>20656</span></td><td id="LC20656" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20657" class="css-a4x74f"><span>20657</span></td><td id="LC20657" class="css-1dcdqdg"><code> <span class="code-string">"CSS Writing Modes"</span> </code></td></tr><tr><td id="L20658" class="css-a4x74f"><span>20658</span></td><td id="LC20658" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20659" class="css-a4x74f"><span>20659</span></td><td id="LC20659" class="css-1dcdqdg"><code> initial: <span class="code-string">"horizontal-tb"</span>, </code></td></tr><tr><td id="L20660" class="css-a4x74f"><span>20660</span></td><td id="LC20660" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"allElementsExceptTableRowColumnGroupsTableRowsColumns"</span>, </code></td></tr><tr><td id="L20661" class="css-a4x74f"><span>20661</span></td><td id="LC20661" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20662" class="css-a4x74f"><span>20662</span></td><td id="LC20662" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20663" class="css-a4x74f"><span>20663</span></td><td id="LC20663" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20664" class="css-a4x74f"><span>20664</span></td><td id="LC20664" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/writing-mode"</span> </code></td></tr><tr><td id="L20665" class="css-a4x74f"><span>20665</span></td><td id="LC20665" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20666" class="css-a4x74f"><span>20666</span></td><td id="LC20666" class="css-1dcdqdg"><code> <span class="code-string">"z-index"</span>: { </code></td></tr><tr><td id="L20667" class="css-a4x74f"><span>20667</span></td><td id="LC20667" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <integer>"</span>, </code></td></tr><tr><td id="L20668" class="css-a4x74f"><span>20668</span></td><td id="LC20668" class="css-1dcdqdg"><code> media: <span class="code-string">"visual"</span>, </code></td></tr><tr><td id="L20669" class="css-a4x74f"><span>20669</span></td><td id="LC20669" class="css-1dcdqdg"><code> inherited: <span class="code-literal">false</span>, </code></td></tr><tr><td id="L20670" class="css-a4x74f"><span>20670</span></td><td id="LC20670" class="css-1dcdqdg"><code> animationType: <span class="code-string">"integer"</span>, </code></td></tr><tr><td id="L20671" class="css-a4x74f"><span>20671</span></td><td id="LC20671" class="css-1dcdqdg"><code> percentages: <span class="code-string">"no"</span>, </code></td></tr><tr><td id="L20672" class="css-a4x74f"><span>20672</span></td><td id="LC20672" class="css-1dcdqdg"><code> groups: [ </code></td></tr><tr><td id="L20673" class="css-a4x74f"><span>20673</span></td><td id="LC20673" class="css-1dcdqdg"><code> <span class="code-string">"CSS Positioning"</span> </code></td></tr><tr><td id="L20674" class="css-a4x74f"><span>20674</span></td><td id="LC20674" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L20675" class="css-a4x74f"><span>20675</span></td><td id="LC20675" class="css-1dcdqdg"><code> initial: <span class="code-string">"auto"</span>, </code></td></tr><tr><td id="L20676" class="css-a4x74f"><span>20676</span></td><td id="LC20676" class="css-1dcdqdg"><code> appliesto: <span class="code-string">"positionedElements"</span>, </code></td></tr><tr><td id="L20677" class="css-a4x74f"><span>20677</span></td><td id="LC20677" class="css-1dcdqdg"><code> computed: <span class="code-string">"asSpecified"</span>, </code></td></tr><tr><td id="L20678" class="css-a4x74f"><span>20678</span></td><td id="LC20678" class="css-1dcdqdg"><code> order: <span class="code-string">"uniqueOrder"</span>, </code></td></tr><tr><td id="L20679" class="css-a4x74f"><span>20679</span></td><td id="LC20679" class="css-1dcdqdg"><code> stacking: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L20680" class="css-a4x74f"><span>20680</span></td><td id="LC20680" class="css-1dcdqdg"><code> status: <span class="code-string">"standard"</span>, </code></td></tr><tr><td id="L20681" class="css-a4x74f"><span>20681</span></td><td id="LC20681" class="css-1dcdqdg"><code> mdn_url: <span class="code-string">"https://developer.mozilla.org/docs/Web/CSS/z-index"</span> </code></td></tr><tr><td id="L20682" class="css-a4x74f"><span>20682</span></td><td id="LC20682" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20683" class="css-a4x74f"><span>20683</span></td><td id="LC20683" class="css-1dcdqdg"><code> zoom: zoom </code></td></tr><tr><td id="L20684" class="css-a4x74f"><span>20684</span></td><td id="LC20684" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20685" class="css-a4x74f"><span>20685</span></td><td id="LC20685" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L20686" class="css-a4x74f"><span>20686</span></td><td id="LC20686" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> properties$<span class="code-number">2</span> = <span class="code-comment">/*#__PURE__*/</span><span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L20687" class="css-a4x74f"><span>20687</span></td><td id="LC20687" class="css-1dcdqdg"><code> __proto__: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L20688" class="css-a4x74f"><span>20688</span></td><td id="LC20688" class="css-1dcdqdg"><code> all: all, </code></td></tr><tr><td id="L20689" class="css-a4x74f"><span>20689</span></td><td id="LC20689" class="css-1dcdqdg"><code> animation: animation, </code></td></tr><tr><td id="L20690" class="css-a4x74f"><span>20690</span></td><td id="LC20690" class="css-1dcdqdg"><code> appearance: appearance, </code></td></tr><tr><td id="L20691" class="css-a4x74f"><span>20691</span></td><td id="LC20691" class="css-1dcdqdg"><code> azimuth: azimuth, </code></td></tr><tr><td id="L20692" class="css-a4x74f"><span>20692</span></td><td id="LC20692" class="css-1dcdqdg"><code> background: background, </code></td></tr><tr><td id="L20693" class="css-a4x74f"><span>20693</span></td><td id="LC20693" class="css-1dcdqdg"><code> border: border, </code></td></tr><tr><td id="L20694" class="css-a4x74f"><span>20694</span></td><td id="LC20694" class="css-1dcdqdg"><code> bottom: bottom, </code></td></tr><tr><td id="L20695" class="css-a4x74f"><span>20695</span></td><td id="LC20695" class="css-1dcdqdg"><code> clear: clear, </code></td></tr><tr><td id="L20696" class="css-a4x74f"><span>20696</span></td><td id="LC20696" class="css-1dcdqdg"><code> clip: clip, </code></td></tr><tr><td id="L20697" class="css-a4x74f"><span>20697</span></td><td id="LC20697" class="css-1dcdqdg"><code> color: color, </code></td></tr><tr><td id="L20698" class="css-a4x74f"><span>20698</span></td><td id="LC20698" class="css-1dcdqdg"><code> columns: columns, </code></td></tr><tr><td id="L20699" class="css-a4x74f"><span>20699</span></td><td id="LC20699" class="css-1dcdqdg"><code> contain: contain, </code></td></tr><tr><td id="L20700" class="css-a4x74f"><span>20700</span></td><td id="LC20700" class="css-1dcdqdg"><code> content: content, </code></td></tr><tr><td id="L20701" class="css-a4x74f"><span>20701</span></td><td id="LC20701" class="css-1dcdqdg"><code> cursor: cursor, </code></td></tr><tr><td id="L20702" class="css-a4x74f"><span>20702</span></td><td id="LC20702" class="css-1dcdqdg"><code> direction: direction, </code></td></tr><tr><td id="L20703" class="css-a4x74f"><span>20703</span></td><td id="LC20703" class="css-1dcdqdg"><code> display: display, </code></td></tr><tr><td id="L20704" class="css-a4x74f"><span>20704</span></td><td id="LC20704" class="css-1dcdqdg"><code> filter: filter, </code></td></tr><tr><td id="L20705" class="css-a4x74f"><span>20705</span></td><td id="LC20705" class="css-1dcdqdg"><code> flex: flex, </code></td></tr><tr><td id="L20706" class="css-a4x74f"><span>20706</span></td><td id="LC20706" class="css-1dcdqdg"><code> float: float, </code></td></tr><tr><td id="L20707" class="css-a4x74f"><span>20707</span></td><td id="LC20707" class="css-1dcdqdg"><code> font: font, </code></td></tr><tr><td id="L20708" class="css-a4x74f"><span>20708</span></td><td id="LC20708" class="css-1dcdqdg"><code> gap: gap, </code></td></tr><tr><td id="L20709" class="css-a4x74f"><span>20709</span></td><td id="LC20709" class="css-1dcdqdg"><code> grid: grid, </code></td></tr><tr><td id="L20710" class="css-a4x74f"><span>20710</span></td><td id="LC20710" class="css-1dcdqdg"><code> height: height, </code></td></tr><tr><td id="L20711" class="css-a4x74f"><span>20711</span></td><td id="LC20711" class="css-1dcdqdg"><code> hyphens: hyphens, </code></td></tr><tr><td id="L20712" class="css-a4x74f"><span>20712</span></td><td id="LC20712" class="css-1dcdqdg"><code> inset: inset, </code></td></tr><tr><td id="L20713" class="css-a4x74f"><span>20713</span></td><td id="LC20713" class="css-1dcdqdg"><code> isolation: isolation, </code></td></tr><tr><td id="L20714" class="css-a4x74f"><span>20714</span></td><td id="LC20714" class="css-1dcdqdg"><code> left: left, </code></td></tr><tr><td id="L20715" class="css-a4x74f"><span>20715</span></td><td id="LC20715" class="css-1dcdqdg"><code> margin: margin, </code></td></tr><tr><td id="L20716" class="css-a4x74f"><span>20716</span></td><td id="LC20716" class="css-1dcdqdg"><code> mask: mask, </code></td></tr><tr><td id="L20717" class="css-a4x74f"><span>20717</span></td><td id="LC20717" class="css-1dcdqdg"><code> offset: offset, </code></td></tr><tr><td id="L20718" class="css-a4x74f"><span>20718</span></td><td id="LC20718" class="css-1dcdqdg"><code> opacity: opacity, </code></td></tr><tr><td id="L20719" class="css-a4x74f"><span>20719</span></td><td id="LC20719" class="css-1dcdqdg"><code> order: order, </code></td></tr><tr><td id="L20720" class="css-a4x74f"><span>20720</span></td><td id="LC20720" class="css-1dcdqdg"><code> orphans: orphans, </code></td></tr><tr><td id="L20721" class="css-a4x74f"><span>20721</span></td><td id="LC20721" class="css-1dcdqdg"><code> outline: outline, </code></td></tr><tr><td id="L20722" class="css-a4x74f"><span>20722</span></td><td id="LC20722" class="css-1dcdqdg"><code> overflow: overflow, </code></td></tr><tr><td id="L20723" class="css-a4x74f"><span>20723</span></td><td id="LC20723" class="css-1dcdqdg"><code> padding: padding, </code></td></tr><tr><td id="L20724" class="css-a4x74f"><span>20724</span></td><td id="LC20724" class="css-1dcdqdg"><code> perspective: perspective, </code></td></tr><tr><td id="L20725" class="css-a4x74f"><span>20725</span></td><td id="LC20725" class="css-1dcdqdg"><code> position: position, </code></td></tr><tr><td id="L20726" class="css-a4x74f"><span>20726</span></td><td id="LC20726" class="css-1dcdqdg"><code> quotes: quotes, </code></td></tr><tr><td id="L20727" class="css-a4x74f"><span>20727</span></td><td id="LC20727" class="css-1dcdqdg"><code> resize: resize, </code></td></tr><tr><td id="L20728" class="css-a4x74f"><span>20728</span></td><td id="LC20728" class="css-1dcdqdg"><code> right: right, </code></td></tr><tr><td id="L20729" class="css-a4x74f"><span>20729</span></td><td id="LC20729" class="css-1dcdqdg"><code> rotate: rotate, </code></td></tr><tr><td id="L20730" class="css-a4x74f"><span>20730</span></td><td id="LC20730" class="css-1dcdqdg"><code> scale: scale, </code></td></tr><tr><td id="L20731" class="css-a4x74f"><span>20731</span></td><td id="LC20731" class="css-1dcdqdg"><code> top: top, </code></td></tr><tr><td id="L20732" class="css-a4x74f"><span>20732</span></td><td id="LC20732" class="css-1dcdqdg"><code> transform: transform, </code></td></tr><tr><td id="L20733" class="css-a4x74f"><span>20733</span></td><td id="LC20733" class="css-1dcdqdg"><code> transition: transition, </code></td></tr><tr><td id="L20734" class="css-a4x74f"><span>20734</span></td><td id="LC20734" class="css-1dcdqdg"><code> translate: translate, </code></td></tr><tr><td id="L20735" class="css-a4x74f"><span>20735</span></td><td id="LC20735" class="css-1dcdqdg"><code> visibility: visibility, </code></td></tr><tr><td id="L20736" class="css-a4x74f"><span>20736</span></td><td id="LC20736" class="css-1dcdqdg"><code> widows: widows, </code></td></tr><tr><td id="L20737" class="css-a4x74f"><span>20737</span></td><td id="LC20737" class="css-1dcdqdg"><code> width: width, </code></td></tr><tr><td id="L20738" class="css-a4x74f"><span>20738</span></td><td id="LC20738" class="css-1dcdqdg"><code> zoom: zoom, </code></td></tr><tr><td id="L20739" class="css-a4x74f"><span>20739</span></td><td id="LC20739" class="css-1dcdqdg"><code> <span class="code-string">'default'</span>: properties$<span class="code-number">1</span> </code></td></tr><tr><td id="L20740" class="css-a4x74f"><span>20740</span></td><td id="LC20740" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L20741" class="css-a4x74f"><span>20741</span></td><td id="LC20741" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L20742" class="css-a4x74f"><span>20742</span></td><td id="LC20742" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> attachment = { </code></td></tr><tr><td id="L20743" class="css-a4x74f"><span>20743</span></td><td id="LC20743" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scroll | fixed | local"</span> </code></td></tr><tr><td id="L20744" class="css-a4x74f"><span>20744</span></td><td id="LC20744" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20745" class="css-a4x74f"><span>20745</span></td><td id="LC20745" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> box = { </code></td></tr><tr><td id="L20746" class="css-a4x74f"><span>20746</span></td><td id="LC20746" class="css-1dcdqdg"><code> syntax: <span class="code-string">"border-box | padding-box | content-box"</span> </code></td></tr><tr><td id="L20747" class="css-a4x74f"><span>20747</span></td><td id="LC20747" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20748" class="css-a4x74f"><span>20748</span></td><td id="LC20748" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> color$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L20749" class="css-a4x74f"><span>20749</span></td><td id="LC20749" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>"</span> </code></td></tr><tr><td id="L20750" class="css-a4x74f"><span>20750</span></td><td id="LC20750" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20751" class="css-a4x74f"><span>20751</span></td><td id="LC20751" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> combinator = { </code></td></tr><tr><td id="L20752" class="css-a4x74f"><span>20752</span></td><td id="LC20752" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'>' | '+' | '~' | [ '||' ]"</span> </code></td></tr><tr><td id="L20753" class="css-a4x74f"><span>20753</span></td><td id="LC20753" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20754" class="css-a4x74f"><span>20754</span></td><td id="LC20754" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> compat = { </code></td></tr><tr><td id="L20755" class="css-a4x74f"><span>20755</span></td><td id="LC20755" class="css-1dcdqdg"><code> syntax: <span class="code-string">"searchfield | textarea | push-button | button-bevel | slider-horizontal | checkbox | radio | square-button | menulist | menulist-button | listbox | meter | progress-bar"</span> </code></td></tr><tr><td id="L20756" class="css-a4x74f"><span>20756</span></td><td id="LC20756" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20757" class="css-a4x74f"><span>20757</span></td><td id="LC20757" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> gradient = { </code></td></tr><tr><td id="L20758" class="css-a4x74f"><span>20758</span></td><td id="LC20758" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>"</span> </code></td></tr><tr><td id="L20759" class="css-a4x74f"><span>20759</span></td><td id="LC20759" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20760" class="css-a4x74f"><span>20760</span></td><td id="LC20760" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hue = { </code></td></tr><tr><td id="L20761" class="css-a4x74f"><span>20761</span></td><td id="LC20761" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | <angle>"</span> </code></td></tr><tr><td id="L20762" class="css-a4x74f"><span>20762</span></td><td id="LC20762" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20763" class="css-a4x74f"><span>20763</span></td><td id="LC20763" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> image = { </code></td></tr><tr><td id="L20764" class="css-a4x74f"><span>20764</span></td><td id="LC20764" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>"</span> </code></td></tr><tr><td id="L20765" class="css-a4x74f"><span>20765</span></td><td id="LC20765" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20766" class="css-a4x74f"><span>20766</span></td><td id="LC20766" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nth = { </code></td></tr><tr><td id="L20767" class="css-a4x74f"><span>20767</span></td><td id="LC20767" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<an-plus-b> | even | odd"</span> </code></td></tr><tr><td id="L20768" class="css-a4x74f"><span>20768</span></td><td id="LC20768" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20769" class="css-a4x74f"><span>20769</span></td><td id="LC20769" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> position$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L20770" class="css-a4x74f"><span>20770</span></td><td id="LC20770" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"</span> </code></td></tr><tr><td id="L20771" class="css-a4x74f"><span>20771</span></td><td id="LC20771" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20772" class="css-a4x74f"><span>20772</span></td><td id="LC20772" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> quote = { </code></td></tr><tr><td id="L20773" class="css-a4x74f"><span>20773</span></td><td id="LC20773" class="css-1dcdqdg"><code> syntax: <span class="code-string">"open-quote | close-quote | no-open-quote | no-close-quote"</span> </code></td></tr><tr><td id="L20774" class="css-a4x74f"><span>20774</span></td><td id="LC20774" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20775" class="css-a4x74f"><span>20775</span></td><td id="LC20775" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shadow = { </code></td></tr><tr><td id="L20776" class="css-a4x74f"><span>20776</span></td><td id="LC20776" class="css-1dcdqdg"><code> syntax: <span class="code-string">"inset? && <length>{2,4} && <color>?"</span> </code></td></tr><tr><td id="L20777" class="css-a4x74f"><span>20777</span></td><td id="LC20777" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20778" class="css-a4x74f"><span>20778</span></td><td id="LC20778" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shape$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L20779" class="css-a4x74f"><span>20779</span></td><td id="LC20779" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rect(<top>, <right>, <bottom>, <left>)"</span> </code></td></tr><tr><td id="L20780" class="css-a4x74f"><span>20780</span></td><td id="LC20780" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20781" class="css-a4x74f"><span>20781</span></td><td id="LC20781" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> size = { </code></td></tr><tr><td id="L20782" class="css-a4x74f"><span>20782</span></td><td id="LC20782" class="css-1dcdqdg"><code> syntax: <span class="code-string">"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}"</span> </code></td></tr><tr><td id="L20783" class="css-a4x74f"><span>20783</span></td><td id="LC20783" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20784" class="css-a4x74f"><span>20784</span></td><td id="LC20784" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> symbol = { </code></td></tr><tr><td id="L20785" class="css-a4x74f"><span>20785</span></td><td id="LC20785" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<string> | <image> | <custom-ident>"</span> </code></td></tr><tr><td id="L20786" class="css-a4x74f"><span>20786</span></td><td id="LC20786" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20787" class="css-a4x74f"><span>20787</span></td><td id="LC20787" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> target = { </code></td></tr><tr><td id="L20788" class="css-a4x74f"><span>20788</span></td><td id="LC20788" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<target-counter()> | <target-counters()> | <target-text()>"</span> </code></td></tr><tr><td id="L20789" class="css-a4x74f"><span>20789</span></td><td id="LC20789" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L20790" class="css-a4x74f"><span>20790</span></td><td id="LC20790" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxes = { </code></td></tr><tr><td id="L20791" class="css-a4x74f"><span>20791</span></td><td id="LC20791" class="css-1dcdqdg"><code> <span class="code-string">"absolute-size"</span>: { </code></td></tr><tr><td id="L20792" class="css-a4x74f"><span>20792</span></td><td id="LC20792" class="css-1dcdqdg"><code> syntax: <span class="code-string">"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large"</span> </code></td></tr><tr><td id="L20793" class="css-a4x74f"><span>20793</span></td><td id="LC20793" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20794" class="css-a4x74f"><span>20794</span></td><td id="LC20794" class="css-1dcdqdg"><code> <span class="code-string">"alpha-value"</span>: { </code></td></tr><tr><td id="L20795" class="css-a4x74f"><span>20795</span></td><td id="LC20795" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | <percentage>"</span> </code></td></tr><tr><td id="L20796" class="css-a4x74f"><span>20796</span></td><td id="LC20796" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20797" class="css-a4x74f"><span>20797</span></td><td id="LC20797" class="css-1dcdqdg"><code> <span class="code-string">"angle-percentage"</span>: { </code></td></tr><tr><td id="L20798" class="css-a4x74f"><span>20798</span></td><td id="LC20798" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle> | <percentage>"</span> </code></td></tr><tr><td id="L20799" class="css-a4x74f"><span>20799</span></td><td id="LC20799" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20800" class="css-a4x74f"><span>20800</span></td><td id="LC20800" class="css-1dcdqdg"><code> <span class="code-string">"angular-color-hint"</span>: { </code></td></tr><tr><td id="L20801" class="css-a4x74f"><span>20801</span></td><td id="LC20801" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle-percentage>"</span> </code></td></tr><tr><td id="L20802" class="css-a4x74f"><span>20802</span></td><td id="LC20802" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20803" class="css-a4x74f"><span>20803</span></td><td id="LC20803" class="css-1dcdqdg"><code> <span class="code-string">"angular-color-stop"</span>: { </code></td></tr><tr><td id="L20804" class="css-a4x74f"><span>20804</span></td><td id="LC20804" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color> && <color-stop-angle>?"</span> </code></td></tr><tr><td id="L20805" class="css-a4x74f"><span>20805</span></td><td id="LC20805" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20806" class="css-a4x74f"><span>20806</span></td><td id="LC20806" class="css-1dcdqdg"><code> <span class="code-string">"angular-color-stop-list"</span>: { </code></td></tr><tr><td id="L20807" class="css-a4x74f"><span>20807</span></td><td id="LC20807" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>"</span> </code></td></tr><tr><td id="L20808" class="css-a4x74f"><span>20808</span></td><td id="LC20808" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20809" class="css-a4x74f"><span>20809</span></td><td id="LC20809" class="css-1dcdqdg"><code> <span class="code-string">"animateable-feature"</span>: { </code></td></tr><tr><td id="L20810" class="css-a4x74f"><span>20810</span></td><td id="LC20810" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scroll-position | contents | <custom-ident>"</span> </code></td></tr><tr><td id="L20811" class="css-a4x74f"><span>20811</span></td><td id="LC20811" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20812" class="css-a4x74f"><span>20812</span></td><td id="LC20812" class="css-1dcdqdg"><code> attachment: attachment, </code></td></tr><tr><td id="L20813" class="css-a4x74f"><span>20813</span></td><td id="LC20813" class="css-1dcdqdg"><code> <span class="code-string">"attr()"</span>: { </code></td></tr><tr><td id="L20814" class="css-a4x74f"><span>20814</span></td><td id="LC20814" class="css-1dcdqdg"><code> syntax: <span class="code-string">"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )"</span> </code></td></tr><tr><td id="L20815" class="css-a4x74f"><span>20815</span></td><td id="LC20815" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20816" class="css-a4x74f"><span>20816</span></td><td id="LC20816" class="css-1dcdqdg"><code> <span class="code-string">"attr-matcher"</span>: { </code></td></tr><tr><td id="L20817" class="css-a4x74f"><span>20817</span></td><td id="LC20817" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ '~' | '|' | '^' | '$' | '*' ]? '='"</span> </code></td></tr><tr><td id="L20818" class="css-a4x74f"><span>20818</span></td><td id="LC20818" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20819" class="css-a4x74f"><span>20819</span></td><td id="LC20819" class="css-1dcdqdg"><code> <span class="code-string">"attr-modifier"</span>: { </code></td></tr><tr><td id="L20820" class="css-a4x74f"><span>20820</span></td><td id="LC20820" class="css-1dcdqdg"><code> syntax: <span class="code-string">"i | s"</span> </code></td></tr><tr><td id="L20821" class="css-a4x74f"><span>20821</span></td><td id="LC20821" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20822" class="css-a4x74f"><span>20822</span></td><td id="LC20822" class="css-1dcdqdg"><code> <span class="code-string">"attribute-selector"</span>: { </code></td></tr><tr><td id="L20823" class="css-a4x74f"><span>20823</span></td><td id="LC20823" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'"</span> </code></td></tr><tr><td id="L20824" class="css-a4x74f"><span>20824</span></td><td id="LC20824" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20825" class="css-a4x74f"><span>20825</span></td><td id="LC20825" class="css-1dcdqdg"><code> <span class="code-string">"auto-repeat"</span>: { </code></td></tr><tr><td id="L20826" class="css-a4x74f"><span>20826</span></td><td id="LC20826" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"</span> </code></td></tr><tr><td id="L20827" class="css-a4x74f"><span>20827</span></td><td id="LC20827" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20828" class="css-a4x74f"><span>20828</span></td><td id="LC20828" class="css-1dcdqdg"><code> <span class="code-string">"auto-track-list"</span>: { </code></td></tr><tr><td id="L20829" class="css-a4x74f"><span>20829</span></td><td id="LC20829" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?"</span> </code></td></tr><tr><td id="L20830" class="css-a4x74f"><span>20830</span></td><td id="LC20830" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20831" class="css-a4x74f"><span>20831</span></td><td id="LC20831" class="css-1dcdqdg"><code> <span class="code-string">"baseline-position"</span>: { </code></td></tr><tr><td id="L20832" class="css-a4x74f"><span>20832</span></td><td id="LC20832" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ first | last ]? baseline"</span> </code></td></tr><tr><td id="L20833" class="css-a4x74f"><span>20833</span></td><td id="LC20833" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20834" class="css-a4x74f"><span>20834</span></td><td id="LC20834" class="css-1dcdqdg"><code> <span class="code-string">"basic-shape"</span>: { </code></td></tr><tr><td id="L20835" class="css-a4x74f"><span>20835</span></td><td id="LC20835" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<inset()> | <circle()> | <ellipse()> | <polygon()>"</span> </code></td></tr><tr><td id="L20836" class="css-a4x74f"><span>20836</span></td><td id="LC20836" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20837" class="css-a4x74f"><span>20837</span></td><td id="LC20837" class="css-1dcdqdg"><code> <span class="code-string">"bg-image"</span>: { </code></td></tr><tr><td id="L20838" class="css-a4x74f"><span>20838</span></td><td id="LC20838" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <image>"</span> </code></td></tr><tr><td id="L20839" class="css-a4x74f"><span>20839</span></td><td id="LC20839" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20840" class="css-a4x74f"><span>20840</span></td><td id="LC20840" class="css-1dcdqdg"><code> <span class="code-string">"bg-layer"</span>: { </code></td></tr><tr><td id="L20841" class="css-a4x74f"><span>20841</span></td><td id="LC20841" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"</span> </code></td></tr><tr><td id="L20842" class="css-a4x74f"><span>20842</span></td><td id="LC20842" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20843" class="css-a4x74f"><span>20843</span></td><td id="LC20843" class="css-1dcdqdg"><code> <span class="code-string">"bg-position"</span>: { </code></td></tr><tr><td id="L20844" class="css-a4x74f"><span>20844</span></td><td id="LC20844" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]"</span> </code></td></tr><tr><td id="L20845" class="css-a4x74f"><span>20845</span></td><td id="LC20845" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20846" class="css-a4x74f"><span>20846</span></td><td id="LC20846" class="css-1dcdqdg"><code> <span class="code-string">"bg-size"</span>: { </code></td></tr><tr><td id="L20847" class="css-a4x74f"><span>20847</span></td><td id="LC20847" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | auto ]{1,2} | cover | contain"</span> </code></td></tr><tr><td id="L20848" class="css-a4x74f"><span>20848</span></td><td id="LC20848" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20849" class="css-a4x74f"><span>20849</span></td><td id="LC20849" class="css-1dcdqdg"><code> <span class="code-string">"blur()"</span>: { </code></td></tr><tr><td id="L20850" class="css-a4x74f"><span>20850</span></td><td id="LC20850" class="css-1dcdqdg"><code> syntax: <span class="code-string">"blur( <length> )"</span> </code></td></tr><tr><td id="L20851" class="css-a4x74f"><span>20851</span></td><td id="LC20851" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20852" class="css-a4x74f"><span>20852</span></td><td id="LC20852" class="css-1dcdqdg"><code> <span class="code-string">"blend-mode"</span>: { </code></td></tr><tr><td id="L20853" class="css-a4x74f"><span>20853</span></td><td id="LC20853" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity"</span> </code></td></tr><tr><td id="L20854" class="css-a4x74f"><span>20854</span></td><td id="LC20854" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20855" class="css-a4x74f"><span>20855</span></td><td id="LC20855" class="css-1dcdqdg"><code> box: box, </code></td></tr><tr><td id="L20856" class="css-a4x74f"><span>20856</span></td><td id="LC20856" class="css-1dcdqdg"><code> <span class="code-string">"brightness()"</span>: { </code></td></tr><tr><td id="L20857" class="css-a4x74f"><span>20857</span></td><td id="LC20857" class="css-1dcdqdg"><code> syntax: <span class="code-string">"brightness( <number-percentage> )"</span> </code></td></tr><tr><td id="L20858" class="css-a4x74f"><span>20858</span></td><td id="LC20858" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20859" class="css-a4x74f"><span>20859</span></td><td id="LC20859" class="css-1dcdqdg"><code> <span class="code-string">"calc()"</span>: { </code></td></tr><tr><td id="L20860" class="css-a4x74f"><span>20860</span></td><td id="LC20860" class="css-1dcdqdg"><code> syntax: <span class="code-string">"calc( <calc-sum> )"</span> </code></td></tr><tr><td id="L20861" class="css-a4x74f"><span>20861</span></td><td id="LC20861" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20862" class="css-a4x74f"><span>20862</span></td><td id="LC20862" class="css-1dcdqdg"><code> <span class="code-string">"calc-sum"</span>: { </code></td></tr><tr><td id="L20863" class="css-a4x74f"><span>20863</span></td><td id="LC20863" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<calc-product> [ [ '+' | '-' ] <calc-product> ]*"</span> </code></td></tr><tr><td id="L20864" class="css-a4x74f"><span>20864</span></td><td id="LC20864" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20865" class="css-a4x74f"><span>20865</span></td><td id="LC20865" class="css-1dcdqdg"><code> <span class="code-string">"calc-product"</span>: { </code></td></tr><tr><td id="L20866" class="css-a4x74f"><span>20866</span></td><td id="LC20866" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<calc-value> [ '*' <calc-value> | '/' <number> ]*"</span> </code></td></tr><tr><td id="L20867" class="css-a4x74f"><span>20867</span></td><td id="LC20867" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20868" class="css-a4x74f"><span>20868</span></td><td id="LC20868" class="css-1dcdqdg"><code> <span class="code-string">"calc-value"</span>: { </code></td></tr><tr><td id="L20869" class="css-a4x74f"><span>20869</span></td><td id="LC20869" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | <dimension> | <percentage> | ( <calc-sum> )"</span> </code></td></tr><tr><td id="L20870" class="css-a4x74f"><span>20870</span></td><td id="LC20870" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20871" class="css-a4x74f"><span>20871</span></td><td id="LC20871" class="css-1dcdqdg"><code> <span class="code-string">"cf-final-image"</span>: { </code></td></tr><tr><td id="L20872" class="css-a4x74f"><span>20872</span></td><td id="LC20872" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<image> | <color>"</span> </code></td></tr><tr><td id="L20873" class="css-a4x74f"><span>20873</span></td><td id="LC20873" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20874" class="css-a4x74f"><span>20874</span></td><td id="LC20874" class="css-1dcdqdg"><code> <span class="code-string">"cf-mixing-image"</span>: { </code></td></tr><tr><td id="L20875" class="css-a4x74f"><span>20875</span></td><td id="LC20875" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<percentage>? && <image>"</span> </code></td></tr><tr><td id="L20876" class="css-a4x74f"><span>20876</span></td><td id="LC20876" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20877" class="css-a4x74f"><span>20877</span></td><td id="LC20877" class="css-1dcdqdg"><code> <span class="code-string">"circle()"</span>: { </code></td></tr><tr><td id="L20878" class="css-a4x74f"><span>20878</span></td><td id="LC20878" class="css-1dcdqdg"><code> syntax: <span class="code-string">"circle( [ <shape-radius> ]? [ at <position> ]? )"</span> </code></td></tr><tr><td id="L20879" class="css-a4x74f"><span>20879</span></td><td id="LC20879" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20880" class="css-a4x74f"><span>20880</span></td><td id="LC20880" class="css-1dcdqdg"><code> <span class="code-string">"clamp()"</span>: { </code></td></tr><tr><td id="L20881" class="css-a4x74f"><span>20881</span></td><td id="LC20881" class="css-1dcdqdg"><code> syntax: <span class="code-string">"clamp( <calc-sum>#{3} )"</span> </code></td></tr><tr><td id="L20882" class="css-a4x74f"><span>20882</span></td><td id="LC20882" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20883" class="css-a4x74f"><span>20883</span></td><td id="LC20883" class="css-1dcdqdg"><code> <span class="code-string">"class-selector"</span>: { </code></td></tr><tr><td id="L20884" class="css-a4x74f"><span>20884</span></td><td id="LC20884" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'.' <ident-token>"</span> </code></td></tr><tr><td id="L20885" class="css-a4x74f"><span>20885</span></td><td id="LC20885" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20886" class="css-a4x74f"><span>20886</span></td><td id="LC20886" class="css-1dcdqdg"><code> <span class="code-string">"clip-source"</span>: { </code></td></tr><tr><td id="L20887" class="css-a4x74f"><span>20887</span></td><td id="LC20887" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url>"</span> </code></td></tr><tr><td id="L20888" class="css-a4x74f"><span>20888</span></td><td id="LC20888" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20889" class="css-a4x74f"><span>20889</span></td><td id="LC20889" class="css-1dcdqdg"><code> color: color$<span class="code-number">1</span>, </code></td></tr><tr><td id="L20890" class="css-a4x74f"><span>20890</span></td><td id="LC20890" class="css-1dcdqdg"><code> <span class="code-string">"color-stop"</span>: { </code></td></tr><tr><td id="L20891" class="css-a4x74f"><span>20891</span></td><td id="LC20891" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color-stop-length> | <color-stop-angle>"</span> </code></td></tr><tr><td id="L20892" class="css-a4x74f"><span>20892</span></td><td id="LC20892" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20893" class="css-a4x74f"><span>20893</span></td><td id="LC20893" class="css-1dcdqdg"><code> <span class="code-string">"color-stop-angle"</span>: { </code></td></tr><tr><td id="L20894" class="css-a4x74f"><span>20894</span></td><td id="LC20894" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle-percentage>{1,2}"</span> </code></td></tr><tr><td id="L20895" class="css-a4x74f"><span>20895</span></td><td id="LC20895" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20896" class="css-a4x74f"><span>20896</span></td><td id="LC20896" class="css-1dcdqdg"><code> <span class="code-string">"color-stop-length"</span>: { </code></td></tr><tr><td id="L20897" class="css-a4x74f"><span>20897</span></td><td id="LC20897" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span> </code></td></tr><tr><td id="L20898" class="css-a4x74f"><span>20898</span></td><td id="LC20898" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20899" class="css-a4x74f"><span>20899</span></td><td id="LC20899" class="css-1dcdqdg"><code> <span class="code-string">"color-stop-list"</span>: { </code></td></tr><tr><td id="L20900" class="css-a4x74f"><span>20900</span></td><td id="LC20900" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>"</span> </code></td></tr><tr><td id="L20901" class="css-a4x74f"><span>20901</span></td><td id="LC20901" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20902" class="css-a4x74f"><span>20902</span></td><td id="LC20902" class="css-1dcdqdg"><code> combinator: combinator, </code></td></tr><tr><td id="L20903" class="css-a4x74f"><span>20903</span></td><td id="LC20903" class="css-1dcdqdg"><code> <span class="code-string">"common-lig-values"</span>: { </code></td></tr><tr><td id="L20904" class="css-a4x74f"><span>20904</span></td><td id="LC20904" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ common-ligatures | no-common-ligatures ]"</span> </code></td></tr><tr><td id="L20905" class="css-a4x74f"><span>20905</span></td><td id="LC20905" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20906" class="css-a4x74f"><span>20906</span></td><td id="LC20906" class="css-1dcdqdg"><code> compat: compat, </code></td></tr><tr><td id="L20907" class="css-a4x74f"><span>20907</span></td><td id="LC20907" class="css-1dcdqdg"><code> <span class="code-string">"composite-style"</span>: { </code></td></tr><tr><td id="L20908" class="css-a4x74f"><span>20908</span></td><td id="LC20908" class="css-1dcdqdg"><code> syntax: <span class="code-string">"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor"</span> </code></td></tr><tr><td id="L20909" class="css-a4x74f"><span>20909</span></td><td id="LC20909" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20910" class="css-a4x74f"><span>20910</span></td><td id="LC20910" class="css-1dcdqdg"><code> <span class="code-string">"compositing-operator"</span>: { </code></td></tr><tr><td id="L20911" class="css-a4x74f"><span>20911</span></td><td id="LC20911" class="css-1dcdqdg"><code> syntax: <span class="code-string">"add | subtract | intersect | exclude"</span> </code></td></tr><tr><td id="L20912" class="css-a4x74f"><span>20912</span></td><td id="LC20912" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20913" class="css-a4x74f"><span>20913</span></td><td id="LC20913" class="css-1dcdqdg"><code> <span class="code-string">"compound-selector"</span>: { </code></td></tr><tr><td id="L20914" class="css-a4x74f"><span>20914</span></td><td id="LC20914" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!"</span> </code></td></tr><tr><td id="L20915" class="css-a4x74f"><span>20915</span></td><td id="LC20915" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20916" class="css-a4x74f"><span>20916</span></td><td id="LC20916" class="css-1dcdqdg"><code> <span class="code-string">"compound-selector-list"</span>: { </code></td></tr><tr><td id="L20917" class="css-a4x74f"><span>20917</span></td><td id="LC20917" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<compound-selector>#"</span> </code></td></tr><tr><td id="L20918" class="css-a4x74f"><span>20918</span></td><td id="LC20918" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20919" class="css-a4x74f"><span>20919</span></td><td id="LC20919" class="css-1dcdqdg"><code> <span class="code-string">"complex-selector"</span>: { </code></td></tr><tr><td id="L20920" class="css-a4x74f"><span>20920</span></td><td id="LC20920" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<compound-selector> [ <combinator>? <compound-selector> ]*"</span> </code></td></tr><tr><td id="L20921" class="css-a4x74f"><span>20921</span></td><td id="LC20921" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20922" class="css-a4x74f"><span>20922</span></td><td id="LC20922" class="css-1dcdqdg"><code> <span class="code-string">"complex-selector-list"</span>: { </code></td></tr><tr><td id="L20923" class="css-a4x74f"><span>20923</span></td><td id="LC20923" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<complex-selector>#"</span> </code></td></tr><tr><td id="L20924" class="css-a4x74f"><span>20924</span></td><td id="LC20924" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20925" class="css-a4x74f"><span>20925</span></td><td id="LC20925" class="css-1dcdqdg"><code> <span class="code-string">"conic-gradient()"</span>: { </code></td></tr><tr><td id="L20926" class="css-a4x74f"><span>20926</span></td><td id="LC20926" class="css-1dcdqdg"><code> syntax: <span class="code-string">"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )"</span> </code></td></tr><tr><td id="L20927" class="css-a4x74f"><span>20927</span></td><td id="LC20927" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20928" class="css-a4x74f"><span>20928</span></td><td id="LC20928" class="css-1dcdqdg"><code> <span class="code-string">"contextual-alt-values"</span>: { </code></td></tr><tr><td id="L20929" class="css-a4x74f"><span>20929</span></td><td id="LC20929" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ contextual | no-contextual ]"</span> </code></td></tr><tr><td id="L20930" class="css-a4x74f"><span>20930</span></td><td id="LC20930" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20931" class="css-a4x74f"><span>20931</span></td><td id="LC20931" class="css-1dcdqdg"><code> <span class="code-string">"content-distribution"</span>: { </code></td></tr><tr><td id="L20932" class="css-a4x74f"><span>20932</span></td><td id="LC20932" class="css-1dcdqdg"><code> syntax: <span class="code-string">"space-between | space-around | space-evenly | stretch"</span> </code></td></tr><tr><td id="L20933" class="css-a4x74f"><span>20933</span></td><td id="LC20933" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20934" class="css-a4x74f"><span>20934</span></td><td id="LC20934" class="css-1dcdqdg"><code> <span class="code-string">"content-list"</span>: { </code></td></tr><tr><td id="L20935" class="css-a4x74f"><span>20935</span></td><td id="LC20935" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+"</span> </code></td></tr><tr><td id="L20936" class="css-a4x74f"><span>20936</span></td><td id="LC20936" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20937" class="css-a4x74f"><span>20937</span></td><td id="LC20937" class="css-1dcdqdg"><code> <span class="code-string">"content-position"</span>: { </code></td></tr><tr><td id="L20938" class="css-a4x74f"><span>20938</span></td><td id="LC20938" class="css-1dcdqdg"><code> syntax: <span class="code-string">"center | start | end | flex-start | flex-end"</span> </code></td></tr><tr><td id="L20939" class="css-a4x74f"><span>20939</span></td><td id="LC20939" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20940" class="css-a4x74f"><span>20940</span></td><td id="LC20940" class="css-1dcdqdg"><code> <span class="code-string">"content-replacement"</span>: { </code></td></tr><tr><td id="L20941" class="css-a4x74f"><span>20941</span></td><td id="LC20941" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<image>"</span> </code></td></tr><tr><td id="L20942" class="css-a4x74f"><span>20942</span></td><td id="LC20942" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20943" class="css-a4x74f"><span>20943</span></td><td id="LC20943" class="css-1dcdqdg"><code> <span class="code-string">"contrast()"</span>: { </code></td></tr><tr><td id="L20944" class="css-a4x74f"><span>20944</span></td><td id="LC20944" class="css-1dcdqdg"><code> syntax: <span class="code-string">"contrast( [ <number-percentage> ] )"</span> </code></td></tr><tr><td id="L20945" class="css-a4x74f"><span>20945</span></td><td id="LC20945" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20946" class="css-a4x74f"><span>20946</span></td><td id="LC20946" class="css-1dcdqdg"><code> <span class="code-string">"counter()"</span>: { </code></td></tr><tr><td id="L20947" class="css-a4x74f"><span>20947</span></td><td id="LC20947" class="css-1dcdqdg"><code> syntax: <span class="code-string">"counter( <custom-ident>, <counter-style>? )"</span> </code></td></tr><tr><td id="L20948" class="css-a4x74f"><span>20948</span></td><td id="LC20948" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20949" class="css-a4x74f"><span>20949</span></td><td id="LC20949" class="css-1dcdqdg"><code> <span class="code-string">"counter-style"</span>: { </code></td></tr><tr><td id="L20950" class="css-a4x74f"><span>20950</span></td><td id="LC20950" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<counter-style-name> | symbols()"</span> </code></td></tr><tr><td id="L20951" class="css-a4x74f"><span>20951</span></td><td id="LC20951" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20952" class="css-a4x74f"><span>20952</span></td><td id="LC20952" class="css-1dcdqdg"><code> <span class="code-string">"counter-style-name"</span>: { </code></td></tr><tr><td id="L20953" class="css-a4x74f"><span>20953</span></td><td id="LC20953" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<custom-ident>"</span> </code></td></tr><tr><td id="L20954" class="css-a4x74f"><span>20954</span></td><td id="LC20954" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20955" class="css-a4x74f"><span>20955</span></td><td id="LC20955" class="css-1dcdqdg"><code> <span class="code-string">"counters()"</span>: { </code></td></tr><tr><td id="L20956" class="css-a4x74f"><span>20956</span></td><td id="LC20956" class="css-1dcdqdg"><code> syntax: <span class="code-string">"counters( <custom-ident>, <string>, <counter-style>? )"</span> </code></td></tr><tr><td id="L20957" class="css-a4x74f"><span>20957</span></td><td id="LC20957" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20958" class="css-a4x74f"><span>20958</span></td><td id="LC20958" class="css-1dcdqdg"><code> <span class="code-string">"cross-fade()"</span>: { </code></td></tr><tr><td id="L20959" class="css-a4x74f"><span>20959</span></td><td id="LC20959" class="css-1dcdqdg"><code> syntax: <span class="code-string">"cross-fade( <cf-mixing-image> , <cf-final-image>? )"</span> </code></td></tr><tr><td id="L20960" class="css-a4x74f"><span>20960</span></td><td id="LC20960" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20961" class="css-a4x74f"><span>20961</span></td><td id="LC20961" class="css-1dcdqdg"><code> <span class="code-string">"cubic-bezier-timing-function"</span>: { </code></td></tr><tr><td id="L20962" class="css-a4x74f"><span>20962</span></td><td id="LC20962" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)"</span> </code></td></tr><tr><td id="L20963" class="css-a4x74f"><span>20963</span></td><td id="LC20963" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20964" class="css-a4x74f"><span>20964</span></td><td id="LC20964" class="css-1dcdqdg"><code> <span class="code-string">"deprecated-system-color"</span>: { </code></td></tr><tr><td id="L20965" class="css-a4x74f"><span>20965</span></td><td id="LC20965" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText"</span> </code></td></tr><tr><td id="L20966" class="css-a4x74f"><span>20966</span></td><td id="LC20966" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20967" class="css-a4x74f"><span>20967</span></td><td id="LC20967" class="css-1dcdqdg"><code> <span class="code-string">"discretionary-lig-values"</span>: { </code></td></tr><tr><td id="L20968" class="css-a4x74f"><span>20968</span></td><td id="LC20968" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ discretionary-ligatures | no-discretionary-ligatures ]"</span> </code></td></tr><tr><td id="L20969" class="css-a4x74f"><span>20969</span></td><td id="LC20969" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20970" class="css-a4x74f"><span>20970</span></td><td id="LC20970" class="css-1dcdqdg"><code> <span class="code-string">"display-box"</span>: { </code></td></tr><tr><td id="L20971" class="css-a4x74f"><span>20971</span></td><td id="LC20971" class="css-1dcdqdg"><code> syntax: <span class="code-string">"contents | none"</span> </code></td></tr><tr><td id="L20972" class="css-a4x74f"><span>20972</span></td><td id="LC20972" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20973" class="css-a4x74f"><span>20973</span></td><td id="LC20973" class="css-1dcdqdg"><code> <span class="code-string">"display-inside"</span>: { </code></td></tr><tr><td id="L20974" class="css-a4x74f"><span>20974</span></td><td id="LC20974" class="css-1dcdqdg"><code> syntax: <span class="code-string">"flow | flow-root | table | flex | grid | ruby"</span> </code></td></tr><tr><td id="L20975" class="css-a4x74f"><span>20975</span></td><td id="LC20975" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20976" class="css-a4x74f"><span>20976</span></td><td id="LC20976" class="css-1dcdqdg"><code> <span class="code-string">"display-internal"</span>: { </code></td></tr><tr><td id="L20977" class="css-a4x74f"><span>20977</span></td><td id="LC20977" class="css-1dcdqdg"><code> syntax: <span class="code-string">"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container"</span> </code></td></tr><tr><td id="L20978" class="css-a4x74f"><span>20978</span></td><td id="LC20978" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20979" class="css-a4x74f"><span>20979</span></td><td id="LC20979" class="css-1dcdqdg"><code> <span class="code-string">"display-legacy"</span>: { </code></td></tr><tr><td id="L20980" class="css-a4x74f"><span>20980</span></td><td id="LC20980" class="css-1dcdqdg"><code> syntax: <span class="code-string">"inline-block | inline-list-item | inline-table | inline-flex | inline-grid"</span> </code></td></tr><tr><td id="L20981" class="css-a4x74f"><span>20981</span></td><td id="LC20981" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20982" class="css-a4x74f"><span>20982</span></td><td id="LC20982" class="css-1dcdqdg"><code> <span class="code-string">"display-listitem"</span>: { </code></td></tr><tr><td id="L20983" class="css-a4x74f"><span>20983</span></td><td id="LC20983" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<display-outside>? && [ flow | flow-root ]? && list-item"</span> </code></td></tr><tr><td id="L20984" class="css-a4x74f"><span>20984</span></td><td id="LC20984" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20985" class="css-a4x74f"><span>20985</span></td><td id="LC20985" class="css-1dcdqdg"><code> <span class="code-string">"display-outside"</span>: { </code></td></tr><tr><td id="L20986" class="css-a4x74f"><span>20986</span></td><td id="LC20986" class="css-1dcdqdg"><code> syntax: <span class="code-string">"block | inline | run-in"</span> </code></td></tr><tr><td id="L20987" class="css-a4x74f"><span>20987</span></td><td id="LC20987" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20988" class="css-a4x74f"><span>20988</span></td><td id="LC20988" class="css-1dcdqdg"><code> <span class="code-string">"drop-shadow()"</span>: { </code></td></tr><tr><td id="L20989" class="css-a4x74f"><span>20989</span></td><td id="LC20989" class="css-1dcdqdg"><code> syntax: <span class="code-string">"drop-shadow( <length>{2,3} <color>? )"</span> </code></td></tr><tr><td id="L20990" class="css-a4x74f"><span>20990</span></td><td id="LC20990" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20991" class="css-a4x74f"><span>20991</span></td><td id="LC20991" class="css-1dcdqdg"><code> <span class="code-string">"east-asian-variant-values"</span>: { </code></td></tr><tr><td id="L20992" class="css-a4x74f"><span>20992</span></td><td id="LC20992" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]"</span> </code></td></tr><tr><td id="L20993" class="css-a4x74f"><span>20993</span></td><td id="LC20993" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20994" class="css-a4x74f"><span>20994</span></td><td id="LC20994" class="css-1dcdqdg"><code> <span class="code-string">"east-asian-width-values"</span>: { </code></td></tr><tr><td id="L20995" class="css-a4x74f"><span>20995</span></td><td id="LC20995" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ full-width | proportional-width ]"</span> </code></td></tr><tr><td id="L20996" class="css-a4x74f"><span>20996</span></td><td id="LC20996" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L20997" class="css-a4x74f"><span>20997</span></td><td id="LC20997" class="css-1dcdqdg"><code> <span class="code-string">"element()"</span>: { </code></td></tr><tr><td id="L20998" class="css-a4x74f"><span>20998</span></td><td id="LC20998" class="css-1dcdqdg"><code> syntax: <span class="code-string">"element( <id-selector> )"</span> </code></td></tr><tr><td id="L20999" class="css-a4x74f"><span>20999</span></td><td id="LC20999" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21000" class="css-a4x74f"><span>21000</span></td><td id="LC21000" class="css-1dcdqdg"><code> <span class="code-string">"ellipse()"</span>: { </code></td></tr><tr><td id="L21001" class="css-a4x74f"><span>21001</span></td><td id="LC21001" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )"</span> </code></td></tr><tr><td id="L21002" class="css-a4x74f"><span>21002</span></td><td id="LC21002" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21003" class="css-a4x74f"><span>21003</span></td><td id="LC21003" class="css-1dcdqdg"><code> <span class="code-string">"ending-shape"</span>: { </code></td></tr><tr><td id="L21004" class="css-a4x74f"><span>21004</span></td><td id="LC21004" class="css-1dcdqdg"><code> syntax: <span class="code-string">"circle | ellipse"</span> </code></td></tr><tr><td id="L21005" class="css-a4x74f"><span>21005</span></td><td id="LC21005" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21006" class="css-a4x74f"><span>21006</span></td><td id="LC21006" class="css-1dcdqdg"><code> <span class="code-string">"env()"</span>: { </code></td></tr><tr><td id="L21007" class="css-a4x74f"><span>21007</span></td><td id="LC21007" class="css-1dcdqdg"><code> syntax: <span class="code-string">"env( <custom-ident> , <declaration-value>? )"</span> </code></td></tr><tr><td id="L21008" class="css-a4x74f"><span>21008</span></td><td id="LC21008" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21009" class="css-a4x74f"><span>21009</span></td><td id="LC21009" class="css-1dcdqdg"><code> <span class="code-string">"explicit-track-list"</span>: { </code></td></tr><tr><td id="L21010" class="css-a4x74f"><span>21010</span></td><td id="LC21010" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <line-names>? <track-size> ]+ <line-names>?"</span> </code></td></tr><tr><td id="L21011" class="css-a4x74f"><span>21011</span></td><td id="LC21011" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21012" class="css-a4x74f"><span>21012</span></td><td id="LC21012" class="css-1dcdqdg"><code> <span class="code-string">"family-name"</span>: { </code></td></tr><tr><td id="L21013" class="css-a4x74f"><span>21013</span></td><td id="LC21013" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<string> | <custom-ident>+"</span> </code></td></tr><tr><td id="L21014" class="css-a4x74f"><span>21014</span></td><td id="LC21014" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21015" class="css-a4x74f"><span>21015</span></td><td id="LC21015" class="css-1dcdqdg"><code> <span class="code-string">"feature-tag-value"</span>: { </code></td></tr><tr><td id="L21016" class="css-a4x74f"><span>21016</span></td><td id="LC21016" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<string> [ <integer> | on | off ]?"</span> </code></td></tr><tr><td id="L21017" class="css-a4x74f"><span>21017</span></td><td id="LC21017" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21018" class="css-a4x74f"><span>21018</span></td><td id="LC21018" class="css-1dcdqdg"><code> <span class="code-string">"feature-type"</span>: { </code></td></tr><tr><td id="L21019" class="css-a4x74f"><span>21019</span></td><td id="LC21019" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation"</span> </code></td></tr><tr><td id="L21020" class="css-a4x74f"><span>21020</span></td><td id="LC21020" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21021" class="css-a4x74f"><span>21021</span></td><td id="LC21021" class="css-1dcdqdg"><code> <span class="code-string">"feature-value-block"</span>: { </code></td></tr><tr><td id="L21022" class="css-a4x74f"><span>21022</span></td><td id="LC21022" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<feature-type> '{' <feature-value-declaration-list> '}'"</span> </code></td></tr><tr><td id="L21023" class="css-a4x74f"><span>21023</span></td><td id="LC21023" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21024" class="css-a4x74f"><span>21024</span></td><td id="LC21024" class="css-1dcdqdg"><code> <span class="code-string">"feature-value-block-list"</span>: { </code></td></tr><tr><td id="L21025" class="css-a4x74f"><span>21025</span></td><td id="LC21025" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<feature-value-block>+"</span> </code></td></tr><tr><td id="L21026" class="css-a4x74f"><span>21026</span></td><td id="LC21026" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21027" class="css-a4x74f"><span>21027</span></td><td id="LC21027" class="css-1dcdqdg"><code> <span class="code-string">"feature-value-declaration"</span>: { </code></td></tr><tr><td id="L21028" class="css-a4x74f"><span>21028</span></td><td id="LC21028" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<custom-ident>: <integer>+;"</span> </code></td></tr><tr><td id="L21029" class="css-a4x74f"><span>21029</span></td><td id="LC21029" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21030" class="css-a4x74f"><span>21030</span></td><td id="LC21030" class="css-1dcdqdg"><code> <span class="code-string">"feature-value-declaration-list"</span>: { </code></td></tr><tr><td id="L21031" class="css-a4x74f"><span>21031</span></td><td id="LC21031" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<feature-value-declaration>"</span> </code></td></tr><tr><td id="L21032" class="css-a4x74f"><span>21032</span></td><td id="LC21032" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21033" class="css-a4x74f"><span>21033</span></td><td id="LC21033" class="css-1dcdqdg"><code> <span class="code-string">"feature-value-name"</span>: { </code></td></tr><tr><td id="L21034" class="css-a4x74f"><span>21034</span></td><td id="LC21034" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<custom-ident>"</span> </code></td></tr><tr><td id="L21035" class="css-a4x74f"><span>21035</span></td><td id="LC21035" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21036" class="css-a4x74f"><span>21036</span></td><td id="LC21036" class="css-1dcdqdg"><code> <span class="code-string">"fill-rule"</span>: { </code></td></tr><tr><td id="L21037" class="css-a4x74f"><span>21037</span></td><td id="LC21037" class="css-1dcdqdg"><code> syntax: <span class="code-string">"nonzero | evenodd"</span> </code></td></tr><tr><td id="L21038" class="css-a4x74f"><span>21038</span></td><td id="LC21038" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21039" class="css-a4x74f"><span>21039</span></td><td id="LC21039" class="css-1dcdqdg"><code> <span class="code-string">"filter-function"</span>: { </code></td></tr><tr><td id="L21040" class="css-a4x74f"><span>21040</span></td><td id="LC21040" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>"</span> </code></td></tr><tr><td id="L21041" class="css-a4x74f"><span>21041</span></td><td id="LC21041" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21042" class="css-a4x74f"><span>21042</span></td><td id="LC21042" class="css-1dcdqdg"><code> <span class="code-string">"filter-function-list"</span>: { </code></td></tr><tr><td id="L21043" class="css-a4x74f"><span>21043</span></td><td id="LC21043" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <filter-function> | <url> ]+"</span> </code></td></tr><tr><td id="L21044" class="css-a4x74f"><span>21044</span></td><td id="LC21044" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21045" class="css-a4x74f"><span>21045</span></td><td id="LC21045" class="css-1dcdqdg"><code> <span class="code-string">"final-bg-layer"</span>: { </code></td></tr><tr><td id="L21046" class="css-a4x74f"><span>21046</span></td><td id="LC21046" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"</span> </code></td></tr><tr><td id="L21047" class="css-a4x74f"><span>21047</span></td><td id="LC21047" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21048" class="css-a4x74f"><span>21048</span></td><td id="LC21048" class="css-1dcdqdg"><code> <span class="code-string">"fit-content()"</span>: { </code></td></tr><tr><td id="L21049" class="css-a4x74f"><span>21049</span></td><td id="LC21049" class="css-1dcdqdg"><code> syntax: <span class="code-string">"fit-content( [ <length> | <percentage> ] )"</span> </code></td></tr><tr><td id="L21050" class="css-a4x74f"><span>21050</span></td><td id="LC21050" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21051" class="css-a4x74f"><span>21051</span></td><td id="LC21051" class="css-1dcdqdg"><code> <span class="code-string">"fixed-breadth"</span>: { </code></td></tr><tr><td id="L21052" class="css-a4x74f"><span>21052</span></td><td id="LC21052" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span> </code></td></tr><tr><td id="L21053" class="css-a4x74f"><span>21053</span></td><td id="LC21053" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21054" class="css-a4x74f"><span>21054</span></td><td id="LC21054" class="css-1dcdqdg"><code> <span class="code-string">"fixed-repeat"</span>: { </code></td></tr><tr><td id="L21055" class="css-a4x74f"><span>21055</span></td><td id="LC21055" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"</span> </code></td></tr><tr><td id="L21056" class="css-a4x74f"><span>21056</span></td><td id="LC21056" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21057" class="css-a4x74f"><span>21057</span></td><td id="LC21057" class="css-1dcdqdg"><code> <span class="code-string">"fixed-size"</span>: { </code></td></tr><tr><td id="L21058" class="css-a4x74f"><span>21058</span></td><td id="LC21058" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )"</span> </code></td></tr><tr><td id="L21059" class="css-a4x74f"><span>21059</span></td><td id="LC21059" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21060" class="css-a4x74f"><span>21060</span></td><td id="LC21060" class="css-1dcdqdg"><code> <span class="code-string">"font-stretch-absolute"</span>: { </code></td></tr><tr><td id="L21061" class="css-a4x74f"><span>21061</span></td><td id="LC21061" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>"</span> </code></td></tr><tr><td id="L21062" class="css-a4x74f"><span>21062</span></td><td id="LC21062" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21063" class="css-a4x74f"><span>21063</span></td><td id="LC21063" class="css-1dcdqdg"><code> <span class="code-string">"font-variant-css21"</span>: { </code></td></tr><tr><td id="L21064" class="css-a4x74f"><span>21064</span></td><td id="LC21064" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ normal | small-caps ]"</span> </code></td></tr><tr><td id="L21065" class="css-a4x74f"><span>21065</span></td><td id="LC21065" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21066" class="css-a4x74f"><span>21066</span></td><td id="LC21066" class="css-1dcdqdg"><code> <span class="code-string">"font-weight-absolute"</span>: { </code></td></tr><tr><td id="L21067" class="css-a4x74f"><span>21067</span></td><td id="LC21067" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | bold | <number>"</span> </code></td></tr><tr><td id="L21068" class="css-a4x74f"><span>21068</span></td><td id="LC21068" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21069" class="css-a4x74f"><span>21069</span></td><td id="LC21069" class="css-1dcdqdg"><code> <span class="code-string">"frequency-percentage"</span>: { </code></td></tr><tr><td id="L21070" class="css-a4x74f"><span>21070</span></td><td id="LC21070" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<frequency> | <percentage>"</span> </code></td></tr><tr><td id="L21071" class="css-a4x74f"><span>21071</span></td><td id="LC21071" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21072" class="css-a4x74f"><span>21072</span></td><td id="LC21072" class="css-1dcdqdg"><code> <span class="code-string">"general-enclosed"</span>: { </code></td></tr><tr><td id="L21073" class="css-a4x74f"><span>21073</span></td><td id="LC21073" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )"</span> </code></td></tr><tr><td id="L21074" class="css-a4x74f"><span>21074</span></td><td id="LC21074" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21075" class="css-a4x74f"><span>21075</span></td><td id="LC21075" class="css-1dcdqdg"><code> <span class="code-string">"generic-family"</span>: { </code></td></tr><tr><td id="L21076" class="css-a4x74f"><span>21076</span></td><td id="LC21076" class="css-1dcdqdg"><code> syntax: <span class="code-string">"serif | sans-serif | cursive | fantasy | monospace"</span> </code></td></tr><tr><td id="L21077" class="css-a4x74f"><span>21077</span></td><td id="LC21077" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21078" class="css-a4x74f"><span>21078</span></td><td id="LC21078" class="css-1dcdqdg"><code> <span class="code-string">"generic-name"</span>: { </code></td></tr><tr><td id="L21079" class="css-a4x74f"><span>21079</span></td><td id="LC21079" class="css-1dcdqdg"><code> syntax: <span class="code-string">"serif | sans-serif | cursive | fantasy | monospace"</span> </code></td></tr><tr><td id="L21080" class="css-a4x74f"><span>21080</span></td><td id="LC21080" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21081" class="css-a4x74f"><span>21081</span></td><td id="LC21081" class="css-1dcdqdg"><code> <span class="code-string">"geometry-box"</span>: { </code></td></tr><tr><td id="L21082" class="css-a4x74f"><span>21082</span></td><td id="LC21082" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<shape-box> | fill-box | stroke-box | view-box"</span> </code></td></tr><tr><td id="L21083" class="css-a4x74f"><span>21083</span></td><td id="LC21083" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21084" class="css-a4x74f"><span>21084</span></td><td id="LC21084" class="css-1dcdqdg"><code> gradient: gradient, </code></td></tr><tr><td id="L21085" class="css-a4x74f"><span>21085</span></td><td id="LC21085" class="css-1dcdqdg"><code> <span class="code-string">"grayscale()"</span>: { </code></td></tr><tr><td id="L21086" class="css-a4x74f"><span>21086</span></td><td id="LC21086" class="css-1dcdqdg"><code> syntax: <span class="code-string">"grayscale( <number-percentage> )"</span> </code></td></tr><tr><td id="L21087" class="css-a4x74f"><span>21087</span></td><td id="LC21087" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21088" class="css-a4x74f"><span>21088</span></td><td id="LC21088" class="css-1dcdqdg"><code> <span class="code-string">"grid-line"</span>: { </code></td></tr><tr><td id="L21089" class="css-a4x74f"><span>21089</span></td><td id="LC21089" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]"</span> </code></td></tr><tr><td id="L21090" class="css-a4x74f"><span>21090</span></td><td id="LC21090" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21091" class="css-a4x74f"><span>21091</span></td><td id="LC21091" class="css-1dcdqdg"><code> <span class="code-string">"historical-lig-values"</span>: { </code></td></tr><tr><td id="L21092" class="css-a4x74f"><span>21092</span></td><td id="LC21092" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ historical-ligatures | no-historical-ligatures ]"</span> </code></td></tr><tr><td id="L21093" class="css-a4x74f"><span>21093</span></td><td id="LC21093" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21094" class="css-a4x74f"><span>21094</span></td><td id="LC21094" class="css-1dcdqdg"><code> <span class="code-string">"hsl()"</span>: { </code></td></tr><tr><td id="L21095" class="css-a4x74f"><span>21095</span></td><td id="LC21095" class="css-1dcdqdg"><code> syntax: <span class="code-string">"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"</span> </code></td></tr><tr><td id="L21096" class="css-a4x74f"><span>21096</span></td><td id="LC21096" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21097" class="css-a4x74f"><span>21097</span></td><td id="LC21097" class="css-1dcdqdg"><code> <span class="code-string">"hsla()"</span>: { </code></td></tr><tr><td id="L21098" class="css-a4x74f"><span>21098</span></td><td id="LC21098" class="css-1dcdqdg"><code> syntax: <span class="code-string">"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"</span> </code></td></tr><tr><td id="L21099" class="css-a4x74f"><span>21099</span></td><td id="LC21099" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21100" class="css-a4x74f"><span>21100</span></td><td id="LC21100" class="css-1dcdqdg"><code> hue: hue, </code></td></tr><tr><td id="L21101" class="css-a4x74f"><span>21101</span></td><td id="LC21101" class="css-1dcdqdg"><code> <span class="code-string">"hue-rotate()"</span>: { </code></td></tr><tr><td id="L21102" class="css-a4x74f"><span>21102</span></td><td id="LC21102" class="css-1dcdqdg"><code> syntax: <span class="code-string">"hue-rotate( <angle> )"</span> </code></td></tr><tr><td id="L21103" class="css-a4x74f"><span>21103</span></td><td id="LC21103" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21104" class="css-a4x74f"><span>21104</span></td><td id="LC21104" class="css-1dcdqdg"><code> <span class="code-string">"id-selector"</span>: { </code></td></tr><tr><td id="L21105" class="css-a4x74f"><span>21105</span></td><td id="LC21105" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<hash-token>"</span> </code></td></tr><tr><td id="L21106" class="css-a4x74f"><span>21106</span></td><td id="LC21106" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21107" class="css-a4x74f"><span>21107</span></td><td id="LC21107" class="css-1dcdqdg"><code> image: image, </code></td></tr><tr><td id="L21108" class="css-a4x74f"><span>21108</span></td><td id="LC21108" class="css-1dcdqdg"><code> <span class="code-string">"image()"</span>: { </code></td></tr><tr><td id="L21109" class="css-a4x74f"><span>21109</span></td><td id="LC21109" class="css-1dcdqdg"><code> syntax: <span class="code-string">"image( <image-tags>? [ <image-src>? , <color>? ]! )"</span> </code></td></tr><tr><td id="L21110" class="css-a4x74f"><span>21110</span></td><td id="LC21110" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21111" class="css-a4x74f"><span>21111</span></td><td id="LC21111" class="css-1dcdqdg"><code> <span class="code-string">"image-set()"</span>: { </code></td></tr><tr><td id="L21112" class="css-a4x74f"><span>21112</span></td><td id="LC21112" class="css-1dcdqdg"><code> syntax: <span class="code-string">"image-set( <image-set-option># )"</span> </code></td></tr><tr><td id="L21113" class="css-a4x74f"><span>21113</span></td><td id="LC21113" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21114" class="css-a4x74f"><span>21114</span></td><td id="LC21114" class="css-1dcdqdg"><code> <span class="code-string">"image-set-option"</span>: { </code></td></tr><tr><td id="L21115" class="css-a4x74f"><span>21115</span></td><td id="LC21115" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <image> | <string> ] <resolution>"</span> </code></td></tr><tr><td id="L21116" class="css-a4x74f"><span>21116</span></td><td id="LC21116" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21117" class="css-a4x74f"><span>21117</span></td><td id="LC21117" class="css-1dcdqdg"><code> <span class="code-string">"image-src"</span>: { </code></td></tr><tr><td id="L21118" class="css-a4x74f"><span>21118</span></td><td id="LC21118" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> | <string>"</span> </code></td></tr><tr><td id="L21119" class="css-a4x74f"><span>21119</span></td><td id="LC21119" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21120" class="css-a4x74f"><span>21120</span></td><td id="LC21120" class="css-1dcdqdg"><code> <span class="code-string">"image-tags"</span>: { </code></td></tr><tr><td id="L21121" class="css-a4x74f"><span>21121</span></td><td id="LC21121" class="css-1dcdqdg"><code> syntax: <span class="code-string">"ltr | rtl"</span> </code></td></tr><tr><td id="L21122" class="css-a4x74f"><span>21122</span></td><td id="LC21122" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21123" class="css-a4x74f"><span>21123</span></td><td id="LC21123" class="css-1dcdqdg"><code> <span class="code-string">"inflexible-breadth"</span>: { </code></td></tr><tr><td id="L21124" class="css-a4x74f"><span>21124</span></td><td id="LC21124" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | min-content | max-content | auto"</span> </code></td></tr><tr><td id="L21125" class="css-a4x74f"><span>21125</span></td><td id="LC21125" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21126" class="css-a4x74f"><span>21126</span></td><td id="LC21126" class="css-1dcdqdg"><code> <span class="code-string">"inset()"</span>: { </code></td></tr><tr><td id="L21127" class="css-a4x74f"><span>21127</span></td><td id="LC21127" class="css-1dcdqdg"><code> syntax: <span class="code-string">"inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )"</span> </code></td></tr><tr><td id="L21128" class="css-a4x74f"><span>21128</span></td><td id="LC21128" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21129" class="css-a4x74f"><span>21129</span></td><td id="LC21129" class="css-1dcdqdg"><code> <span class="code-string">"invert()"</span>: { </code></td></tr><tr><td id="L21130" class="css-a4x74f"><span>21130</span></td><td id="LC21130" class="css-1dcdqdg"><code> syntax: <span class="code-string">"invert( <number-percentage> )"</span> </code></td></tr><tr><td id="L21131" class="css-a4x74f"><span>21131</span></td><td id="LC21131" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21132" class="css-a4x74f"><span>21132</span></td><td id="LC21132" class="css-1dcdqdg"><code> <span class="code-string">"keyframes-name"</span>: { </code></td></tr><tr><td id="L21133" class="css-a4x74f"><span>21133</span></td><td id="LC21133" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<custom-ident> | <string>"</span> </code></td></tr><tr><td id="L21134" class="css-a4x74f"><span>21134</span></td><td id="LC21134" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21135" class="css-a4x74f"><span>21135</span></td><td id="LC21135" class="css-1dcdqdg"><code> <span class="code-string">"keyframe-block"</span>: { </code></td></tr><tr><td id="L21136" class="css-a4x74f"><span>21136</span></td><td id="LC21136" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<keyframe-selector># {\n <declaration-list>\n}"</span> </code></td></tr><tr><td id="L21137" class="css-a4x74f"><span>21137</span></td><td id="LC21137" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21138" class="css-a4x74f"><span>21138</span></td><td id="LC21138" class="css-1dcdqdg"><code> <span class="code-string">"keyframe-block-list"</span>: { </code></td></tr><tr><td id="L21139" class="css-a4x74f"><span>21139</span></td><td id="LC21139" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<keyframe-block>+"</span> </code></td></tr><tr><td id="L21140" class="css-a4x74f"><span>21140</span></td><td id="LC21140" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21141" class="css-a4x74f"><span>21141</span></td><td id="LC21141" class="css-1dcdqdg"><code> <span class="code-string">"keyframe-selector"</span>: { </code></td></tr><tr><td id="L21142" class="css-a4x74f"><span>21142</span></td><td id="LC21142" class="css-1dcdqdg"><code> syntax: <span class="code-string">"from | to | <percentage>"</span> </code></td></tr><tr><td id="L21143" class="css-a4x74f"><span>21143</span></td><td id="LC21143" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21144" class="css-a4x74f"><span>21144</span></td><td id="LC21144" class="css-1dcdqdg"><code> <span class="code-string">"leader()"</span>: { </code></td></tr><tr><td id="L21145" class="css-a4x74f"><span>21145</span></td><td id="LC21145" class="css-1dcdqdg"><code> syntax: <span class="code-string">"leader( <leader-type> )"</span> </code></td></tr><tr><td id="L21146" class="css-a4x74f"><span>21146</span></td><td id="LC21146" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21147" class="css-a4x74f"><span>21147</span></td><td id="LC21147" class="css-1dcdqdg"><code> <span class="code-string">"leader-type"</span>: { </code></td></tr><tr><td id="L21148" class="css-a4x74f"><span>21148</span></td><td id="LC21148" class="css-1dcdqdg"><code> syntax: <span class="code-string">"dotted | solid | space | <string>"</span> </code></td></tr><tr><td id="L21149" class="css-a4x74f"><span>21149</span></td><td id="LC21149" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21150" class="css-a4x74f"><span>21150</span></td><td id="LC21150" class="css-1dcdqdg"><code> <span class="code-string">"length-percentage"</span>: { </code></td></tr><tr><td id="L21151" class="css-a4x74f"><span>21151</span></td><td id="LC21151" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span> </code></td></tr><tr><td id="L21152" class="css-a4x74f"><span>21152</span></td><td id="LC21152" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21153" class="css-a4x74f"><span>21153</span></td><td id="LC21153" class="css-1dcdqdg"><code> <span class="code-string">"line-names"</span>: { </code></td></tr><tr><td id="L21154" class="css-a4x74f"><span>21154</span></td><td id="LC21154" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'[' <custom-ident>* ']'"</span> </code></td></tr><tr><td id="L21155" class="css-a4x74f"><span>21155</span></td><td id="LC21155" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21156" class="css-a4x74f"><span>21156</span></td><td id="LC21156" class="css-1dcdqdg"><code> <span class="code-string">"line-name-list"</span>: { </code></td></tr><tr><td id="L21157" class="css-a4x74f"><span>21157</span></td><td id="LC21157" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <line-names> | <name-repeat> ]+"</span> </code></td></tr><tr><td id="L21158" class="css-a4x74f"><span>21158</span></td><td id="LC21158" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21159" class="css-a4x74f"><span>21159</span></td><td id="LC21159" class="css-1dcdqdg"><code> <span class="code-string">"line-style"</span>: { </code></td></tr><tr><td id="L21160" class="css-a4x74f"><span>21160</span></td><td id="LC21160" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"</span> </code></td></tr><tr><td id="L21161" class="css-a4x74f"><span>21161</span></td><td id="LC21161" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21162" class="css-a4x74f"><span>21162</span></td><td id="LC21162" class="css-1dcdqdg"><code> <span class="code-string">"line-width"</span>: { </code></td></tr><tr><td id="L21163" class="css-a4x74f"><span>21163</span></td><td id="LC21163" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | thin | medium | thick"</span> </code></td></tr><tr><td id="L21164" class="css-a4x74f"><span>21164</span></td><td id="LC21164" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21165" class="css-a4x74f"><span>21165</span></td><td id="LC21165" class="css-1dcdqdg"><code> <span class="code-string">"linear-color-hint"</span>: { </code></td></tr><tr><td id="L21166" class="css-a4x74f"><span>21166</span></td><td id="LC21166" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>"</span> </code></td></tr><tr><td id="L21167" class="css-a4x74f"><span>21167</span></td><td id="LC21167" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21168" class="css-a4x74f"><span>21168</span></td><td id="LC21168" class="css-1dcdqdg"><code> <span class="code-string">"linear-color-stop"</span>: { </code></td></tr><tr><td id="L21169" class="css-a4x74f"><span>21169</span></td><td id="LC21169" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<color> <color-stop-length>?"</span> </code></td></tr><tr><td id="L21170" class="css-a4x74f"><span>21170</span></td><td id="LC21170" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21171" class="css-a4x74f"><span>21171</span></td><td id="LC21171" class="css-1dcdqdg"><code> <span class="code-string">"linear-gradient()"</span>: { </code></td></tr><tr><td id="L21172" class="css-a4x74f"><span>21172</span></td><td id="LC21172" class="css-1dcdqdg"><code> syntax: <span class="code-string">"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"</span> </code></td></tr><tr><td id="L21173" class="css-a4x74f"><span>21173</span></td><td id="LC21173" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21174" class="css-a4x74f"><span>21174</span></td><td id="LC21174" class="css-1dcdqdg"><code> <span class="code-string">"mask-layer"</span>: { </code></td></tr><tr><td id="L21175" class="css-a4x74f"><span>21175</span></td><td id="LC21175" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"</span> </code></td></tr><tr><td id="L21176" class="css-a4x74f"><span>21176</span></td><td id="LC21176" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21177" class="css-a4x74f"><span>21177</span></td><td id="LC21177" class="css-1dcdqdg"><code> <span class="code-string">"mask-position"</span>: { </code></td></tr><tr><td id="L21178" class="css-a4x74f"><span>21178</span></td><td id="LC21178" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?"</span> </code></td></tr><tr><td id="L21179" class="css-a4x74f"><span>21179</span></td><td id="LC21179" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21180" class="css-a4x74f"><span>21180</span></td><td id="LC21180" class="css-1dcdqdg"><code> <span class="code-string">"mask-reference"</span>: { </code></td></tr><tr><td id="L21181" class="css-a4x74f"><span>21181</span></td><td id="LC21181" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <image> | <mask-source>"</span> </code></td></tr><tr><td id="L21182" class="css-a4x74f"><span>21182</span></td><td id="LC21182" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21183" class="css-a4x74f"><span>21183</span></td><td id="LC21183" class="css-1dcdqdg"><code> <span class="code-string">"mask-source"</span>: { </code></td></tr><tr><td id="L21184" class="css-a4x74f"><span>21184</span></td><td id="LC21184" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url>"</span> </code></td></tr><tr><td id="L21185" class="css-a4x74f"><span>21185</span></td><td id="LC21185" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21186" class="css-a4x74f"><span>21186</span></td><td id="LC21186" class="css-1dcdqdg"><code> <span class="code-string">"masking-mode"</span>: { </code></td></tr><tr><td id="L21187" class="css-a4x74f"><span>21187</span></td><td id="LC21187" class="css-1dcdqdg"><code> syntax: <span class="code-string">"alpha | luminance | match-source"</span> </code></td></tr><tr><td id="L21188" class="css-a4x74f"><span>21188</span></td><td id="LC21188" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21189" class="css-a4x74f"><span>21189</span></td><td id="LC21189" class="css-1dcdqdg"><code> <span class="code-string">"matrix()"</span>: { </code></td></tr><tr><td id="L21190" class="css-a4x74f"><span>21190</span></td><td id="LC21190" class="css-1dcdqdg"><code> syntax: <span class="code-string">"matrix( <number>#{6} )"</span> </code></td></tr><tr><td id="L21191" class="css-a4x74f"><span>21191</span></td><td id="LC21191" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21192" class="css-a4x74f"><span>21192</span></td><td id="LC21192" class="css-1dcdqdg"><code> <span class="code-string">"matrix3d()"</span>: { </code></td></tr><tr><td id="L21193" class="css-a4x74f"><span>21193</span></td><td id="LC21193" class="css-1dcdqdg"><code> syntax: <span class="code-string">"matrix3d( <number>#{16} )"</span> </code></td></tr><tr><td id="L21194" class="css-a4x74f"><span>21194</span></td><td id="LC21194" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21195" class="css-a4x74f"><span>21195</span></td><td id="LC21195" class="css-1dcdqdg"><code> <span class="code-string">"max()"</span>: { </code></td></tr><tr><td id="L21196" class="css-a4x74f"><span>21196</span></td><td id="LC21196" class="css-1dcdqdg"><code> syntax: <span class="code-string">"max( <calc-sum># )"</span> </code></td></tr><tr><td id="L21197" class="css-a4x74f"><span>21197</span></td><td id="LC21197" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21198" class="css-a4x74f"><span>21198</span></td><td id="LC21198" class="css-1dcdqdg"><code> <span class="code-string">"media-and"</span>: { </code></td></tr><tr><td id="L21199" class="css-a4x74f"><span>21199</span></td><td id="LC21199" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-in-parens> [ and <media-in-parens> ]+"</span> </code></td></tr><tr><td id="L21200" class="css-a4x74f"><span>21200</span></td><td id="LC21200" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21201" class="css-a4x74f"><span>21201</span></td><td id="LC21201" class="css-1dcdqdg"><code> <span class="code-string">"media-condition"</span>: { </code></td></tr><tr><td id="L21202" class="css-a4x74f"><span>21202</span></td><td id="LC21202" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-not> | <media-and> | <media-or> | <media-in-parens>"</span> </code></td></tr><tr><td id="L21203" class="css-a4x74f"><span>21203</span></td><td id="LC21203" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21204" class="css-a4x74f"><span>21204</span></td><td id="LC21204" class="css-1dcdqdg"><code> <span class="code-string">"media-condition-without-or"</span>: { </code></td></tr><tr><td id="L21205" class="css-a4x74f"><span>21205</span></td><td id="LC21205" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-not> | <media-and> | <media-in-parens>"</span> </code></td></tr><tr><td id="L21206" class="css-a4x74f"><span>21206</span></td><td id="LC21206" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21207" class="css-a4x74f"><span>21207</span></td><td id="LC21207" class="css-1dcdqdg"><code> <span class="code-string">"media-feature"</span>: { </code></td></tr><tr><td id="L21208" class="css-a4x74f"><span>21208</span></td><td id="LC21208" class="css-1dcdqdg"><code> syntax: <span class="code-string">"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )"</span> </code></td></tr><tr><td id="L21209" class="css-a4x74f"><span>21209</span></td><td id="LC21209" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21210" class="css-a4x74f"><span>21210</span></td><td id="LC21210" class="css-1dcdqdg"><code> <span class="code-string">"media-in-parens"</span>: { </code></td></tr><tr><td id="L21211" class="css-a4x74f"><span>21211</span></td><td id="LC21211" class="css-1dcdqdg"><code> syntax: <span class="code-string">"( <media-condition> ) | <media-feature> | <general-enclosed>"</span> </code></td></tr><tr><td id="L21212" class="css-a4x74f"><span>21212</span></td><td id="LC21212" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21213" class="css-a4x74f"><span>21213</span></td><td id="LC21213" class="css-1dcdqdg"><code> <span class="code-string">"media-not"</span>: { </code></td></tr><tr><td id="L21214" class="css-a4x74f"><span>21214</span></td><td id="LC21214" class="css-1dcdqdg"><code> syntax: <span class="code-string">"not <media-in-parens>"</span> </code></td></tr><tr><td id="L21215" class="css-a4x74f"><span>21215</span></td><td id="LC21215" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21216" class="css-a4x74f"><span>21216</span></td><td id="LC21216" class="css-1dcdqdg"><code> <span class="code-string">"media-or"</span>: { </code></td></tr><tr><td id="L21217" class="css-a4x74f"><span>21217</span></td><td id="LC21217" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-in-parens> [ or <media-in-parens> ]+"</span> </code></td></tr><tr><td id="L21218" class="css-a4x74f"><span>21218</span></td><td id="LC21218" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21219" class="css-a4x74f"><span>21219</span></td><td id="LC21219" class="css-1dcdqdg"><code> <span class="code-string">"media-query"</span>: { </code></td></tr><tr><td id="L21220" class="css-a4x74f"><span>21220</span></td><td id="LC21220" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"</span> </code></td></tr><tr><td id="L21221" class="css-a4x74f"><span>21221</span></td><td id="LC21221" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21222" class="css-a4x74f"><span>21222</span></td><td id="LC21222" class="css-1dcdqdg"><code> <span class="code-string">"media-query-list"</span>: { </code></td></tr><tr><td id="L21223" class="css-a4x74f"><span>21223</span></td><td id="LC21223" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<media-query>#"</span> </code></td></tr><tr><td id="L21224" class="css-a4x74f"><span>21224</span></td><td id="LC21224" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21225" class="css-a4x74f"><span>21225</span></td><td id="LC21225" class="css-1dcdqdg"><code> <span class="code-string">"media-type"</span>: { </code></td></tr><tr><td id="L21226" class="css-a4x74f"><span>21226</span></td><td id="LC21226" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident>"</span> </code></td></tr><tr><td id="L21227" class="css-a4x74f"><span>21227</span></td><td id="LC21227" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21228" class="css-a4x74f"><span>21228</span></td><td id="LC21228" class="css-1dcdqdg"><code> <span class="code-string">"mf-boolean"</span>: { </code></td></tr><tr><td id="L21229" class="css-a4x74f"><span>21229</span></td><td id="LC21229" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mf-name>"</span> </code></td></tr><tr><td id="L21230" class="css-a4x74f"><span>21230</span></td><td id="LC21230" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21231" class="css-a4x74f"><span>21231</span></td><td id="LC21231" class="css-1dcdqdg"><code> <span class="code-string">"mf-name"</span>: { </code></td></tr><tr><td id="L21232" class="css-a4x74f"><span>21232</span></td><td id="LC21232" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident>"</span> </code></td></tr><tr><td id="L21233" class="css-a4x74f"><span>21233</span></td><td id="LC21233" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21234" class="css-a4x74f"><span>21234</span></td><td id="LC21234" class="css-1dcdqdg"><code> <span class="code-string">"mf-plain"</span>: { </code></td></tr><tr><td id="L21235" class="css-a4x74f"><span>21235</span></td><td id="LC21235" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mf-name> : <mf-value>"</span> </code></td></tr><tr><td id="L21236" class="css-a4x74f"><span>21236</span></td><td id="LC21236" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21237" class="css-a4x74f"><span>21237</span></td><td id="LC21237" class="css-1dcdqdg"><code> <span class="code-string">"mf-range"</span>: { </code></td></tr><tr><td id="L21238" class="css-a4x74f"><span>21238</span></td><td id="LC21238" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mf-name> [ '<' | '>' ]? '='? <mf-value>\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>"</span> </code></td></tr><tr><td id="L21239" class="css-a4x74f"><span>21239</span></td><td id="LC21239" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21240" class="css-a4x74f"><span>21240</span></td><td id="LC21240" class="css-1dcdqdg"><code> <span class="code-string">"mf-value"</span>: { </code></td></tr><tr><td id="L21241" class="css-a4x74f"><span>21241</span></td><td id="LC21241" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | <dimension> | <ident> | <ratio>"</span> </code></td></tr><tr><td id="L21242" class="css-a4x74f"><span>21242</span></td><td id="LC21242" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21243" class="css-a4x74f"><span>21243</span></td><td id="LC21243" class="css-1dcdqdg"><code> <span class="code-string">"min()"</span>: { </code></td></tr><tr><td id="L21244" class="css-a4x74f"><span>21244</span></td><td id="LC21244" class="css-1dcdqdg"><code> syntax: <span class="code-string">"min( <calc-sum># )"</span> </code></td></tr><tr><td id="L21245" class="css-a4x74f"><span>21245</span></td><td id="LC21245" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21246" class="css-a4x74f"><span>21246</span></td><td id="LC21246" class="css-1dcdqdg"><code> <span class="code-string">"minmax()"</span>: { </code></td></tr><tr><td id="L21247" class="css-a4x74f"><span>21247</span></td><td id="LC21247" class="css-1dcdqdg"><code> syntax: <span class="code-string">"minmax( [ <length> | <percentage> | <flex> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )"</span> </code></td></tr><tr><td id="L21248" class="css-a4x74f"><span>21248</span></td><td id="LC21248" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21249" class="css-a4x74f"><span>21249</span></td><td id="LC21249" class="css-1dcdqdg"><code> <span class="code-string">"named-color"</span>: { </code></td></tr><tr><td id="L21250" class="css-a4x74f"><span>21250</span></td><td id="LC21250" class="css-1dcdqdg"><code> syntax: <span class="code-string">"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen"</span> </code></td></tr><tr><td id="L21251" class="css-a4x74f"><span>21251</span></td><td id="LC21251" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21252" class="css-a4x74f"><span>21252</span></td><td id="LC21252" class="css-1dcdqdg"><code> <span class="code-string">"namespace-prefix"</span>: { </code></td></tr><tr><td id="L21253" class="css-a4x74f"><span>21253</span></td><td id="LC21253" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident>"</span> </code></td></tr><tr><td id="L21254" class="css-a4x74f"><span>21254</span></td><td id="LC21254" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21255" class="css-a4x74f"><span>21255</span></td><td id="LC21255" class="css-1dcdqdg"><code> <span class="code-string">"ns-prefix"</span>: { </code></td></tr><tr><td id="L21256" class="css-a4x74f"><span>21256</span></td><td id="LC21256" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <ident-token> | '*' ]? '|'"</span> </code></td></tr><tr><td id="L21257" class="css-a4x74f"><span>21257</span></td><td id="LC21257" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21258" class="css-a4x74f"><span>21258</span></td><td id="LC21258" class="css-1dcdqdg"><code> <span class="code-string">"number-percentage"</span>: { </code></td></tr><tr><td id="L21259" class="css-a4x74f"><span>21259</span></td><td id="LC21259" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | <percentage>"</span> </code></td></tr><tr><td id="L21260" class="css-a4x74f"><span>21260</span></td><td id="LC21260" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21261" class="css-a4x74f"><span>21261</span></td><td id="LC21261" class="css-1dcdqdg"><code> <span class="code-string">"numeric-figure-values"</span>: { </code></td></tr><tr><td id="L21262" class="css-a4x74f"><span>21262</span></td><td id="LC21262" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ lining-nums | oldstyle-nums ]"</span> </code></td></tr><tr><td id="L21263" class="css-a4x74f"><span>21263</span></td><td id="LC21263" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21264" class="css-a4x74f"><span>21264</span></td><td id="LC21264" class="css-1dcdqdg"><code> <span class="code-string">"numeric-fraction-values"</span>: { </code></td></tr><tr><td id="L21265" class="css-a4x74f"><span>21265</span></td><td id="LC21265" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ diagonal-fractions | stacked-fractions ]"</span> </code></td></tr><tr><td id="L21266" class="css-a4x74f"><span>21266</span></td><td id="LC21266" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21267" class="css-a4x74f"><span>21267</span></td><td id="LC21267" class="css-1dcdqdg"><code> <span class="code-string">"numeric-spacing-values"</span>: { </code></td></tr><tr><td id="L21268" class="css-a4x74f"><span>21268</span></td><td id="LC21268" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ proportional-nums | tabular-nums ]"</span> </code></td></tr><tr><td id="L21269" class="css-a4x74f"><span>21269</span></td><td id="LC21269" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21270" class="css-a4x74f"><span>21270</span></td><td id="LC21270" class="css-1dcdqdg"><code> nth: nth, </code></td></tr><tr><td id="L21271" class="css-a4x74f"><span>21271</span></td><td id="LC21271" class="css-1dcdqdg"><code> <span class="code-string">"opacity()"</span>: { </code></td></tr><tr><td id="L21272" class="css-a4x74f"><span>21272</span></td><td id="LC21272" class="css-1dcdqdg"><code> syntax: <span class="code-string">"opacity( [ <number-percentage> ] )"</span> </code></td></tr><tr><td id="L21273" class="css-a4x74f"><span>21273</span></td><td id="LC21273" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21274" class="css-a4x74f"><span>21274</span></td><td id="LC21274" class="css-1dcdqdg"><code> <span class="code-string">"overflow-position"</span>: { </code></td></tr><tr><td id="L21275" class="css-a4x74f"><span>21275</span></td><td id="LC21275" class="css-1dcdqdg"><code> syntax: <span class="code-string">"unsafe | safe"</span> </code></td></tr><tr><td id="L21276" class="css-a4x74f"><span>21276</span></td><td id="LC21276" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21277" class="css-a4x74f"><span>21277</span></td><td id="LC21277" class="css-1dcdqdg"><code> <span class="code-string">"outline-radius"</span>: { </code></td></tr><tr><td id="L21278" class="css-a4x74f"><span>21278</span></td><td id="LC21278" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span> </code></td></tr><tr><td id="L21279" class="css-a4x74f"><span>21279</span></td><td id="LC21279" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21280" class="css-a4x74f"><span>21280</span></td><td id="LC21280" class="css-1dcdqdg"><code> <span class="code-string">"page-body"</span>: { </code></td></tr><tr><td id="L21281" class="css-a4x74f"><span>21281</span></td><td id="LC21281" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>"</span> </code></td></tr><tr><td id="L21282" class="css-a4x74f"><span>21282</span></td><td id="LC21282" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21283" class="css-a4x74f"><span>21283</span></td><td id="LC21283" class="css-1dcdqdg"><code> <span class="code-string">"page-margin-box"</span>: { </code></td></tr><tr><td id="L21284" class="css-a4x74f"><span>21284</span></td><td id="LC21284" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<page-margin-box-type> '{' <declaration-list> '}'"</span> </code></td></tr><tr><td id="L21285" class="css-a4x74f"><span>21285</span></td><td id="LC21285" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21286" class="css-a4x74f"><span>21286</span></td><td id="LC21286" class="css-1dcdqdg"><code> <span class="code-string">"page-margin-box-type"</span>: { </code></td></tr><tr><td id="L21287" class="css-a4x74f"><span>21287</span></td><td id="LC21287" class="css-1dcdqdg"><code> syntax: <span class="code-string">"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom"</span> </code></td></tr><tr><td id="L21288" class="css-a4x74f"><span>21288</span></td><td id="LC21288" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21289" class="css-a4x74f"><span>21289</span></td><td id="LC21289" class="css-1dcdqdg"><code> <span class="code-string">"page-selector-list"</span>: { </code></td></tr><tr><td id="L21290" class="css-a4x74f"><span>21290</span></td><td id="LC21290" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <page-selector># ]?"</span> </code></td></tr><tr><td id="L21291" class="css-a4x74f"><span>21291</span></td><td id="LC21291" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21292" class="css-a4x74f"><span>21292</span></td><td id="LC21292" class="css-1dcdqdg"><code> <span class="code-string">"page-selector"</span>: { </code></td></tr><tr><td id="L21293" class="css-a4x74f"><span>21293</span></td><td id="LC21293" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<pseudo-page>+ | <ident> <pseudo-page>*"</span> </code></td></tr><tr><td id="L21294" class="css-a4x74f"><span>21294</span></td><td id="LC21294" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21295" class="css-a4x74f"><span>21295</span></td><td id="LC21295" class="css-1dcdqdg"><code> <span class="code-string">"paint()"</span>: { </code></td></tr><tr><td id="L21296" class="css-a4x74f"><span>21296</span></td><td id="LC21296" class="css-1dcdqdg"><code> syntax: <span class="code-string">"paint( <ident>, <declaration-value>? )"</span> </code></td></tr><tr><td id="L21297" class="css-a4x74f"><span>21297</span></td><td id="LC21297" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21298" class="css-a4x74f"><span>21298</span></td><td id="LC21298" class="css-1dcdqdg"><code> <span class="code-string">"perspective()"</span>: { </code></td></tr><tr><td id="L21299" class="css-a4x74f"><span>21299</span></td><td id="LC21299" class="css-1dcdqdg"><code> syntax: <span class="code-string">"perspective( <length> )"</span> </code></td></tr><tr><td id="L21300" class="css-a4x74f"><span>21300</span></td><td id="LC21300" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21301" class="css-a4x74f"><span>21301</span></td><td id="LC21301" class="css-1dcdqdg"><code> <span class="code-string">"polygon()"</span>: { </code></td></tr><tr><td id="L21302" class="css-a4x74f"><span>21302</span></td><td id="LC21302" class="css-1dcdqdg"><code> syntax: <span class="code-string">"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )"</span> </code></td></tr><tr><td id="L21303" class="css-a4x74f"><span>21303</span></td><td id="LC21303" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21304" class="css-a4x74f"><span>21304</span></td><td id="LC21304" class="css-1dcdqdg"><code> position: position$<span class="code-number">1</span>, </code></td></tr><tr><td id="L21305" class="css-a4x74f"><span>21305</span></td><td id="LC21305" class="css-1dcdqdg"><code> <span class="code-string">"pseudo-class-selector"</span>: { </code></td></tr><tr><td id="L21306" class="css-a4x74f"><span>21306</span></td><td id="LC21306" class="css-1dcdqdg"><code> syntax: <span class="code-string">"':' <ident-token> | ':' <function-token> <any-value> ')'"</span> </code></td></tr><tr><td id="L21307" class="css-a4x74f"><span>21307</span></td><td id="LC21307" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21308" class="css-a4x74f"><span>21308</span></td><td id="LC21308" class="css-1dcdqdg"><code> <span class="code-string">"pseudo-element-selector"</span>: { </code></td></tr><tr><td id="L21309" class="css-a4x74f"><span>21309</span></td><td id="LC21309" class="css-1dcdqdg"><code> syntax: <span class="code-string">"':' <pseudo-class-selector>"</span> </code></td></tr><tr><td id="L21310" class="css-a4x74f"><span>21310</span></td><td id="LC21310" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21311" class="css-a4x74f"><span>21311</span></td><td id="LC21311" class="css-1dcdqdg"><code> <span class="code-string">"pseudo-page"</span>: { </code></td></tr><tr><td id="L21312" class="css-a4x74f"><span>21312</span></td><td id="LC21312" class="css-1dcdqdg"><code> syntax: <span class="code-string">": [ left | right | first | blank ]"</span> </code></td></tr><tr><td id="L21313" class="css-a4x74f"><span>21313</span></td><td id="LC21313" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21314" class="css-a4x74f"><span>21314</span></td><td id="LC21314" class="css-1dcdqdg"><code> quote: quote, </code></td></tr><tr><td id="L21315" class="css-a4x74f"><span>21315</span></td><td id="LC21315" class="css-1dcdqdg"><code> <span class="code-string">"radial-gradient()"</span>: { </code></td></tr><tr><td id="L21316" class="css-a4x74f"><span>21316</span></td><td id="LC21316" class="css-1dcdqdg"><code> syntax: <span class="code-string">"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"</span> </code></td></tr><tr><td id="L21317" class="css-a4x74f"><span>21317</span></td><td id="LC21317" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21318" class="css-a4x74f"><span>21318</span></td><td id="LC21318" class="css-1dcdqdg"><code> <span class="code-string">"relative-selector"</span>: { </code></td></tr><tr><td id="L21319" class="css-a4x74f"><span>21319</span></td><td id="LC21319" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<combinator>? <complex-selector>"</span> </code></td></tr><tr><td id="L21320" class="css-a4x74f"><span>21320</span></td><td id="LC21320" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21321" class="css-a4x74f"><span>21321</span></td><td id="LC21321" class="css-1dcdqdg"><code> <span class="code-string">"relative-selector-list"</span>: { </code></td></tr><tr><td id="L21322" class="css-a4x74f"><span>21322</span></td><td id="LC21322" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<relative-selector>#"</span> </code></td></tr><tr><td id="L21323" class="css-a4x74f"><span>21323</span></td><td id="LC21323" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21324" class="css-a4x74f"><span>21324</span></td><td id="LC21324" class="css-1dcdqdg"><code> <span class="code-string">"relative-size"</span>: { </code></td></tr><tr><td id="L21325" class="css-a4x74f"><span>21325</span></td><td id="LC21325" class="css-1dcdqdg"><code> syntax: <span class="code-string">"larger | smaller"</span> </code></td></tr><tr><td id="L21326" class="css-a4x74f"><span>21326</span></td><td id="LC21326" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21327" class="css-a4x74f"><span>21327</span></td><td id="LC21327" class="css-1dcdqdg"><code> <span class="code-string">"repeat-style"</span>: { </code></td></tr><tr><td id="L21328" class="css-a4x74f"><span>21328</span></td><td id="LC21328" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}"</span> </code></td></tr><tr><td id="L21329" class="css-a4x74f"><span>21329</span></td><td id="LC21329" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21330" class="css-a4x74f"><span>21330</span></td><td id="LC21330" class="css-1dcdqdg"><code> <span class="code-string">"repeating-linear-gradient()"</span>: { </code></td></tr><tr><td id="L21331" class="css-a4x74f"><span>21331</span></td><td id="LC21331" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"</span> </code></td></tr><tr><td id="L21332" class="css-a4x74f"><span>21332</span></td><td id="LC21332" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21333" class="css-a4x74f"><span>21333</span></td><td id="LC21333" class="css-1dcdqdg"><code> <span class="code-string">"repeating-radial-gradient()"</span>: { </code></td></tr><tr><td id="L21334" class="css-a4x74f"><span>21334</span></td><td id="LC21334" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"</span> </code></td></tr><tr><td id="L21335" class="css-a4x74f"><span>21335</span></td><td id="LC21335" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21336" class="css-a4x74f"><span>21336</span></td><td id="LC21336" class="css-1dcdqdg"><code> <span class="code-string">"rgb()"</span>: { </code></td></tr><tr><td id="L21337" class="css-a4x74f"><span>21337</span></td><td id="LC21337" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"</span> </code></td></tr><tr><td id="L21338" class="css-a4x74f"><span>21338</span></td><td id="LC21338" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21339" class="css-a4x74f"><span>21339</span></td><td id="LC21339" class="css-1dcdqdg"><code> <span class="code-string">"rgba()"</span>: { </code></td></tr><tr><td id="L21340" class="css-a4x74f"><span>21340</span></td><td id="LC21340" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"</span> </code></td></tr><tr><td id="L21341" class="css-a4x74f"><span>21341</span></td><td id="LC21341" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21342" class="css-a4x74f"><span>21342</span></td><td id="LC21342" class="css-1dcdqdg"><code> <span class="code-string">"rotate()"</span>: { </code></td></tr><tr><td id="L21343" class="css-a4x74f"><span>21343</span></td><td id="LC21343" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rotate( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21344" class="css-a4x74f"><span>21344</span></td><td id="LC21344" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21345" class="css-a4x74f"><span>21345</span></td><td id="LC21345" class="css-1dcdqdg"><code> <span class="code-string">"rotate3d()"</span>: { </code></td></tr><tr><td id="L21346" class="css-a4x74f"><span>21346</span></td><td id="LC21346" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21347" class="css-a4x74f"><span>21347</span></td><td id="LC21347" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21348" class="css-a4x74f"><span>21348</span></td><td id="LC21348" class="css-1dcdqdg"><code> <span class="code-string">"rotateX()"</span>: { </code></td></tr><tr><td id="L21349" class="css-a4x74f"><span>21349</span></td><td id="LC21349" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rotateX( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21350" class="css-a4x74f"><span>21350</span></td><td id="LC21350" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21351" class="css-a4x74f"><span>21351</span></td><td id="LC21351" class="css-1dcdqdg"><code> <span class="code-string">"rotateY()"</span>: { </code></td></tr><tr><td id="L21352" class="css-a4x74f"><span>21352</span></td><td id="LC21352" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rotateY( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21353" class="css-a4x74f"><span>21353</span></td><td id="LC21353" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21354" class="css-a4x74f"><span>21354</span></td><td id="LC21354" class="css-1dcdqdg"><code> <span class="code-string">"rotateZ()"</span>: { </code></td></tr><tr><td id="L21355" class="css-a4x74f"><span>21355</span></td><td id="LC21355" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rotateZ( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21356" class="css-a4x74f"><span>21356</span></td><td id="LC21356" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21357" class="css-a4x74f"><span>21357</span></td><td id="LC21357" class="css-1dcdqdg"><code> <span class="code-string">"saturate()"</span>: { </code></td></tr><tr><td id="L21358" class="css-a4x74f"><span>21358</span></td><td id="LC21358" class="css-1dcdqdg"><code> syntax: <span class="code-string">"saturate( <number-percentage> )"</span> </code></td></tr><tr><td id="L21359" class="css-a4x74f"><span>21359</span></td><td id="LC21359" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21360" class="css-a4x74f"><span>21360</span></td><td id="LC21360" class="css-1dcdqdg"><code> <span class="code-string">"scale()"</span>: { </code></td></tr><tr><td id="L21361" class="css-a4x74f"><span>21361</span></td><td id="LC21361" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scale( <number> , <number>? )"</span> </code></td></tr><tr><td id="L21362" class="css-a4x74f"><span>21362</span></td><td id="LC21362" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21363" class="css-a4x74f"><span>21363</span></td><td id="LC21363" class="css-1dcdqdg"><code> <span class="code-string">"scale3d()"</span>: { </code></td></tr><tr><td id="L21364" class="css-a4x74f"><span>21364</span></td><td id="LC21364" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scale3d( <number> , <number> , <number> )"</span> </code></td></tr><tr><td id="L21365" class="css-a4x74f"><span>21365</span></td><td id="LC21365" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21366" class="css-a4x74f"><span>21366</span></td><td id="LC21366" class="css-1dcdqdg"><code> <span class="code-string">"scaleX()"</span>: { </code></td></tr><tr><td id="L21367" class="css-a4x74f"><span>21367</span></td><td id="LC21367" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scaleX( <number> )"</span> </code></td></tr><tr><td id="L21368" class="css-a4x74f"><span>21368</span></td><td id="LC21368" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21369" class="css-a4x74f"><span>21369</span></td><td id="LC21369" class="css-1dcdqdg"><code> <span class="code-string">"scaleY()"</span>: { </code></td></tr><tr><td id="L21370" class="css-a4x74f"><span>21370</span></td><td id="LC21370" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scaleY( <number> )"</span> </code></td></tr><tr><td id="L21371" class="css-a4x74f"><span>21371</span></td><td id="LC21371" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21372" class="css-a4x74f"><span>21372</span></td><td id="LC21372" class="css-1dcdqdg"><code> <span class="code-string">"scaleZ()"</span>: { </code></td></tr><tr><td id="L21373" class="css-a4x74f"><span>21373</span></td><td id="LC21373" class="css-1dcdqdg"><code> syntax: <span class="code-string">"scaleZ( <number> )"</span> </code></td></tr><tr><td id="L21374" class="css-a4x74f"><span>21374</span></td><td id="LC21374" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21375" class="css-a4x74f"><span>21375</span></td><td id="LC21375" class="css-1dcdqdg"><code> <span class="code-string">"self-position"</span>: { </code></td></tr><tr><td id="L21376" class="css-a4x74f"><span>21376</span></td><td id="LC21376" class="css-1dcdqdg"><code> syntax: <span class="code-string">"center | start | end | self-start | self-end | flex-start | flex-end"</span> </code></td></tr><tr><td id="L21377" class="css-a4x74f"><span>21377</span></td><td id="LC21377" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21378" class="css-a4x74f"><span>21378</span></td><td id="LC21378" class="css-1dcdqdg"><code> <span class="code-string">"shape-radius"</span>: { </code></td></tr><tr><td id="L21379" class="css-a4x74f"><span>21379</span></td><td id="LC21379" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage> | closest-side | farthest-side"</span> </code></td></tr><tr><td id="L21380" class="css-a4x74f"><span>21380</span></td><td id="LC21380" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21381" class="css-a4x74f"><span>21381</span></td><td id="LC21381" class="css-1dcdqdg"><code> <span class="code-string">"skew()"</span>: { </code></td></tr><tr><td id="L21382" class="css-a4x74f"><span>21382</span></td><td id="LC21382" class="css-1dcdqdg"><code> syntax: <span class="code-string">"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )"</span> </code></td></tr><tr><td id="L21383" class="css-a4x74f"><span>21383</span></td><td id="LC21383" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21384" class="css-a4x74f"><span>21384</span></td><td id="LC21384" class="css-1dcdqdg"><code> <span class="code-string">"skewX()"</span>: { </code></td></tr><tr><td id="L21385" class="css-a4x74f"><span>21385</span></td><td id="LC21385" class="css-1dcdqdg"><code> syntax: <span class="code-string">"skewX( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21386" class="css-a4x74f"><span>21386</span></td><td id="LC21386" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21387" class="css-a4x74f"><span>21387</span></td><td id="LC21387" class="css-1dcdqdg"><code> <span class="code-string">"skewY()"</span>: { </code></td></tr><tr><td id="L21388" class="css-a4x74f"><span>21388</span></td><td id="LC21388" class="css-1dcdqdg"><code> syntax: <span class="code-string">"skewY( [ <angle> | <zero> ] )"</span> </code></td></tr><tr><td id="L21389" class="css-a4x74f"><span>21389</span></td><td id="LC21389" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21390" class="css-a4x74f"><span>21390</span></td><td id="LC21390" class="css-1dcdqdg"><code> <span class="code-string">"sepia()"</span>: { </code></td></tr><tr><td id="L21391" class="css-a4x74f"><span>21391</span></td><td id="LC21391" class="css-1dcdqdg"><code> syntax: <span class="code-string">"sepia( <number-percentage> )"</span> </code></td></tr><tr><td id="L21392" class="css-a4x74f"><span>21392</span></td><td id="LC21392" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21393" class="css-a4x74f"><span>21393</span></td><td id="LC21393" class="css-1dcdqdg"><code> shadow: shadow, </code></td></tr><tr><td id="L21394" class="css-a4x74f"><span>21394</span></td><td id="LC21394" class="css-1dcdqdg"><code> <span class="code-string">"shadow-t"</span>: { </code></td></tr><tr><td id="L21395" class="css-a4x74f"><span>21395</span></td><td id="LC21395" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <length>{2,3} && <color>? ]"</span> </code></td></tr><tr><td id="L21396" class="css-a4x74f"><span>21396</span></td><td id="LC21396" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21397" class="css-a4x74f"><span>21397</span></td><td id="LC21397" class="css-1dcdqdg"><code> shape: shape$<span class="code-number">1</span>, </code></td></tr><tr><td id="L21398" class="css-a4x74f"><span>21398</span></td><td id="LC21398" class="css-1dcdqdg"><code> <span class="code-string">"shape-box"</span>: { </code></td></tr><tr><td id="L21399" class="css-a4x74f"><span>21399</span></td><td id="LC21399" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<box> | margin-box"</span> </code></td></tr><tr><td id="L21400" class="css-a4x74f"><span>21400</span></td><td id="LC21400" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21401" class="css-a4x74f"><span>21401</span></td><td id="LC21401" class="css-1dcdqdg"><code> <span class="code-string">"side-or-corner"</span>: { </code></td></tr><tr><td id="L21402" class="css-a4x74f"><span>21402</span></td><td id="LC21402" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ left | right ] || [ top | bottom ]"</span> </code></td></tr><tr><td id="L21403" class="css-a4x74f"><span>21403</span></td><td id="LC21403" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21404" class="css-a4x74f"><span>21404</span></td><td id="LC21404" class="css-1dcdqdg"><code> <span class="code-string">"single-animation"</span>: { </code></td></tr><tr><td id="L21405" class="css-a4x74f"><span>21405</span></td><td id="LC21405" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]"</span> </code></td></tr><tr><td id="L21406" class="css-a4x74f"><span>21406</span></td><td id="LC21406" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21407" class="css-a4x74f"><span>21407</span></td><td id="LC21407" class="css-1dcdqdg"><code> <span class="code-string">"single-animation-direction"</span>: { </code></td></tr><tr><td id="L21408" class="css-a4x74f"><span>21408</span></td><td id="LC21408" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | reverse | alternate | alternate-reverse"</span> </code></td></tr><tr><td id="L21409" class="css-a4x74f"><span>21409</span></td><td id="LC21409" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21410" class="css-a4x74f"><span>21410</span></td><td id="LC21410" class="css-1dcdqdg"><code> <span class="code-string">"single-animation-fill-mode"</span>: { </code></td></tr><tr><td id="L21411" class="css-a4x74f"><span>21411</span></td><td id="LC21411" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | forwards | backwards | both"</span> </code></td></tr><tr><td id="L21412" class="css-a4x74f"><span>21412</span></td><td id="LC21412" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21413" class="css-a4x74f"><span>21413</span></td><td id="LC21413" class="css-1dcdqdg"><code> <span class="code-string">"single-animation-iteration-count"</span>: { </code></td></tr><tr><td id="L21414" class="css-a4x74f"><span>21414</span></td><td id="LC21414" class="css-1dcdqdg"><code> syntax: <span class="code-string">"infinite | <number>"</span> </code></td></tr><tr><td id="L21415" class="css-a4x74f"><span>21415</span></td><td id="LC21415" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21416" class="css-a4x74f"><span>21416</span></td><td id="LC21416" class="css-1dcdqdg"><code> <span class="code-string">"single-animation-play-state"</span>: { </code></td></tr><tr><td id="L21417" class="css-a4x74f"><span>21417</span></td><td id="LC21417" class="css-1dcdqdg"><code> syntax: <span class="code-string">"running | paused"</span> </code></td></tr><tr><td id="L21418" class="css-a4x74f"><span>21418</span></td><td id="LC21418" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21419" class="css-a4x74f"><span>21419</span></td><td id="LC21419" class="css-1dcdqdg"><code> <span class="code-string">"single-transition"</span>: { </code></td></tr><tr><td id="L21420" class="css-a4x74f"><span>21420</span></td><td id="LC21420" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>"</span> </code></td></tr><tr><td id="L21421" class="css-a4x74f"><span>21421</span></td><td id="LC21421" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21422" class="css-a4x74f"><span>21422</span></td><td id="LC21422" class="css-1dcdqdg"><code> <span class="code-string">"single-transition-property"</span>: { </code></td></tr><tr><td id="L21423" class="css-a4x74f"><span>21423</span></td><td id="LC21423" class="css-1dcdqdg"><code> syntax: <span class="code-string">"all | <custom-ident>"</span> </code></td></tr><tr><td id="L21424" class="css-a4x74f"><span>21424</span></td><td id="LC21424" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21425" class="css-a4x74f"><span>21425</span></td><td id="LC21425" class="css-1dcdqdg"><code> size: size, </code></td></tr><tr><td id="L21426" class="css-a4x74f"><span>21426</span></td><td id="LC21426" class="css-1dcdqdg"><code> <span class="code-string">"step-position"</span>: { </code></td></tr><tr><td id="L21427" class="css-a4x74f"><span>21427</span></td><td id="LC21427" class="css-1dcdqdg"><code> syntax: <span class="code-string">"jump-start | jump-end | jump-none | jump-both | start | end"</span> </code></td></tr><tr><td id="L21428" class="css-a4x74f"><span>21428</span></td><td id="LC21428" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21429" class="css-a4x74f"><span>21429</span></td><td id="LC21429" class="css-1dcdqdg"><code> <span class="code-string">"step-timing-function"</span>: { </code></td></tr><tr><td id="L21430" class="css-a4x74f"><span>21430</span></td><td id="LC21430" class="css-1dcdqdg"><code> syntax: <span class="code-string">"step-start | step-end | steps(<integer>[, <step-position>]?)"</span> </code></td></tr><tr><td id="L21431" class="css-a4x74f"><span>21431</span></td><td id="LC21431" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21432" class="css-a4x74f"><span>21432</span></td><td id="LC21432" class="css-1dcdqdg"><code> <span class="code-string">"subclass-selector"</span>: { </code></td></tr><tr><td id="L21433" class="css-a4x74f"><span>21433</span></td><td id="LC21433" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>"</span> </code></td></tr><tr><td id="L21434" class="css-a4x74f"><span>21434</span></td><td id="LC21434" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21435" class="css-a4x74f"><span>21435</span></td><td id="LC21435" class="css-1dcdqdg"><code> <span class="code-string">"supports-condition"</span>: { </code></td></tr><tr><td id="L21436" class="css-a4x74f"><span>21436</span></td><td id="LC21436" class="css-1dcdqdg"><code> syntax: <span class="code-string">"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*"</span> </code></td></tr><tr><td id="L21437" class="css-a4x74f"><span>21437</span></td><td id="LC21437" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21438" class="css-a4x74f"><span>21438</span></td><td id="LC21438" class="css-1dcdqdg"><code> <span class="code-string">"supports-in-parens"</span>: { </code></td></tr><tr><td id="L21439" class="css-a4x74f"><span>21439</span></td><td id="LC21439" class="css-1dcdqdg"><code> syntax: <span class="code-string">"( <supports-condition> ) | <supports-feature> | <general-enclosed>"</span> </code></td></tr><tr><td id="L21440" class="css-a4x74f"><span>21440</span></td><td id="LC21440" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21441" class="css-a4x74f"><span>21441</span></td><td id="LC21441" class="css-1dcdqdg"><code> <span class="code-string">"supports-feature"</span>: { </code></td></tr><tr><td id="L21442" class="css-a4x74f"><span>21442</span></td><td id="LC21442" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<supports-decl> | <supports-selector-fn>"</span> </code></td></tr><tr><td id="L21443" class="css-a4x74f"><span>21443</span></td><td id="LC21443" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21444" class="css-a4x74f"><span>21444</span></td><td id="LC21444" class="css-1dcdqdg"><code> <span class="code-string">"supports-decl"</span>: { </code></td></tr><tr><td id="L21445" class="css-a4x74f"><span>21445</span></td><td id="LC21445" class="css-1dcdqdg"><code> syntax: <span class="code-string">"( <declaration> )"</span> </code></td></tr><tr><td id="L21446" class="css-a4x74f"><span>21446</span></td><td id="LC21446" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21447" class="css-a4x74f"><span>21447</span></td><td id="LC21447" class="css-1dcdqdg"><code> <span class="code-string">"supports-selector-fn"</span>: { </code></td></tr><tr><td id="L21448" class="css-a4x74f"><span>21448</span></td><td id="LC21448" class="css-1dcdqdg"><code> syntax: <span class="code-string">"selector( <complex-selector> )"</span> </code></td></tr><tr><td id="L21449" class="css-a4x74f"><span>21449</span></td><td id="LC21449" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21450" class="css-a4x74f"><span>21450</span></td><td id="LC21450" class="css-1dcdqdg"><code> symbol: symbol, </code></td></tr><tr><td id="L21451" class="css-a4x74f"><span>21451</span></td><td id="LC21451" class="css-1dcdqdg"><code> target: target, </code></td></tr><tr><td id="L21452" class="css-a4x74f"><span>21452</span></td><td id="LC21452" class="css-1dcdqdg"><code> <span class="code-string">"target-counter()"</span>: { </code></td></tr><tr><td id="L21453" class="css-a4x74f"><span>21453</span></td><td id="LC21453" class="css-1dcdqdg"><code> syntax: <span class="code-string">"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )"</span> </code></td></tr><tr><td id="L21454" class="css-a4x74f"><span>21454</span></td><td id="LC21454" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21455" class="css-a4x74f"><span>21455</span></td><td id="LC21455" class="css-1dcdqdg"><code> <span class="code-string">"target-counters()"</span>: { </code></td></tr><tr><td id="L21456" class="css-a4x74f"><span>21456</span></td><td id="LC21456" class="css-1dcdqdg"><code> syntax: <span class="code-string">"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )"</span> </code></td></tr><tr><td id="L21457" class="css-a4x74f"><span>21457</span></td><td id="LC21457" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21458" class="css-a4x74f"><span>21458</span></td><td id="LC21458" class="css-1dcdqdg"><code> <span class="code-string">"target-text()"</span>: { </code></td></tr><tr><td id="L21459" class="css-a4x74f"><span>21459</span></td><td id="LC21459" class="css-1dcdqdg"><code> syntax: <span class="code-string">"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )"</span> </code></td></tr><tr><td id="L21460" class="css-a4x74f"><span>21460</span></td><td id="LC21460" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21461" class="css-a4x74f"><span>21461</span></td><td id="LC21461" class="css-1dcdqdg"><code> <span class="code-string">"time-percentage"</span>: { </code></td></tr><tr><td id="L21462" class="css-a4x74f"><span>21462</span></td><td id="LC21462" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> | <percentage>"</span> </code></td></tr><tr><td id="L21463" class="css-a4x74f"><span>21463</span></td><td id="LC21463" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21464" class="css-a4x74f"><span>21464</span></td><td id="LC21464" class="css-1dcdqdg"><code> <span class="code-string">"timing-function"</span>: { </code></td></tr><tr><td id="L21465" class="css-a4x74f"><span>21465</span></td><td id="LC21465" class="css-1dcdqdg"><code> syntax: <span class="code-string">"linear | <cubic-bezier-timing-function> | <step-timing-function>"</span> </code></td></tr><tr><td id="L21466" class="css-a4x74f"><span>21466</span></td><td id="LC21466" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21467" class="css-a4x74f"><span>21467</span></td><td id="LC21467" class="css-1dcdqdg"><code> <span class="code-string">"track-breadth"</span>: { </code></td></tr><tr><td id="L21468" class="css-a4x74f"><span>21468</span></td><td id="LC21468" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage> | <flex> | min-content | max-content | auto"</span> </code></td></tr><tr><td id="L21469" class="css-a4x74f"><span>21469</span></td><td id="LC21469" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21470" class="css-a4x74f"><span>21470</span></td><td id="LC21470" class="css-1dcdqdg"><code> <span class="code-string">"track-list"</span>: { </code></td></tr><tr><td id="L21471" class="css-a4x74f"><span>21471</span></td><td id="LC21471" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?"</span> </code></td></tr><tr><td id="L21472" class="css-a4x74f"><span>21472</span></td><td id="LC21472" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21473" class="css-a4x74f"><span>21473</span></td><td id="LC21473" class="css-1dcdqdg"><code> <span class="code-string">"track-repeat"</span>: { </code></td></tr><tr><td id="L21474" class="css-a4x74f"><span>21474</span></td><td id="LC21474" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )"</span> </code></td></tr><tr><td id="L21475" class="css-a4x74f"><span>21475</span></td><td id="LC21475" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21476" class="css-a4x74f"><span>21476</span></td><td id="LC21476" class="css-1dcdqdg"><code> <span class="code-string">"track-size"</span>: { </code></td></tr><tr><td id="L21477" class="css-a4x74f"><span>21477</span></td><td id="LC21477" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )"</span> </code></td></tr><tr><td id="L21478" class="css-a4x74f"><span>21478</span></td><td id="LC21478" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21479" class="css-a4x74f"><span>21479</span></td><td id="LC21479" class="css-1dcdqdg"><code> <span class="code-string">"transform-function"</span>: { </code></td></tr><tr><td id="L21480" class="css-a4x74f"><span>21480</span></td><td id="LC21480" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>"</span> </code></td></tr><tr><td id="L21481" class="css-a4x74f"><span>21481</span></td><td id="LC21481" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21482" class="css-a4x74f"><span>21482</span></td><td id="LC21482" class="css-1dcdqdg"><code> <span class="code-string">"transform-list"</span>: { </code></td></tr><tr><td id="L21483" class="css-a4x74f"><span>21483</span></td><td id="LC21483" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<transform-function>+"</span> </code></td></tr><tr><td id="L21484" class="css-a4x74f"><span>21484</span></td><td id="LC21484" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21485" class="css-a4x74f"><span>21485</span></td><td id="LC21485" class="css-1dcdqdg"><code> <span class="code-string">"translate()"</span>: { </code></td></tr><tr><td id="L21486" class="css-a4x74f"><span>21486</span></td><td id="LC21486" class="css-1dcdqdg"><code> syntax: <span class="code-string">"translate( <length-percentage> , <length-percentage>? )"</span> </code></td></tr><tr><td id="L21487" class="css-a4x74f"><span>21487</span></td><td id="LC21487" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21488" class="css-a4x74f"><span>21488</span></td><td id="LC21488" class="css-1dcdqdg"><code> <span class="code-string">"translate3d()"</span>: { </code></td></tr><tr><td id="L21489" class="css-a4x74f"><span>21489</span></td><td id="LC21489" class="css-1dcdqdg"><code> syntax: <span class="code-string">"translate3d( <length-percentage> , <length-percentage> , <length> )"</span> </code></td></tr><tr><td id="L21490" class="css-a4x74f"><span>21490</span></td><td id="LC21490" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21491" class="css-a4x74f"><span>21491</span></td><td id="LC21491" class="css-1dcdqdg"><code> <span class="code-string">"translateX()"</span>: { </code></td></tr><tr><td id="L21492" class="css-a4x74f"><span>21492</span></td><td id="LC21492" class="css-1dcdqdg"><code> syntax: <span class="code-string">"translateX( <length-percentage> )"</span> </code></td></tr><tr><td id="L21493" class="css-a4x74f"><span>21493</span></td><td id="LC21493" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21494" class="css-a4x74f"><span>21494</span></td><td id="LC21494" class="css-1dcdqdg"><code> <span class="code-string">"translateY()"</span>: { </code></td></tr><tr><td id="L21495" class="css-a4x74f"><span>21495</span></td><td id="LC21495" class="css-1dcdqdg"><code> syntax: <span class="code-string">"translateY( <length-percentage> )"</span> </code></td></tr><tr><td id="L21496" class="css-a4x74f"><span>21496</span></td><td id="LC21496" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21497" class="css-a4x74f"><span>21497</span></td><td id="LC21497" class="css-1dcdqdg"><code> <span class="code-string">"translateZ()"</span>: { </code></td></tr><tr><td id="L21498" class="css-a4x74f"><span>21498</span></td><td id="LC21498" class="css-1dcdqdg"><code> syntax: <span class="code-string">"translateZ( <length> )"</span> </code></td></tr><tr><td id="L21499" class="css-a4x74f"><span>21499</span></td><td id="LC21499" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21500" class="css-a4x74f"><span>21500</span></td><td id="LC21500" class="css-1dcdqdg"><code> <span class="code-string">"type-or-unit"</span>: { </code></td></tr><tr><td id="L21501" class="css-a4x74f"><span>21501</span></td><td id="LC21501" class="css-1dcdqdg"><code> syntax: <span class="code-string">"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %"</span> </code></td></tr><tr><td id="L21502" class="css-a4x74f"><span>21502</span></td><td id="LC21502" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21503" class="css-a4x74f"><span>21503</span></td><td id="LC21503" class="css-1dcdqdg"><code> <span class="code-string">"type-selector"</span>: { </code></td></tr><tr><td id="L21504" class="css-a4x74f"><span>21504</span></td><td id="LC21504" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<wq-name> | <ns-prefix>? '*'"</span> </code></td></tr><tr><td id="L21505" class="css-a4x74f"><span>21505</span></td><td id="LC21505" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21506" class="css-a4x74f"><span>21506</span></td><td id="LC21506" class="css-1dcdqdg"><code> <span class="code-string">"var()"</span>: { </code></td></tr><tr><td id="L21507" class="css-a4x74f"><span>21507</span></td><td id="LC21507" class="css-1dcdqdg"><code> syntax: <span class="code-string">"var( <custom-property-name> , <declaration-value>? )"</span> </code></td></tr><tr><td id="L21508" class="css-a4x74f"><span>21508</span></td><td id="LC21508" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21509" class="css-a4x74f"><span>21509</span></td><td id="LC21509" class="css-1dcdqdg"><code> <span class="code-string">"viewport-length"</span>: { </code></td></tr><tr><td id="L21510" class="css-a4x74f"><span>21510</span></td><td id="LC21510" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <length-percentage>"</span> </code></td></tr><tr><td id="L21511" class="css-a4x74f"><span>21511</span></td><td id="LC21511" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21512" class="css-a4x74f"><span>21512</span></td><td id="LC21512" class="css-1dcdqdg"><code> <span class="code-string">"wq-name"</span>: { </code></td></tr><tr><td id="L21513" class="css-a4x74f"><span>21513</span></td><td id="LC21513" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ns-prefix>? <ident-token>"</span> </code></td></tr><tr><td id="L21514" class="css-a4x74f"><span>21514</span></td><td id="LC21514" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L21515" class="css-a4x74f"><span>21515</span></td><td id="LC21515" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L21516" class="css-a4x74f"><span>21516</span></td><td id="LC21516" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L21517" class="css-a4x74f"><span>21517</span></td><td id="LC21517" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxes$<span class="code-number">1</span> = <span class="code-comment">/*#__PURE__*/</span><span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L21518" class="css-a4x74f"><span>21518</span></td><td id="LC21518" class="css-1dcdqdg"><code> __proto__: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L21519" class="css-a4x74f"><span>21519</span></td><td id="LC21519" class="css-1dcdqdg"><code> attachment: attachment, </code></td></tr><tr><td id="L21520" class="css-a4x74f"><span>21520</span></td><td id="LC21520" class="css-1dcdqdg"><code> box: box, </code></td></tr><tr><td id="L21521" class="css-a4x74f"><span>21521</span></td><td id="LC21521" class="css-1dcdqdg"><code> color: color$<span class="code-number">1</span>, </code></td></tr><tr><td id="L21522" class="css-a4x74f"><span>21522</span></td><td id="LC21522" class="css-1dcdqdg"><code> combinator: combinator, </code></td></tr><tr><td id="L21523" class="css-a4x74f"><span>21523</span></td><td id="LC21523" class="css-1dcdqdg"><code> compat: compat, </code></td></tr><tr><td id="L21524" class="css-a4x74f"><span>21524</span></td><td id="LC21524" class="css-1dcdqdg"><code> gradient: gradient, </code></td></tr><tr><td id="L21525" class="css-a4x74f"><span>21525</span></td><td id="LC21525" class="css-1dcdqdg"><code> hue: hue, </code></td></tr><tr><td id="L21526" class="css-a4x74f"><span>21526</span></td><td id="LC21526" class="css-1dcdqdg"><code> image: image, </code></td></tr><tr><td id="L21527" class="css-a4x74f"><span>21527</span></td><td id="LC21527" class="css-1dcdqdg"><code> nth: nth, </code></td></tr><tr><td id="L21528" class="css-a4x74f"><span>21528</span></td><td id="LC21528" class="css-1dcdqdg"><code> position: position$<span class="code-number">1</span>, </code></td></tr><tr><td id="L21529" class="css-a4x74f"><span>21529</span></td><td id="LC21529" class="css-1dcdqdg"><code> quote: quote, </code></td></tr><tr><td id="L21530" class="css-a4x74f"><span>21530</span></td><td id="LC21530" class="css-1dcdqdg"><code> shadow: shadow, </code></td></tr><tr><td id="L21531" class="css-a4x74f"><span>21531</span></td><td id="LC21531" class="css-1dcdqdg"><code> shape: shape$<span class="code-number">1</span>, </code></td></tr><tr><td id="L21532" class="css-a4x74f"><span>21532</span></td><td id="LC21532" class="css-1dcdqdg"><code> size: size, </code></td></tr><tr><td id="L21533" class="css-a4x74f"><span>21533</span></td><td id="LC21533" class="css-1dcdqdg"><code> symbol: symbol, </code></td></tr><tr><td id="L21534" class="css-a4x74f"><span>21534</span></td><td id="LC21534" class="css-1dcdqdg"><code> target: target, </code></td></tr><tr><td id="L21535" class="css-a4x74f"><span>21535</span></td><td id="LC21535" class="css-1dcdqdg"><code> <span class="code-string">'default'</span>: syntaxes </code></td></tr><tr><td id="L21536" class="css-a4x74f"><span>21536</span></td><td id="LC21536" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L21537" class="css-a4x74f"><span>21537</span></td><td id="LC21537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L21538" class="css-a4x74f"><span>21538</span></td><td id="LC21538" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> properties$<span class="code-number">3</span> = { </code></td></tr><tr><td id="L21539" class="css-a4x74f"><span>21539</span></td><td id="LC21539" class="css-1dcdqdg"><code> <span class="code-string">"-moz-background-clip"</span>: { </code></td></tr><tr><td id="L21540" class="css-a4x74f"><span>21540</span></td><td id="LC21540" class="css-1dcdqdg"><code> comment: <span class="code-string">"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip"</span>, </code></td></tr><tr><td id="L21541" class="css-a4x74f"><span>21541</span></td><td id="LC21541" class="css-1dcdqdg"><code> syntax: <span class="code-string">"padding | border"</span> </code></td></tr><tr><td id="L21542" class="css-a4x74f"><span>21542</span></td><td id="LC21542" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21543" class="css-a4x74f"><span>21543</span></td><td id="LC21543" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-radius-bottomleft"</span>: { </code></td></tr><tr><td id="L21544" class="css-a4x74f"><span>21544</span></td><td id="LC21544" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius"</span>, </code></td></tr><tr><td id="L21545" class="css-a4x74f"><span>21545</span></td><td id="LC21545" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-bottom-left-radius'>"</span> </code></td></tr><tr><td id="L21546" class="css-a4x74f"><span>21546</span></td><td id="LC21546" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21547" class="css-a4x74f"><span>21547</span></td><td id="LC21547" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-radius-bottomright"</span>: { </code></td></tr><tr><td id="L21548" class="css-a4x74f"><span>21548</span></td><td id="LC21548" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius"</span>, </code></td></tr><tr><td id="L21549" class="css-a4x74f"><span>21549</span></td><td id="LC21549" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-bottom-right-radius'>"</span> </code></td></tr><tr><td id="L21550" class="css-a4x74f"><span>21550</span></td><td id="LC21550" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21551" class="css-a4x74f"><span>21551</span></td><td id="LC21551" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-radius-topleft"</span>: { </code></td></tr><tr><td id="L21552" class="css-a4x74f"><span>21552</span></td><td id="LC21552" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius"</span>, </code></td></tr><tr><td id="L21553" class="css-a4x74f"><span>21553</span></td><td id="LC21553" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-top-left-radius'>"</span> </code></td></tr><tr><td id="L21554" class="css-a4x74f"><span>21554</span></td><td id="LC21554" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21555" class="css-a4x74f"><span>21555</span></td><td id="LC21555" class="css-1dcdqdg"><code> <span class="code-string">"-moz-border-radius-topright"</span>: { </code></td></tr><tr><td id="L21556" class="css-a4x74f"><span>21556</span></td><td id="LC21556" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius"</span>, </code></td></tr><tr><td id="L21557" class="css-a4x74f"><span>21557</span></td><td id="LC21557" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'border-bottom-right-radius'>"</span> </code></td></tr><tr><td id="L21558" class="css-a4x74f"><span>21558</span></td><td id="LC21558" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21559" class="css-a4x74f"><span>21559</span></td><td id="LC21559" class="css-1dcdqdg"><code> <span class="code-string">"-moz-control-character-visibility"</span>: { </code></td></tr><tr><td id="L21560" class="css-a4x74f"><span>21560</span></td><td id="LC21560" class="css-1dcdqdg"><code> comment: <span class="code-string">"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588"</span>, </code></td></tr><tr><td id="L21561" class="css-a4x74f"><span>21561</span></td><td id="LC21561" class="css-1dcdqdg"><code> syntax: <span class="code-string">"visible | hidden"</span> </code></td></tr><tr><td id="L21562" class="css-a4x74f"><span>21562</span></td><td id="LC21562" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21563" class="css-a4x74f"><span>21563</span></td><td id="LC21563" class="css-1dcdqdg"><code> <span class="code-string">"-moz-osx-font-smoothing"</span>: { </code></td></tr><tr><td id="L21564" class="css-a4x74f"><span>21564</span></td><td id="LC21564" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth"</span>, </code></td></tr><tr><td id="L21565" class="css-a4x74f"><span>21565</span></td><td id="LC21565" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | grayscale"</span> </code></td></tr><tr><td id="L21566" class="css-a4x74f"><span>21566</span></td><td id="LC21566" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21567" class="css-a4x74f"><span>21567</span></td><td id="LC21567" class="css-1dcdqdg"><code> <span class="code-string">"-moz-user-select"</span>: { </code></td></tr><tr><td id="L21568" class="css-a4x74f"><span>21568</span></td><td id="LC21568" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select"</span>, </code></td></tr><tr><td id="L21569" class="css-a4x74f"><span>21569</span></td><td id="LC21569" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | text | all | -moz-none"</span> </code></td></tr><tr><td id="L21570" class="css-a4x74f"><span>21570</span></td><td id="LC21570" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21571" class="css-a4x74f"><span>21571</span></td><td id="LC21571" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-align"</span>: { </code></td></tr><tr><td id="L21572" class="css-a4x74f"><span>21572</span></td><td id="LC21572" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align"</span>, </code></td></tr><tr><td id="L21573" class="css-a4x74f"><span>21573</span></td><td id="LC21573" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | center | baseline | stretch"</span> </code></td></tr><tr><td id="L21574" class="css-a4x74f"><span>21574</span></td><td id="LC21574" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21575" class="css-a4x74f"><span>21575</span></td><td id="LC21575" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-item-align"</span>: { </code></td></tr><tr><td id="L21576" class="css-a4x74f"><span>21576</span></td><td id="LC21576" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align"</span>, </code></td></tr><tr><td id="L21577" class="css-a4x74f"><span>21577</span></td><td id="LC21577" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | start | end | center | baseline | stretch"</span> </code></td></tr><tr><td id="L21578" class="css-a4x74f"><span>21578</span></td><td id="LC21578" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21579" class="css-a4x74f"><span>21579</span></td><td id="LC21579" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-line-pack"</span>: { </code></td></tr><tr><td id="L21580" class="css-a4x74f"><span>21580</span></td><td id="LC21580" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack"</span>, </code></td></tr><tr><td id="L21581" class="css-a4x74f"><span>21581</span></td><td id="LC21581" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | center | justify | distribute | stretch"</span> </code></td></tr><tr><td id="L21582" class="css-a4x74f"><span>21582</span></td><td id="LC21582" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21583" class="css-a4x74f"><span>21583</span></td><td id="LC21583" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-negative"</span>: { </code></td></tr><tr><td id="L21584" class="css-a4x74f"><span>21584</span></td><td id="LC21584" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; TODO: find references for comfirmation"</span>, </code></td></tr><tr><td id="L21585" class="css-a4x74f"><span>21585</span></td><td id="LC21585" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'flex-shrink'>"</span> </code></td></tr><tr><td id="L21586" class="css-a4x74f"><span>21586</span></td><td id="LC21586" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21587" class="css-a4x74f"><span>21587</span></td><td id="LC21587" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-pack"</span>: { </code></td></tr><tr><td id="L21588" class="css-a4x74f"><span>21588</span></td><td id="LC21588" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack"</span>, </code></td></tr><tr><td id="L21589" class="css-a4x74f"><span>21589</span></td><td id="LC21589" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | center | justify | distribute"</span> </code></td></tr><tr><td id="L21590" class="css-a4x74f"><span>21590</span></td><td id="LC21590" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21591" class="css-a4x74f"><span>21591</span></td><td id="LC21591" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-order"</span>: { </code></td></tr><tr><td id="L21592" class="css-a4x74f"><span>21592</span></td><td id="LC21592" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx"</span>, </code></td></tr><tr><td id="L21593" class="css-a4x74f"><span>21593</span></td><td id="LC21593" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer>"</span> </code></td></tr><tr><td id="L21594" class="css-a4x74f"><span>21594</span></td><td id="LC21594" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21595" class="css-a4x74f"><span>21595</span></td><td id="LC21595" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-positive"</span>: { </code></td></tr><tr><td id="L21596" class="css-a4x74f"><span>21596</span></td><td id="LC21596" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; TODO: find references for comfirmation"</span>, </code></td></tr><tr><td id="L21597" class="css-a4x74f"><span>21597</span></td><td id="LC21597" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'flex-grow'>"</span> </code></td></tr><tr><td id="L21598" class="css-a4x74f"><span>21598</span></td><td id="LC21598" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21599" class="css-a4x74f"><span>21599</span></td><td id="LC21599" class="css-1dcdqdg"><code> <span class="code-string">"-ms-flex-preferred-size"</span>: { </code></td></tr><tr><td id="L21600" class="css-a4x74f"><span>21600</span></td><td id="LC21600" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; TODO: find references for comfirmation"</span>, </code></td></tr><tr><td id="L21601" class="css-a4x74f"><span>21601</span></td><td id="LC21601" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'flex-basis'>"</span> </code></td></tr><tr><td id="L21602" class="css-a4x74f"><span>21602</span></td><td id="LC21602" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21603" class="css-a4x74f"><span>21603</span></td><td id="LC21603" class="css-1dcdqdg"><code> <span class="code-string">"-ms-interpolation-mode"</span>: { </code></td></tr><tr><td id="L21604" class="css-a4x74f"><span>21604</span></td><td id="LC21604" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx"</span>, </code></td></tr><tr><td id="L21605" class="css-a4x74f"><span>21605</span></td><td id="LC21605" class="css-1dcdqdg"><code> syntax: <span class="code-string">"nearest-neighbor | bicubic"</span> </code></td></tr><tr><td id="L21606" class="css-a4x74f"><span>21606</span></td><td id="LC21606" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21607" class="css-a4x74f"><span>21607</span></td><td id="LC21607" class="css-1dcdqdg"><code> <span class="code-string">"-ms-grid-column-align"</span>: { </code></td></tr><tr><td id="L21608" class="css-a4x74f"><span>21608</span></td><td id="LC21608" class="css-1dcdqdg"><code> comment: <span class="code-string">"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx"</span>, </code></td></tr><tr><td id="L21609" class="css-a4x74f"><span>21609</span></td><td id="LC21609" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | center | stretch"</span> </code></td></tr><tr><td id="L21610" class="css-a4x74f"><span>21610</span></td><td id="LC21610" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21611" class="css-a4x74f"><span>21611</span></td><td id="LC21611" class="css-1dcdqdg"><code> <span class="code-string">"-ms-grid-columns"</span>: { </code></td></tr><tr><td id="L21612" class="css-a4x74f"><span>21612</span></td><td id="LC21612" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; https://www.w3.org/TR/2012/WD-css3-grid-layout-20120322/#grid-columns"</span>, </code></td></tr><tr><td id="L21613" class="css-a4x74f"><span>21613</span></td><td id="LC21613" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<track-list-v0>"</span> </code></td></tr><tr><td id="L21614" class="css-a4x74f"><span>21614</span></td><td id="LC21614" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21615" class="css-a4x74f"><span>21615</span></td><td id="LC21615" class="css-1dcdqdg"><code> <span class="code-string">"-ms-grid-row-align"</span>: { </code></td></tr><tr><td id="L21616" class="css-a4x74f"><span>21616</span></td><td id="LC21616" class="css-1dcdqdg"><code> comment: <span class="code-string">"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx"</span>, </code></td></tr><tr><td id="L21617" class="css-a4x74f"><span>21617</span></td><td id="LC21617" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | end | center | stretch"</span> </code></td></tr><tr><td id="L21618" class="css-a4x74f"><span>21618</span></td><td id="LC21618" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21619" class="css-a4x74f"><span>21619</span></td><td id="LC21619" class="css-1dcdqdg"><code> <span class="code-string">"-ms-grid-rows"</span>: { </code></td></tr><tr><td id="L21620" class="css-a4x74f"><span>21620</span></td><td id="LC21620" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; https://www.w3.org/TR/2012/WD-css3-grid-layout-20120322/#grid-rows"</span>, </code></td></tr><tr><td id="L21621" class="css-a4x74f"><span>21621</span></td><td id="LC21621" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<track-list-v0>"</span> </code></td></tr><tr><td id="L21622" class="css-a4x74f"><span>21622</span></td><td id="LC21622" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21623" class="css-a4x74f"><span>21623</span></td><td id="LC21623" class="css-1dcdqdg"><code> <span class="code-string">"-ms-hyphenate-limit-last"</span>: { </code></td></tr><tr><td id="L21624" class="css-a4x74f"><span>21624</span></td><td id="LC21624" class="css-1dcdqdg"><code> comment: <span class="code-string">"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits"</span>, </code></td></tr><tr><td id="L21625" class="css-a4x74f"><span>21625</span></td><td id="LC21625" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | always | column | page | spread"</span> </code></td></tr><tr><td id="L21626" class="css-a4x74f"><span>21626</span></td><td id="LC21626" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21627" class="css-a4x74f"><span>21627</span></td><td id="LC21627" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-appearance"</span>: { </code></td></tr><tr><td id="L21628" class="css-a4x74f"><span>21628</span></td><td id="LC21628" class="css-1dcdqdg"><code> comment: <span class="code-string">"webkit specific keywords"</span>, </code></td></tr><tr><td id="L21629" class="css-a4x74f"><span>21629</span></td><td id="LC21629" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21630" class="css-a4x74f"><span>21630</span></td><td id="LC21630" class="css-1dcdqdg"><code> <span class="code-string">"http://css-infos.net/property/-webkit-appearance"</span> </code></td></tr><tr><td id="L21631" class="css-a4x74f"><span>21631</span></td><td id="LC21631" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21632" class="css-a4x74f"><span>21632</span></td><td id="LC21632" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | listbox | listitem | media-fullscreen-button | media-mute-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield"</span> </code></td></tr><tr><td id="L21633" class="css-a4x74f"><span>21633</span></td><td id="LC21633" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21634" class="css-a4x74f"><span>21634</span></td><td id="LC21634" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-background-clip"</span>: { </code></td></tr><tr><td id="L21635" class="css-a4x74f"><span>21635</span></td><td id="LC21635" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en/docs/Web/CSS/background-clip"</span>, </code></td></tr><tr><td id="L21636" class="css-a4x74f"><span>21636</span></td><td id="LC21636" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <box> | border | padding | content | text ]#"</span> </code></td></tr><tr><td id="L21637" class="css-a4x74f"><span>21637</span></td><td id="LC21637" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21638" class="css-a4x74f"><span>21638</span></td><td id="LC21638" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-column-break-after"</span>: { </code></td></tr><tr><td id="L21639" class="css-a4x74f"><span>21639</span></td><td id="LC21639" class="css-1dcdqdg"><code> comment: <span class="code-string">"added, http://help.dottoro.com/lcrthhhv.php"</span>, </code></td></tr><tr><td id="L21640" class="css-a4x74f"><span>21640</span></td><td id="LC21640" class="css-1dcdqdg"><code> syntax: <span class="code-string">"always | auto | avoid"</span> </code></td></tr><tr><td id="L21641" class="css-a4x74f"><span>21641</span></td><td id="LC21641" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21642" class="css-a4x74f"><span>21642</span></td><td id="LC21642" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-column-break-before"</span>: { </code></td></tr><tr><td id="L21643" class="css-a4x74f"><span>21643</span></td><td id="LC21643" class="css-1dcdqdg"><code> comment: <span class="code-string">"added, http://help.dottoro.com/lcxquvkf.php"</span>, </code></td></tr><tr><td id="L21644" class="css-a4x74f"><span>21644</span></td><td id="LC21644" class="css-1dcdqdg"><code> syntax: <span class="code-string">"always | auto | avoid"</span> </code></td></tr><tr><td id="L21645" class="css-a4x74f"><span>21645</span></td><td id="LC21645" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21646" class="css-a4x74f"><span>21646</span></td><td id="LC21646" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-column-break-inside"</span>: { </code></td></tr><tr><td id="L21647" class="css-a4x74f"><span>21647</span></td><td id="LC21647" class="css-1dcdqdg"><code> comment: <span class="code-string">"added, http://help.dottoro.com/lclhnthl.php"</span>, </code></td></tr><tr><td id="L21648" class="css-a4x74f"><span>21648</span></td><td id="LC21648" class="css-1dcdqdg"><code> syntax: <span class="code-string">"always | auto | avoid"</span> </code></td></tr><tr><td id="L21649" class="css-a4x74f"><span>21649</span></td><td id="LC21649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21650" class="css-a4x74f"><span>21650</span></td><td id="LC21650" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-font-smoothing"</span>: { </code></td></tr><tr><td id="L21651" class="css-a4x74f"><span>21651</span></td><td id="LC21651" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth"</span>, </code></td></tr><tr><td id="L21652" class="css-a4x74f"><span>21652</span></td><td id="LC21652" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | antialiased | subpixel-antialiased"</span> </code></td></tr><tr><td id="L21653" class="css-a4x74f"><span>21653</span></td><td id="LC21653" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21654" class="css-a4x74f"><span>21654</span></td><td id="LC21654" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-box-image"</span>: { </code></td></tr><tr><td id="L21655" class="css-a4x74f"><span>21655</span></td><td id="LC21655" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image"</span>, </code></td></tr><tr><td id="L21656" class="css-a4x74f"><span>21656</span></td><td id="LC21656" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?"</span> </code></td></tr><tr><td id="L21657" class="css-a4x74f"><span>21657</span></td><td id="LC21657" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21658" class="css-a4x74f"><span>21658</span></td><td id="LC21658" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-print-color-adjust"</span>: { </code></td></tr><tr><td id="L21659" class="css-a4x74f"><span>21659</span></td><td id="LC21659" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed"</span>, </code></td></tr><tr><td id="L21660" class="css-a4x74f"><span>21660</span></td><td id="LC21660" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21661" class="css-a4x74f"><span>21661</span></td><td id="LC21661" class="css-1dcdqdg"><code> <span class="code-string">"https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"</span> </code></td></tr><tr><td id="L21662" class="css-a4x74f"><span>21662</span></td><td id="LC21662" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21663" class="css-a4x74f"><span>21663</span></td><td id="LC21663" class="css-1dcdqdg"><code> syntax: <span class="code-string">"economy | exact"</span> </code></td></tr><tr><td id="L21664" class="css-a4x74f"><span>21664</span></td><td id="LC21664" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21665" class="css-a4x74f"><span>21665</span></td><td id="LC21665" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-text-security"</span>: { </code></td></tr><tr><td id="L21666" class="css-a4x74f"><span>21666</span></td><td id="LC21666" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; http://help.dottoro.com/lcbkewgt.php"</span>, </code></td></tr><tr><td id="L21667" class="css-a4x74f"><span>21667</span></td><td id="LC21667" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | circle | disc | square"</span> </code></td></tr><tr><td id="L21668" class="css-a4x74f"><span>21668</span></td><td id="LC21668" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21669" class="css-a4x74f"><span>21669</span></td><td id="LC21669" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-user-drag"</span>: { </code></td></tr><tr><td id="L21670" class="css-a4x74f"><span>21670</span></td><td id="LC21670" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; http://help.dottoro.com/lcbixvwm.php"</span>, </code></td></tr><tr><td id="L21671" class="css-a4x74f"><span>21671</span></td><td id="LC21671" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | element | auto"</span> </code></td></tr><tr><td id="L21672" class="css-a4x74f"><span>21672</span></td><td id="LC21672" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21673" class="css-a4x74f"><span>21673</span></td><td id="LC21673" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-user-select"</span>: { </code></td></tr><tr><td id="L21674" class="css-a4x74f"><span>21674</span></td><td id="LC21674" class="css-1dcdqdg"><code> comment: <span class="code-string">"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select"</span>, </code></td></tr><tr><td id="L21675" class="css-a4x74f"><span>21675</span></td><td id="LC21675" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | text | all"</span> </code></td></tr><tr><td id="L21676" class="css-a4x74f"><span>21676</span></td><td id="LC21676" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21677" class="css-a4x74f"><span>21677</span></td><td id="LC21677" class="css-1dcdqdg"><code> <span class="code-string">"alignment-baseline"</span>: { </code></td></tr><tr><td id="L21678" class="css-a4x74f"><span>21678</span></td><td id="LC21678" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21679" class="css-a4x74f"><span>21679</span></td><td id="LC21679" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21680" class="css-a4x74f"><span>21680</span></td><td id="LC21680" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"</span> </code></td></tr><tr><td id="L21681" class="css-a4x74f"><span>21681</span></td><td id="LC21681" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21682" class="css-a4x74f"><span>21682</span></td><td id="LC21682" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"</span> </code></td></tr><tr><td id="L21683" class="css-a4x74f"><span>21683</span></td><td id="LC21683" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21684" class="css-a4x74f"><span>21684</span></td><td id="LC21684" class="css-1dcdqdg"><code> <span class="code-string">"baseline-shift"</span>: { </code></td></tr><tr><td id="L21685" class="css-a4x74f"><span>21685</span></td><td id="LC21685" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21686" class="css-a4x74f"><span>21686</span></td><td id="LC21686" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21687" class="css-a4x74f"><span>21687</span></td><td id="LC21687" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"</span> </code></td></tr><tr><td id="L21688" class="css-a4x74f"><span>21688</span></td><td id="LC21688" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21689" class="css-a4x74f"><span>21689</span></td><td id="LC21689" class="css-1dcdqdg"><code> syntax: <span class="code-string">"baseline | sub | super | <svg-length>"</span> </code></td></tr><tr><td id="L21690" class="css-a4x74f"><span>21690</span></td><td id="LC21690" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21691" class="css-a4x74f"><span>21691</span></td><td id="LC21691" class="css-1dcdqdg"><code> behavior: { </code></td></tr><tr><td id="L21692" class="css-a4x74f"><span>21692</span></td><td id="LC21692" class="css-1dcdqdg"><code> comment: <span class="code-string">"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx"</span>, </code></td></tr><tr><td id="L21693" class="css-a4x74f"><span>21693</span></td><td id="LC21693" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url>+"</span> </code></td></tr><tr><td id="L21694" class="css-a4x74f"><span>21694</span></td><td id="LC21694" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21695" class="css-a4x74f"><span>21695</span></td><td id="LC21695" class="css-1dcdqdg"><code> <span class="code-string">"clip-rule"</span>: { </code></td></tr><tr><td id="L21696" class="css-a4x74f"><span>21696</span></td><td id="LC21696" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21697" class="css-a4x74f"><span>21697</span></td><td id="LC21697" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21698" class="css-a4x74f"><span>21698</span></td><td id="LC21698" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"</span> </code></td></tr><tr><td id="L21699" class="css-a4x74f"><span>21699</span></td><td id="LC21699" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21700" class="css-a4x74f"><span>21700</span></td><td id="LC21700" class="css-1dcdqdg"><code> syntax: <span class="code-string">"nonzero | evenodd"</span> </code></td></tr><tr><td id="L21701" class="css-a4x74f"><span>21701</span></td><td id="LC21701" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21702" class="css-a4x74f"><span>21702</span></td><td id="LC21702" class="css-1dcdqdg"><code> cue: { </code></td></tr><tr><td id="L21703" class="css-a4x74f"><span>21703</span></td><td id="LC21703" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21704" class="css-a4x74f"><span>21704</span></td><td id="LC21704" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'cue-before'> <'cue-after'>?"</span> </code></td></tr><tr><td id="L21705" class="css-a4x74f"><span>21705</span></td><td id="LC21705" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21706" class="css-a4x74f"><span>21706</span></td><td id="LC21706" class="css-1dcdqdg"><code> <span class="code-string">"cue-after"</span>: { </code></td></tr><tr><td id="L21707" class="css-a4x74f"><span>21707</span></td><td id="LC21707" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21708" class="css-a4x74f"><span>21708</span></td><td id="LC21708" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> <decibel>? | none"</span> </code></td></tr><tr><td id="L21709" class="css-a4x74f"><span>21709</span></td><td id="LC21709" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21710" class="css-a4x74f"><span>21710</span></td><td id="LC21710" class="css-1dcdqdg"><code> <span class="code-string">"cue-before"</span>: { </code></td></tr><tr><td id="L21711" class="css-a4x74f"><span>21711</span></td><td id="LC21711" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21712" class="css-a4x74f"><span>21712</span></td><td id="LC21712" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<url> <decibel>? | none"</span> </code></td></tr><tr><td id="L21713" class="css-a4x74f"><span>21713</span></td><td id="LC21713" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21714" class="css-a4x74f"><span>21714</span></td><td id="LC21714" class="css-1dcdqdg"><code> cursor: { </code></td></tr><tr><td id="L21715" class="css-a4x74f"><span>21715</span></td><td id="LC21715" class="css-1dcdqdg"><code> comment: <span class="code-string">"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out"</span>, </code></td></tr><tr><td id="L21716" class="css-a4x74f"><span>21716</span></td><td id="LC21716" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21717" class="css-a4x74f"><span>21717</span></td><td id="LC21717" class="css-1dcdqdg"><code> <span class="code-string">"https://www.sitepoint.com/css3-cursor-styles/"</span> </code></td></tr><tr><td id="L21718" class="css-a4x74f"><span>21718</span></td><td id="LC21718" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21719" class="css-a4x74f"><span>21719</span></td><td id="LC21719" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"</span> </code></td></tr><tr><td id="L21720" class="css-a4x74f"><span>21720</span></td><td id="LC21720" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21721" class="css-a4x74f"><span>21721</span></td><td id="LC21721" class="css-1dcdqdg"><code> display: { </code></td></tr><tr><td id="L21722" class="css-a4x74f"><span>21722</span></td><td id="LC21722" class="css-1dcdqdg"><code> comment: <span class="code-string">"extended with -ms-flexbox"</span>, </code></td></tr><tr><td id="L21723" class="css-a4x74f"><span>21723</span></td><td id="LC21723" class="css-1dcdqdg"><code> syntax: <span class="code-string">"block | contents | flex | flow | flow-root | grid | inline | inline-block | inline-flex | inline-grid | inline-list-item | inline-table | list-item | none | ruby | ruby-base | ruby-base-container | ruby-text | ruby-text-container | run-in | table | table-caption | table-cell | table-column | table-column-group | table-footer-group | table-header-group | table-row | table-row-group | -ms-flexbox | -ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box"</span> </code></td></tr><tr><td id="L21724" class="css-a4x74f"><span>21724</span></td><td id="LC21724" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21725" class="css-a4x74f"><span>21725</span></td><td id="LC21725" class="css-1dcdqdg"><code> position: { </code></td></tr><tr><td id="L21726" class="css-a4x74f"><span>21726</span></td><td id="LC21726" class="css-1dcdqdg"><code> comment: <span class="code-string">"extended with -webkit-sticky"</span>, </code></td></tr><tr><td id="L21727" class="css-a4x74f"><span>21727</span></td><td id="LC21727" class="css-1dcdqdg"><code> syntax: <span class="code-string">"static | relative | absolute | sticky | fixed | -webkit-sticky"</span> </code></td></tr><tr><td id="L21728" class="css-a4x74f"><span>21728</span></td><td id="LC21728" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21729" class="css-a4x74f"><span>21729</span></td><td id="LC21729" class="css-1dcdqdg"><code> <span class="code-string">"dominant-baseline"</span>: { </code></td></tr><tr><td id="L21730" class="css-a4x74f"><span>21730</span></td><td id="LC21730" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21731" class="css-a4x74f"><span>21731</span></td><td id="LC21731" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21732" class="css-a4x74f"><span>21732</span></td><td id="LC21732" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"</span> </code></td></tr><tr><td id="L21733" class="css-a4x74f"><span>21733</span></td><td id="LC21733" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21734" class="css-a4x74f"><span>21734</span></td><td id="LC21734" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"</span> </code></td></tr><tr><td id="L21735" class="css-a4x74f"><span>21735</span></td><td id="LC21735" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21736" class="css-a4x74f"><span>21736</span></td><td id="LC21736" class="css-1dcdqdg"><code> <span class="code-string">"image-rendering"</span>: { </code></td></tr><tr><td id="L21737" class="css-a4x74f"><span>21737</span></td><td id="LC21737" class="css-1dcdqdg"><code> comment: <span class="code-string">"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality"</span>, </code></td></tr><tr><td id="L21738" class="css-a4x74f"><span>21738</span></td><td id="LC21738" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21739" class="css-a4x74f"><span>21739</span></td><td id="LC21739" class="css-1dcdqdg"><code> <span class="code-string">"https://developer.mozilla.org/en/docs/Web/CSS/image-rendering"</span>, </code></td></tr><tr><td id="L21740" class="css-a4x74f"><span>21740</span></td><td id="LC21740" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"</span> </code></td></tr><tr><td id="L21741" class="css-a4x74f"><span>21741</span></td><td id="LC21741" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21742" class="css-a4x74f"><span>21742</span></td><td id="LC21742" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | crisp-edges | pixelated | optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"</span> </code></td></tr><tr><td id="L21743" class="css-a4x74f"><span>21743</span></td><td id="LC21743" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21744" class="css-a4x74f"><span>21744</span></td><td id="LC21744" class="css-1dcdqdg"><code> fill: { </code></td></tr><tr><td id="L21745" class="css-a4x74f"><span>21745</span></td><td id="LC21745" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21746" class="css-a4x74f"><span>21746</span></td><td id="LC21746" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21747" class="css-a4x74f"><span>21747</span></td><td id="LC21747" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#FillProperty"</span> </code></td></tr><tr><td id="L21748" class="css-a4x74f"><span>21748</span></td><td id="LC21748" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21749" class="css-a4x74f"><span>21749</span></td><td id="LC21749" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<paint>"</span> </code></td></tr><tr><td id="L21750" class="css-a4x74f"><span>21750</span></td><td id="LC21750" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21751" class="css-a4x74f"><span>21751</span></td><td id="LC21751" class="css-1dcdqdg"><code> <span class="code-string">"fill-opacity"</span>: { </code></td></tr><tr><td id="L21752" class="css-a4x74f"><span>21752</span></td><td id="LC21752" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21753" class="css-a4x74f"><span>21753</span></td><td id="LC21753" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21754" class="css-a4x74f"><span>21754</span></td><td id="LC21754" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#FillProperty"</span> </code></td></tr><tr><td id="L21755" class="css-a4x74f"><span>21755</span></td><td id="LC21755" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21756" class="css-a4x74f"><span>21756</span></td><td id="LC21756" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-zero-one>"</span> </code></td></tr><tr><td id="L21757" class="css-a4x74f"><span>21757</span></td><td id="LC21757" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21758" class="css-a4x74f"><span>21758</span></td><td id="LC21758" class="css-1dcdqdg"><code> <span class="code-string">"fill-rule"</span>: { </code></td></tr><tr><td id="L21759" class="css-a4x74f"><span>21759</span></td><td id="LC21759" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21760" class="css-a4x74f"><span>21760</span></td><td id="LC21760" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21761" class="css-a4x74f"><span>21761</span></td><td id="LC21761" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#FillProperty"</span> </code></td></tr><tr><td id="L21762" class="css-a4x74f"><span>21762</span></td><td id="LC21762" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21763" class="css-a4x74f"><span>21763</span></td><td id="LC21763" class="css-1dcdqdg"><code> syntax: <span class="code-string">"nonzero | evenodd"</span> </code></td></tr><tr><td id="L21764" class="css-a4x74f"><span>21764</span></td><td id="LC21764" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21765" class="css-a4x74f"><span>21765</span></td><td id="LC21765" class="css-1dcdqdg"><code> filter: { </code></td></tr><tr><td id="L21766" class="css-a4x74f"><span>21766</span></td><td id="LC21766" class="css-1dcdqdg"><code> comment: <span class="code-string">"extend with IE legacy syntaxes"</span>, </code></td></tr><tr><td id="L21767" class="css-a4x74f"><span>21767</span></td><td id="LC21767" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <filter-function-list> | <-ms-filter-function-list>"</span> </code></td></tr><tr><td id="L21768" class="css-a4x74f"><span>21768</span></td><td id="LC21768" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21769" class="css-a4x74f"><span>21769</span></td><td id="LC21769" class="css-1dcdqdg"><code> <span class="code-string">"glyph-orientation-horizontal"</span>: { </code></td></tr><tr><td id="L21770" class="css-a4x74f"><span>21770</span></td><td id="LC21770" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21771" class="css-a4x74f"><span>21771</span></td><td id="LC21771" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21772" class="css-a4x74f"><span>21772</span></td><td id="LC21772" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"</span> </code></td></tr><tr><td id="L21773" class="css-a4x74f"><span>21773</span></td><td id="LC21773" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21774" class="css-a4x74f"><span>21774</span></td><td id="LC21774" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle>"</span> </code></td></tr><tr><td id="L21775" class="css-a4x74f"><span>21775</span></td><td id="LC21775" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21776" class="css-a4x74f"><span>21776</span></td><td id="LC21776" class="css-1dcdqdg"><code> <span class="code-string">"glyph-orientation-vertical"</span>: { </code></td></tr><tr><td id="L21777" class="css-a4x74f"><span>21777</span></td><td id="LC21777" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21778" class="css-a4x74f"><span>21778</span></td><td id="LC21778" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21779" class="css-a4x74f"><span>21779</span></td><td id="LC21779" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"</span> </code></td></tr><tr><td id="L21780" class="css-a4x74f"><span>21780</span></td><td id="LC21780" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21781" class="css-a4x74f"><span>21781</span></td><td id="LC21781" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<angle>"</span> </code></td></tr><tr><td id="L21782" class="css-a4x74f"><span>21782</span></td><td id="LC21782" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21783" class="css-a4x74f"><span>21783</span></td><td id="LC21783" class="css-1dcdqdg"><code> kerning: { </code></td></tr><tr><td id="L21784" class="css-a4x74f"><span>21784</span></td><td id="LC21784" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21785" class="css-a4x74f"><span>21785</span></td><td id="LC21785" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21786" class="css-a4x74f"><span>21786</span></td><td id="LC21786" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#KerningProperty"</span> </code></td></tr><tr><td id="L21787" class="css-a4x74f"><span>21787</span></td><td id="LC21787" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21788" class="css-a4x74f"><span>21788</span></td><td id="LC21788" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <svg-length>"</span> </code></td></tr><tr><td id="L21789" class="css-a4x74f"><span>21789</span></td><td id="LC21789" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21790" class="css-a4x74f"><span>21790</span></td><td id="LC21790" class="css-1dcdqdg"><code> <span class="code-string">"letter-spacing"</span>: { </code></td></tr><tr><td id="L21791" class="css-a4x74f"><span>21791</span></td><td id="LC21791" class="css-1dcdqdg"><code> comment: <span class="code-string">"fix syntax <length> -> <length-percentage>"</span>, </code></td></tr><tr><td id="L21792" class="css-a4x74f"><span>21792</span></td><td id="LC21792" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21793" class="css-a4x74f"><span>21793</span></td><td id="LC21793" class="css-1dcdqdg"><code> <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"</span> </code></td></tr><tr><td id="L21794" class="css-a4x74f"><span>21794</span></td><td id="LC21794" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21795" class="css-a4x74f"><span>21795</span></td><td id="LC21795" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | <length-percentage>"</span> </code></td></tr><tr><td id="L21796" class="css-a4x74f"><span>21796</span></td><td id="LC21796" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21797" class="css-a4x74f"><span>21797</span></td><td id="LC21797" class="css-1dcdqdg"><code> marker: { </code></td></tr><tr><td id="L21798" class="css-a4x74f"><span>21798</span></td><td id="LC21798" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21799" class="css-a4x74f"><span>21799</span></td><td id="LC21799" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21800" class="css-a4x74f"><span>21800</span></td><td id="LC21800" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#MarkerProperties"</span> </code></td></tr><tr><td id="L21801" class="css-a4x74f"><span>21801</span></td><td id="LC21801" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21802" class="css-a4x74f"><span>21802</span></td><td id="LC21802" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <url>"</span> </code></td></tr><tr><td id="L21803" class="css-a4x74f"><span>21803</span></td><td id="LC21803" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21804" class="css-a4x74f"><span>21804</span></td><td id="LC21804" class="css-1dcdqdg"><code> <span class="code-string">"marker-end"</span>: { </code></td></tr><tr><td id="L21805" class="css-a4x74f"><span>21805</span></td><td id="LC21805" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21806" class="css-a4x74f"><span>21806</span></td><td id="LC21806" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21807" class="css-a4x74f"><span>21807</span></td><td id="LC21807" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#MarkerProperties"</span> </code></td></tr><tr><td id="L21808" class="css-a4x74f"><span>21808</span></td><td id="LC21808" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21809" class="css-a4x74f"><span>21809</span></td><td id="LC21809" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <url>"</span> </code></td></tr><tr><td id="L21810" class="css-a4x74f"><span>21810</span></td><td id="LC21810" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21811" class="css-a4x74f"><span>21811</span></td><td id="LC21811" class="css-1dcdqdg"><code> <span class="code-string">"marker-mid"</span>: { </code></td></tr><tr><td id="L21812" class="css-a4x74f"><span>21812</span></td><td id="LC21812" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21813" class="css-a4x74f"><span>21813</span></td><td id="LC21813" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21814" class="css-a4x74f"><span>21814</span></td><td id="LC21814" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#MarkerProperties"</span> </code></td></tr><tr><td id="L21815" class="css-a4x74f"><span>21815</span></td><td id="LC21815" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21816" class="css-a4x74f"><span>21816</span></td><td id="LC21816" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <url>"</span> </code></td></tr><tr><td id="L21817" class="css-a4x74f"><span>21817</span></td><td id="LC21817" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21818" class="css-a4x74f"><span>21818</span></td><td id="LC21818" class="css-1dcdqdg"><code> <span class="code-string">"marker-start"</span>: { </code></td></tr><tr><td id="L21819" class="css-a4x74f"><span>21819</span></td><td id="LC21819" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21820" class="css-a4x74f"><span>21820</span></td><td id="LC21820" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21821" class="css-a4x74f"><span>21821</span></td><td id="LC21821" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#MarkerProperties"</span> </code></td></tr><tr><td id="L21822" class="css-a4x74f"><span>21822</span></td><td id="LC21822" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21823" class="css-a4x74f"><span>21823</span></td><td id="LC21823" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <url>"</span> </code></td></tr><tr><td id="L21824" class="css-a4x74f"><span>21824</span></td><td id="LC21824" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21825" class="css-a4x74f"><span>21825</span></td><td id="LC21825" class="css-1dcdqdg"><code> <span class="code-string">"max-width"</span>: { </code></td></tr><tr><td id="L21826" class="css-a4x74f"><span>21826</span></td><td id="LC21826" class="css-1dcdqdg"><code> comment: <span class="code-string">"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width"</span>, </code></td></tr><tr><td id="L21827" class="css-a4x74f"><span>21827</span></td><td id="LC21827" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | none | max-content | min-content | fit-content | fill-available | <-non-standard-width>"</span> </code></td></tr><tr><td id="L21828" class="css-a4x74f"><span>21828</span></td><td id="LC21828" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21829" class="css-a4x74f"><span>21829</span></td><td id="LC21829" class="css-1dcdqdg"><code> <span class="code-string">"min-width"</span>: { </code></td></tr><tr><td id="L21830" class="css-a4x74f"><span>21830</span></td><td id="LC21830" class="css-1dcdqdg"><code> comment: <span class="code-string">"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width"</span>, </code></td></tr><tr><td id="L21831" class="css-a4x74f"><span>21831</span></td><td id="LC21831" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage> | auto | max-content | min-content | fit-content | fill-available | <-non-standard-width>"</span> </code></td></tr><tr><td id="L21832" class="css-a4x74f"><span>21832</span></td><td id="LC21832" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21833" class="css-a4x74f"><span>21833</span></td><td id="LC21833" class="css-1dcdqdg"><code> opacity: { </code></td></tr><tr><td id="L21834" class="css-a4x74f"><span>21834</span></td><td id="LC21834" class="css-1dcdqdg"><code> comment: <span class="code-string">"strict to 0..1 <number> -> <number-zero-one>"</span>, </code></td></tr><tr><td id="L21835" class="css-a4x74f"><span>21835</span></td><td id="LC21835" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-zero-one>"</span> </code></td></tr><tr><td id="L21836" class="css-a4x74f"><span>21836</span></td><td id="LC21836" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21837" class="css-a4x74f"><span>21837</span></td><td id="LC21837" class="css-1dcdqdg"><code> overflow: { </code></td></tr><tr><td id="L21838" class="css-a4x74f"><span>21838</span></td><td id="LC21838" class="css-1dcdqdg"><code> comment: <span class="code-string">"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow"</span>, </code></td></tr><tr><td id="L21839" class="css-a4x74f"><span>21839</span></td><td id="LC21839" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ visible | hidden | clip | scroll | auto ]{1,2} | <-non-standard-overflow>"</span> </code></td></tr><tr><td id="L21840" class="css-a4x74f"><span>21840</span></td><td id="LC21840" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21841" class="css-a4x74f"><span>21841</span></td><td id="LC21841" class="css-1dcdqdg"><code> pause: { </code></td></tr><tr><td id="L21842" class="css-a4x74f"><span>21842</span></td><td id="LC21842" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21843" class="css-a4x74f"><span>21843</span></td><td id="LC21843" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'pause-before'> <'pause-after'>?"</span> </code></td></tr><tr><td id="L21844" class="css-a4x74f"><span>21844</span></td><td id="LC21844" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21845" class="css-a4x74f"><span>21845</span></td><td id="LC21845" class="css-1dcdqdg"><code> <span class="code-string">"pause-after"</span>: { </code></td></tr><tr><td id="L21846" class="css-a4x74f"><span>21846</span></td><td id="LC21846" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21847" class="css-a4x74f"><span>21847</span></td><td id="LC21847" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> | none | x-weak | weak | medium | strong | x-strong"</span> </code></td></tr><tr><td id="L21848" class="css-a4x74f"><span>21848</span></td><td id="LC21848" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21849" class="css-a4x74f"><span>21849</span></td><td id="LC21849" class="css-1dcdqdg"><code> <span class="code-string">"pause-before"</span>: { </code></td></tr><tr><td id="L21850" class="css-a4x74f"><span>21850</span></td><td id="LC21850" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21851" class="css-a4x74f"><span>21851</span></td><td id="LC21851" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> | none | x-weak | weak | medium | strong | x-strong"</span> </code></td></tr><tr><td id="L21852" class="css-a4x74f"><span>21852</span></td><td id="LC21852" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21853" class="css-a4x74f"><span>21853</span></td><td id="LC21853" class="css-1dcdqdg"><code> rest: { </code></td></tr><tr><td id="L21854" class="css-a4x74f"><span>21854</span></td><td id="LC21854" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21855" class="css-a4x74f"><span>21855</span></td><td id="LC21855" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<'rest-before'> <'rest-after'>?"</span> </code></td></tr><tr><td id="L21856" class="css-a4x74f"><span>21856</span></td><td id="LC21856" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21857" class="css-a4x74f"><span>21857</span></td><td id="LC21857" class="css-1dcdqdg"><code> <span class="code-string">"rest-after"</span>: { </code></td></tr><tr><td id="L21858" class="css-a4x74f"><span>21858</span></td><td id="LC21858" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21859" class="css-a4x74f"><span>21859</span></td><td id="LC21859" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> | none | x-weak | weak | medium | strong | x-strong"</span> </code></td></tr><tr><td id="L21860" class="css-a4x74f"><span>21860</span></td><td id="LC21860" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21861" class="css-a4x74f"><span>21861</span></td><td id="LC21861" class="css-1dcdqdg"><code> <span class="code-string">"rest-before"</span>: { </code></td></tr><tr><td id="L21862" class="css-a4x74f"><span>21862</span></td><td id="LC21862" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21863" class="css-a4x74f"><span>21863</span></td><td id="LC21863" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<time> | none | x-weak | weak | medium | strong | x-strong"</span> </code></td></tr><tr><td id="L21864" class="css-a4x74f"><span>21864</span></td><td id="LC21864" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21865" class="css-a4x74f"><span>21865</span></td><td id="LC21865" class="css-1dcdqdg"><code> <span class="code-string">"shape-rendering"</span>: { </code></td></tr><tr><td id="L21866" class="css-a4x74f"><span>21866</span></td><td id="LC21866" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21867" class="css-a4x74f"><span>21867</span></td><td id="LC21867" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21868" class="css-a4x74f"><span>21868</span></td><td id="LC21868" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert"</span> </code></td></tr><tr><td id="L21869" class="css-a4x74f"><span>21869</span></td><td id="LC21869" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21870" class="css-a4x74f"><span>21870</span></td><td id="LC21870" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | optimizeSpeed | crispEdges | geometricPrecision"</span> </code></td></tr><tr><td id="L21871" class="css-a4x74f"><span>21871</span></td><td id="LC21871" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21872" class="css-a4x74f"><span>21872</span></td><td id="LC21872" class="css-1dcdqdg"><code> src: { </code></td></tr><tr><td id="L21873" class="css-a4x74f"><span>21873</span></td><td id="LC21873" class="css-1dcdqdg"><code> comment: <span class="code-string">"added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src"</span>, </code></td></tr><tr><td id="L21874" class="css-a4x74f"><span>21874</span></td><td id="LC21874" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"</span> </code></td></tr><tr><td id="L21875" class="css-a4x74f"><span>21875</span></td><td id="LC21875" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21876" class="css-a4x74f"><span>21876</span></td><td id="LC21876" class="css-1dcdqdg"><code> speak: { </code></td></tr><tr><td id="L21877" class="css-a4x74f"><span>21877</span></td><td id="LC21877" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21878" class="css-a4x74f"><span>21878</span></td><td id="LC21878" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | none | normal"</span> </code></td></tr><tr><td id="L21879" class="css-a4x74f"><span>21879</span></td><td id="LC21879" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21880" class="css-a4x74f"><span>21880</span></td><td id="LC21880" class="css-1dcdqdg"><code> <span class="code-string">"speak-as"</span>: { </code></td></tr><tr><td id="L21881" class="css-a4x74f"><span>21881</span></td><td id="LC21881" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21882" class="css-a4x74f"><span>21882</span></td><td id="LC21882" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]"</span> </code></td></tr><tr><td id="L21883" class="css-a4x74f"><span>21883</span></td><td id="LC21883" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21884" class="css-a4x74f"><span>21884</span></td><td id="LC21884" class="css-1dcdqdg"><code> stroke: { </code></td></tr><tr><td id="L21885" class="css-a4x74f"><span>21885</span></td><td id="LC21885" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21886" class="css-a4x74f"><span>21886</span></td><td id="LC21886" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21887" class="css-a4x74f"><span>21887</span></td><td id="LC21887" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21888" class="css-a4x74f"><span>21888</span></td><td id="LC21888" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21889" class="css-a4x74f"><span>21889</span></td><td id="LC21889" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<paint>"</span> </code></td></tr><tr><td id="L21890" class="css-a4x74f"><span>21890</span></td><td id="LC21890" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21891" class="css-a4x74f"><span>21891</span></td><td id="LC21891" class="css-1dcdqdg"><code> <span class="code-string">"stroke-dasharray"</span>: { </code></td></tr><tr><td id="L21892" class="css-a4x74f"><span>21892</span></td><td id="LC21892" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s"</span>, </code></td></tr><tr><td id="L21893" class="css-a4x74f"><span>21893</span></td><td id="LC21893" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21894" class="css-a4x74f"><span>21894</span></td><td id="LC21894" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21895" class="css-a4x74f"><span>21895</span></td><td id="LC21895" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21896" class="css-a4x74f"><span>21896</span></td><td id="LC21896" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | [ <svg-length>+ ]#"</span> </code></td></tr><tr><td id="L21897" class="css-a4x74f"><span>21897</span></td><td id="LC21897" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21898" class="css-a4x74f"><span>21898</span></td><td id="LC21898" class="css-1dcdqdg"><code> <span class="code-string">"stroke-dashoffset"</span>: { </code></td></tr><tr><td id="L21899" class="css-a4x74f"><span>21899</span></td><td id="LC21899" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21900" class="css-a4x74f"><span>21900</span></td><td id="LC21900" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21901" class="css-a4x74f"><span>21901</span></td><td id="LC21901" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21902" class="css-a4x74f"><span>21902</span></td><td id="LC21902" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21903" class="css-a4x74f"><span>21903</span></td><td id="LC21903" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<svg-length>"</span> </code></td></tr><tr><td id="L21904" class="css-a4x74f"><span>21904</span></td><td id="LC21904" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21905" class="css-a4x74f"><span>21905</span></td><td id="LC21905" class="css-1dcdqdg"><code> <span class="code-string">"stroke-linecap"</span>: { </code></td></tr><tr><td id="L21906" class="css-a4x74f"><span>21906</span></td><td id="LC21906" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21907" class="css-a4x74f"><span>21907</span></td><td id="LC21907" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21908" class="css-a4x74f"><span>21908</span></td><td id="LC21908" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21909" class="css-a4x74f"><span>21909</span></td><td id="LC21909" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21910" class="css-a4x74f"><span>21910</span></td><td id="LC21910" class="css-1dcdqdg"><code> syntax: <span class="code-string">"butt | round | square"</span> </code></td></tr><tr><td id="L21911" class="css-a4x74f"><span>21911</span></td><td id="LC21911" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21912" class="css-a4x74f"><span>21912</span></td><td id="LC21912" class="css-1dcdqdg"><code> <span class="code-string">"stroke-linejoin"</span>: { </code></td></tr><tr><td id="L21913" class="css-a4x74f"><span>21913</span></td><td id="LC21913" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21914" class="css-a4x74f"><span>21914</span></td><td id="LC21914" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21915" class="css-a4x74f"><span>21915</span></td><td id="LC21915" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21916" class="css-a4x74f"><span>21916</span></td><td id="LC21916" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21917" class="css-a4x74f"><span>21917</span></td><td id="LC21917" class="css-1dcdqdg"><code> syntax: <span class="code-string">"miter | round | bevel"</span> </code></td></tr><tr><td id="L21918" class="css-a4x74f"><span>21918</span></td><td id="LC21918" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21919" class="css-a4x74f"><span>21919</span></td><td id="LC21919" class="css-1dcdqdg"><code> <span class="code-string">"stroke-miterlimit"</span>: { </code></td></tr><tr><td id="L21920" class="css-a4x74f"><span>21920</span></td><td id="LC21920" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property (<miterlimit> = <number-one-or-greater>) "</span>, </code></td></tr><tr><td id="L21921" class="css-a4x74f"><span>21921</span></td><td id="LC21921" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21922" class="css-a4x74f"><span>21922</span></td><td id="LC21922" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21923" class="css-a4x74f"><span>21923</span></td><td id="LC21923" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21924" class="css-a4x74f"><span>21924</span></td><td id="LC21924" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-one-or-greater>"</span> </code></td></tr><tr><td id="L21925" class="css-a4x74f"><span>21925</span></td><td id="LC21925" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21926" class="css-a4x74f"><span>21926</span></td><td id="LC21926" class="css-1dcdqdg"><code> <span class="code-string">"stroke-opacity"</span>: { </code></td></tr><tr><td id="L21927" class="css-a4x74f"><span>21927</span></td><td id="LC21927" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21928" class="css-a4x74f"><span>21928</span></td><td id="LC21928" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21929" class="css-a4x74f"><span>21929</span></td><td id="LC21929" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21930" class="css-a4x74f"><span>21930</span></td><td id="LC21930" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21931" class="css-a4x74f"><span>21931</span></td><td id="LC21931" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number-zero-one>"</span> </code></td></tr><tr><td id="L21932" class="css-a4x74f"><span>21932</span></td><td id="LC21932" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21933" class="css-a4x74f"><span>21933</span></td><td id="LC21933" class="css-1dcdqdg"><code> <span class="code-string">"stroke-width"</span>: { </code></td></tr><tr><td id="L21934" class="css-a4x74f"><span>21934</span></td><td id="LC21934" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21935" class="css-a4x74f"><span>21935</span></td><td id="LC21935" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21936" class="css-a4x74f"><span>21936</span></td><td id="LC21936" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/painting.html#StrokeProperties"</span> </code></td></tr><tr><td id="L21937" class="css-a4x74f"><span>21937</span></td><td id="LC21937" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21938" class="css-a4x74f"><span>21938</span></td><td id="LC21938" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<svg-length>"</span> </code></td></tr><tr><td id="L21939" class="css-a4x74f"><span>21939</span></td><td id="LC21939" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21940" class="css-a4x74f"><span>21940</span></td><td id="LC21940" class="css-1dcdqdg"><code> <span class="code-string">"text-anchor"</span>: { </code></td></tr><tr><td id="L21941" class="css-a4x74f"><span>21941</span></td><td id="LC21941" class="css-1dcdqdg"><code> comment: <span class="code-string">"added SVG property"</span>, </code></td></tr><tr><td id="L21942" class="css-a4x74f"><span>21942</span></td><td id="LC21942" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L21943" class="css-a4x74f"><span>21943</span></td><td id="LC21943" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties"</span> </code></td></tr><tr><td id="L21944" class="css-a4x74f"><span>21944</span></td><td id="LC21944" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L21945" class="css-a4x74f"><span>21945</span></td><td id="LC21945" class="css-1dcdqdg"><code> syntax: <span class="code-string">"start | middle | end"</span> </code></td></tr><tr><td id="L21946" class="css-a4x74f"><span>21946</span></td><td id="LC21946" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21947" class="css-a4x74f"><span>21947</span></td><td id="LC21947" class="css-1dcdqdg"><code> <span class="code-string">"unicode-bidi"</span>: { </code></td></tr><tr><td id="L21948" class="css-a4x74f"><span>21948</span></td><td id="LC21948" class="css-1dcdqdg"><code> comment: <span class="code-string">"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi"</span>, </code></td></tr><tr><td id="L21949" class="css-a4x74f"><span>21949</span></td><td id="LC21949" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | embed | isolate | bidi-override | isolate-override | plaintext | -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate"</span> </code></td></tr><tr><td id="L21950" class="css-a4x74f"><span>21950</span></td><td id="LC21950" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21951" class="css-a4x74f"><span>21951</span></td><td id="LC21951" class="css-1dcdqdg"><code> <span class="code-string">"unicode-range"</span>: { </code></td></tr><tr><td id="L21952" class="css-a4x74f"><span>21952</span></td><td id="LC21952" class="css-1dcdqdg"><code> comment: <span class="code-string">"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range"</span>, </code></td></tr><tr><td id="L21953" class="css-a4x74f"><span>21953</span></td><td id="LC21953" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<urange>#"</span> </code></td></tr><tr><td id="L21954" class="css-a4x74f"><span>21954</span></td><td id="LC21954" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21955" class="css-a4x74f"><span>21955</span></td><td id="LC21955" class="css-1dcdqdg"><code> <span class="code-string">"voice-balance"</span>: { </code></td></tr><tr><td id="L21956" class="css-a4x74f"><span>21956</span></td><td id="LC21956" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21957" class="css-a4x74f"><span>21957</span></td><td id="LC21957" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number> | left | center | right | leftwards | rightwards"</span> </code></td></tr><tr><td id="L21958" class="css-a4x74f"><span>21958</span></td><td id="LC21958" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21959" class="css-a4x74f"><span>21959</span></td><td id="LC21959" class="css-1dcdqdg"><code> <span class="code-string">"voice-duration"</span>: { </code></td></tr><tr><td id="L21960" class="css-a4x74f"><span>21960</span></td><td id="LC21960" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21961" class="css-a4x74f"><span>21961</span></td><td id="LC21961" class="css-1dcdqdg"><code> syntax: <span class="code-string">"auto | <time>"</span> </code></td></tr><tr><td id="L21962" class="css-a4x74f"><span>21962</span></td><td id="LC21962" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21963" class="css-a4x74f"><span>21963</span></td><td id="LC21963" class="css-1dcdqdg"><code> <span class="code-string">"voice-family"</span>: { </code></td></tr><tr><td id="L21964" class="css-a4x74f"><span>21964</span></td><td id="LC21964" class="css-1dcdqdg"><code> comment: <span class="code-string">"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21965" class="css-a4x74f"><span>21965</span></td><td id="LC21965" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve"</span> </code></td></tr><tr><td id="L21966" class="css-a4x74f"><span>21966</span></td><td id="LC21966" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21967" class="css-a4x74f"><span>21967</span></td><td id="LC21967" class="css-1dcdqdg"><code> <span class="code-string">"voice-pitch"</span>: { </code></td></tr><tr><td id="L21968" class="css-a4x74f"><span>21968</span></td><td id="LC21968" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21969" class="css-a4x74f"><span>21969</span></td><td id="LC21969" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"</span> </code></td></tr><tr><td id="L21970" class="css-a4x74f"><span>21970</span></td><td id="LC21970" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21971" class="css-a4x74f"><span>21971</span></td><td id="LC21971" class="css-1dcdqdg"><code> <span class="code-string">"voice-range"</span>: { </code></td></tr><tr><td id="L21972" class="css-a4x74f"><span>21972</span></td><td id="LC21972" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21973" class="css-a4x74f"><span>21973</span></td><td id="LC21973" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"</span> </code></td></tr><tr><td id="L21974" class="css-a4x74f"><span>21974</span></td><td id="LC21974" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21975" class="css-a4x74f"><span>21975</span></td><td id="LC21975" class="css-1dcdqdg"><code> <span class="code-string">"voice-rate"</span>: { </code></td></tr><tr><td id="L21976" class="css-a4x74f"><span>21976</span></td><td id="LC21976" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21977" class="css-a4x74f"><span>21977</span></td><td id="LC21977" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>"</span> </code></td></tr><tr><td id="L21978" class="css-a4x74f"><span>21978</span></td><td id="LC21978" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21979" class="css-a4x74f"><span>21979</span></td><td id="LC21979" class="css-1dcdqdg"><code> <span class="code-string">"voice-stress"</span>: { </code></td></tr><tr><td id="L21980" class="css-a4x74f"><span>21980</span></td><td id="LC21980" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21981" class="css-a4x74f"><span>21981</span></td><td id="LC21981" class="css-1dcdqdg"><code> syntax: <span class="code-string">"normal | strong | moderate | none | reduced"</span> </code></td></tr><tr><td id="L21982" class="css-a4x74f"><span>21982</span></td><td id="LC21982" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21983" class="css-a4x74f"><span>21983</span></td><td id="LC21983" class="css-1dcdqdg"><code> <span class="code-string">"voice-volume"</span>: { </code></td></tr><tr><td id="L21984" class="css-a4x74f"><span>21984</span></td><td id="LC21984" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#property-index"</span>, </code></td></tr><tr><td id="L21985" class="css-a4x74f"><span>21985</span></td><td id="LC21985" class="css-1dcdqdg"><code> syntax: <span class="code-string">"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]"</span> </code></td></tr><tr><td id="L21986" class="css-a4x74f"><span>21986</span></td><td id="LC21986" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21987" class="css-a4x74f"><span>21987</span></td><td id="LC21987" class="css-1dcdqdg"><code> <span class="code-string">"writing-mode"</span>: { </code></td></tr><tr><td id="L21988" class="css-a4x74f"><span>21988</span></td><td id="LC21988" class="css-1dcdqdg"><code> comment: <span class="code-string">"extend with SVG keywords"</span>, </code></td></tr><tr><td id="L21989" class="css-a4x74f"><span>21989</span></td><td id="LC21989" class="css-1dcdqdg"><code> syntax: <span class="code-string">"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr | <svg-writing-mode>"</span> </code></td></tr><tr><td id="L21990" class="css-a4x74f"><span>21990</span></td><td id="LC21990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L21991" class="css-a4x74f"><span>21991</span></td><td id="LC21991" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L21992" class="css-a4x74f"><span>21992</span></td><td id="LC21992" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntaxes$<span class="code-number">2</span> = { </code></td></tr><tr><td id="L21993" class="css-a4x74f"><span>21993</span></td><td id="LC21993" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-gradient"</span>: { </code></td></tr><tr><td id="L21994" class="css-a4x74f"><span>21994</span></td><td id="LC21994" class="css-1dcdqdg"><code> comment: <span class="code-string">"added collection of legacy gradient syntaxes"</span>, </code></td></tr><tr><td id="L21995" class="css-a4x74f"><span>21995</span></td><td id="LC21995" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>"</span> </code></td></tr><tr><td id="L21996" class="css-a4x74f"><span>21996</span></td><td id="LC21996" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L21997" class="css-a4x74f"><span>21997</span></td><td id="LC21997" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-linear-gradient"</span>: { </code></td></tr><tr><td id="L21998" class="css-a4x74f"><span>21998</span></td><td id="LC21998" class="css-1dcdqdg"><code> comment: <span class="code-string">"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient"</span>, </code></td></tr><tr><td id="L21999" class="css-a4x74f"><span>21999</span></td><td id="LC21999" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )"</span> </code></td></tr><tr><td id="L22000" class="css-a4x74f"><span>22000</span></td><td id="LC22000" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22001" class="css-a4x74f"><span>22001</span></td><td id="LC22001" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-repeating-linear-gradient"</span>: { </code></td></tr><tr><td id="L22002" class="css-a4x74f"><span>22002</span></td><td id="LC22002" class="css-1dcdqdg"><code> comment: <span class="code-string">"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient"</span>, </code></td></tr><tr><td id="L22003" class="css-a4x74f"><span>22003</span></td><td id="LC22003" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )"</span> </code></td></tr><tr><td id="L22004" class="css-a4x74f"><span>22004</span></td><td id="LC22004" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22005" class="css-a4x74f"><span>22005</span></td><td id="LC22005" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-linear-gradient-arguments"</span>: { </code></td></tr><tr><td id="L22006" class="css-a4x74f"><span>22006</span></td><td id="LC22006" class="css-1dcdqdg"><code> comment: <span class="code-string">"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient"</span>, </code></td></tr><tr><td id="L22007" class="css-a4x74f"><span>22007</span></td><td id="LC22007" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <angle> | <side-or-corner> ]? , <color-stop-list>"</span> </code></td></tr><tr><td id="L22008" class="css-a4x74f"><span>22008</span></td><td id="LC22008" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22009" class="css-a4x74f"><span>22009</span></td><td id="LC22009" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-radial-gradient"</span>: { </code></td></tr><tr><td id="L22010" class="css-a4x74f"><span>22010</span></td><td id="LC22010" class="css-1dcdqdg"><code> comment: <span class="code-string">"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients"</span>, </code></td></tr><tr><td id="L22011" class="css-a4x74f"><span>22011</span></td><td id="LC22011" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )"</span> </code></td></tr><tr><td id="L22012" class="css-a4x74f"><span>22012</span></td><td id="LC22012" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22013" class="css-a4x74f"><span>22013</span></td><td id="LC22013" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-repeating-radial-gradient"</span>: { </code></td></tr><tr><td id="L22014" class="css-a4x74f"><span>22014</span></td><td id="LC22014" class="css-1dcdqdg"><code> comment: <span class="code-string">"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients"</span>, </code></td></tr><tr><td id="L22015" class="css-a4x74f"><span>22015</span></td><td id="LC22015" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )"</span> </code></td></tr><tr><td id="L22016" class="css-a4x74f"><span>22016</span></td><td id="LC22016" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22017" class="css-a4x74f"><span>22017</span></td><td id="LC22017" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-radial-gradient-arguments"</span>: { </code></td></tr><tr><td id="L22018" class="css-a4x74f"><span>22018</span></td><td id="LC22018" class="css-1dcdqdg"><code> comment: <span class="code-string">"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients"</span>, </code></td></tr><tr><td id="L22019" class="css-a4x74f"><span>22019</span></td><td id="LC22019" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>"</span> </code></td></tr><tr><td id="L22020" class="css-a4x74f"><span>22020</span></td><td id="LC22020" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22021" class="css-a4x74f"><span>22021</span></td><td id="LC22021" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-radial-gradient-size"</span>: { </code></td></tr><tr><td id="L22022" class="css-a4x74f"><span>22022</span></td><td id="LC22022" class="css-1dcdqdg"><code> comment: <span class="code-string">"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize"</span>, </code></td></tr><tr><td id="L22023" class="css-a4x74f"><span>22023</span></td><td id="LC22023" class="css-1dcdqdg"><code> syntax: <span class="code-string">"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover"</span> </code></td></tr><tr><td id="L22024" class="css-a4x74f"><span>22024</span></td><td id="LC22024" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22025" class="css-a4x74f"><span>22025</span></td><td id="LC22025" class="css-1dcdqdg"><code> <span class="code-string">"-legacy-radial-gradient-shape"</span>: { </code></td></tr><tr><td id="L22026" class="css-a4x74f"><span>22026</span></td><td id="LC22026" class="css-1dcdqdg"><code> comment: <span class="code-string">"define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape"</span>, </code></td></tr><tr><td id="L22027" class="css-a4x74f"><span>22027</span></td><td id="LC22027" class="css-1dcdqdg"><code> syntax: <span class="code-string">"circle | ellipse"</span> </code></td></tr><tr><td id="L22028" class="css-a4x74f"><span>22028</span></td><td id="LC22028" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22029" class="css-a4x74f"><span>22029</span></td><td id="LC22029" class="css-1dcdqdg"><code> <span class="code-string">"-non-standard-font"</span>: { </code></td></tr><tr><td id="L22030" class="css-a4x74f"><span>22030</span></td><td id="LC22030" class="css-1dcdqdg"><code> comment: <span class="code-string">"non standard fonts"</span>, </code></td></tr><tr><td id="L22031" class="css-a4x74f"><span>22031</span></td><td id="LC22031" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L22032" class="css-a4x74f"><span>22032</span></td><td id="LC22032" class="css-1dcdqdg"><code> <span class="code-string">"https://webkit.org/blog/3709/using-the-system-font-in-web-content/"</span> </code></td></tr><tr><td id="L22033" class="css-a4x74f"><span>22033</span></td><td id="LC22033" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L22034" class="css-a4x74f"><span>22034</span></td><td id="LC22034" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body"</span> </code></td></tr><tr><td id="L22035" class="css-a4x74f"><span>22035</span></td><td id="LC22035" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22036" class="css-a4x74f"><span>22036</span></td><td id="LC22036" class="css-1dcdqdg"><code> <span class="code-string">"-non-standard-color"</span>: { </code></td></tr><tr><td id="L22037" class="css-a4x74f"><span>22037</span></td><td id="LC22037" class="css-1dcdqdg"><code> comment: <span class="code-string">"non standard colors"</span>, </code></td></tr><tr><td id="L22038" class="css-a4x74f"><span>22038</span></td><td id="LC22038" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L22039" class="css-a4x74f"><span>22039</span></td><td id="LC22039" class="css-1dcdqdg"><code> <span class="code-string">"http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html"</span>, </code></td></tr><tr><td id="L22040" class="css-a4x74f"><span>22040</span></td><td id="LC22040" class="css-1dcdqdg"><code> <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions"</span> </code></td></tr><tr><td id="L22041" class="css-a4x74f"><span>22041</span></td><td id="LC22041" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L22042" class="css-a4x74f"><span>22042</span></td><td id="LC22042" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text"</span> </code></td></tr><tr><td id="L22043" class="css-a4x74f"><span>22043</span></td><td id="LC22043" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22044" class="css-a4x74f"><span>22044</span></td><td id="LC22044" class="css-1dcdqdg"><code> <span class="code-string">"-non-standard-image-rendering"</span>: { </code></td></tr><tr><td id="L22045" class="css-a4x74f"><span>22045</span></td><td id="LC22045" class="css-1dcdqdg"><code> comment: <span class="code-string">"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html"</span>, </code></td></tr><tr><td id="L22046" class="css-a4x74f"><span>22046</span></td><td id="LC22046" class="css-1dcdqdg"><code> syntax: <span class="code-string">"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast"</span> </code></td></tr><tr><td id="L22047" class="css-a4x74f"><span>22047</span></td><td id="LC22047" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22048" class="css-a4x74f"><span>22048</span></td><td id="LC22048" class="css-1dcdqdg"><code> <span class="code-string">"-non-standard-overflow"</span>: { </code></td></tr><tr><td id="L22049" class="css-a4x74f"><span>22049</span></td><td id="LC22049" class="css-1dcdqdg"><code> comment: <span class="code-string">"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow"</span>, </code></td></tr><tr><td id="L22050" class="css-a4x74f"><span>22050</span></td><td id="LC22050" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable"</span> </code></td></tr><tr><td id="L22051" class="css-a4x74f"><span>22051</span></td><td id="LC22051" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22052" class="css-a4x74f"><span>22052</span></td><td id="LC22052" class="css-1dcdqdg"><code> <span class="code-string">"-non-standard-width"</span>: { </code></td></tr><tr><td id="L22053" class="css-a4x74f"><span>22053</span></td><td id="LC22053" class="css-1dcdqdg"><code> comment: <span class="code-string">"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width"</span>, </code></td></tr><tr><td id="L22054" class="css-a4x74f"><span>22054</span></td><td id="LC22054" class="css-1dcdqdg"><code> syntax: <span class="code-string">"min-intrinsic | intrinsic | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content"</span> </code></td></tr><tr><td id="L22055" class="css-a4x74f"><span>22055</span></td><td id="LC22055" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22056" class="css-a4x74f"><span>22056</span></td><td id="LC22056" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-gradient()"</span>: { </code></td></tr><tr><td id="L22057" class="css-a4x74f"><span>22057</span></td><td id="LC22057" class="css-1dcdqdg"><code> comment: <span class="code-string">"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )"</span>, </code></td></tr><tr><td id="L22058" class="css-a4x74f"><span>22058</span></td><td id="LC22058" class="css-1dcdqdg"><code> syntax: <span class="code-string">"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )"</span> </code></td></tr><tr><td id="L22059" class="css-a4x74f"><span>22059</span></td><td id="LC22059" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22060" class="css-a4x74f"><span>22060</span></td><td id="LC22060" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-gradient-color-stop"</span>: { </code></td></tr><tr><td id="L22061" class="css-a4x74f"><span>22061</span></td><td id="LC22061" class="css-1dcdqdg"><code> comment: <span class="code-string">"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/"</span>, </code></td></tr><tr><td id="L22062" class="css-a4x74f"><span>22062</span></td><td id="LC22062" class="css-1dcdqdg"><code> syntax: <span class="code-string">"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )"</span> </code></td></tr><tr><td id="L22063" class="css-a4x74f"><span>22063</span></td><td id="LC22063" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22064" class="css-a4x74f"><span>22064</span></td><td id="LC22064" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-gradient-point"</span>: { </code></td></tr><tr><td id="L22065" class="css-a4x74f"><span>22065</span></td><td id="LC22065" class="css-1dcdqdg"><code> comment: <span class="code-string">"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/"</span>, </code></td></tr><tr><td id="L22066" class="css-a4x74f"><span>22066</span></td><td id="LC22066" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]"</span> </code></td></tr><tr><td id="L22067" class="css-a4x74f"><span>22067</span></td><td id="LC22067" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22068" class="css-a4x74f"><span>22068</span></td><td id="LC22068" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-gradient-radius"</span>: { </code></td></tr><tr><td id="L22069" class="css-a4x74f"><span>22069</span></td><td id="LC22069" class="css-1dcdqdg"><code> comment: <span class="code-string">"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/"</span>, </code></td></tr><tr><td id="L22070" class="css-a4x74f"><span>22070</span></td><td id="LC22070" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | <percentage>"</span> </code></td></tr><tr><td id="L22071" class="css-a4x74f"><span>22071</span></td><td id="LC22071" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22072" class="css-a4x74f"><span>22072</span></td><td id="LC22072" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-gradient-type"</span>: { </code></td></tr><tr><td id="L22073" class="css-a4x74f"><span>22073</span></td><td id="LC22073" class="css-1dcdqdg"><code> comment: <span class="code-string">"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/"</span>, </code></td></tr><tr><td id="L22074" class="css-a4x74f"><span>22074</span></td><td id="LC22074" class="css-1dcdqdg"><code> syntax: <span class="code-string">"linear | radial"</span> </code></td></tr><tr><td id="L22075" class="css-a4x74f"><span>22075</span></td><td id="LC22075" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22076" class="css-a4x74f"><span>22076</span></td><td id="LC22076" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-box-repeat"</span>: { </code></td></tr><tr><td id="L22077" class="css-a4x74f"><span>22077</span></td><td id="LC22077" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image"</span>, </code></td></tr><tr><td id="L22078" class="css-a4x74f"><span>22078</span></td><td id="LC22078" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat | stretch | round"</span> </code></td></tr><tr><td id="L22079" class="css-a4x74f"><span>22079</span></td><td id="LC22079" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22080" class="css-a4x74f"><span>22080</span></td><td id="LC22080" class="css-1dcdqdg"><code> <span class="code-string">"-webkit-mask-clip-style"</span>: { </code></td></tr><tr><td id="L22081" class="css-a4x74f"><span>22081</span></td><td id="LC22081" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working"</span>, </code></td></tr><tr><td id="L22082" class="css-a4x74f"><span>22082</span></td><td id="LC22082" class="css-1dcdqdg"><code> syntax: <span class="code-string">"border | border-box | padding | padding-box | content | content-box | text"</span> </code></td></tr><tr><td id="L22083" class="css-a4x74f"><span>22083</span></td><td id="LC22083" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22084" class="css-a4x74f"><span>22084</span></td><td id="LC22084" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter-function-list"</span>: { </code></td></tr><tr><td id="L22085" class="css-a4x74f"><span>22085</span></td><td id="LC22085" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter"</span>, </code></td></tr><tr><td id="L22086" class="css-a4x74f"><span>22086</span></td><td id="LC22086" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<-ms-filter-function>+"</span> </code></td></tr><tr><td id="L22087" class="css-a4x74f"><span>22087</span></td><td id="LC22087" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22088" class="css-a4x74f"><span>22088</span></td><td id="LC22088" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter-function"</span>: { </code></td></tr><tr><td id="L22089" class="css-a4x74f"><span>22089</span></td><td id="LC22089" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter"</span>, </code></td></tr><tr><td id="L22090" class="css-a4x74f"><span>22090</span></td><td id="LC22090" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<-ms-filter-function-progid> | <-ms-filter-function-legacy>"</span> </code></td></tr><tr><td id="L22091" class="css-a4x74f"><span>22091</span></td><td id="LC22091" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22092" class="css-a4x74f"><span>22092</span></td><td id="LC22092" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter-function-progid"</span>: { </code></td></tr><tr><td id="L22093" class="css-a4x74f"><span>22093</span></td><td id="LC22093" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter"</span>, </code></td></tr><tr><td id="L22094" class="css-a4x74f"><span>22094</span></td><td id="LC22094" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]"</span> </code></td></tr><tr><td id="L22095" class="css-a4x74f"><span>22095</span></td><td id="LC22095" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22096" class="css-a4x74f"><span>22096</span></td><td id="LC22096" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter-function-legacy"</span>: { </code></td></tr><tr><td id="L22097" class="css-a4x74f"><span>22097</span></td><td id="LC22097" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter"</span>, </code></td></tr><tr><td id="L22098" class="css-a4x74f"><span>22098</span></td><td id="LC22098" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident-token> | <function-token> <any-value>? )"</span> </code></td></tr><tr><td id="L22099" class="css-a4x74f"><span>22099</span></td><td id="LC22099" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22100" class="css-a4x74f"><span>22100</span></td><td id="LC22100" class="css-1dcdqdg"><code> <span class="code-string">"-ms-filter"</span>: { </code></td></tr><tr><td id="L22101" class="css-a4x74f"><span>22101</span></td><td id="LC22101" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<string>"</span> </code></td></tr><tr><td id="L22102" class="css-a4x74f"><span>22102</span></td><td id="LC22102" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22103" class="css-a4x74f"><span>22103</span></td><td id="LC22103" class="css-1dcdqdg"><code> age: { </code></td></tr><tr><td id="L22104" class="css-a4x74f"><span>22104</span></td><td id="LC22104" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#voice-family"</span>, </code></td></tr><tr><td id="L22105" class="css-a4x74f"><span>22105</span></td><td id="LC22105" class="css-1dcdqdg"><code> syntax: <span class="code-string">"child | young | old"</span> </code></td></tr><tr><td id="L22106" class="css-a4x74f"><span>22106</span></td><td id="LC22106" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22107" class="css-a4x74f"><span>22107</span></td><td id="LC22107" class="css-1dcdqdg"><code> <span class="code-string">"attr-name"</span>: { </code></td></tr><tr><td id="L22108" class="css-a4x74f"><span>22108</span></td><td id="LC22108" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<wq-name>"</span> </code></td></tr><tr><td id="L22109" class="css-a4x74f"><span>22109</span></td><td id="LC22109" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22110" class="css-a4x74f"><span>22110</span></td><td id="LC22110" class="css-1dcdqdg"><code> <span class="code-string">"attr-fallback"</span>: { </code></td></tr><tr><td id="L22111" class="css-a4x74f"><span>22111</span></td><td id="LC22111" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<any-value>"</span> </code></td></tr><tr><td id="L22112" class="css-a4x74f"><span>22112</span></td><td id="LC22112" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22113" class="css-a4x74f"><span>22113</span></td><td id="LC22113" class="css-1dcdqdg"><code> <span class="code-string">"border-radius"</span>: { </code></td></tr><tr><td id="L22114" class="css-a4x74f"><span>22114</span></td><td id="LC22114" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius"</span>, </code></td></tr><tr><td id="L22115" class="css-a4x74f"><span>22115</span></td><td id="LC22115" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length-percentage>{1,2}"</span> </code></td></tr><tr><td id="L22116" class="css-a4x74f"><span>22116</span></td><td id="LC22116" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22117" class="css-a4x74f"><span>22117</span></td><td id="LC22117" class="css-1dcdqdg"><code> bottom: { </code></td></tr><tr><td id="L22118" class="css-a4x74f"><span>22118</span></td><td id="LC22118" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect"</span>, </code></td></tr><tr><td id="L22119" class="css-a4x74f"><span>22119</span></td><td id="LC22119" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | auto"</span> </code></td></tr><tr><td id="L22120" class="css-a4x74f"><span>22120</span></td><td id="LC22120" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22121" class="css-a4x74f"><span>22121</span></td><td id="LC22121" class="css-1dcdqdg"><code> <span class="code-string">"content-list"</span>: { </code></td></tr><tr><td id="L22122" class="css-a4x74f"><span>22122</span></td><td id="LC22122" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)"</span>, </code></td></tr><tr><td id="L22123" class="css-a4x74f"><span>22123</span></td><td id="LC22123" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <string> | contents | <url> | <quote> | <attr()> | counter( <ident>, <'list-style-type'>? ) ]+"</span> </code></td></tr><tr><td id="L22124" class="css-a4x74f"><span>22124</span></td><td id="LC22124" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22125" class="css-a4x74f"><span>22125</span></td><td id="LC22125" class="css-1dcdqdg"><code> <span class="code-string">"generic-voice"</span>: { </code></td></tr><tr><td id="L22126" class="css-a4x74f"><span>22126</span></td><td id="LC22126" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#voice-family"</span>, </code></td></tr><tr><td id="L22127" class="css-a4x74f"><span>22127</span></td><td id="LC22127" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <age>? <gender> <integer>? ]"</span> </code></td></tr><tr><td id="L22128" class="css-a4x74f"><span>22128</span></td><td id="LC22128" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22129" class="css-a4x74f"><span>22129</span></td><td id="LC22129" class="css-1dcdqdg"><code> gender: { </code></td></tr><tr><td id="L22130" class="css-a4x74f"><span>22130</span></td><td id="LC22130" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://www.w3.org/TR/css3-speech/#voice-family"</span>, </code></td></tr><tr><td id="L22131" class="css-a4x74f"><span>22131</span></td><td id="LC22131" class="css-1dcdqdg"><code> syntax: <span class="code-string">"male | female | neutral"</span> </code></td></tr><tr><td id="L22132" class="css-a4x74f"><span>22132</span></td><td id="LC22132" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22133" class="css-a4x74f"><span>22133</span></td><td id="LC22133" class="css-1dcdqdg"><code> <span class="code-string">"generic-family"</span>: { </code></td></tr><tr><td id="L22134" class="css-a4x74f"><span>22134</span></td><td id="LC22134" class="css-1dcdqdg"><code> comment: <span class="code-string">"added -apple-system"</span>, </code></td></tr><tr><td id="L22135" class="css-a4x74f"><span>22135</span></td><td id="LC22135" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L22136" class="css-a4x74f"><span>22136</span></td><td id="LC22136" class="css-1dcdqdg"><code> <span class="code-string">"https://webkit.org/blog/3709/using-the-system-font-in-web-content/"</span> </code></td></tr><tr><td id="L22137" class="css-a4x74f"><span>22137</span></td><td id="LC22137" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L22138" class="css-a4x74f"><span>22138</span></td><td id="LC22138" class="css-1dcdqdg"><code> syntax: <span class="code-string">"serif | sans-serif | cursive | fantasy | monospace | -apple-system"</span> </code></td></tr><tr><td id="L22139" class="css-a4x74f"><span>22139</span></td><td id="LC22139" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22140" class="css-a4x74f"><span>22140</span></td><td id="LC22140" class="css-1dcdqdg"><code> gradient: { </code></td></tr><tr><td id="L22141" class="css-a4x74f"><span>22141</span></td><td id="LC22141" class="css-1dcdqdg"><code> comment: <span class="code-string">"added legacy syntaxes support"</span>, </code></td></tr><tr><td id="L22142" class="css-a4x74f"><span>22142</span></td><td id="LC22142" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <-legacy-gradient>"</span> </code></td></tr><tr><td id="L22143" class="css-a4x74f"><span>22143</span></td><td id="LC22143" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22144" class="css-a4x74f"><span>22144</span></td><td id="LC22144" class="css-1dcdqdg"><code> left: { </code></td></tr><tr><td id="L22145" class="css-a4x74f"><span>22145</span></td><td id="LC22145" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect"</span>, </code></td></tr><tr><td id="L22146" class="css-a4x74f"><span>22146</span></td><td id="LC22146" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | auto"</span> </code></td></tr><tr><td id="L22147" class="css-a4x74f"><span>22147</span></td><td id="LC22147" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22148" class="css-a4x74f"><span>22148</span></td><td id="LC22148" class="css-1dcdqdg"><code> <span class="code-string">"mask-image"</span>: { </code></td></tr><tr><td id="L22149" class="css-a4x74f"><span>22149</span></td><td id="LC22149" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image"</span>, </code></td></tr><tr><td id="L22150" class="css-a4x74f"><span>22150</span></td><td id="LC22150" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<mask-reference>#"</span> </code></td></tr><tr><td id="L22151" class="css-a4x74f"><span>22151</span></td><td id="LC22151" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22152" class="css-a4x74f"><span>22152</span></td><td id="LC22152" class="css-1dcdqdg"><code> <span class="code-string">"name-repeat"</span>: { </code></td></tr><tr><td id="L22153" class="css-a4x74f"><span>22153</span></td><td id="LC22153" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat"</span>, </code></td></tr><tr><td id="L22154" class="css-a4x74f"><span>22154</span></td><td id="LC22154" class="css-1dcdqdg"><code> syntax: <span class="code-string">"repeat( [ <positive-integer> | auto-fill ], <line-names>+)"</span> </code></td></tr><tr><td id="L22155" class="css-a4x74f"><span>22155</span></td><td id="LC22155" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22156" class="css-a4x74f"><span>22156</span></td><td id="LC22156" class="css-1dcdqdg"><code> <span class="code-string">"named-color"</span>: { </code></td></tr><tr><td id="L22157" class="css-a4x74f"><span>22157</span></td><td id="LC22157" class="css-1dcdqdg"><code> comment: <span class="code-string">"added non standard color names"</span>, </code></td></tr><tr><td id="L22158" class="css-a4x74f"><span>22158</span></td><td id="LC22158" class="css-1dcdqdg"><code> syntax: <span class="code-string">"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen | <-non-standard-color>"</span> </code></td></tr><tr><td id="L22159" class="css-a4x74f"><span>22159</span></td><td id="LC22159" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22160" class="css-a4x74f"><span>22160</span></td><td id="LC22160" class="css-1dcdqdg"><code> paint: { </code></td></tr><tr><td id="L22161" class="css-a4x74f"><span>22161</span></td><td id="LC22161" class="css-1dcdqdg"><code> comment: <span class="code-string">"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint"</span>, </code></td></tr><tr><td id="L22162" class="css-a4x74f"><span>22162</span></td><td id="LC22162" class="css-1dcdqdg"><code> syntax: <span class="code-string">"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke"</span> </code></td></tr><tr><td id="L22163" class="css-a4x74f"><span>22163</span></td><td id="LC22163" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22164" class="css-a4x74f"><span>22164</span></td><td id="LC22164" class="css-1dcdqdg"><code> <span class="code-string">"path()"</span>: { </code></td></tr><tr><td id="L22165" class="css-a4x74f"><span>22165</span></td><td id="LC22165" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, `motion` property was renamed, but left it as is for now; path() syntax was get from last draft https://drafts.fxtf.org/motion-1/#funcdef-offset-path-path"</span>, </code></td></tr><tr><td id="L22166" class="css-a4x74f"><span>22166</span></td><td id="LC22166" class="css-1dcdqdg"><code> syntax: <span class="code-string">"path( <string> )"</span> </code></td></tr><tr><td id="L22167" class="css-a4x74f"><span>22167</span></td><td id="LC22167" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22168" class="css-a4x74f"><span>22168</span></td><td id="LC22168" class="css-1dcdqdg"><code> ratio: { </code></td></tr><tr><td id="L22169" class="css-a4x74f"><span>22169</span></td><td id="LC22169" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio"</span>, </code></td></tr><tr><td id="L22170" class="css-a4x74f"><span>22170</span></td><td id="LC22170" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer> / <integer>"</span> </code></td></tr><tr><td id="L22171" class="css-a4x74f"><span>22171</span></td><td id="LC22171" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22172" class="css-a4x74f"><span>22172</span></td><td id="LC22172" class="css-1dcdqdg"><code> right: { </code></td></tr><tr><td id="L22173" class="css-a4x74f"><span>22173</span></td><td id="LC22173" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect"</span>, </code></td></tr><tr><td id="L22174" class="css-a4x74f"><span>22174</span></td><td id="LC22174" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | auto"</span> </code></td></tr><tr><td id="L22175" class="css-a4x74f"><span>22175</span></td><td id="LC22175" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22176" class="css-a4x74f"><span>22176</span></td><td id="LC22176" class="css-1dcdqdg"><code> shape: { </code></td></tr><tr><td id="L22177" class="css-a4x74f"><span>22177</span></td><td id="LC22177" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed spaces in function body and add backwards compatible syntax"</span>, </code></td></tr><tr><td id="L22178" class="css-a4x74f"><span>22178</span></td><td id="LC22178" class="css-1dcdqdg"><code> syntax: <span class="code-string">"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )"</span> </code></td></tr><tr><td id="L22179" class="css-a4x74f"><span>22179</span></td><td id="LC22179" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22180" class="css-a4x74f"><span>22180</span></td><td id="LC22180" class="css-1dcdqdg"><code> <span class="code-string">"svg-length"</span>: { </code></td></tr><tr><td id="L22181" class="css-a4x74f"><span>22181</span></td><td id="LC22181" class="css-1dcdqdg"><code> comment: <span class="code-string">"All coordinates and lengths in SVG can be specified with or without a unit identifier"</span>, </code></td></tr><tr><td id="L22182" class="css-a4x74f"><span>22182</span></td><td id="LC22182" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L22183" class="css-a4x74f"><span>22183</span></td><td id="LC22183" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG11/coords.html#Units"</span> </code></td></tr><tr><td id="L22184" class="css-a4x74f"><span>22184</span></td><td id="LC22184" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L22185" class="css-a4x74f"><span>22185</span></td><td id="LC22185" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<percentage> | <length> | <number>"</span> </code></td></tr><tr><td id="L22186" class="css-a4x74f"><span>22186</span></td><td id="LC22186" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22187" class="css-a4x74f"><span>22187</span></td><td id="LC22187" class="css-1dcdqdg"><code> <span class="code-string">"svg-writing-mode"</span>: { </code></td></tr><tr><td id="L22188" class="css-a4x74f"><span>22188</span></td><td id="LC22188" class="css-1dcdqdg"><code> comment: <span class="code-string">"SVG specific keywords (deprecated for CSS)"</span>, </code></td></tr><tr><td id="L22189" class="css-a4x74f"><span>22189</span></td><td id="LC22189" class="css-1dcdqdg"><code> references: [ </code></td></tr><tr><td id="L22190" class="css-a4x74f"><span>22190</span></td><td id="LC22190" class="css-1dcdqdg"><code> <span class="code-string">"https://developer.mozilla.org/en/docs/Web/CSS/writing-mode"</span>, </code></td></tr><tr><td id="L22191" class="css-a4x74f"><span>22191</span></td><td id="LC22191" class="css-1dcdqdg"><code> <span class="code-string">"https://www.w3.org/TR/SVG/text.html#WritingModeProperty"</span> </code></td></tr><tr><td id="L22192" class="css-a4x74f"><span>22192</span></td><td id="LC22192" class="css-1dcdqdg"><code> ], </code></td></tr><tr><td id="L22193" class="css-a4x74f"><span>22193</span></td><td id="LC22193" class="css-1dcdqdg"><code> syntax: <span class="code-string">"lr-tb | rl-tb | tb-rl | lr | rl | tb"</span> </code></td></tr><tr><td id="L22194" class="css-a4x74f"><span>22194</span></td><td id="LC22194" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22195" class="css-a4x74f"><span>22195</span></td><td id="LC22195" class="css-1dcdqdg"><code> top: { </code></td></tr><tr><td id="L22196" class="css-a4x74f"><span>22196</span></td><td id="LC22196" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect"</span>, </code></td></tr><tr><td id="L22197" class="css-a4x74f"><span>22197</span></td><td id="LC22197" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<length> | auto"</span> </code></td></tr><tr><td id="L22198" class="css-a4x74f"><span>22198</span></td><td id="LC22198" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22199" class="css-a4x74f"><span>22199</span></td><td id="LC22199" class="css-1dcdqdg"><code> <span class="code-string">"track-group"</span>: { </code></td></tr><tr><td id="L22200" class="css-a4x74f"><span>22200</span></td><td id="LC22200" class="css-1dcdqdg"><code> comment: <span class="code-string">"used by old grid-columns and grid-rows syntax v0"</span>, </code></td></tr><tr><td id="L22201" class="css-a4x74f"><span>22201</span></td><td id="LC22201" class="css-1dcdqdg"><code> syntax: <span class="code-string">"'(' [ <string>* <track-minmax> <string>* ]+ ')' [ '[' <positive-integer> ']' ]? | <track-minmax>"</span> </code></td></tr><tr><td id="L22202" class="css-a4x74f"><span>22202</span></td><td id="LC22202" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22203" class="css-a4x74f"><span>22203</span></td><td id="LC22203" class="css-1dcdqdg"><code> <span class="code-string">"track-list-v0"</span>: { </code></td></tr><tr><td id="L22204" class="css-a4x74f"><span>22204</span></td><td id="LC22204" class="css-1dcdqdg"><code> comment: <span class="code-string">"used by old grid-columns and grid-rows syntax v0"</span>, </code></td></tr><tr><td id="L22205" class="css-a4x74f"><span>22205</span></td><td id="LC22205" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <string>* <track-group> <string>* ]+ | none"</span> </code></td></tr><tr><td id="L22206" class="css-a4x74f"><span>22206</span></td><td id="LC22206" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22207" class="css-a4x74f"><span>22207</span></td><td id="LC22207" class="css-1dcdqdg"><code> <span class="code-string">"track-minmax"</span>: { </code></td></tr><tr><td id="L22208" class="css-a4x74f"><span>22208</span></td><td id="LC22208" class="css-1dcdqdg"><code> comment: <span class="code-string">"used by old grid-columns and grid-rows syntax v0"</span>, </code></td></tr><tr><td id="L22209" class="css-a4x74f"><span>22209</span></td><td id="LC22209" class="css-1dcdqdg"><code> syntax: <span class="code-string">"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content"</span> </code></td></tr><tr><td id="L22210" class="css-a4x74f"><span>22210</span></td><td id="LC22210" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22211" class="css-a4x74f"><span>22211</span></td><td id="LC22211" class="css-1dcdqdg"><code> x: { </code></td></tr><tr><td id="L22212" class="css-a4x74f"><span>22212</span></td><td id="LC22212" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor"</span>, </code></td></tr><tr><td id="L22213" class="css-a4x74f"><span>22213</span></td><td id="LC22213" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number>"</span> </code></td></tr><tr><td id="L22214" class="css-a4x74f"><span>22214</span></td><td id="LC22214" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22215" class="css-a4x74f"><span>22215</span></td><td id="LC22215" class="css-1dcdqdg"><code> y: { </code></td></tr><tr><td id="L22216" class="css-a4x74f"><span>22216</span></td><td id="LC22216" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor"</span>, </code></td></tr><tr><td id="L22217" class="css-a4x74f"><span>22217</span></td><td id="LC22217" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number>"</span> </code></td></tr><tr><td id="L22218" class="css-a4x74f"><span>22218</span></td><td id="LC22218" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22219" class="css-a4x74f"><span>22219</span></td><td id="LC22219" class="css-1dcdqdg"><code> declaration: { </code></td></tr><tr><td id="L22220" class="css-a4x74f"><span>22220</span></td><td id="LC22220" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, restored by https://drafts.csswg.org/css-syntax"</span>, </code></td></tr><tr><td id="L22221" class="css-a4x74f"><span>22221</span></td><td id="LC22221" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident-token> : <declaration-value>? [ '!' important ]?"</span> </code></td></tr><tr><td id="L22222" class="css-a4x74f"><span>22222</span></td><td id="LC22222" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22223" class="css-a4x74f"><span>22223</span></td><td id="LC22223" class="css-1dcdqdg"><code> <span class="code-string">"declaration-list"</span>: { </code></td></tr><tr><td id="L22224" class="css-a4x74f"><span>22224</span></td><td id="LC22224" class="css-1dcdqdg"><code> comment: <span class="code-string">"missed, restored by https://drafts.csswg.org/css-syntax"</span>, </code></td></tr><tr><td id="L22225" class="css-a4x74f"><span>22225</span></td><td id="LC22225" class="css-1dcdqdg"><code> syntax: <span class="code-string">"[ <declaration>? ';' ]* <declaration>?"</span> </code></td></tr><tr><td id="L22226" class="css-a4x74f"><span>22226</span></td><td id="LC22226" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22227" class="css-a4x74f"><span>22227</span></td><td id="LC22227" class="css-1dcdqdg"><code> url: { </code></td></tr><tr><td id="L22228" class="css-a4x74f"><span>22228</span></td><td id="LC22228" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://drafts.csswg.org/css-values-4/#urls"</span>, </code></td></tr><tr><td id="L22229" class="css-a4x74f"><span>22229</span></td><td id="LC22229" class="css-1dcdqdg"><code> syntax: <span class="code-string">"url( <string> <url-modifier>* ) | <url-token>"</span> </code></td></tr><tr><td id="L22230" class="css-a4x74f"><span>22230</span></td><td id="LC22230" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22231" class="css-a4x74f"><span>22231</span></td><td id="LC22231" class="css-1dcdqdg"><code> <span class="code-string">"url-modifier"</span>: { </code></td></tr><tr><td id="L22232" class="css-a4x74f"><span>22232</span></td><td id="LC22232" class="css-1dcdqdg"><code> comment: <span class="code-string">"https://drafts.csswg.org/css-values-4/#typedef-url-modifier"</span>, </code></td></tr><tr><td id="L22233" class="css-a4x74f"><span>22233</span></td><td id="LC22233" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<ident> | <function-token> <any-value> )"</span> </code></td></tr><tr><td id="L22234" class="css-a4x74f"><span>22234</span></td><td id="LC22234" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22235" class="css-a4x74f"><span>22235</span></td><td id="LC22235" class="css-1dcdqdg"><code> <span class="code-string">"number-zero-one"</span>: { </code></td></tr><tr><td id="L22236" class="css-a4x74f"><span>22236</span></td><td id="LC22236" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number [0,1]>"</span> </code></td></tr><tr><td id="L22237" class="css-a4x74f"><span>22237</span></td><td id="LC22237" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22238" class="css-a4x74f"><span>22238</span></td><td id="LC22238" class="css-1dcdqdg"><code> <span class="code-string">"number-one-or-greater"</span>: { </code></td></tr><tr><td id="L22239" class="css-a4x74f"><span>22239</span></td><td id="LC22239" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<number [1,∞]>"</span> </code></td></tr><tr><td id="L22240" class="css-a4x74f"><span>22240</span></td><td id="LC22240" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22241" class="css-a4x74f"><span>22241</span></td><td id="LC22241" class="css-1dcdqdg"><code> <span class="code-string">"positive-integer"</span>: { </code></td></tr><tr><td id="L22242" class="css-a4x74f"><span>22242</span></td><td id="LC22242" class="css-1dcdqdg"><code> syntax: <span class="code-string">"<integer [0,∞]>"</span> </code></td></tr><tr><td id="L22243" class="css-a4x74f"><span>22243</span></td><td id="LC22243" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22244" class="css-a4x74f"><span>22244</span></td><td id="LC22244" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22245" class="css-a4x74f"><span>22245</span></td><td id="LC22245" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> patch = { </code></td></tr><tr><td id="L22246" class="css-a4x74f"><span>22246</span></td><td id="LC22246" class="css-1dcdqdg"><code> properties: properties$<span class="code-number">3</span>, </code></td></tr><tr><td id="L22247" class="css-a4x74f"><span>22247</span></td><td id="LC22247" class="css-1dcdqdg"><code> syntaxes: syntaxes$<span class="code-number">2</span> </code></td></tr><tr><td id="L22248" class="css-a4x74f"><span>22248</span></td><td id="LC22248" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22249" class="css-a4x74f"><span>22249</span></td><td id="LC22249" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22250" class="css-a4x74f"><span>22250</span></td><td id="LC22250" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> patch$<span class="code-number">1</span> = <span class="code-comment">/*#__PURE__*/</span><span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L22251" class="css-a4x74f"><span>22251</span></td><td id="LC22251" class="css-1dcdqdg"><code> __proto__: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L22252" class="css-a4x74f"><span>22252</span></td><td id="LC22252" class="css-1dcdqdg"><code> properties: properties$<span class="code-number">3</span>, </code></td></tr><tr><td id="L22253" class="css-a4x74f"><span>22253</span></td><td id="LC22253" class="css-1dcdqdg"><code> syntaxes: syntaxes$<span class="code-number">2</span>, </code></td></tr><tr><td id="L22254" class="css-a4x74f"><span>22254</span></td><td id="LC22254" class="css-1dcdqdg"><code> <span class="code-string">'default'</span>: patch </code></td></tr><tr><td id="L22255" class="css-a4x74f"><span>22255</span></td><td id="LC22255" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L22256" class="css-a4x74f"><span>22256</span></td><td id="LC22256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22257" class="css-a4x74f"><span>22257</span></td><td id="LC22257" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mdnAtrules = getCjsExportFromNamespace(atRules$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22258" class="css-a4x74f"><span>22258</span></td><td id="LC22258" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22259" class="css-a4x74f"><span>22259</span></td><td id="LC22259" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mdnProperties = getCjsExportFromNamespace(properties$<span class="code-number">2</span>); </code></td></tr><tr><td id="L22260" class="css-a4x74f"><span>22260</span></td><td id="LC22260" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22261" class="css-a4x74f"><span>22261</span></td><td id="LC22261" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mdnSyntaxes = getCjsExportFromNamespace(syntaxes$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22262" class="css-a4x74f"><span>22262</span></td><td id="LC22262" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22263" class="css-a4x74f"><span>22263</span></td><td id="LC22263" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> patch$<span class="code-number">2</span> = getCjsExportFromNamespace(patch$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22264" class="css-a4x74f"><span>22264</span></td><td id="LC22264" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22265" class="css-a4x74f"><span>22265</span></td><td id="LC22265" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">preprocessAtrules</span>(<span class="code-params">dict</span>) </span>{ </code></td></tr><tr><td id="L22266" class="css-a4x74f"><span>22266</span></td><td id="LC22266" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L22267" class="css-a4x74f"><span>22267</span></td><td id="LC22267" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22268" class="css-a4x74f"><span>22268</span></td><td id="LC22268" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> atruleName <span class="code-keyword">in</span> dict) { </code></td></tr><tr><td id="L22269" class="css-a4x74f"><span>22269</span></td><td id="LC22269" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrule = dict[atruleName]; </code></td></tr><tr><td id="L22270" class="css-a4x74f"><span>22270</span></td><td id="LC22270" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> descriptors = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22271" class="css-a4x74f"><span>22271</span></td><td id="LC22271" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22272" class="css-a4x74f"><span>22272</span></td><td id="LC22272" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (atrule.descriptors) { </code></td></tr><tr><td id="L22273" class="css-a4x74f"><span>22273</span></td><td id="LC22273" class="css-1dcdqdg"><code> descriptors = <span class="code-built_in">Object</span>.create(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L22274" class="css-a4x74f"><span>22274</span></td><td id="LC22274" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22275" class="css-a4x74f"><span>22275</span></td><td id="LC22275" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> descriptor <span class="code-keyword">in</span> atrule.descriptors) { </code></td></tr><tr><td id="L22276" class="css-a4x74f"><span>22276</span></td><td id="LC22276" class="css-1dcdqdg"><code> descriptors[descriptor] = atrule.descriptors[descriptor].syntax; </code></td></tr><tr><td id="L22277" class="css-a4x74f"><span>22277</span></td><td id="LC22277" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22278" class="css-a4x74f"><span>22278</span></td><td id="LC22278" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22279" class="css-a4x74f"><span>22279</span></td><td id="LC22279" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22280" class="css-a4x74f"><span>22280</span></td><td id="LC22280" class="css-1dcdqdg"><code> result[atruleName.substr(<span class="code-number">1</span>)] = { </code></td></tr><tr><td id="L22281" class="css-a4x74f"><span>22281</span></td><td id="LC22281" class="css-1dcdqdg"><code> prelude: atrule.syntax.trim().match(<span class="code-regexp">/^@\S+\s+([^;\{]*)/</span>)[<span class="code-number">1</span>].trim() || <span class="code-literal">null</span>, </code></td></tr><tr><td id="L22282" class="css-a4x74f"><span>22282</span></td><td id="LC22282" class="css-1dcdqdg"><code> descriptors </code></td></tr><tr><td id="L22283" class="css-a4x74f"><span>22283</span></td><td id="LC22283" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22284" class="css-a4x74f"><span>22284</span></td><td id="LC22284" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22285" class="css-a4x74f"><span>22285</span></td><td id="LC22285" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22286" class="css-a4x74f"><span>22286</span></td><td id="LC22286" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L22287" class="css-a4x74f"><span>22287</span></td><td id="LC22287" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22288" class="css-a4x74f"><span>22288</span></td><td id="LC22288" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22289" class="css-a4x74f"><span>22289</span></td><td id="LC22289" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">buildDictionary</span>(<span class="code-params">dict, patchDict</span>) </span>{ </code></td></tr><tr><td id="L22290" class="css-a4x74f"><span>22290</span></td><td id="LC22290" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> result = {}; </code></td></tr><tr><td id="L22291" class="css-a4x74f"><span>22291</span></td><td id="LC22291" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22292" class="css-a4x74f"><span>22292</span></td><td id="LC22292" class="css-1dcdqdg"><code> <span class="code-comment">// copy all syntaxes for an original dict</span> </code></td></tr><tr><td id="L22293" class="css-a4x74f"><span>22293</span></td><td id="LC22293" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> dict) { </code></td></tr><tr><td id="L22294" class="css-a4x74f"><span>22294</span></td><td id="LC22294" class="css-1dcdqdg"><code> result[key] = dict[key].syntax; </code></td></tr><tr><td id="L22295" class="css-a4x74f"><span>22295</span></td><td id="LC22295" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22296" class="css-a4x74f"><span>22296</span></td><td id="LC22296" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22297" class="css-a4x74f"><span>22297</span></td><td id="LC22297" class="css-1dcdqdg"><code> <span class="code-comment">// apply a patch</span> </code></td></tr><tr><td id="L22298" class="css-a4x74f"><span>22298</span></td><td id="LC22298" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> patchDict) { </code></td></tr><tr><td id="L22299" class="css-a4x74f"><span>22299</span></td><td id="LC22299" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (key <span class="code-keyword">in</span> dict) { </code></td></tr><tr><td id="L22300" class="css-a4x74f"><span>22300</span></td><td id="LC22300" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (patchDict[key].syntax) { </code></td></tr><tr><td id="L22301" class="css-a4x74f"><span>22301</span></td><td id="LC22301" class="css-1dcdqdg"><code> result[key] = patchDict[key].syntax; </code></td></tr><tr><td id="L22302" class="css-a4x74f"><span>22302</span></td><td id="LC22302" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22303" class="css-a4x74f"><span>22303</span></td><td id="LC22303" class="css-1dcdqdg"><code> <span class="code-keyword">delete</span> result[key]; </code></td></tr><tr><td id="L22304" class="css-a4x74f"><span>22304</span></td><td id="LC22304" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22305" class="css-a4x74f"><span>22305</span></td><td id="LC22305" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22306" class="css-a4x74f"><span>22306</span></td><td id="LC22306" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (patchDict[key].syntax) { </code></td></tr><tr><td id="L22307" class="css-a4x74f"><span>22307</span></td><td id="LC22307" class="css-1dcdqdg"><code> result[key] = patchDict[key].syntax; </code></td></tr><tr><td id="L22308" class="css-a4x74f"><span>22308</span></td><td id="LC22308" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22309" class="css-a4x74f"><span>22309</span></td><td id="LC22309" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22310" class="css-a4x74f"><span>22310</span></td><td id="LC22310" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22311" class="css-a4x74f"><span>22311</span></td><td id="LC22311" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22312" class="css-a4x74f"><span>22312</span></td><td id="LC22312" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> result; </code></td></tr><tr><td id="L22313" class="css-a4x74f"><span>22313</span></td><td id="LC22313" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22314" class="css-a4x74f"><span>22314</span></td><td id="LC22314" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22315" class="css-a4x74f"><span>22315</span></td><td id="LC22315" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> data = { </code></td></tr><tr><td id="L22316" class="css-a4x74f"><span>22316</span></td><td id="LC22316" class="css-1dcdqdg"><code> types: buildDictionary(mdnSyntaxes, patch$<span class="code-number">2.</span>syntaxes), </code></td></tr><tr><td id="L22317" class="css-a4x74f"><span>22317</span></td><td id="LC22317" class="css-1dcdqdg"><code> atrules: preprocessAtrules(mdnAtrules), </code></td></tr><tr><td id="L22318" class="css-a4x74f"><span>22318</span></td><td id="LC22318" class="css-1dcdqdg"><code> properties: buildDictionary(mdnProperties, patch$<span class="code-number">2.</span>properties) </code></td></tr><tr><td id="L22319" class="css-a4x74f"><span>22319</span></td><td id="LC22319" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22320" class="css-a4x74f"><span>22320</span></td><td id="LC22320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22321" class="css-a4x74f"><span>22321</span></td><td id="LC22321" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpChar$<span class="code-number">3</span> = tokenizer.cmpChar; </code></td></tr><tr><td id="L22322" class="css-a4x74f"><span>22322</span></td><td id="LC22322" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDigit$<span class="code-number">4</span> = tokenizer.isDigit; </code></td></tr><tr><td id="L22323" class="css-a4x74f"><span>22323</span></td><td id="LC22323" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$<span class="code-number">9</span> = tokenizer.TYPE; </code></td></tr><tr><td id="L22324" class="css-a4x74f"><span>22324</span></td><td id="LC22324" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22325" class="css-a4x74f"><span>22325</span></td><td id="LC22325" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">4</span> = TYPE$<span class="code-number">9.</span>WhiteSpace; </code></td></tr><tr><td id="L22326" class="css-a4x74f"><span>22326</span></td><td id="LC22326" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">3</span> = TYPE$<span class="code-number">9.</span>Comment; </code></td></tr><tr><td id="L22327" class="css-a4x74f"><span>22327</span></td><td id="LC22327" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">3</span> = TYPE$<span class="code-number">9.</span>Ident; </code></td></tr><tr><td id="L22328" class="css-a4x74f"><span>22328</span></td><td id="LC22328" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">3</span> = TYPE$<span class="code-number">9.</span><span class="code-built_in">Number</span>; </code></td></tr><tr><td id="L22329" class="css-a4x74f"><span>22329</span></td><td id="LC22329" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">2</span> = TYPE$<span class="code-number">9.</span>Dimension; </code></td></tr><tr><td id="L22330" class="css-a4x74f"><span>22330</span></td><td id="LC22330" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">3</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L22331" class="css-a4x74f"><span>22331</span></td><td id="LC22331" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS$<span class="code-number">3</span> = <span class="code-number">0x002D</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L22332" class="css-a4x74f"><span>22332</span></td><td id="LC22332" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> N$<span class="code-number">4</span> = <span class="code-number">0x006E</span>; <span class="code-comment">// U+006E LATIN SMALL LETTER N (n)</span> </code></td></tr><tr><td id="L22333" class="css-a4x74f"><span>22333</span></td><td id="LC22333" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DISALLOW_SIGN$<span class="code-number">1</span> = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L22334" class="css-a4x74f"><span>22334</span></td><td id="LC22334" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ALLOW_SIGN$<span class="code-number">1</span> = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22335" class="css-a4x74f"><span>22335</span></td><td id="LC22335" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22336" class="css-a4x74f"><span>22336</span></td><td id="LC22336" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">checkInteger$1</span>(<span class="code-params">offset, disallowSign</span>) </span>{ </code></td></tr><tr><td id="L22337" class="css-a4x74f"><span>22337</span></td><td id="LC22337" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pos = <span class="code-keyword">this</span>.scanner.tokenStart + offset; </code></td></tr><tr><td id="L22338" class="css-a4x74f"><span>22338</span></td><td id="LC22338" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(pos); </code></td></tr><tr><td id="L22339" class="css-a4x74f"><span>22339</span></td><td id="LC22339" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22340" class="css-a4x74f"><span>22340</span></td><td id="LC22340" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === PLUSSIGN$<span class="code-number">3</span> || code === HYPHENMINUS$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22341" class="css-a4x74f"><span>22341</span></td><td id="LC22341" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (disallowSign) { </code></td></tr><tr><td id="L22342" class="css-a4x74f"><span>22342</span></td><td id="LC22342" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Number sign is not allowed'</span>); </code></td></tr><tr><td id="L22343" class="css-a4x74f"><span>22343</span></td><td id="LC22343" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22344" class="css-a4x74f"><span>22344</span></td><td id="LC22344" class="css-1dcdqdg"><code> pos++; </code></td></tr><tr><td id="L22345" class="css-a4x74f"><span>22345</span></td><td id="LC22345" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22346" class="css-a4x74f"><span>22346</span></td><td id="LC22346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22347" class="css-a4x74f"><span>22347</span></td><td id="LC22347" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (; pos < <span class="code-keyword">this</span>.scanner.tokenEnd; pos++) { </code></td></tr><tr><td id="L22348" class="css-a4x74f"><span>22348</span></td><td id="LC22348" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source.charCodeAt(pos))) { </code></td></tr><tr><td id="L22349" class="css-a4x74f"><span>22349</span></td><td id="LC22349" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Integer is expected'</span>, pos); </code></td></tr><tr><td id="L22350" class="css-a4x74f"><span>22350</span></td><td id="LC22350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22351" class="css-a4x74f"><span>22351</span></td><td id="LC22351" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22352" class="css-a4x74f"><span>22352</span></td><td id="LC22352" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22353" class="css-a4x74f"><span>22353</span></td><td id="LC22353" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22354" class="css-a4x74f"><span>22354</span></td><td id="LC22354" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">checkTokenIsInteger</span>(<span class="code-params">disallowSign</span>) </span>{ </code></td></tr><tr><td id="L22355" class="css-a4x74f"><span>22355</span></td><td id="LC22355" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> checkInteger$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, <span class="code-number">0</span>, disallowSign); </code></td></tr><tr><td id="L22356" class="css-a4x74f"><span>22356</span></td><td id="LC22356" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22357" class="css-a4x74f"><span>22357</span></td><td id="LC22357" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22358" class="css-a4x74f"><span>22358</span></td><td id="LC22358" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">expectCharCode</span>(<span class="code-params">offset, code</span>) </span>{ </code></td></tr><tr><td id="L22359" class="css-a4x74f"><span>22359</span></td><td id="LC22359" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpChar$<span class="code-number">3</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart + offset, code)) { </code></td></tr><tr><td id="L22360" class="css-a4x74f"><span>22360</span></td><td id="LC22360" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> msg = <span class="code-string">''</span>; </code></td></tr><tr><td id="L22361" class="css-a4x74f"><span>22361</span></td><td id="LC22361" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22362" class="css-a4x74f"><span>22362</span></td><td id="LC22362" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (code) { </code></td></tr><tr><td id="L22363" class="css-a4x74f"><span>22363</span></td><td id="LC22363" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> N$<span class="code-number">4</span>: </code></td></tr><tr><td id="L22364" class="css-a4x74f"><span>22364</span></td><td id="LC22364" class="css-1dcdqdg"><code> msg = <span class="code-string">'N is expected'</span>; </code></td></tr><tr><td id="L22365" class="css-a4x74f"><span>22365</span></td><td id="LC22365" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22366" class="css-a4x74f"><span>22366</span></td><td id="LC22366" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> HYPHENMINUS$<span class="code-number">3</span>: </code></td></tr><tr><td id="L22367" class="css-a4x74f"><span>22367</span></td><td id="LC22367" class="css-1dcdqdg"><code> msg = <span class="code-string">'HyphenMinus is expected'</span>; </code></td></tr><tr><td id="L22368" class="css-a4x74f"><span>22368</span></td><td id="LC22368" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22369" class="css-a4x74f"><span>22369</span></td><td id="LC22369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22370" class="css-a4x74f"><span>22370</span></td><td id="LC22370" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22371" class="css-a4x74f"><span>22371</span></td><td id="LC22371" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(msg, <span class="code-keyword">this</span>.scanner.tokenStart + offset); </code></td></tr><tr><td id="L22372" class="css-a4x74f"><span>22372</span></td><td id="LC22372" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22373" class="css-a4x74f"><span>22373</span></td><td id="LC22373" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22374" class="css-a4x74f"><span>22374</span></td><td id="LC22374" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22375" class="css-a4x74f"><span>22375</span></td><td id="LC22375" class="css-1dcdqdg"><code> <span class="code-comment">// ... <signed-integer></span> </code></td></tr><tr><td id="L22376" class="css-a4x74f"><span>22376</span></td><td id="LC22376" class="css-1dcdqdg"><code> <span class="code-comment">// ... ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22377" class="css-a4x74f"><span>22377</span></td><td id="LC22377" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeB$1</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22378" class="css-a4x74f"><span>22378</span></td><td id="LC22378" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> offset = <span class="code-number">0</span>; </code></td></tr><tr><td id="L22379" class="css-a4x74f"><span>22379</span></td><td id="LC22379" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-number">0</span>; </code></td></tr><tr><td id="L22380" class="css-a4x74f"><span>22380</span></td><td id="LC22380" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> type = <span class="code-keyword">this</span>.scanner.tokenType; </code></td></tr><tr><td id="L22381" class="css-a4x74f"><span>22381</span></td><td id="LC22381" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22382" class="css-a4x74f"><span>22382</span></td><td id="LC22382" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (type === WHITESPACE$<span class="code-number">4</span> || type === COMMENT$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22383" class="css-a4x74f"><span>22383</span></td><td id="LC22383" class="css-1dcdqdg"><code> type = <span class="code-keyword">this</span>.scanner.lookupType(++offset); </code></td></tr><tr><td id="L22384" class="css-a4x74f"><span>22384</span></td><td id="LC22384" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22385" class="css-a4x74f"><span>22385</span></td><td id="LC22385" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22386" class="css-a4x74f"><span>22386</span></td><td id="LC22386" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type !== NUMBER$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22387" class="css-a4x74f"><span>22387</span></td><td id="LC22387" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(PLUSSIGN$<span class="code-number">3</span>, offset) || </code></td></tr><tr><td id="L22388" class="css-a4x74f"><span>22388</span></td><td id="LC22388" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.isDelim(HYPHENMINUS$<span class="code-number">3</span>, offset)) { </code></td></tr><tr><td id="L22389" class="css-a4x74f"><span>22389</span></td><td id="LC22389" class="css-1dcdqdg"><code> sign = <span class="code-keyword">this</span>.scanner.isDelim(PLUSSIGN$<span class="code-number">3</span>, offset) ? PLUSSIGN$<span class="code-number">3</span> : HYPHENMINUS$<span class="code-number">3</span>; </code></td></tr><tr><td id="L22390" class="css-a4x74f"><span>22390</span></td><td id="LC22390" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22391" class="css-a4x74f"><span>22391</span></td><td id="LC22391" class="css-1dcdqdg"><code> <span class="code-keyword">do</span> { </code></td></tr><tr><td id="L22392" class="css-a4x74f"><span>22392</span></td><td id="LC22392" class="css-1dcdqdg"><code> type = <span class="code-keyword">this</span>.scanner.lookupType(++offset); </code></td></tr><tr><td id="L22393" class="css-a4x74f"><span>22393</span></td><td id="LC22393" class="css-1dcdqdg"><code> } <span class="code-keyword">while</span> (type === WHITESPACE$<span class="code-number">4</span> || type === COMMENT$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22394" class="css-a4x74f"><span>22394</span></td><td id="LC22394" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22395" class="css-a4x74f"><span>22395</span></td><td id="LC22395" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type !== NUMBER$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22396" class="css-a4x74f"><span>22396</span></td><td id="LC22396" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skip(offset); </code></td></tr><tr><td id="L22397" class="css-a4x74f"><span>22397</span></td><td id="LC22397" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22398" class="css-a4x74f"><span>22398</span></td><td id="LC22398" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22399" class="css-a4x74f"><span>22399</span></td><td id="LC22399" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22400" class="css-a4x74f"><span>22400</span></td><td id="LC22400" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22401" class="css-a4x74f"><span>22401</span></td><td id="LC22401" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22402" class="css-a4x74f"><span>22402</span></td><td id="LC22402" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22403" class="css-a4x74f"><span>22403</span></td><td id="LC22403" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22404" class="css-a4x74f"><span>22404</span></td><td id="LC22404" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (offset > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L22405" class="css-a4x74f"><span>22405</span></td><td id="LC22405" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skip(offset); </code></td></tr><tr><td id="L22406" class="css-a4x74f"><span>22406</span></td><td id="LC22406" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22407" class="css-a4x74f"><span>22407</span></td><td id="LC22407" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22408" class="css-a4x74f"><span>22408</span></td><td id="LC22408" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (sign === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L22409" class="css-a4x74f"><span>22409</span></td><td id="LC22409" class="css-1dcdqdg"><code> type = <span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L22410" class="css-a4x74f"><span>22410</span></td><td id="LC22410" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type !== PLUSSIGN$<span class="code-number">3</span> && type !== HYPHENMINUS$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22411" class="css-a4x74f"><span>22411</span></td><td id="LC22411" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Number sign is expected'</span>); </code></td></tr><tr><td id="L22412" class="css-a4x74f"><span>22412</span></td><td id="LC22412" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22413" class="css-a4x74f"><span>22413</span></td><td id="LC22413" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22414" class="css-a4x74f"><span>22414</span></td><td id="LC22414" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22415" class="css-a4x74f"><span>22415</span></td><td id="LC22415" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, sign !== <span class="code-number">0</span>); </code></td></tr><tr><td id="L22416" class="css-a4x74f"><span>22416</span></td><td id="LC22416" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> sign === HYPHENMINUS$<span class="code-number">3</span> ? <span class="code-string">'-'</span> + <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>) : <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22417" class="css-a4x74f"><span>22417</span></td><td id="LC22417" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22418" class="css-a4x74f"><span>22418</span></td><td id="LC22418" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22419" class="css-a4x74f"><span>22419</span></td><td id="LC22419" class="css-1dcdqdg"><code> <span class="code-comment">// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb</span> </code></td></tr><tr><td id="L22420" class="css-a4x74f"><span>22420</span></td><td id="LC22420" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> AnPlusB = { </code></td></tr><tr><td id="L22421" class="css-a4x74f"><span>22421</span></td><td id="LC22421" class="css-1dcdqdg"><code> name: <span class="code-string">'AnPlusB'</span>, </code></td></tr><tr><td id="L22422" class="css-a4x74f"><span>22422</span></td><td id="LC22422" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L22423" class="css-a4x74f"><span>22423</span></td><td id="LC22423" class="css-1dcdqdg"><code> a: [<span class="code-built_in">String</span>, <span class="code-literal">null</span>], </code></td></tr><tr><td id="L22424" class="css-a4x74f"><span>22424</span></td><td id="LC22424" class="css-1dcdqdg"><code> b: [<span class="code-built_in">String</span>, <span class="code-literal">null</span>] </code></td></tr><tr><td id="L22425" class="css-a4x74f"><span>22425</span></td><td id="LC22425" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22426" class="css-a4x74f"><span>22426</span></td><td id="LC22426" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22427" class="css-a4x74f"><span>22427</span></td><td id="LC22427" class="css-1dcdqdg"><code> <span class="code-comment">/* eslint-disable brace-style*/</span> </code></td></tr><tr><td id="L22428" class="css-a4x74f"><span>22428</span></td><td id="LC22428" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22429" class="css-a4x74f"><span>22429</span></td><td id="LC22429" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> a = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22430" class="css-a4x74f"><span>22430</span></td><td id="LC22430" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> b = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22431" class="css-a4x74f"><span>22431</span></td><td id="LC22431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22432" class="css-a4x74f"><span>22432</span></td><td id="LC22432" class="css-1dcdqdg"><code> <span class="code-comment">// <integer></span> </code></td></tr><tr><td id="L22433" class="css-a4x74f"><span>22433</span></td><td id="LC22433" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === NUMBER$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22434" class="css-a4x74f"><span>22434</span></td><td id="LC22434" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, ALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22435" class="css-a4x74f"><span>22435</span></td><td id="LC22435" class="css-1dcdqdg"><code> b = <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22436" class="css-a4x74f"><span>22436</span></td><td id="LC22436" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22437" class="css-a4x74f"><span>22437</span></td><td id="LC22437" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22438" class="css-a4x74f"><span>22438</span></td><td id="LC22438" class="css-1dcdqdg"><code> <span class="code-comment">// -n</span> </code></td></tr><tr><td id="L22439" class="css-a4x74f"><span>22439</span></td><td id="LC22439" class="css-1dcdqdg"><code> <span class="code-comment">// -n <signed-integer></span> </code></td></tr><tr><td id="L22440" class="css-a4x74f"><span>22440</span></td><td id="LC22440" class="css-1dcdqdg"><code> <span class="code-comment">// -n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22441" class="css-a4x74f"><span>22441</span></td><td id="LC22441" class="css-1dcdqdg"><code> <span class="code-comment">// -n- <signless-integer></span> </code></td></tr><tr><td id="L22442" class="css-a4x74f"><span>22442</span></td><td id="LC22442" class="css-1dcdqdg"><code> <span class="code-comment">// <dashndashdigit-ident></span> </code></td></tr><tr><td id="L22443" class="css-a4x74f"><span>22443</span></td><td id="LC22443" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === IDENT$<span class="code-number">3</span> && cmpChar$<span class="code-number">3</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart, HYPHENMINUS$<span class="code-number">3</span>)) { </code></td></tr><tr><td id="L22444" class="css-a4x74f"><span>22444</span></td><td id="LC22444" class="css-1dcdqdg"><code> a = <span class="code-string">'-1'</span>; </code></td></tr><tr><td id="L22445" class="css-a4x74f"><span>22445</span></td><td id="LC22445" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22446" class="css-a4x74f"><span>22446</span></td><td id="LC22446" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, N$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22447" class="css-a4x74f"><span>22447</span></td><td id="LC22447" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22448" class="css-a4x74f"><span>22448</span></td><td id="LC22448" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.getTokenLength()) { </code></td></tr><tr><td id="L22449" class="css-a4x74f"><span>22449</span></td><td id="LC22449" class="css-1dcdqdg"><code> <span class="code-comment">// -n</span> </code></td></tr><tr><td id="L22450" class="css-a4x74f"><span>22450</span></td><td id="LC22450" class="css-1dcdqdg"><code> <span class="code-comment">// -n <signed-integer></span> </code></td></tr><tr><td id="L22451" class="css-a4x74f"><span>22451</span></td><td id="LC22451" class="css-1dcdqdg"><code> <span class="code-comment">// -n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22452" class="css-a4x74f"><span>22452</span></td><td id="LC22452" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L22453" class="css-a4x74f"><span>22453</span></td><td id="LC22453" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22454" class="css-a4x74f"><span>22454</span></td><td id="LC22454" class="css-1dcdqdg"><code> b = consumeB$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22455" class="css-a4x74f"><span>22455</span></td><td id="LC22455" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22456" class="css-a4x74f"><span>22456</span></td><td id="LC22456" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22457" class="css-a4x74f"><span>22457</span></td><td id="LC22457" class="css-1dcdqdg"><code> <span class="code-comment">// -n- <signless-integer></span> </code></td></tr><tr><td id="L22458" class="css-a4x74f"><span>22458</span></td><td id="LC22458" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">3</span>: </code></td></tr><tr><td id="L22459" class="css-a4x74f"><span>22459</span></td><td id="LC22459" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">2</span>, HYPHENMINUS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22460" class="css-a4x74f"><span>22460</span></td><td id="LC22460" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22461" class="css-a4x74f"><span>22461</span></td><td id="LC22461" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22462" class="css-a4x74f"><span>22462</span></td><td id="LC22462" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22463" class="css-a4x74f"><span>22463</span></td><td id="LC22463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22464" class="css-a4x74f"><span>22464</span></td><td id="LC22464" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22465" class="css-a4x74f"><span>22465</span></td><td id="LC22465" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22466" class="css-a4x74f"><span>22466</span></td><td id="LC22466" class="css-1dcdqdg"><code> b = <span class="code-string">'-'</span> + <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22467" class="css-a4x74f"><span>22467</span></td><td id="LC22467" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22468" class="css-a4x74f"><span>22468</span></td><td id="LC22468" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22469" class="css-a4x74f"><span>22469</span></td><td id="LC22469" class="css-1dcdqdg"><code> <span class="code-comment">// <dashndashdigit-ident></span> </code></td></tr><tr><td id="L22470" class="css-a4x74f"><span>22470</span></td><td id="LC22470" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L22471" class="css-a4x74f"><span>22471</span></td><td id="LC22471" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">2</span>, HYPHENMINUS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22472" class="css-a4x74f"><span>22472</span></td><td id="LC22472" class="css-1dcdqdg"><code> checkInteger$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, <span class="code-number">3</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22473" class="css-a4x74f"><span>22473</span></td><td id="LC22473" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22474" class="css-a4x74f"><span>22474</span></td><td id="LC22474" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22475" class="css-a4x74f"><span>22475</span></td><td id="LC22475" class="css-1dcdqdg"><code> b = <span class="code-keyword">this</span>.scanner.substrToCursor(start + <span class="code-number">2</span>); </code></td></tr><tr><td id="L22476" class="css-a4x74f"><span>22476</span></td><td id="LC22476" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22477" class="css-a4x74f"><span>22477</span></td><td id="LC22477" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22478" class="css-a4x74f"><span>22478</span></td><td id="LC22478" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22479" class="css-a4x74f"><span>22479</span></td><td id="LC22479" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n</span> </code></td></tr><tr><td id="L22480" class="css-a4x74f"><span>22480</span></td><td id="LC22480" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n <signed-integer></span> </code></td></tr><tr><td id="L22481" class="css-a4x74f"><span>22481</span></td><td id="LC22481" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22482" class="css-a4x74f"><span>22482</span></td><td id="LC22482" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n- <signless-integer></span> </code></td></tr><tr><td id="L22483" class="css-a4x74f"><span>22483</span></td><td id="LC22483" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? <ndashdigit-ident></span> </code></td></tr><tr><td id="L22484" class="css-a4x74f"><span>22484</span></td><td id="LC22484" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === IDENT$<span class="code-number">3</span> || (<span class="code-keyword">this</span>.scanner.isDelim(PLUSSIGN$<span class="code-number">3</span>) && <span class="code-keyword">this</span>.scanner.lookupType(<span class="code-number">1</span>) === IDENT$<span class="code-number">3</span>)) { </code></td></tr><tr><td id="L22485" class="css-a4x74f"><span>22485</span></td><td id="LC22485" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-number">0</span>; </code></td></tr><tr><td id="L22486" class="css-a4x74f"><span>22486</span></td><td id="LC22486" class="css-1dcdqdg"><code> a = <span class="code-string">'1'</span>; </code></td></tr><tr><td id="L22487" class="css-a4x74f"><span>22487</span></td><td id="LC22487" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22488" class="css-a4x74f"><span>22488</span></td><td id="LC22488" class="css-1dcdqdg"><code> <span class="code-comment">// just ignore a plus</span> </code></td></tr><tr><td id="L22489" class="css-a4x74f"><span>22489</span></td><td id="LC22489" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(PLUSSIGN$<span class="code-number">3</span>)) { </code></td></tr><tr><td id="L22490" class="css-a4x74f"><span>22490</span></td><td id="LC22490" class="css-1dcdqdg"><code> sign = <span class="code-number">1</span>; </code></td></tr><tr><td id="L22491" class="css-a4x74f"><span>22491</span></td><td id="LC22491" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22492" class="css-a4x74f"><span>22492</span></td><td id="LC22492" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22493" class="css-a4x74f"><span>22493</span></td><td id="LC22493" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22494" class="css-a4x74f"><span>22494</span></td><td id="LC22494" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">0</span>, N$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22495" class="css-a4x74f"><span>22495</span></td><td id="LC22495" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22496" class="css-a4x74f"><span>22496</span></td><td id="LC22496" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.getTokenLength()) { </code></td></tr><tr><td id="L22497" class="css-a4x74f"><span>22497</span></td><td id="LC22497" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n</span> </code></td></tr><tr><td id="L22498" class="css-a4x74f"><span>22498</span></td><td id="LC22498" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n <signed-integer></span> </code></td></tr><tr><td id="L22499" class="css-a4x74f"><span>22499</span></td><td id="LC22499" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22500" class="css-a4x74f"><span>22500</span></td><td id="LC22500" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">1</span>: </code></td></tr><tr><td id="L22501" class="css-a4x74f"><span>22501</span></td><td id="LC22501" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22502" class="css-a4x74f"><span>22502</span></td><td id="LC22502" class="css-1dcdqdg"><code> b = consumeB$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22503" class="css-a4x74f"><span>22503</span></td><td id="LC22503" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22504" class="css-a4x74f"><span>22504</span></td><td id="LC22504" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22505" class="css-a4x74f"><span>22505</span></td><td id="LC22505" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? n- <signless-integer></span> </code></td></tr><tr><td id="L22506" class="css-a4x74f"><span>22506</span></td><td id="LC22506" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L22507" class="css-a4x74f"><span>22507</span></td><td id="LC22507" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, HYPHENMINUS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22508" class="css-a4x74f"><span>22508</span></td><td id="LC22508" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22509" class="css-a4x74f"><span>22509</span></td><td id="LC22509" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22510" class="css-a4x74f"><span>22510</span></td><td id="LC22510" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22511" class="css-a4x74f"><span>22511</span></td><td id="LC22511" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22512" class="css-a4x74f"><span>22512</span></td><td id="LC22512" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22513" class="css-a4x74f"><span>22513</span></td><td id="LC22513" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22514" class="css-a4x74f"><span>22514</span></td><td id="LC22514" class="css-1dcdqdg"><code> b = <span class="code-string">'-'</span> + <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22515" class="css-a4x74f"><span>22515</span></td><td id="LC22515" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22516" class="css-a4x74f"><span>22516</span></td><td id="LC22516" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22517" class="css-a4x74f"><span>22517</span></td><td id="LC22517" class="css-1dcdqdg"><code> <span class="code-comment">// '+'? <ndashdigit-ident></span> </code></td></tr><tr><td id="L22518" class="css-a4x74f"><span>22518</span></td><td id="LC22518" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L22519" class="css-a4x74f"><span>22519</span></td><td id="LC22519" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, HYPHENMINUS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22520" class="css-a4x74f"><span>22520</span></td><td id="LC22520" class="css-1dcdqdg"><code> checkInteger$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, <span class="code-number">2</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22521" class="css-a4x74f"><span>22521</span></td><td id="LC22521" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22522" class="css-a4x74f"><span>22522</span></td><td id="LC22522" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22523" class="css-a4x74f"><span>22523</span></td><td id="LC22523" class="css-1dcdqdg"><code> b = <span class="code-keyword">this</span>.scanner.substrToCursor(start + sign + <span class="code-number">1</span>); </code></td></tr><tr><td id="L22524" class="css-a4x74f"><span>22524</span></td><td id="LC22524" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22525" class="css-a4x74f"><span>22525</span></td><td id="LC22525" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22526" class="css-a4x74f"><span>22526</span></td><td id="LC22526" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22527" class="css-a4x74f"><span>22527</span></td><td id="LC22527" class="css-1dcdqdg"><code> <span class="code-comment">// <ndashdigit-dimension></span> </code></td></tr><tr><td id="L22528" class="css-a4x74f"><span>22528</span></td><td id="LC22528" class="css-1dcdqdg"><code> <span class="code-comment">// <ndash-dimension> <signless-integer></span> </code></td></tr><tr><td id="L22529" class="css-a4x74f"><span>22529</span></td><td id="LC22529" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension></span> </code></td></tr><tr><td id="L22530" class="css-a4x74f"><span>22530</span></td><td id="LC22530" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> <signed-integer></span> </code></td></tr><tr><td id="L22531" class="css-a4x74f"><span>22531</span></td><td id="LC22531" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22532" class="css-a4x74f"><span>22532</span></td><td id="LC22532" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === DIMENSION$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L22533" class="css-a4x74f"><span>22533</span></td><td id="LC22533" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L22534" class="css-a4x74f"><span>22534</span></td><td id="LC22534" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = code === PLUSSIGN$<span class="code-number">3</span> || code === HYPHENMINUS$<span class="code-number">3</span>; </code></td></tr><tr><td id="L22535" class="css-a4x74f"><span>22535</span></td><td id="LC22535" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22536" class="css-a4x74f"><span>22536</span></td><td id="LC22536" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-keyword">this</span>.scanner.tokenStart + sign; i < <span class="code-keyword">this</span>.scanner.tokenEnd; i++) { </code></td></tr><tr><td id="L22537" class="css-a4x74f"><span>22537</span></td><td id="LC22537" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source.charCodeAt(i))) { </code></td></tr><tr><td id="L22538" class="css-a4x74f"><span>22538</span></td><td id="LC22538" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22539" class="css-a4x74f"><span>22539</span></td><td id="LC22539" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22540" class="css-a4x74f"><span>22540</span></td><td id="LC22540" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22541" class="css-a4x74f"><span>22541</span></td><td id="LC22541" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22542" class="css-a4x74f"><span>22542</span></td><td id="LC22542" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i === <span class="code-keyword">this</span>.scanner.tokenStart + sign) { </code></td></tr><tr><td id="L22543" class="css-a4x74f"><span>22543</span></td><td id="LC22543" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Integer is expected'</span>, <span class="code-keyword">this</span>.scanner.tokenStart + sign); </code></td></tr><tr><td id="L22544" class="css-a4x74f"><span>22544</span></td><td id="LC22544" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22545" class="css-a4x74f"><span>22545</span></td><td id="LC22545" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22546" class="css-a4x74f"><span>22546</span></td><td id="LC22546" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, i - <span class="code-keyword">this</span>.scanner.tokenStart, N$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22547" class="css-a4x74f"><span>22547</span></td><td id="LC22547" class="css-1dcdqdg"><code> a = <span class="code-keyword">this</span>.scanner.source.substring(start, i); </code></td></tr><tr><td id="L22548" class="css-a4x74f"><span>22548</span></td><td id="LC22548" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22549" class="css-a4x74f"><span>22549</span></td><td id="LC22549" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension></span> </code></td></tr><tr><td id="L22550" class="css-a4x74f"><span>22550</span></td><td id="LC22550" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> <signed-integer></span> </code></td></tr><tr><td id="L22551" class="css-a4x74f"><span>22551</span></td><td id="LC22551" class="css-1dcdqdg"><code> <span class="code-comment">// <n-dimension> ['+' | '-'] <signless-integer></span> </code></td></tr><tr><td id="L22552" class="css-a4x74f"><span>22552</span></td><td id="LC22552" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i + <span class="code-number">1</span> === <span class="code-keyword">this</span>.scanner.tokenEnd) { </code></td></tr><tr><td id="L22553" class="css-a4x74f"><span>22553</span></td><td id="LC22553" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22554" class="css-a4x74f"><span>22554</span></td><td id="LC22554" class="css-1dcdqdg"><code> b = consumeB$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22555" class="css-a4x74f"><span>22555</span></td><td id="LC22555" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22556" class="css-a4x74f"><span>22556</span></td><td id="LC22556" class="css-1dcdqdg"><code> expectCharCode.call(<span class="code-keyword">this</span>, i - <span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">1</span>, HYPHENMINUS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22557" class="css-a4x74f"><span>22557</span></td><td id="LC22557" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22558" class="css-a4x74f"><span>22558</span></td><td id="LC22558" class="css-1dcdqdg"><code> <span class="code-comment">// <ndash-dimension> <signless-integer></span> </code></td></tr><tr><td id="L22559" class="css-a4x74f"><span>22559</span></td><td id="LC22559" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i + <span class="code-number">2</span> === <span class="code-keyword">this</span>.scanner.tokenEnd) { </code></td></tr><tr><td id="L22560" class="css-a4x74f"><span>22560</span></td><td id="LC22560" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22561" class="css-a4x74f"><span>22561</span></td><td id="LC22561" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22562" class="css-a4x74f"><span>22562</span></td><td id="LC22562" class="css-1dcdqdg"><code> checkTokenIsInteger.call(<span class="code-keyword">this</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22563" class="css-a4x74f"><span>22563</span></td><td id="LC22563" class="css-1dcdqdg"><code> b = <span class="code-string">'-'</span> + <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">3</span>); </code></td></tr><tr><td id="L22564" class="css-a4x74f"><span>22564</span></td><td id="LC22564" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22565" class="css-a4x74f"><span>22565</span></td><td id="LC22565" class="css-1dcdqdg"><code> <span class="code-comment">// <ndashdigit-dimension></span> </code></td></tr><tr><td id="L22566" class="css-a4x74f"><span>22566</span></td><td id="LC22566" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22567" class="css-a4x74f"><span>22567</span></td><td id="LC22567" class="css-1dcdqdg"><code> checkInteger$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, i - <span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">2</span>, DISALLOW_SIGN$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22568" class="css-a4x74f"><span>22568</span></td><td id="LC22568" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22569" class="css-a4x74f"><span>22569</span></td><td id="LC22569" class="css-1dcdqdg"><code> b = <span class="code-keyword">this</span>.scanner.substrToCursor(i + <span class="code-number">1</span>); </code></td></tr><tr><td id="L22570" class="css-a4x74f"><span>22570</span></td><td id="LC22570" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22571" class="css-a4x74f"><span>22571</span></td><td id="LC22571" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22572" class="css-a4x74f"><span>22572</span></td><td id="LC22572" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22573" class="css-a4x74f"><span>22573</span></td><td id="LC22573" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L22574" class="css-a4x74f"><span>22574</span></td><td id="LC22574" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22575" class="css-a4x74f"><span>22575</span></td><td id="LC22575" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22576" class="css-a4x74f"><span>22576</span></td><td id="LC22576" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (a !== <span class="code-literal">null</span> && a.charCodeAt(<span class="code-number">0</span>) === PLUSSIGN$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22577" class="css-a4x74f"><span>22577</span></td><td id="LC22577" class="css-1dcdqdg"><code> a = a.substr(<span class="code-number">1</span>); </code></td></tr><tr><td id="L22578" class="css-a4x74f"><span>22578</span></td><td id="LC22578" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22579" class="css-a4x74f"><span>22579</span></td><td id="LC22579" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22580" class="css-a4x74f"><span>22580</span></td><td id="LC22580" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (b !== <span class="code-literal">null</span> && b.charCodeAt(<span class="code-number">0</span>) === PLUSSIGN$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L22581" class="css-a4x74f"><span>22581</span></td><td id="LC22581" class="css-1dcdqdg"><code> b = b.substr(<span class="code-number">1</span>); </code></td></tr><tr><td id="L22582" class="css-a4x74f"><span>22582</span></td><td id="LC22582" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22583" class="css-a4x74f"><span>22583</span></td><td id="LC22583" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22584" class="css-a4x74f"><span>22584</span></td><td id="LC22584" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22585" class="css-a4x74f"><span>22585</span></td><td id="LC22585" class="css-1dcdqdg"><code> type: <span class="code-string">'AnPlusB'</span>, </code></td></tr><tr><td id="L22586" class="css-a4x74f"><span>22586</span></td><td id="LC22586" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L22587" class="css-a4x74f"><span>22587</span></td><td id="LC22587" class="css-1dcdqdg"><code> a: a, </code></td></tr><tr><td id="L22588" class="css-a4x74f"><span>22588</span></td><td id="LC22588" class="css-1dcdqdg"><code> b: b </code></td></tr><tr><td id="L22589" class="css-a4x74f"><span>22589</span></td><td id="LC22589" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22590" class="css-a4x74f"><span>22590</span></td><td id="LC22590" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22591" class="css-a4x74f"><span>22591</span></td><td id="LC22591" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L22592" class="css-a4x74f"><span>22592</span></td><td id="LC22592" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> a = node.a !== <span class="code-literal">null</span> && node.a !== <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L22593" class="css-a4x74f"><span>22593</span></td><td id="LC22593" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> b = node.b !== <span class="code-literal">null</span> && node.b !== <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L22594" class="css-a4x74f"><span>22594</span></td><td id="LC22594" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22595" class="css-a4x74f"><span>22595</span></td><td id="LC22595" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (a) { </code></td></tr><tr><td id="L22596" class="css-a4x74f"><span>22596</span></td><td id="LC22596" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk( </code></td></tr><tr><td id="L22597" class="css-a4x74f"><span>22597</span></td><td id="LC22597" class="css-1dcdqdg"><code> node.a === <span class="code-string">'+1'</span> ? <span class="code-string">'+n'</span> : <span class="code-comment">// eslint-disable-line operator-linebreak, indent</span> </code></td></tr><tr><td id="L22598" class="css-a4x74f"><span>22598</span></td><td id="LC22598" class="css-1dcdqdg"><code> node.a === <span class="code-string">'1'</span> ? <span class="code-string">'n'</span> : <span class="code-comment">// eslint-disable-line operator-linebreak, indent</span> </code></td></tr><tr><td id="L22599" class="css-a4x74f"><span>22599</span></td><td id="LC22599" class="css-1dcdqdg"><code> node.a === <span class="code-string">'-1'</span> ? <span class="code-string">'-n'</span> : <span class="code-comment">// eslint-disable-line operator-linebreak, indent</span> </code></td></tr><tr><td id="L22600" class="css-a4x74f"><span>22600</span></td><td id="LC22600" class="css-1dcdqdg"><code> node.a + <span class="code-string">'n'</span> <span class="code-comment">// eslint-disable-line operator-linebreak, indent</span> </code></td></tr><tr><td id="L22601" class="css-a4x74f"><span>22601</span></td><td id="LC22601" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L22602" class="css-a4x74f"><span>22602</span></td><td id="LC22602" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22603" class="css-a4x74f"><span>22603</span></td><td id="LC22603" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (b) { </code></td></tr><tr><td id="L22604" class="css-a4x74f"><span>22604</span></td><td id="LC22604" class="css-1dcdqdg"><code> b = <span class="code-built_in">String</span>(node.b); </code></td></tr><tr><td id="L22605" class="css-a4x74f"><span>22605</span></td><td id="LC22605" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (b.charAt(<span class="code-number">0</span>) === <span class="code-string">'-'</span> || b.charAt(<span class="code-number">0</span>) === <span class="code-string">'+'</span>) { </code></td></tr><tr><td id="L22606" class="css-a4x74f"><span>22606</span></td><td id="LC22606" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(b.charAt(<span class="code-number">0</span>)); </code></td></tr><tr><td id="L22607" class="css-a4x74f"><span>22607</span></td><td id="LC22607" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(b.substr(<span class="code-number">1</span>)); </code></td></tr><tr><td id="L22608" class="css-a4x74f"><span>22608</span></td><td id="LC22608" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22609" class="css-a4x74f"><span>22609</span></td><td id="LC22609" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'+'</span>); </code></td></tr><tr><td id="L22610" class="css-a4x74f"><span>22610</span></td><td id="LC22610" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(b); </code></td></tr><tr><td id="L22611" class="css-a4x74f"><span>22611</span></td><td id="LC22611" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22612" class="css-a4x74f"><span>22612</span></td><td id="LC22612" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22613" class="css-a4x74f"><span>22613</span></td><td id="LC22613" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22614" class="css-a4x74f"><span>22614</span></td><td id="LC22614" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-built_in">String</span>(node.b)); </code></td></tr><tr><td id="L22615" class="css-a4x74f"><span>22615</span></td><td id="LC22615" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22616" class="css-a4x74f"><span>22616</span></td><td id="LC22616" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22617" class="css-a4x74f"><span>22617</span></td><td id="LC22617" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22618" class="css-a4x74f"><span>22618</span></td><td id="LC22618" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22619" class="css-a4x74f"><span>22619</span></td><td id="LC22619" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$a = tokenizer.TYPE; </code></td></tr><tr><td id="L22620" class="css-a4x74f"><span>22620</span></td><td id="LC22620" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22621" class="css-a4x74f"><span>22621</span></td><td id="LC22621" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WhiteSpace = TYPE$a.WhiteSpace; </code></td></tr><tr><td id="L22622" class="css-a4x74f"><span>22622</span></td><td id="LC22622" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Semicolon = TYPE$a.Semicolon; </code></td></tr><tr><td id="L22623" class="css-a4x74f"><span>22623</span></td><td id="LC22623" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LeftCurlyBracket = TYPE$a.LeftCurlyBracket; </code></td></tr><tr><td id="L22624" class="css-a4x74f"><span>22624</span></td><td id="LC22624" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Delim = TYPE$a.Delim; </code></td></tr><tr><td id="L22625" class="css-a4x74f"><span>22625</span></td><td id="LC22625" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXCLAMATIONMARK$<span class="code-number">1</span> = <span class="code-number">0x0021</span>; <span class="code-comment">// U+0021 EXCLAMATION MARK (!)</span> </code></td></tr><tr><td id="L22626" class="css-a4x74f"><span>22626</span></td><td id="LC22626" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22627" class="css-a4x74f"><span>22627</span></td><td id="LC22627" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getOffsetExcludeWS</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22628" class="css-a4x74f"><span>22628</span></td><td id="LC22628" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenIndex > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L22629" class="css-a4x74f"><span>22629</span></td><td id="LC22629" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.lookupType(<span class="code-number">-1</span>) === WhiteSpace) { </code></td></tr><tr><td id="L22630" class="css-a4x74f"><span>22630</span></td><td id="LC22630" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.scanner.tokenIndex > <span class="code-number">1</span> </code></td></tr><tr><td id="L22631" class="css-a4x74f"><span>22631</span></td><td id="LC22631" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.scanner.getTokenStart(<span class="code-keyword">this</span>.scanner.tokenIndex - <span class="code-number">1</span>) </code></td></tr><tr><td id="L22632" class="css-a4x74f"><span>22632</span></td><td id="LC22632" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.scanner.firstCharOffset; </code></td></tr><tr><td id="L22633" class="css-a4x74f"><span>22633</span></td><td id="LC22633" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22634" class="css-a4x74f"><span>22634</span></td><td id="LC22634" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22635" class="css-a4x74f"><span>22635</span></td><td id="LC22635" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22636" class="css-a4x74f"><span>22636</span></td><td id="LC22636" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22637" class="css-a4x74f"><span>22637</span></td><td id="LC22637" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22638" class="css-a4x74f"><span>22638</span></td><td id="LC22638" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22639" class="css-a4x74f"><span>22639</span></td><td id="LC22639" class="css-1dcdqdg"><code> <span class="code-comment">// 0, 0, false</span> </code></td></tr><tr><td id="L22640" class="css-a4x74f"><span>22640</span></td><td id="LC22640" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">balanceEnd</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22641" class="css-a4x74f"><span>22641</span></td><td id="LC22641" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L22642" class="css-a4x74f"><span>22642</span></td><td id="LC22642" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22643" class="css-a4x74f"><span>22643</span></td><td id="LC22643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22644" class="css-a4x74f"><span>22644</span></td><td id="LC22644" class="css-1dcdqdg"><code> <span class="code-comment">// LEFTCURLYBRACKET, 0, false</span> </code></td></tr><tr><td id="L22645" class="css-a4x74f"><span>22645</span></td><td id="LC22645" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">leftCurlyBracket</span>(<span class="code-params">tokenType</span>) </span>{ </code></td></tr><tr><td id="L22646" class="css-a4x74f"><span>22646</span></td><td id="LC22646" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenType === LeftCurlyBracket ? <span class="code-number">1</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L22647" class="css-a4x74f"><span>22647</span></td><td id="LC22647" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22648" class="css-a4x74f"><span>22648</span></td><td id="LC22648" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22649" class="css-a4x74f"><span>22649</span></td><td id="LC22649" class="css-1dcdqdg"><code> <span class="code-comment">// LEFTCURLYBRACKET, SEMICOLON, false</span> </code></td></tr><tr><td id="L22650" class="css-a4x74f"><span>22650</span></td><td id="LC22650" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">leftCurlyBracketOrSemicolon</span>(<span class="code-params">tokenType</span>) </span>{ </code></td></tr><tr><td id="L22651" class="css-a4x74f"><span>22651</span></td><td id="LC22651" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenType === LeftCurlyBracket || tokenType === Semicolon ? <span class="code-number">1</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L22652" class="css-a4x74f"><span>22652</span></td><td id="LC22652" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22653" class="css-a4x74f"><span>22653</span></td><td id="LC22653" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22654" class="css-a4x74f"><span>22654</span></td><td id="LC22654" class="css-1dcdqdg"><code> <span class="code-comment">// EXCLAMATIONMARK, SEMICOLON, false</span> </code></td></tr><tr><td id="L22655" class="css-a4x74f"><span>22655</span></td><td id="LC22655" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">exclamationMarkOrSemicolon</span>(<span class="code-params">tokenType, source, offset</span>) </span>{ </code></td></tr><tr><td id="L22656" class="css-a4x74f"><span>22656</span></td><td id="LC22656" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (tokenType === Delim && source.charCodeAt(offset) === EXCLAMATIONMARK$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L22657" class="css-a4x74f"><span>22657</span></td><td id="LC22657" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L22658" class="css-a4x74f"><span>22658</span></td><td id="LC22658" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22659" class="css-a4x74f"><span>22659</span></td><td id="LC22659" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22660" class="css-a4x74f"><span>22660</span></td><td id="LC22660" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenType === Semicolon ? <span class="code-number">1</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L22661" class="css-a4x74f"><span>22661</span></td><td id="LC22661" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22662" class="css-a4x74f"><span>22662</span></td><td id="LC22662" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22663" class="css-a4x74f"><span>22663</span></td><td id="LC22663" class="css-1dcdqdg"><code> <span class="code-comment">// 0, SEMICOLON, true</span> </code></td></tr><tr><td id="L22664" class="css-a4x74f"><span>22664</span></td><td id="LC22664" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">semicolonIncluded</span>(<span class="code-params">tokenType</span>) </span>{ </code></td></tr><tr><td id="L22665" class="css-a4x74f"><span>22665</span></td><td id="LC22665" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> tokenType === Semicolon ? <span class="code-number">2</span> : <span class="code-number">0</span>; </code></td></tr><tr><td id="L22666" class="css-a4x74f"><span>22666</span></td><td id="LC22666" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22667" class="css-a4x74f"><span>22667</span></td><td id="LC22667" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22668" class="css-a4x74f"><span>22668</span></td><td id="LC22668" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Raw = { </code></td></tr><tr><td id="L22669" class="css-a4x74f"><span>22669</span></td><td id="LC22669" class="css-1dcdqdg"><code> name: <span class="code-string">'Raw'</span>, </code></td></tr><tr><td id="L22670" class="css-a4x74f"><span>22670</span></td><td id="LC22670" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L22671" class="css-a4x74f"><span>22671</span></td><td id="LC22671" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L22672" class="css-a4x74f"><span>22672</span></td><td id="LC22672" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22673" class="css-a4x74f"><span>22673</span></td><td id="LC22673" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">startToken, mode, excludeWhiteSpace</span>) </span>{ </code></td></tr><tr><td id="L22674" class="css-a4x74f"><span>22674</span></td><td id="LC22674" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startOffset = <span class="code-keyword">this</span>.scanner.getTokenStart(startToken); </code></td></tr><tr><td id="L22675" class="css-a4x74f"><span>22675</span></td><td id="LC22675" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> endOffset; </code></td></tr><tr><td id="L22676" class="css-a4x74f"><span>22676</span></td><td id="LC22676" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22677" class="css-a4x74f"><span>22677</span></td><td id="LC22677" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skip( </code></td></tr><tr><td id="L22678" class="css-a4x74f"><span>22678</span></td><td id="LC22678" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.getRawLength(startToken, mode || balanceEnd) </code></td></tr><tr><td id="L22679" class="css-a4x74f"><span>22679</span></td><td id="LC22679" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L22680" class="css-a4x74f"><span>22680</span></td><td id="LC22680" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22681" class="css-a4x74f"><span>22681</span></td><td id="LC22681" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (excludeWhiteSpace && <span class="code-keyword">this</span>.scanner.tokenStart > startOffset) { </code></td></tr><tr><td id="L22682" class="css-a4x74f"><span>22682</span></td><td id="LC22682" class="css-1dcdqdg"><code> endOffset = getOffsetExcludeWS.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22683" class="css-a4x74f"><span>22683</span></td><td id="LC22683" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22684" class="css-a4x74f"><span>22684</span></td><td id="LC22684" class="css-1dcdqdg"><code> endOffset = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22685" class="css-a4x74f"><span>22685</span></td><td id="LC22685" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22686" class="css-a4x74f"><span>22686</span></td><td id="LC22686" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22687" class="css-a4x74f"><span>22687</span></td><td id="LC22687" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22688" class="css-a4x74f"><span>22688</span></td><td id="LC22688" class="css-1dcdqdg"><code> type: <span class="code-string">'Raw'</span>, </code></td></tr><tr><td id="L22689" class="css-a4x74f"><span>22689</span></td><td id="LC22689" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(startOffset, endOffset), </code></td></tr><tr><td id="L22690" class="css-a4x74f"><span>22690</span></td><td id="LC22690" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.source.substring(startOffset, endOffset) </code></td></tr><tr><td id="L22691" class="css-a4x74f"><span>22691</span></td><td id="LC22691" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22692" class="css-a4x74f"><span>22692</span></td><td id="LC22692" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22693" class="css-a4x74f"><span>22693</span></td><td id="LC22693" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L22694" class="css-a4x74f"><span>22694</span></td><td id="LC22694" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L22695" class="css-a4x74f"><span>22695</span></td><td id="LC22695" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22696" class="css-a4x74f"><span>22696</span></td><td id="LC22696" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22697" class="css-a4x74f"><span>22697</span></td><td id="LC22697" class="css-1dcdqdg"><code> mode: { </code></td></tr><tr><td id="L22698" class="css-a4x74f"><span>22698</span></td><td id="LC22698" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: balanceEnd, </code></td></tr><tr><td id="L22699" class="css-a4x74f"><span>22699</span></td><td id="LC22699" class="css-1dcdqdg"><code> leftCurlyBracket: leftCurlyBracket, </code></td></tr><tr><td id="L22700" class="css-a4x74f"><span>22700</span></td><td id="LC22700" class="css-1dcdqdg"><code> leftCurlyBracketOrSemicolon: leftCurlyBracketOrSemicolon, </code></td></tr><tr><td id="L22701" class="css-a4x74f"><span>22701</span></td><td id="LC22701" class="css-1dcdqdg"><code> exclamationMarkOrSemicolon: exclamationMarkOrSemicolon, </code></td></tr><tr><td id="L22702" class="css-a4x74f"><span>22702</span></td><td id="LC22702" class="css-1dcdqdg"><code> semicolonIncluded: semicolonIncluded </code></td></tr><tr><td id="L22703" class="css-a4x74f"><span>22703</span></td><td id="LC22703" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22704" class="css-a4x74f"><span>22704</span></td><td id="LC22704" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22705" class="css-a4x74f"><span>22705</span></td><td id="LC22705" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22706" class="css-a4x74f"><span>22706</span></td><td id="LC22706" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$b = tokenizer.TYPE; </code></td></tr><tr><td id="L22707" class="css-a4x74f"><span>22707</span></td><td id="LC22707" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode = Raw.mode; </code></td></tr><tr><td id="L22708" class="css-a4x74f"><span>22708</span></td><td id="LC22708" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22709" class="css-a4x74f"><span>22709</span></td><td id="LC22709" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ATKEYWORD = TYPE$b.AtKeyword; </code></td></tr><tr><td id="L22710" class="css-a4x74f"><span>22710</span></td><td id="LC22710" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMICOLON = TYPE$b.Semicolon; </code></td></tr><tr><td id="L22711" class="css-a4x74f"><span>22711</span></td><td id="LC22711" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTCURLYBRACKET$<span class="code-number">1</span> = TYPE$b.LeftCurlyBracket; </code></td></tr><tr><td id="L22712" class="css-a4x74f"><span>22712</span></td><td id="LC22712" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTCURLYBRACKET$<span class="code-number">1</span> = TYPE$b.RightCurlyBracket; </code></td></tr><tr><td id="L22713" class="css-a4x74f"><span>22713</span></td><td id="LC22713" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22714" class="css-a4x74f"><span>22714</span></td><td id="LC22714" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L22715" class="css-a4x74f"><span>22715</span></td><td id="LC22715" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode.leftCurlyBracketOrSemicolon, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L22716" class="css-a4x74f"><span>22716</span></td><td id="LC22716" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22717" class="css-a4x74f"><span>22717</span></td><td id="LC22717" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22718" class="css-a4x74f"><span>22718</span></td><td id="LC22718" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">isDeclarationBlockAtrule</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22719" class="css-a4x74f"><span>22719</span></td><td id="LC22719" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> offset = <span class="code-number">1</span>, type; type = <span class="code-keyword">this</span>.scanner.lookupType(offset); offset++) { </code></td></tr><tr><td id="L22720" class="css-a4x74f"><span>22720</span></td><td id="LC22720" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type === RIGHTCURLYBRACKET$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L22721" class="css-a4x74f"><span>22721</span></td><td id="LC22721" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L22722" class="css-a4x74f"><span>22722</span></td><td id="LC22722" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22723" class="css-a4x74f"><span>22723</span></td><td id="LC22723" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22724" class="css-a4x74f"><span>22724</span></td><td id="LC22724" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (type === LEFTCURLYBRACKET$<span class="code-number">1</span> || </code></td></tr><tr><td id="L22725" class="css-a4x74f"><span>22725</span></td><td id="LC22725" class="css-1dcdqdg"><code> type === ATKEYWORD) { </code></td></tr><tr><td id="L22726" class="css-a4x74f"><span>22726</span></td><td id="LC22726" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22727" class="css-a4x74f"><span>22727</span></td><td id="LC22727" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22728" class="css-a4x74f"><span>22728</span></td><td id="LC22728" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22729" class="css-a4x74f"><span>22729</span></td><td id="LC22729" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22730" class="css-a4x74f"><span>22730</span></td><td id="LC22730" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22731" class="css-a4x74f"><span>22731</span></td><td id="LC22731" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22732" class="css-a4x74f"><span>22732</span></td><td id="LC22732" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22733" class="css-a4x74f"><span>22733</span></td><td id="LC22733" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Atrule = { </code></td></tr><tr><td id="L22734" class="css-a4x74f"><span>22734</span></td><td id="LC22734" class="css-1dcdqdg"><code> name: <span class="code-string">'Atrule'</span>, </code></td></tr><tr><td id="L22735" class="css-a4x74f"><span>22735</span></td><td id="LC22735" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L22736" class="css-a4x74f"><span>22736</span></td><td id="LC22736" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L22737" class="css-a4x74f"><span>22737</span></td><td id="LC22737" class="css-1dcdqdg"><code> prelude: [<span class="code-string">'AtrulePrelude'</span>, <span class="code-string">'Raw'</span>, <span class="code-literal">null</span>], </code></td></tr><tr><td id="L22738" class="css-a4x74f"><span>22738</span></td><td id="LC22738" class="css-1dcdqdg"><code> block: [<span class="code-string">'Block'</span>, <span class="code-literal">null</span>] </code></td></tr><tr><td id="L22739" class="css-a4x74f"><span>22739</span></td><td id="LC22739" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22740" class="css-a4x74f"><span>22740</span></td><td id="LC22740" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22741" class="css-a4x74f"><span>22741</span></td><td id="LC22741" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22742" class="css-a4x74f"><span>22742</span></td><td id="LC22742" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L22743" class="css-a4x74f"><span>22743</span></td><td id="LC22743" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nameLowerCase; </code></td></tr><tr><td id="L22744" class="css-a4x74f"><span>22744</span></td><td id="LC22744" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prelude = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22745" class="css-a4x74f"><span>22745</span></td><td id="LC22745" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> block = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22746" class="css-a4x74f"><span>22746</span></td><td id="LC22746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22747" class="css-a4x74f"><span>22747</span></td><td id="LC22747" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(ATKEYWORD); </code></td></tr><tr><td id="L22748" class="css-a4x74f"><span>22748</span></td><td id="LC22748" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22749" class="css-a4x74f"><span>22749</span></td><td id="LC22749" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.scanner.substrToCursor(start + <span class="code-number">1</span>); </code></td></tr><tr><td id="L22750" class="css-a4x74f"><span>22750</span></td><td id="LC22750" class="css-1dcdqdg"><code> nameLowerCase = name.toLowerCase(); </code></td></tr><tr><td id="L22751" class="css-a4x74f"><span>22751</span></td><td id="LC22751" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22752" class="css-a4x74f"><span>22752</span></td><td id="LC22752" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22753" class="css-a4x74f"><span>22753</span></td><td id="LC22753" class="css-1dcdqdg"><code> <span class="code-comment">// parse prelude</span> </code></td></tr><tr><td id="L22754" class="css-a4x74f"><span>22754</span></td><td id="LC22754" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.eof === <span class="code-literal">false</span> && </code></td></tr><tr><td id="L22755" class="css-a4x74f"><span>22755</span></td><td id="LC22755" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class="code-number">1</span> && </code></td></tr><tr><td id="L22756" class="css-a4x74f"><span>22756</span></td><td id="LC22756" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== SEMICOLON) { </code></td></tr><tr><td id="L22757" class="css-a4x74f"><span>22757</span></td><td id="LC22757" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.parseAtrulePrelude) { </code></td></tr><tr><td id="L22758" class="css-a4x74f"><span>22758</span></td><td id="LC22758" class="css-1dcdqdg"><code> prelude = <span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.AtrulePrelude.bind(<span class="code-keyword">this</span>, name), consumeRaw); </code></td></tr><tr><td id="L22759" class="css-a4x74f"><span>22759</span></td><td id="LC22759" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22760" class="css-a4x74f"><span>22760</span></td><td id="LC22760" class="css-1dcdqdg"><code> <span class="code-comment">// turn empty AtrulePrelude into null</span> </code></td></tr><tr><td id="L22761" class="css-a4x74f"><span>22761</span></td><td id="LC22761" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prelude.type === <span class="code-string">'AtrulePrelude'</span> && prelude.children.head === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L22762" class="css-a4x74f"><span>22762</span></td><td id="LC22762" class="css-1dcdqdg"><code> prelude = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22763" class="css-a4x74f"><span>22763</span></td><td id="LC22763" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22764" class="css-a4x74f"><span>22764</span></td><td id="LC22764" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22765" class="css-a4x74f"><span>22765</span></td><td id="LC22765" class="css-1dcdqdg"><code> prelude = consumeRaw.call(<span class="code-keyword">this</span>, <span class="code-keyword">this</span>.scanner.tokenIndex); </code></td></tr><tr><td id="L22766" class="css-a4x74f"><span>22766</span></td><td id="LC22766" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22767" class="css-a4x74f"><span>22767</span></td><td id="LC22767" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22768" class="css-a4x74f"><span>22768</span></td><td id="LC22768" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22769" class="css-a4x74f"><span>22769</span></td><td id="LC22769" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22770" class="css-a4x74f"><span>22770</span></td><td id="LC22770" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22771" class="css-a4x74f"><span>22771</span></td><td id="LC22771" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L22772" class="css-a4x74f"><span>22772</span></td><td id="LC22772" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SEMICOLON: </code></td></tr><tr><td id="L22773" class="css-a4x74f"><span>22773</span></td><td id="LC22773" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22774" class="css-a4x74f"><span>22774</span></td><td id="LC22774" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22775" class="css-a4x74f"><span>22775</span></td><td id="LC22775" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22776" class="css-a4x74f"><span>22776</span></td><td id="LC22776" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTCURLYBRACKET$<span class="code-number">1</span>: </code></td></tr><tr><td id="L22777" class="css-a4x74f"><span>22777</span></td><td id="LC22777" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.atrule.hasOwnProperty(nameLowerCase) && </code></td></tr><tr><td id="L22778" class="css-a4x74f"><span>22778</span></td><td id="LC22778" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> <span class="code-keyword">this</span>.atrule[nameLowerCase].block === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L22779" class="css-a4x74f"><span>22779</span></td><td id="LC22779" class="css-1dcdqdg"><code> block = <span class="code-keyword">this</span>.atrule[nameLowerCase].block.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22780" class="css-a4x74f"><span>22780</span></td><td id="LC22780" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22781" class="css-a4x74f"><span>22781</span></td><td id="LC22781" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> should consume block content as Raw?</span> </code></td></tr><tr><td id="L22782" class="css-a4x74f"><span>22782</span></td><td id="LC22782" class="css-1dcdqdg"><code> block = <span class="code-keyword">this</span>.Block(isDeclarationBlockAtrule.call(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L22783" class="css-a4x74f"><span>22783</span></td><td id="LC22783" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22784" class="css-a4x74f"><span>22784</span></td><td id="LC22784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22785" class="css-a4x74f"><span>22785</span></td><td id="LC22785" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L22786" class="css-a4x74f"><span>22786</span></td><td id="LC22786" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22787" class="css-a4x74f"><span>22787</span></td><td id="LC22787" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22788" class="css-a4x74f"><span>22788</span></td><td id="LC22788" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22789" class="css-a4x74f"><span>22789</span></td><td id="LC22789" class="css-1dcdqdg"><code> type: <span class="code-string">'Atrule'</span>, </code></td></tr><tr><td id="L22790" class="css-a4x74f"><span>22790</span></td><td id="LC22790" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L22791" class="css-a4x74f"><span>22791</span></td><td id="LC22791" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L22792" class="css-a4x74f"><span>22792</span></td><td id="LC22792" class="css-1dcdqdg"><code> prelude: prelude, </code></td></tr><tr><td id="L22793" class="css-a4x74f"><span>22793</span></td><td id="LC22793" class="css-1dcdqdg"><code> block: block </code></td></tr><tr><td id="L22794" class="css-a4x74f"><span>22794</span></td><td id="LC22794" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22795" class="css-a4x74f"><span>22795</span></td><td id="LC22795" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22796" class="css-a4x74f"><span>22796</span></td><td id="LC22796" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L22797" class="css-a4x74f"><span>22797</span></td><td id="LC22797" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'@'</span>); </code></td></tr><tr><td id="L22798" class="css-a4x74f"><span>22798</span></td><td id="LC22798" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L22799" class="css-a4x74f"><span>22799</span></td><td id="LC22799" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22800" class="css-a4x74f"><span>22800</span></td><td id="LC22800" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.prelude !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L22801" class="css-a4x74f"><span>22801</span></td><td id="LC22801" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">' '</span>); </code></td></tr><tr><td id="L22802" class="css-a4x74f"><span>22802</span></td><td id="LC22802" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.prelude); </code></td></tr><tr><td id="L22803" class="css-a4x74f"><span>22803</span></td><td id="LC22803" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22804" class="css-a4x74f"><span>22804</span></td><td id="LC22804" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22805" class="css-a4x74f"><span>22805</span></td><td id="LC22805" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.block) { </code></td></tr><tr><td id="L22806" class="css-a4x74f"><span>22806</span></td><td id="LC22806" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.block); </code></td></tr><tr><td id="L22807" class="css-a4x74f"><span>22807</span></td><td id="LC22807" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22808" class="css-a4x74f"><span>22808</span></td><td id="LC22808" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">';'</span>); </code></td></tr><tr><td id="L22809" class="css-a4x74f"><span>22809</span></td><td id="LC22809" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22810" class="css-a4x74f"><span>22810</span></td><td id="LC22810" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22811" class="css-a4x74f"><span>22811</span></td><td id="LC22811" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'atrule'</span> </code></td></tr><tr><td id="L22812" class="css-a4x74f"><span>22812</span></td><td id="LC22812" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22813" class="css-a4x74f"><span>22813</span></td><td id="LC22813" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22814" class="css-a4x74f"><span>22814</span></td><td id="LC22814" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$c = tokenizer.TYPE; </code></td></tr><tr><td id="L22815" class="css-a4x74f"><span>22815</span></td><td id="LC22815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22816" class="css-a4x74f"><span>22816</span></td><td id="LC22816" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMICOLON$<span class="code-number">1</span> = TYPE$c.Semicolon; </code></td></tr><tr><td id="L22817" class="css-a4x74f"><span>22817</span></td><td id="LC22817" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTCURLYBRACKET$<span class="code-number">2</span> = TYPE$c.LeftCurlyBracket; </code></td></tr><tr><td id="L22818" class="css-a4x74f"><span>22818</span></td><td id="LC22818" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22819" class="css-a4x74f"><span>22819</span></td><td id="LC22819" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> AtrulePrelude = { </code></td></tr><tr><td id="L22820" class="css-a4x74f"><span>22820</span></td><td id="LC22820" class="css-1dcdqdg"><code> name: <span class="code-string">'AtrulePrelude'</span>, </code></td></tr><tr><td id="L22821" class="css-a4x74f"><span>22821</span></td><td id="LC22821" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L22822" class="css-a4x74f"><span>22822</span></td><td id="LC22822" class="css-1dcdqdg"><code> children: [[]] </code></td></tr><tr><td id="L22823" class="css-a4x74f"><span>22823</span></td><td id="LC22823" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22824" class="css-a4x74f"><span>22824</span></td><td id="LC22824" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">name</span>) </span>{ </code></td></tr><tr><td id="L22825" class="css-a4x74f"><span>22825</span></td><td id="LC22825" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22826" class="css-a4x74f"><span>22826</span></td><td id="LC22826" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22827" class="css-a4x74f"><span>22827</span></td><td id="LC22827" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L22828" class="css-a4x74f"><span>22828</span></td><td id="LC22828" class="css-1dcdqdg"><code> name = name.toLowerCase(); </code></td></tr><tr><td id="L22829" class="css-a4x74f"><span>22829</span></td><td id="LC22829" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22830" class="css-a4x74f"><span>22830</span></td><td id="LC22830" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22831" class="css-a4x74f"><span>22831</span></td><td id="LC22831" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22832" class="css-a4x74f"><span>22832</span></td><td id="LC22832" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22833" class="css-a4x74f"><span>22833</span></td><td id="LC22833" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.atrule.hasOwnProperty(name) && </code></td></tr><tr><td id="L22834" class="css-a4x74f"><span>22834</span></td><td id="LC22834" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> <span class="code-keyword">this</span>.atrule[name].prelude === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L22835" class="css-a4x74f"><span>22835</span></td><td id="LC22835" class="css-1dcdqdg"><code> <span class="code-comment">// custom consumer</span> </code></td></tr><tr><td id="L22836" class="css-a4x74f"><span>22836</span></td><td id="LC22836" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.atrule[name].prelude.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22837" class="css-a4x74f"><span>22837</span></td><td id="LC22837" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L22838" class="css-a4x74f"><span>22838</span></td><td id="LC22838" class="css-1dcdqdg"><code> <span class="code-comment">// default consumer</span> </code></td></tr><tr><td id="L22839" class="css-a4x74f"><span>22839</span></td><td id="LC22839" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.readSequence(<span class="code-keyword">this</span>.scope.AtrulePrelude); </code></td></tr><tr><td id="L22840" class="css-a4x74f"><span>22840</span></td><td id="LC22840" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22841" class="css-a4x74f"><span>22841</span></td><td id="LC22841" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22842" class="css-a4x74f"><span>22842</span></td><td id="LC22842" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22843" class="css-a4x74f"><span>22843</span></td><td id="LC22843" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22844" class="css-a4x74f"><span>22844</span></td><td id="LC22844" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.eof !== <span class="code-literal">true</span> && </code></td></tr><tr><td id="L22845" class="css-a4x74f"><span>22845</span></td><td id="LC22845" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class="code-number">2</span> && </code></td></tr><tr><td id="L22846" class="css-a4x74f"><span>22846</span></td><td id="LC22846" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== SEMICOLON$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L22847" class="css-a4x74f"><span>22847</span></td><td id="LC22847" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Semicolon or block is expected'</span>); </code></td></tr><tr><td id="L22848" class="css-a4x74f"><span>22848</span></td><td id="LC22848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22849" class="css-a4x74f"><span>22849</span></td><td id="LC22849" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22850" class="css-a4x74f"><span>22850</span></td><td id="LC22850" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (children === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L22851" class="css-a4x74f"><span>22851</span></td><td id="LC22851" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L22852" class="css-a4x74f"><span>22852</span></td><td id="LC22852" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22853" class="css-a4x74f"><span>22853</span></td><td id="LC22853" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22854" class="css-a4x74f"><span>22854</span></td><td id="LC22854" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22855" class="css-a4x74f"><span>22855</span></td><td id="LC22855" class="css-1dcdqdg"><code> type: <span class="code-string">'AtrulePrelude'</span>, </code></td></tr><tr><td id="L22856" class="css-a4x74f"><span>22856</span></td><td id="LC22856" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L22857" class="css-a4x74f"><span>22857</span></td><td id="LC22857" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L22858" class="css-a4x74f"><span>22858</span></td><td id="LC22858" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22859" class="css-a4x74f"><span>22859</span></td><td id="LC22859" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22860" class="css-a4x74f"><span>22860</span></td><td id="LC22860" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L22861" class="css-a4x74f"><span>22861</span></td><td id="LC22861" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L22862" class="css-a4x74f"><span>22862</span></td><td id="LC22862" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22863" class="css-a4x74f"><span>22863</span></td><td id="LC22863" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'atrulePrelude'</span> </code></td></tr><tr><td id="L22864" class="css-a4x74f"><span>22864</span></td><td id="LC22864" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22865" class="css-a4x74f"><span>22865</span></td><td id="LC22865" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22866" class="css-a4x74f"><span>22866</span></td><td id="LC22866" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$d = tokenizer.TYPE; </code></td></tr><tr><td id="L22867" class="css-a4x74f"><span>22867</span></td><td id="LC22867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22868" class="css-a4x74f"><span>22868</span></td><td id="LC22868" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">4</span> = TYPE$d.Ident; </code></td></tr><tr><td id="L22869" class="css-a4x74f"><span>22869</span></td><td id="LC22869" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> STRING = TYPE$d.String; </code></td></tr><tr><td id="L22870" class="css-a4x74f"><span>22870</span></td><td id="LC22870" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON = TYPE$d.Colon; </code></td></tr><tr><td id="L22871" class="css-a4x74f"><span>22871</span></td><td id="LC22871" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTSQUAREBRACKET$<span class="code-number">1</span> = TYPE$d.LeftSquareBracket; </code></td></tr><tr><td id="L22872" class="css-a4x74f"><span>22872</span></td><td id="LC22872" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTSQUAREBRACKET$<span class="code-number">1</span> = TYPE$d.RightSquareBracket; </code></td></tr><tr><td id="L22873" class="css-a4x74f"><span>22873</span></td><td id="LC22873" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DOLLARSIGN = <span class="code-number">0x0024</span>; <span class="code-comment">// U+0024 DOLLAR SIGN ($)</span> </code></td></tr><tr><td id="L22874" class="css-a4x74f"><span>22874</span></td><td id="LC22874" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">1</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L22875" class="css-a4x74f"><span>22875</span></td><td id="LC22875" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EQUALSSIGN = <span class="code-number">0x003D</span>; <span class="code-comment">// U+003D EQUALS SIGN (=)</span> </code></td></tr><tr><td id="L22876" class="css-a4x74f"><span>22876</span></td><td id="LC22876" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CIRCUMFLEXACCENT = <span class="code-number">0x005E</span>; <span class="code-comment">// U+005E (^)</span> </code></td></tr><tr><td id="L22877" class="css-a4x74f"><span>22877</span></td><td id="LC22877" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VERTICALLINE$<span class="code-number">1</span> = <span class="code-number">0x007C</span>; <span class="code-comment">// U+007C VERTICAL LINE (|)</span> </code></td></tr><tr><td id="L22878" class="css-a4x74f"><span>22878</span></td><td id="LC22878" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TILDE = <span class="code-number">0x007E</span>; <span class="code-comment">// U+007E TILDE (~)</span> </code></td></tr><tr><td id="L22879" class="css-a4x74f"><span>22879</span></td><td id="LC22879" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22880" class="css-a4x74f"><span>22880</span></td><td id="LC22880" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getAttributeName</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22881" class="css-a4x74f"><span>22881</span></td><td id="LC22881" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L22882" class="css-a4x74f"><span>22882</span></td><td id="LC22882" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Unexpected end of input'</span>); </code></td></tr><tr><td id="L22883" class="css-a4x74f"><span>22883</span></td><td id="LC22883" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22884" class="css-a4x74f"><span>22884</span></td><td id="LC22884" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22885" class="css-a4x74f"><span>22885</span></td><td id="LC22885" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22886" class="css-a4x74f"><span>22886</span></td><td id="LC22886" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> expectIdent = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22887" class="css-a4x74f"><span>22887</span></td><td id="LC22887" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> checkColon = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L22888" class="css-a4x74f"><span>22888</span></td><td id="LC22888" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22889" class="css-a4x74f"><span>22889</span></td><td id="LC22889" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(ASTERISK$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L22890" class="css-a4x74f"><span>22890</span></td><td id="LC22890" class="css-1dcdqdg"><code> expectIdent = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L22891" class="css-a4x74f"><span>22891</span></td><td id="LC22891" class="css-1dcdqdg"><code> checkColon = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L22892" class="css-a4x74f"><span>22892</span></td><td id="LC22892" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22893" class="css-a4x74f"><span>22893</span></td><td id="LC22893" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.isDelim(VERTICALLINE$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L22894" class="css-a4x74f"><span>22894</span></td><td id="LC22894" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(IDENT$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22895" class="css-a4x74f"><span>22895</span></td><td id="LC22895" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22896" class="css-a4x74f"><span>22896</span></td><td id="LC22896" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22897" class="css-a4x74f"><span>22897</span></td><td id="LC22897" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(VERTICALLINE$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L22898" class="css-a4x74f"><span>22898</span></td><td id="LC22898" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">1</span>) !== EQUALSSIGN) { </code></td></tr><tr><td id="L22899" class="css-a4x74f"><span>22899</span></td><td id="LC22899" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22900" class="css-a4x74f"><span>22900</span></td><td id="LC22900" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(IDENT$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22901" class="css-a4x74f"><span>22901</span></td><td id="LC22901" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (expectIdent) { </code></td></tr><tr><td id="L22902" class="css-a4x74f"><span>22902</span></td><td id="LC22902" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Identifier is expected'</span>, <span class="code-keyword">this</span>.scanner.tokenEnd); </code></td></tr><tr><td id="L22903" class="css-a4x74f"><span>22903</span></td><td id="LC22903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22904" class="css-a4x74f"><span>22904</span></td><td id="LC22904" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (expectIdent) { </code></td></tr><tr><td id="L22905" class="css-a4x74f"><span>22905</span></td><td id="LC22905" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Vertical line is expected'</span>); </code></td></tr><tr><td id="L22906" class="css-a4x74f"><span>22906</span></td><td id="LC22906" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22907" class="css-a4x74f"><span>22907</span></td><td id="LC22907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22908" class="css-a4x74f"><span>22908</span></td><td id="LC22908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (checkColon && <span class="code-keyword">this</span>.scanner.tokenType === COLON) { </code></td></tr><tr><td id="L22909" class="css-a4x74f"><span>22909</span></td><td id="LC22909" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22910" class="css-a4x74f"><span>22910</span></td><td id="LC22910" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(IDENT$<span class="code-number">4</span>); </code></td></tr><tr><td id="L22911" class="css-a4x74f"><span>22911</span></td><td id="LC22911" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22912" class="css-a4x74f"><span>22912</span></td><td id="LC22912" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22913" class="css-a4x74f"><span>22913</span></td><td id="LC22913" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22914" class="css-a4x74f"><span>22914</span></td><td id="LC22914" class="css-1dcdqdg"><code> type: <span class="code-string">'Identifier'</span>, </code></td></tr><tr><td id="L22915" class="css-a4x74f"><span>22915</span></td><td id="LC22915" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L22916" class="css-a4x74f"><span>22916</span></td><td id="LC22916" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.scanner.substrToCursor(start) </code></td></tr><tr><td id="L22917" class="css-a4x74f"><span>22917</span></td><td id="LC22917" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L22918" class="css-a4x74f"><span>22918</span></td><td id="LC22918" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22919" class="css-a4x74f"><span>22919</span></td><td id="LC22919" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22920" class="css-a4x74f"><span>22920</span></td><td id="LC22920" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getOperator</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22921" class="css-a4x74f"><span>22921</span></td><td id="LC22921" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22922" class="css-a4x74f"><span>22922</span></td><td id="LC22922" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(start); </code></td></tr><tr><td id="L22923" class="css-a4x74f"><span>22923</span></td><td id="LC22923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22924" class="css-a4x74f"><span>22924</span></td><td id="LC22924" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code !== EQUALSSIGN && <span class="code-comment">// =</span> </code></td></tr><tr><td id="L22925" class="css-a4x74f"><span>22925</span></td><td id="LC22925" class="css-1dcdqdg"><code> code !== TILDE && <span class="code-comment">// ~=</span> </code></td></tr><tr><td id="L22926" class="css-a4x74f"><span>22926</span></td><td id="LC22926" class="css-1dcdqdg"><code> code !== CIRCUMFLEXACCENT && <span class="code-comment">// ^=</span> </code></td></tr><tr><td id="L22927" class="css-a4x74f"><span>22927</span></td><td id="LC22927" class="css-1dcdqdg"><code> code !== DOLLARSIGN && <span class="code-comment">// $=</span> </code></td></tr><tr><td id="L22928" class="css-a4x74f"><span>22928</span></td><td id="LC22928" class="css-1dcdqdg"><code> code !== ASTERISK$<span class="code-number">1</span> && <span class="code-comment">// *=</span> </code></td></tr><tr><td id="L22929" class="css-a4x74f"><span>22929</span></td><td id="LC22929" class="css-1dcdqdg"><code> code !== VERTICALLINE$<span class="code-number">1</span> <span class="code-comment">// |=</span> </code></td></tr><tr><td id="L22930" class="css-a4x74f"><span>22930</span></td><td id="LC22930" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L22931" class="css-a4x74f"><span>22931</span></td><td id="LC22931" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Attribute selector (=, ~=, ^=, $=, *=, |=) is expected'</span>); </code></td></tr><tr><td id="L22932" class="css-a4x74f"><span>22932</span></td><td id="LC22932" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22933" class="css-a4x74f"><span>22933</span></td><td id="LC22933" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22934" class="css-a4x74f"><span>22934</span></td><td id="LC22934" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22935" class="css-a4x74f"><span>22935</span></td><td id="LC22935" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22936" class="css-a4x74f"><span>22936</span></td><td id="LC22936" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code !== EQUALSSIGN) { </code></td></tr><tr><td id="L22937" class="css-a4x74f"><span>22937</span></td><td id="LC22937" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.isDelim(EQUALSSIGN)) { </code></td></tr><tr><td id="L22938" class="css-a4x74f"><span>22938</span></td><td id="LC22938" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Equal sign is expected'</span>); </code></td></tr><tr><td id="L22939" class="css-a4x74f"><span>22939</span></td><td id="LC22939" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22940" class="css-a4x74f"><span>22940</span></td><td id="LC22940" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22941" class="css-a4x74f"><span>22941</span></td><td id="LC22941" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22942" class="css-a4x74f"><span>22942</span></td><td id="LC22942" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22943" class="css-a4x74f"><span>22943</span></td><td id="LC22943" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22944" class="css-a4x74f"><span>22944</span></td><td id="LC22944" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.scanner.substrToCursor(start); </code></td></tr><tr><td id="L22945" class="css-a4x74f"><span>22945</span></td><td id="LC22945" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22946" class="css-a4x74f"><span>22946</span></td><td id="LC22946" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22947" class="css-a4x74f"><span>22947</span></td><td id="LC22947" class="css-1dcdqdg"><code> <span class="code-comment">// '[' <wq-name> ']'</span> </code></td></tr><tr><td id="L22948" class="css-a4x74f"><span>22948</span></td><td id="LC22948" class="css-1dcdqdg"><code> <span class="code-comment">// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'</span> </code></td></tr><tr><td id="L22949" class="css-a4x74f"><span>22949</span></td><td id="LC22949" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> AttributeSelector = { </code></td></tr><tr><td id="L22950" class="css-a4x74f"><span>22950</span></td><td id="LC22950" class="css-1dcdqdg"><code> name: <span class="code-string">'AttributeSelector'</span>, </code></td></tr><tr><td id="L22951" class="css-a4x74f"><span>22951</span></td><td id="LC22951" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L22952" class="css-a4x74f"><span>22952</span></td><td id="LC22952" class="css-1dcdqdg"><code> name: <span class="code-string">'Identifier'</span>, </code></td></tr><tr><td id="L22953" class="css-a4x74f"><span>22953</span></td><td id="LC22953" class="css-1dcdqdg"><code> matcher: [<span class="code-built_in">String</span>, <span class="code-literal">null</span>], </code></td></tr><tr><td id="L22954" class="css-a4x74f"><span>22954</span></td><td id="LC22954" class="css-1dcdqdg"><code> value: [<span class="code-string">'String'</span>, <span class="code-string">'Identifier'</span>, <span class="code-literal">null</span>], </code></td></tr><tr><td id="L22955" class="css-a4x74f"><span>22955</span></td><td id="LC22955" class="css-1dcdqdg"><code> flags: [<span class="code-built_in">String</span>, <span class="code-literal">null</span>] </code></td></tr><tr><td id="L22956" class="css-a4x74f"><span>22956</span></td><td id="LC22956" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L22957" class="css-a4x74f"><span>22957</span></td><td id="LC22957" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L22958" class="css-a4x74f"><span>22958</span></td><td id="LC22958" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L22959" class="css-a4x74f"><span>22959</span></td><td id="LC22959" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L22960" class="css-a4x74f"><span>22960</span></td><td id="LC22960" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matcher = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22961" class="css-a4x74f"><span>22961</span></td><td id="LC22961" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22962" class="css-a4x74f"><span>22962</span></td><td id="LC22962" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> flags = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L22963" class="css-a4x74f"><span>22963</span></td><td id="LC22963" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22964" class="css-a4x74f"><span>22964</span></td><td id="LC22964" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(LEFTSQUAREBRACKET$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22965" class="css-a4x74f"><span>22965</span></td><td id="LC22965" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22966" class="css-a4x74f"><span>22966</span></td><td id="LC22966" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22967" class="css-a4x74f"><span>22967</span></td><td id="LC22967" class="css-1dcdqdg"><code> name = getAttributeName.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22968" class="css-a4x74f"><span>22968</span></td><td id="LC22968" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22969" class="css-a4x74f"><span>22969</span></td><td id="LC22969" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22970" class="css-a4x74f"><span>22970</span></td><td id="LC22970" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== RIGHTSQUAREBRACKET$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L22971" class="css-a4x74f"><span>22971</span></td><td id="LC22971" class="css-1dcdqdg"><code> <span class="code-comment">// avoid case `[name i]`</span> </code></td></tr><tr><td id="L22972" class="css-a4x74f"><span>22972</span></td><td id="LC22972" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== IDENT$<span class="code-number">4</span>) { </code></td></tr><tr><td id="L22973" class="css-a4x74f"><span>22973</span></td><td id="LC22973" class="css-1dcdqdg"><code> matcher = getOperator.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L22974" class="css-a4x74f"><span>22974</span></td><td id="LC22974" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22975" class="css-a4x74f"><span>22975</span></td><td id="LC22975" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22976" class="css-a4x74f"><span>22976</span></td><td id="LC22976" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22977" class="css-a4x74f"><span>22977</span></td><td id="LC22977" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.scanner.tokenType === STRING </code></td></tr><tr><td id="L22978" class="css-a4x74f"><span>22978</span></td><td id="LC22978" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.String() </code></td></tr><tr><td id="L22979" class="css-a4x74f"><span>22979</span></td><td id="LC22979" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L22980" class="css-a4x74f"><span>22980</span></td><td id="LC22980" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22981" class="css-a4x74f"><span>22981</span></td><td id="LC22981" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22982" class="css-a4x74f"><span>22982</span></td><td id="LC22982" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22983" class="css-a4x74f"><span>22983</span></td><td id="LC22983" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22984" class="css-a4x74f"><span>22984</span></td><td id="LC22984" class="css-1dcdqdg"><code> <span class="code-comment">// attribute flags</span> </code></td></tr><tr><td id="L22985" class="css-a4x74f"><span>22985</span></td><td id="LC22985" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === IDENT$<span class="code-number">4</span>) { </code></td></tr><tr><td id="L22986" class="css-a4x74f"><span>22986</span></td><td id="LC22986" class="css-1dcdqdg"><code> flags = <span class="code-keyword">this</span>.scanner.getTokenValue(); </code></td></tr><tr><td id="L22987" class="css-a4x74f"><span>22987</span></td><td id="LC22987" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L22988" class="css-a4x74f"><span>22988</span></td><td id="LC22988" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22989" class="css-a4x74f"><span>22989</span></td><td id="LC22989" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L22990" class="css-a4x74f"><span>22990</span></td><td id="LC22990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22991" class="css-a4x74f"><span>22991</span></td><td id="LC22991" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L22992" class="css-a4x74f"><span>22992</span></td><td id="LC22992" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22993" class="css-a4x74f"><span>22993</span></td><td id="LC22993" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTSQUAREBRACKET$<span class="code-number">1</span>); </code></td></tr><tr><td id="L22994" class="css-a4x74f"><span>22994</span></td><td id="LC22994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L22995" class="css-a4x74f"><span>22995</span></td><td id="LC22995" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L22996" class="css-a4x74f"><span>22996</span></td><td id="LC22996" class="css-1dcdqdg"><code> type: <span class="code-string">'AttributeSelector'</span>, </code></td></tr><tr><td id="L22997" class="css-a4x74f"><span>22997</span></td><td id="LC22997" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L22998" class="css-a4x74f"><span>22998</span></td><td id="LC22998" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L22999" class="css-a4x74f"><span>22999</span></td><td id="LC22999" class="css-1dcdqdg"><code> matcher: matcher, </code></td></tr><tr><td id="L23000" class="css-a4x74f"><span>23000</span></td><td id="LC23000" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L23001" class="css-a4x74f"><span>23001</span></td><td id="LC23001" class="css-1dcdqdg"><code> flags: flags </code></td></tr><tr><td id="L23002" class="css-a4x74f"><span>23002</span></td><td id="LC23002" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23003" class="css-a4x74f"><span>23003</span></td><td id="LC23003" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23004" class="css-a4x74f"><span>23004</span></td><td id="LC23004" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23005" class="css-a4x74f"><span>23005</span></td><td id="LC23005" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> flagsPrefix = <span class="code-string">' '</span>; </code></td></tr><tr><td id="L23006" class="css-a4x74f"><span>23006</span></td><td id="LC23006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23007" class="css-a4x74f"><span>23007</span></td><td id="LC23007" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'['</span>); </code></td></tr><tr><td id="L23008" class="css-a4x74f"><span>23008</span></td><td id="LC23008" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.name); </code></td></tr><tr><td id="L23009" class="css-a4x74f"><span>23009</span></td><td id="LC23009" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23010" class="css-a4x74f"><span>23010</span></td><td id="LC23010" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.matcher !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23011" class="css-a4x74f"><span>23011</span></td><td id="LC23011" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.matcher); </code></td></tr><tr><td id="L23012" class="css-a4x74f"><span>23012</span></td><td id="LC23012" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23013" class="css-a4x74f"><span>23013</span></td><td id="LC23013" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23014" class="css-a4x74f"><span>23014</span></td><td id="LC23014" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.value); </code></td></tr><tr><td id="L23015" class="css-a4x74f"><span>23015</span></td><td id="LC23015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23016" class="css-a4x74f"><span>23016</span></td><td id="LC23016" class="css-1dcdqdg"><code> <span class="code-comment">// space between string and flags is not required</span> </code></td></tr><tr><td id="L23017" class="css-a4x74f"><span>23017</span></td><td id="LC23017" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value.type === <span class="code-string">'String'</span>) { </code></td></tr><tr><td id="L23018" class="css-a4x74f"><span>23018</span></td><td id="LC23018" class="css-1dcdqdg"><code> flagsPrefix = <span class="code-string">''</span>; </code></td></tr><tr><td id="L23019" class="css-a4x74f"><span>23019</span></td><td id="LC23019" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23020" class="css-a4x74f"><span>23020</span></td><td id="LC23020" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23021" class="css-a4x74f"><span>23021</span></td><td id="LC23021" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23022" class="css-a4x74f"><span>23022</span></td><td id="LC23022" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23023" class="css-a4x74f"><span>23023</span></td><td id="LC23023" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.flags !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23024" class="css-a4x74f"><span>23024</span></td><td id="LC23024" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(flagsPrefix); </code></td></tr><tr><td id="L23025" class="css-a4x74f"><span>23025</span></td><td id="LC23025" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.flags); </code></td></tr><tr><td id="L23026" class="css-a4x74f"><span>23026</span></td><td id="LC23026" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23027" class="css-a4x74f"><span>23027</span></td><td id="LC23027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23028" class="css-a4x74f"><span>23028</span></td><td id="LC23028" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">']'</span>); </code></td></tr><tr><td id="L23029" class="css-a4x74f"><span>23029</span></td><td id="LC23029" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23030" class="css-a4x74f"><span>23030</span></td><td id="LC23030" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23031" class="css-a4x74f"><span>23031</span></td><td id="LC23031" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23032" class="css-a4x74f"><span>23032</span></td><td id="LC23032" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$e = tokenizer.TYPE; </code></td></tr><tr><td id="L23033" class="css-a4x74f"><span>23033</span></td><td id="LC23033" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode$<span class="code-number">1</span> = Raw.mode; </code></td></tr><tr><td id="L23034" class="css-a4x74f"><span>23034</span></td><td id="LC23034" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23035" class="css-a4x74f"><span>23035</span></td><td id="LC23035" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">5</span> = TYPE$e.WhiteSpace; </code></td></tr><tr><td id="L23036" class="css-a4x74f"><span>23036</span></td><td id="LC23036" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">4</span> = TYPE$e.Comment; </code></td></tr><tr><td id="L23037" class="css-a4x74f"><span>23037</span></td><td id="LC23037" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMICOLON$<span class="code-number">2</span> = TYPE$e.Semicolon; </code></td></tr><tr><td id="L23038" class="css-a4x74f"><span>23038</span></td><td id="LC23038" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ATKEYWORD$<span class="code-number">1</span> = TYPE$e.AtKeyword; </code></td></tr><tr><td id="L23039" class="css-a4x74f"><span>23039</span></td><td id="LC23039" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTCURLYBRACKET$<span class="code-number">3</span> = TYPE$e.LeftCurlyBracket; </code></td></tr><tr><td id="L23040" class="css-a4x74f"><span>23040</span></td><td id="LC23040" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTCURLYBRACKET$<span class="code-number">2</span> = TYPE$e.RightCurlyBracket; </code></td></tr><tr><td id="L23041" class="css-a4x74f"><span>23041</span></td><td id="LC23041" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23042" class="css-a4x74f"><span>23042</span></td><td id="LC23042" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw$1</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L23043" class="css-a4x74f"><span>23043</span></td><td id="LC23043" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, <span class="code-literal">null</span>, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L23044" class="css-a4x74f"><span>23044</span></td><td id="LC23044" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23045" class="css-a4x74f"><span>23045</span></td><td id="LC23045" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRule</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23046" class="css-a4x74f"><span>23046</span></td><td id="LC23046" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Rule, consumeRaw$<span class="code-number">1</span>); </code></td></tr><tr><td id="L23047" class="css-a4x74f"><span>23047</span></td><td id="LC23047" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23048" class="css-a4x74f"><span>23048</span></td><td id="LC23048" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRawDeclaration</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L23049" class="css-a4x74f"><span>23049</span></td><td id="LC23049" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode$<span class="code-number">1.</span>semicolonIncluded, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L23050" class="css-a4x74f"><span>23050</span></td><td id="LC23050" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23051" class="css-a4x74f"><span>23051</span></td><td id="LC23051" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeDeclaration</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23052" class="css-a4x74f"><span>23052</span></td><td id="LC23052" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === SEMICOLON$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L23053" class="css-a4x74f"><span>23053</span></td><td id="LC23053" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> consumeRawDeclaration.call(<span class="code-keyword">this</span>, <span class="code-keyword">this</span>.scanner.tokenIndex); </code></td></tr><tr><td id="L23054" class="css-a4x74f"><span>23054</span></td><td id="LC23054" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23055" class="css-a4x74f"><span>23055</span></td><td id="LC23055" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23056" class="css-a4x74f"><span>23056</span></td><td id="LC23056" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> node = <span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Declaration, consumeRawDeclaration); </code></td></tr><tr><td id="L23057" class="css-a4x74f"><span>23057</span></td><td id="LC23057" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23058" class="css-a4x74f"><span>23058</span></td><td id="LC23058" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === SEMICOLON$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L23059" class="css-a4x74f"><span>23059</span></td><td id="LC23059" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23060" class="css-a4x74f"><span>23060</span></td><td id="LC23060" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23061" class="css-a4x74f"><span>23061</span></td><td id="LC23061" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23062" class="css-a4x74f"><span>23062</span></td><td id="LC23062" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L23063" class="css-a4x74f"><span>23063</span></td><td id="LC23063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23064" class="css-a4x74f"><span>23064</span></td><td id="LC23064" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23065" class="css-a4x74f"><span>23065</span></td><td id="LC23065" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Block = { </code></td></tr><tr><td id="L23066" class="css-a4x74f"><span>23066</span></td><td id="LC23066" class="css-1dcdqdg"><code> name: <span class="code-string">'Block'</span>, </code></td></tr><tr><td id="L23067" class="css-a4x74f"><span>23067</span></td><td id="LC23067" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23068" class="css-a4x74f"><span>23068</span></td><td id="LC23068" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L23069" class="css-a4x74f"><span>23069</span></td><td id="LC23069" class="css-1dcdqdg"><code> <span class="code-string">'Atrule'</span>, </code></td></tr><tr><td id="L23070" class="css-a4x74f"><span>23070</span></td><td id="LC23070" class="css-1dcdqdg"><code> <span class="code-string">'Rule'</span>, </code></td></tr><tr><td id="L23071" class="css-a4x74f"><span>23071</span></td><td id="LC23071" class="css-1dcdqdg"><code> <span class="code-string">'Declaration'</span> </code></td></tr><tr><td id="L23072" class="css-a4x74f"><span>23072</span></td><td id="LC23072" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L23073" class="css-a4x74f"><span>23073</span></td><td id="LC23073" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23074" class="css-a4x74f"><span>23074</span></td><td id="LC23074" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">isDeclaration</span>) </span>{ </code></td></tr><tr><td id="L23075" class="css-a4x74f"><span>23075</span></td><td id="LC23075" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumer = isDeclaration ? consumeDeclaration : consumeRule; </code></td></tr><tr><td id="L23076" class="css-a4x74f"><span>23076</span></td><td id="LC23076" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23077" class="css-a4x74f"><span>23077</span></td><td id="LC23077" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23078" class="css-a4x74f"><span>23078</span></td><td id="LC23078" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L23079" class="css-a4x74f"><span>23079</span></td><td id="LC23079" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23080" class="css-a4x74f"><span>23080</span></td><td id="LC23080" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(LEFTCURLYBRACKET$<span class="code-number">3</span>); </code></td></tr><tr><td id="L23081" class="css-a4x74f"><span>23081</span></td><td id="LC23081" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23082" class="css-a4x74f"><span>23082</span></td><td id="LC23082" class="css-1dcdqdg"><code> scan: </code></td></tr><tr><td id="L23083" class="css-a4x74f"><span>23083</span></td><td id="LC23083" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23084" class="css-a4x74f"><span>23084</span></td><td id="LC23084" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L23085" class="css-a4x74f"><span>23085</span></td><td id="LC23085" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> RIGHTCURLYBRACKET$<span class="code-number">2</span>: </code></td></tr><tr><td id="L23086" class="css-a4x74f"><span>23086</span></td><td id="LC23086" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L23087" class="css-a4x74f"><span>23087</span></td><td id="LC23087" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23088" class="css-a4x74f"><span>23088</span></td><td id="LC23088" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$<span class="code-number">5</span>: </code></td></tr><tr><td id="L23089" class="css-a4x74f"><span>23089</span></td><td id="LC23089" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">4</span>: </code></td></tr><tr><td id="L23090" class="css-a4x74f"><span>23090</span></td><td id="LC23090" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23091" class="css-a4x74f"><span>23091</span></td><td id="LC23091" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23092" class="css-a4x74f"><span>23092</span></td><td id="LC23092" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23093" class="css-a4x74f"><span>23093</span></td><td id="LC23093" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ATKEYWORD$<span class="code-number">1</span>: </code></td></tr><tr><td id="L23094" class="css-a4x74f"><span>23094</span></td><td id="LC23094" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Atrule, consumeRaw$<span class="code-number">1</span>)); </code></td></tr><tr><td id="L23095" class="css-a4x74f"><span>23095</span></td><td id="LC23095" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23096" class="css-a4x74f"><span>23096</span></td><td id="LC23096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23097" class="css-a4x74f"><span>23097</span></td><td id="LC23097" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L23098" class="css-a4x74f"><span>23098</span></td><td id="LC23098" class="css-1dcdqdg"><code> children.push(consumer.call(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L23099" class="css-a4x74f"><span>23099</span></td><td id="LC23099" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23100" class="css-a4x74f"><span>23100</span></td><td id="LC23100" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23101" class="css-a4x74f"><span>23101</span></td><td id="LC23101" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23102" class="css-a4x74f"><span>23102</span></td><td id="LC23102" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23103" class="css-a4x74f"><span>23103</span></td><td id="LC23103" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTCURLYBRACKET$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23104" class="css-a4x74f"><span>23104</span></td><td id="LC23104" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23105" class="css-a4x74f"><span>23105</span></td><td id="LC23105" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23106" class="css-a4x74f"><span>23106</span></td><td id="LC23106" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23107" class="css-a4x74f"><span>23107</span></td><td id="LC23107" class="css-1dcdqdg"><code> type: <span class="code-string">'Block'</span>, </code></td></tr><tr><td id="L23108" class="css-a4x74f"><span>23108</span></td><td id="LC23108" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23109" class="css-a4x74f"><span>23109</span></td><td id="LC23109" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23110" class="css-a4x74f"><span>23110</span></td><td id="LC23110" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23111" class="css-a4x74f"><span>23111</span></td><td id="LC23111" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23112" class="css-a4x74f"><span>23112</span></td><td id="LC23112" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23113" class="css-a4x74f"><span>23113</span></td><td id="LC23113" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'{'</span>); </code></td></tr><tr><td id="L23114" class="css-a4x74f"><span>23114</span></td><td id="LC23114" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">prev</span>) </span>{ </code></td></tr><tr><td id="L23115" class="css-a4x74f"><span>23115</span></td><td id="LC23115" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prev.type === <span class="code-string">'Declaration'</span>) { </code></td></tr><tr><td id="L23116" class="css-a4x74f"><span>23116</span></td><td id="LC23116" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">';'</span>); </code></td></tr><tr><td id="L23117" class="css-a4x74f"><span>23117</span></td><td id="LC23117" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23118" class="css-a4x74f"><span>23118</span></td><td id="LC23118" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L23119" class="css-a4x74f"><span>23119</span></td><td id="LC23119" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'}'</span>); </code></td></tr><tr><td id="L23120" class="css-a4x74f"><span>23120</span></td><td id="LC23120" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23121" class="css-a4x74f"><span>23121</span></td><td id="LC23121" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'block'</span> </code></td></tr><tr><td id="L23122" class="css-a4x74f"><span>23122</span></td><td id="LC23122" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23123" class="css-a4x74f"><span>23123</span></td><td id="LC23123" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23124" class="css-a4x74f"><span>23124</span></td><td id="LC23124" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$f = tokenizer.TYPE; </code></td></tr><tr><td id="L23125" class="css-a4x74f"><span>23125</span></td><td id="LC23125" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23126" class="css-a4x74f"><span>23126</span></td><td id="LC23126" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTSQUAREBRACKET$<span class="code-number">2</span> = TYPE$f.LeftSquareBracket; </code></td></tr><tr><td id="L23127" class="css-a4x74f"><span>23127</span></td><td id="LC23127" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTSQUAREBRACKET$<span class="code-number">2</span> = TYPE$f.RightSquareBracket; </code></td></tr><tr><td id="L23128" class="css-a4x74f"><span>23128</span></td><td id="LC23128" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23129" class="css-a4x74f"><span>23129</span></td><td id="LC23129" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Brackets = { </code></td></tr><tr><td id="L23130" class="css-a4x74f"><span>23130</span></td><td id="LC23130" class="css-1dcdqdg"><code> name: <span class="code-string">'Brackets'</span>, </code></td></tr><tr><td id="L23131" class="css-a4x74f"><span>23131</span></td><td id="LC23131" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23132" class="css-a4x74f"><span>23132</span></td><td id="LC23132" class="css-1dcdqdg"><code> children: [[]] </code></td></tr><tr><td id="L23133" class="css-a4x74f"><span>23133</span></td><td id="LC23133" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23134" class="css-a4x74f"><span>23134</span></td><td id="LC23134" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">readSequence, recognizer</span>) </span>{ </code></td></tr><tr><td id="L23135" class="css-a4x74f"><span>23135</span></td><td id="LC23135" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23136" class="css-a4x74f"><span>23136</span></td><td id="LC23136" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23137" class="css-a4x74f"><span>23137</span></td><td id="LC23137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23138" class="css-a4x74f"><span>23138</span></td><td id="LC23138" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(LEFTSQUAREBRACKET$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23139" class="css-a4x74f"><span>23139</span></td><td id="LC23139" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23140" class="css-a4x74f"><span>23140</span></td><td id="LC23140" class="css-1dcdqdg"><code> children = readSequence.call(<span class="code-keyword">this</span>, recognizer); </code></td></tr><tr><td id="L23141" class="css-a4x74f"><span>23141</span></td><td id="LC23141" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23142" class="css-a4x74f"><span>23142</span></td><td id="LC23142" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23143" class="css-a4x74f"><span>23143</span></td><td id="LC23143" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTSQUAREBRACKET$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23144" class="css-a4x74f"><span>23144</span></td><td id="LC23144" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23145" class="css-a4x74f"><span>23145</span></td><td id="LC23145" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23146" class="css-a4x74f"><span>23146</span></td><td id="LC23146" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23147" class="css-a4x74f"><span>23147</span></td><td id="LC23147" class="css-1dcdqdg"><code> type: <span class="code-string">'Brackets'</span>, </code></td></tr><tr><td id="L23148" class="css-a4x74f"><span>23148</span></td><td id="LC23148" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23149" class="css-a4x74f"><span>23149</span></td><td id="LC23149" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23150" class="css-a4x74f"><span>23150</span></td><td id="LC23150" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23151" class="css-a4x74f"><span>23151</span></td><td id="LC23151" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23152" class="css-a4x74f"><span>23152</span></td><td id="LC23152" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23153" class="css-a4x74f"><span>23153</span></td><td id="LC23153" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'['</span>); </code></td></tr><tr><td id="L23154" class="css-a4x74f"><span>23154</span></td><td id="LC23154" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L23155" class="css-a4x74f"><span>23155</span></td><td id="LC23155" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">']'</span>); </code></td></tr><tr><td id="L23156" class="css-a4x74f"><span>23156</span></td><td id="LC23156" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23157" class="css-a4x74f"><span>23157</span></td><td id="LC23157" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23158" class="css-a4x74f"><span>23158</span></td><td id="LC23158" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23159" class="css-a4x74f"><span>23159</span></td><td id="LC23159" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDC = tokenizer.TYPE.CDC; </code></td></tr><tr><td id="L23160" class="css-a4x74f"><span>23160</span></td><td id="LC23160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23161" class="css-a4x74f"><span>23161</span></td><td id="LC23161" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDC_1 = { </code></td></tr><tr><td id="L23162" class="css-a4x74f"><span>23162</span></td><td id="LC23162" class="css-1dcdqdg"><code> name: <span class="code-string">'CDC'</span>, </code></td></tr><tr><td id="L23163" class="css-a4x74f"><span>23163</span></td><td id="LC23163" class="css-1dcdqdg"><code> structure: [], </code></td></tr><tr><td id="L23164" class="css-a4x74f"><span>23164</span></td><td id="LC23164" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23165" class="css-a4x74f"><span>23165</span></td><td id="LC23165" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23166" class="css-a4x74f"><span>23166</span></td><td id="LC23166" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23167" class="css-a4x74f"><span>23167</span></td><td id="LC23167" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(CDC); <span class="code-comment">// --></span> </code></td></tr><tr><td id="L23168" class="css-a4x74f"><span>23168</span></td><td id="LC23168" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23169" class="css-a4x74f"><span>23169</span></td><td id="LC23169" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23170" class="css-a4x74f"><span>23170</span></td><td id="LC23170" class="css-1dcdqdg"><code> type: <span class="code-string">'CDC'</span>, </code></td></tr><tr><td id="L23171" class="css-a4x74f"><span>23171</span></td><td id="LC23171" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart) </code></td></tr><tr><td id="L23172" class="css-a4x74f"><span>23172</span></td><td id="LC23172" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23173" class="css-a4x74f"><span>23173</span></td><td id="LC23173" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23174" class="css-a4x74f"><span>23174</span></td><td id="LC23174" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23175" class="css-a4x74f"><span>23175</span></td><td id="LC23175" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'-->'</span>); </code></td></tr><tr><td id="L23176" class="css-a4x74f"><span>23176</span></td><td id="LC23176" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23177" class="css-a4x74f"><span>23177</span></td><td id="LC23177" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23178" class="css-a4x74f"><span>23178</span></td><td id="LC23178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23179" class="css-a4x74f"><span>23179</span></td><td id="LC23179" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDO = tokenizer.TYPE.CDO; </code></td></tr><tr><td id="L23180" class="css-a4x74f"><span>23180</span></td><td id="LC23180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23181" class="css-a4x74f"><span>23181</span></td><td id="LC23181" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDO_1 = { </code></td></tr><tr><td id="L23182" class="css-a4x74f"><span>23182</span></td><td id="LC23182" class="css-1dcdqdg"><code> name: <span class="code-string">'CDO'</span>, </code></td></tr><tr><td id="L23183" class="css-a4x74f"><span>23183</span></td><td id="LC23183" class="css-1dcdqdg"><code> structure: [], </code></td></tr><tr><td id="L23184" class="css-a4x74f"><span>23184</span></td><td id="LC23184" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23185" class="css-a4x74f"><span>23185</span></td><td id="LC23185" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23186" class="css-a4x74f"><span>23186</span></td><td id="LC23186" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23187" class="css-a4x74f"><span>23187</span></td><td id="LC23187" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(CDO); <span class="code-comment">// <!--</span> </code></td></tr><tr><td id="L23188" class="css-a4x74f"><span>23188</span></td><td id="LC23188" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23189" class="css-a4x74f"><span>23189</span></td><td id="LC23189" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23190" class="css-a4x74f"><span>23190</span></td><td id="LC23190" class="css-1dcdqdg"><code> type: <span class="code-string">'CDO'</span>, </code></td></tr><tr><td id="L23191" class="css-a4x74f"><span>23191</span></td><td id="LC23191" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart) </code></td></tr><tr><td id="L23192" class="css-a4x74f"><span>23192</span></td><td id="LC23192" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23193" class="css-a4x74f"><span>23193</span></td><td id="LC23193" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23194" class="css-a4x74f"><span>23194</span></td><td id="LC23194" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23195" class="css-a4x74f"><span>23195</span></td><td id="LC23195" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'<!--'</span>); </code></td></tr><tr><td id="L23196" class="css-a4x74f"><span>23196</span></td><td id="LC23196" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23197" class="css-a4x74f"><span>23197</span></td><td id="LC23197" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23198" class="css-a4x74f"><span>23198</span></td><td id="LC23198" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23199" class="css-a4x74f"><span>23199</span></td><td id="LC23199" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$g = tokenizer.TYPE; </code></td></tr><tr><td id="L23200" class="css-a4x74f"><span>23200</span></td><td id="LC23200" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23201" class="css-a4x74f"><span>23201</span></td><td id="LC23201" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">5</span> = TYPE$g.Ident; </code></td></tr><tr><td id="L23202" class="css-a4x74f"><span>23202</span></td><td id="LC23202" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FULLSTOP = <span class="code-number">0x002E</span>; <span class="code-comment">// U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L23203" class="css-a4x74f"><span>23203</span></td><td id="LC23203" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23204" class="css-a4x74f"><span>23204</span></td><td id="LC23204" class="css-1dcdqdg"><code> <span class="code-comment">// '.' ident</span> </code></td></tr><tr><td id="L23205" class="css-a4x74f"><span>23205</span></td><td id="LC23205" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ClassSelector = { </code></td></tr><tr><td id="L23206" class="css-a4x74f"><span>23206</span></td><td id="LC23206" class="css-1dcdqdg"><code> name: <span class="code-string">'ClassSelector'</span>, </code></td></tr><tr><td id="L23207" class="css-a4x74f"><span>23207</span></td><td id="LC23207" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23208" class="css-a4x74f"><span>23208</span></td><td id="LC23208" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23209" class="css-a4x74f"><span>23209</span></td><td id="LC23209" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23210" class="css-a4x74f"><span>23210</span></td><td id="LC23210" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23211" class="css-a4x74f"><span>23211</span></td><td id="LC23211" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.isDelim(FULLSTOP)) { </code></td></tr><tr><td id="L23212" class="css-a4x74f"><span>23212</span></td><td id="LC23212" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Full stop is expected'</span>); </code></td></tr><tr><td id="L23213" class="css-a4x74f"><span>23213</span></td><td id="LC23213" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23214" class="css-a4x74f"><span>23214</span></td><td id="LC23214" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23215" class="css-a4x74f"><span>23215</span></td><td id="LC23215" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23216" class="css-a4x74f"><span>23216</span></td><td id="LC23216" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23217" class="css-a4x74f"><span>23217</span></td><td id="LC23217" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23218" class="css-a4x74f"><span>23218</span></td><td id="LC23218" class="css-1dcdqdg"><code> type: <span class="code-string">'ClassSelector'</span>, </code></td></tr><tr><td id="L23219" class="css-a4x74f"><span>23219</span></td><td id="LC23219" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(<span class="code-keyword">this</span>.scanner.tokenStart - <span class="code-number">1</span>, <span class="code-keyword">this</span>.scanner.tokenEnd), </code></td></tr><tr><td id="L23220" class="css-a4x74f"><span>23220</span></td><td id="LC23220" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.consume(IDENT$<span class="code-number">5</span>) </code></td></tr><tr><td id="L23221" class="css-a4x74f"><span>23221</span></td><td id="LC23221" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23222" class="css-a4x74f"><span>23222</span></td><td id="LC23222" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23223" class="css-a4x74f"><span>23223</span></td><td id="LC23223" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23224" class="css-a4x74f"><span>23224</span></td><td id="LC23224" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'.'</span>); </code></td></tr><tr><td id="L23225" class="css-a4x74f"><span>23225</span></td><td id="LC23225" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23226" class="css-a4x74f"><span>23226</span></td><td id="LC23226" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23227" class="css-a4x74f"><span>23227</span></td><td id="LC23227" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23228" class="css-a4x74f"><span>23228</span></td><td id="LC23228" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23229" class="css-a4x74f"><span>23229</span></td><td id="LC23229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$h = tokenizer.TYPE; </code></td></tr><tr><td id="L23230" class="css-a4x74f"><span>23230</span></td><td id="LC23230" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23231" class="css-a4x74f"><span>23231</span></td><td id="LC23231" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">6</span> = TYPE$h.Ident; </code></td></tr><tr><td id="L23232" class="css-a4x74f"><span>23232</span></td><td id="LC23232" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">4</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L23233" class="css-a4x74f"><span>23233</span></td><td id="LC23233" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L23234" class="css-a4x74f"><span>23234</span></td><td id="LC23234" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> GREATERTHANSIGN$<span class="code-number">1</span> = <span class="code-number">0x003E</span>; <span class="code-comment">// U+003E GREATER-THAN SIGN (>)</span> </code></td></tr><tr><td id="L23235" class="css-a4x74f"><span>23235</span></td><td id="LC23235" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TILDE$<span class="code-number">1</span> = <span class="code-number">0x007E</span>; <span class="code-comment">// U+007E TILDE (~)</span> </code></td></tr><tr><td id="L23236" class="css-a4x74f"><span>23236</span></td><td id="LC23236" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23237" class="css-a4x74f"><span>23237</span></td><td id="LC23237" class="css-1dcdqdg"><code> <span class="code-comment">// + | > | ~ | /deep/</span> </code></td></tr><tr><td id="L23238" class="css-a4x74f"><span>23238</span></td><td id="LC23238" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Combinator = { </code></td></tr><tr><td id="L23239" class="css-a4x74f"><span>23239</span></td><td id="LC23239" class="css-1dcdqdg"><code> name: <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L23240" class="css-a4x74f"><span>23240</span></td><td id="LC23240" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23241" class="css-a4x74f"><span>23241</span></td><td id="LC23241" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23242" class="css-a4x74f"><span>23242</span></td><td id="LC23242" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23243" class="css-a4x74f"><span>23243</span></td><td id="LC23243" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23244" class="css-a4x74f"><span>23244</span></td><td id="LC23244" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23245" class="css-a4x74f"><span>23245</span></td><td id="LC23245" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L23246" class="css-a4x74f"><span>23246</span></td><td id="LC23246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23247" class="css-a4x74f"><span>23247</span></td><td id="LC23247" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (code) { </code></td></tr><tr><td id="L23248" class="css-a4x74f"><span>23248</span></td><td id="LC23248" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> GREATERTHANSIGN$<span class="code-number">1</span>: </code></td></tr><tr><td id="L23249" class="css-a4x74f"><span>23249</span></td><td id="LC23249" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PLUSSIGN$<span class="code-number">4</span>: </code></td></tr><tr><td id="L23250" class="css-a4x74f"><span>23250</span></td><td id="LC23250" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TILDE$<span class="code-number">1</span>: </code></td></tr><tr><td id="L23251" class="css-a4x74f"><span>23251</span></td><td id="LC23251" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23252" class="css-a4x74f"><span>23252</span></td><td id="LC23252" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23253" class="css-a4x74f"><span>23253</span></td><td id="LC23253" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23254" class="css-a4x74f"><span>23254</span></td><td id="LC23254" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SOLIDUS: </code></td></tr><tr><td id="L23255" class="css-a4x74f"><span>23255</span></td><td id="LC23255" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23256" class="css-a4x74f"><span>23256</span></td><td id="LC23256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23257" class="css-a4x74f"><span>23257</span></td><td id="LC23257" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== IDENT$<span class="code-number">6</span> || <span class="code-keyword">this</span>.scanner.lookupValue(<span class="code-number">0</span>, <span class="code-string">'deep'</span>) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L23258" class="css-a4x74f"><span>23258</span></td><td id="LC23258" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Identifier `deep` is expected'</span>); </code></td></tr><tr><td id="L23259" class="css-a4x74f"><span>23259</span></td><td id="LC23259" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23260" class="css-a4x74f"><span>23260</span></td><td id="LC23260" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23261" class="css-a4x74f"><span>23261</span></td><td id="LC23261" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23262" class="css-a4x74f"><span>23262</span></td><td id="LC23262" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23263" class="css-a4x74f"><span>23263</span></td><td id="LC23263" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.isDelim(SOLIDUS)) { </code></td></tr><tr><td id="L23264" class="css-a4x74f"><span>23264</span></td><td id="LC23264" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Solidus is expected'</span>); </code></td></tr><tr><td id="L23265" class="css-a4x74f"><span>23265</span></td><td id="LC23265" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23266" class="css-a4x74f"><span>23266</span></td><td id="LC23266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23267" class="css-a4x74f"><span>23267</span></td><td id="LC23267" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23268" class="css-a4x74f"><span>23268</span></td><td id="LC23268" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23269" class="css-a4x74f"><span>23269</span></td><td id="LC23269" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23270" class="css-a4x74f"><span>23270</span></td><td id="LC23270" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L23271" class="css-a4x74f"><span>23271</span></td><td id="LC23271" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Combinator is expected'</span>); </code></td></tr><tr><td id="L23272" class="css-a4x74f"><span>23272</span></td><td id="LC23272" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23273" class="css-a4x74f"><span>23273</span></td><td id="LC23273" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23274" class="css-a4x74f"><span>23274</span></td><td id="LC23274" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23275" class="css-a4x74f"><span>23275</span></td><td id="LC23275" class="css-1dcdqdg"><code> type: <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L23276" class="css-a4x74f"><span>23276</span></td><td id="LC23276" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23277" class="css-a4x74f"><span>23277</span></td><td id="LC23277" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.scanner.substrToCursor(start) </code></td></tr><tr><td id="L23278" class="css-a4x74f"><span>23278</span></td><td id="LC23278" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23279" class="css-a4x74f"><span>23279</span></td><td id="LC23279" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23280" class="css-a4x74f"><span>23280</span></td><td id="LC23280" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23281" class="css-a4x74f"><span>23281</span></td><td id="LC23281" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23282" class="css-a4x74f"><span>23282</span></td><td id="LC23282" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23283" class="css-a4x74f"><span>23283</span></td><td id="LC23283" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23284" class="css-a4x74f"><span>23284</span></td><td id="LC23284" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23285" class="css-a4x74f"><span>23285</span></td><td id="LC23285" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$i = tokenizer.TYPE; </code></td></tr><tr><td id="L23286" class="css-a4x74f"><span>23286</span></td><td id="LC23286" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23287" class="css-a4x74f"><span>23287</span></td><td id="LC23287" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">5</span> = TYPE$i.Comment; </code></td></tr><tr><td id="L23288" class="css-a4x74f"><span>23288</span></td><td id="LC23288" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">2</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L23289" class="css-a4x74f"><span>23289</span></td><td id="LC23289" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS$<span class="code-number">1</span> = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L23290" class="css-a4x74f"><span>23290</span></td><td id="LC23290" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23291" class="css-a4x74f"><span>23291</span></td><td id="LC23291" class="css-1dcdqdg"><code> <span class="code-comment">// '/*' .* '*/'</span> </code></td></tr><tr><td id="L23292" class="css-a4x74f"><span>23292</span></td><td id="LC23292" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Comment = { </code></td></tr><tr><td id="L23293" class="css-a4x74f"><span>23293</span></td><td id="LC23293" class="css-1dcdqdg"><code> name: <span class="code-string">'Comment'</span>, </code></td></tr><tr><td id="L23294" class="css-a4x74f"><span>23294</span></td><td id="LC23294" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23295" class="css-a4x74f"><span>23295</span></td><td id="LC23295" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23296" class="css-a4x74f"><span>23296</span></td><td id="LC23296" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23297" class="css-a4x74f"><span>23297</span></td><td id="LC23297" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23298" class="css-a4x74f"><span>23298</span></td><td id="LC23298" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23299" class="css-a4x74f"><span>23299</span></td><td id="LC23299" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = <span class="code-keyword">this</span>.scanner.tokenEnd; </code></td></tr><tr><td id="L23300" class="css-a4x74f"><span>23300</span></td><td id="LC23300" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23301" class="css-a4x74f"><span>23301</span></td><td id="LC23301" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COMMENT$<span class="code-number">5</span>); </code></td></tr><tr><td id="L23302" class="css-a4x74f"><span>23302</span></td><td id="LC23302" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23303" class="css-a4x74f"><span>23303</span></td><td id="LC23303" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((end - start + <span class="code-number">2</span>) >= <span class="code-number">2</span> && </code></td></tr><tr><td id="L23304" class="css-a4x74f"><span>23304</span></td><td id="LC23304" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.source.charCodeAt(end - <span class="code-number">2</span>) === ASTERISK$<span class="code-number">2</span> && </code></td></tr><tr><td id="L23305" class="css-a4x74f"><span>23305</span></td><td id="LC23305" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.source.charCodeAt(end - <span class="code-number">1</span>) === SOLIDUS$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L23306" class="css-a4x74f"><span>23306</span></td><td id="LC23306" class="css-1dcdqdg"><code> end -= <span class="code-number">2</span>; </code></td></tr><tr><td id="L23307" class="css-a4x74f"><span>23307</span></td><td id="LC23307" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23308" class="css-a4x74f"><span>23308</span></td><td id="LC23308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23309" class="css-a4x74f"><span>23309</span></td><td id="LC23309" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23310" class="css-a4x74f"><span>23310</span></td><td id="LC23310" class="css-1dcdqdg"><code> type: <span class="code-string">'Comment'</span>, </code></td></tr><tr><td id="L23311" class="css-a4x74f"><span>23311</span></td><td id="LC23311" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23312" class="css-a4x74f"><span>23312</span></td><td id="LC23312" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.source.substring(start + <span class="code-number">2</span>, end) </code></td></tr><tr><td id="L23313" class="css-a4x74f"><span>23313</span></td><td id="LC23313" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23314" class="css-a4x74f"><span>23314</span></td><td id="LC23314" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23315" class="css-a4x74f"><span>23315</span></td><td id="LC23315" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23316" class="css-a4x74f"><span>23316</span></td><td id="LC23316" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'/*'</span>); </code></td></tr><tr><td id="L23317" class="css-a4x74f"><span>23317</span></td><td id="LC23317" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L23318" class="css-a4x74f"><span>23318</span></td><td id="LC23318" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'*/'</span>); </code></td></tr><tr><td id="L23319" class="css-a4x74f"><span>23319</span></td><td id="LC23319" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23320" class="css-a4x74f"><span>23320</span></td><td id="LC23320" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23321" class="css-a4x74f"><span>23321</span></td><td id="LC23321" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23322" class="css-a4x74f"><span>23322</span></td><td id="LC23322" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isCustomProperty$<span class="code-number">1</span> = names.isCustomProperty; </code></td></tr><tr><td id="L23323" class="css-a4x74f"><span>23323</span></td><td id="LC23323" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$j = tokenizer.TYPE; </code></td></tr><tr><td id="L23324" class="css-a4x74f"><span>23324</span></td><td id="LC23324" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode$<span class="code-number">2</span> = Raw.mode; </code></td></tr><tr><td id="L23325" class="css-a4x74f"><span>23325</span></td><td id="LC23325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23326" class="css-a4x74f"><span>23326</span></td><td id="LC23326" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">7</span> = TYPE$j.Ident; </code></td></tr><tr><td id="L23327" class="css-a4x74f"><span>23327</span></td><td id="LC23327" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH$<span class="code-number">1</span> = TYPE$j.Hash; </code></td></tr><tr><td id="L23328" class="css-a4x74f"><span>23328</span></td><td id="LC23328" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">1</span> = TYPE$j.Colon; </code></td></tr><tr><td id="L23329" class="css-a4x74f"><span>23329</span></td><td id="LC23329" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMICOLON$<span class="code-number">3</span> = TYPE$j.Semicolon; </code></td></tr><tr><td id="L23330" class="css-a4x74f"><span>23330</span></td><td id="LC23330" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">2</span> = TYPE$j.Delim; </code></td></tr><tr><td id="L23331" class="css-a4x74f"><span>23331</span></td><td id="LC23331" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXCLAMATIONMARK$<span class="code-number">2</span> = <span class="code-number">0x0021</span>; <span class="code-comment">// U+0021 EXCLAMATION MARK (!)</span> </code></td></tr><tr><td id="L23332" class="css-a4x74f"><span>23332</span></td><td id="LC23332" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBERSIGN$<span class="code-number">2</span> = <span class="code-number">0x0023</span>; <span class="code-comment">// U+0023 NUMBER SIGN (#)</span> </code></td></tr><tr><td id="L23333" class="css-a4x74f"><span>23333</span></td><td id="LC23333" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DOLLARSIGN$<span class="code-number">1</span> = <span class="code-number">0x0024</span>; <span class="code-comment">// U+0024 DOLLAR SIGN ($)</span> </code></td></tr><tr><td id="L23334" class="css-a4x74f"><span>23334</span></td><td id="LC23334" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> AMPERSAND$<span class="code-number">1</span> = <span class="code-number">0x0026</span>; <span class="code-comment">// U+0026 ANPERSAND (&)</span> </code></td></tr><tr><td id="L23335" class="css-a4x74f"><span>23335</span></td><td id="LC23335" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">3</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L23336" class="css-a4x74f"><span>23336</span></td><td id="LC23336" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">5</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L23337" class="css-a4x74f"><span>23337</span></td><td id="LC23337" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS$<span class="code-number">2</span> = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L23338" class="css-a4x74f"><span>23338</span></td><td id="LC23338" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23339" class="css-a4x74f"><span>23339</span></td><td id="LC23339" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeValueRaw</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L23340" class="css-a4x74f"><span>23340</span></td><td id="LC23340" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode$<span class="code-number">2.</span>exclamationMarkOrSemicolon, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L23341" class="css-a4x74f"><span>23341</span></td><td id="LC23341" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23342" class="css-a4x74f"><span>23342</span></td><td id="LC23342" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23343" class="css-a4x74f"><span>23343</span></td><td id="LC23343" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeCustomPropertyRaw</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L23344" class="css-a4x74f"><span>23344</span></td><td id="LC23344" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode$<span class="code-number">2.</span>exclamationMarkOrSemicolon, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L23345" class="css-a4x74f"><span>23345</span></td><td id="LC23345" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23346" class="css-a4x74f"><span>23346</span></td><td id="LC23346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23347" class="css-a4x74f"><span>23347</span></td><td id="LC23347" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeValue</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23348" class="css-a4x74f"><span>23348</span></td><td id="LC23348" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startValueToken = <span class="code-keyword">this</span>.scanner.tokenIndex; </code></td></tr><tr><td id="L23349" class="css-a4x74f"><span>23349</span></td><td id="LC23349" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = <span class="code-keyword">this</span>.Value(); </code></td></tr><tr><td id="L23350" class="css-a4x74f"><span>23350</span></td><td id="LC23350" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23351" class="css-a4x74f"><span>23351</span></td><td id="LC23351" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (value.type !== <span class="code-string">'Raw'</span> && </code></td></tr><tr><td id="L23352" class="css-a4x74f"><span>23352</span></td><td id="LC23352" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.eof === <span class="code-literal">false</span> && </code></td></tr><tr><td id="L23353" class="css-a4x74f"><span>23353</span></td><td id="LC23353" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== SEMICOLON$<span class="code-number">3</span> && </code></td></tr><tr><td id="L23354" class="css-a4x74f"><span>23354</span></td><td id="LC23354" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.isDelim(EXCLAMATIONMARK$<span class="code-number">2</span>) === <span class="code-literal">false</span> && </code></td></tr><tr><td id="L23355" class="css-a4x74f"><span>23355</span></td><td id="LC23355" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.isBalanceEdge(startValueToken) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L23356" class="css-a4x74f"><span>23356</span></td><td id="LC23356" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L23357" class="css-a4x74f"><span>23357</span></td><td id="LC23357" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23358" class="css-a4x74f"><span>23358</span></td><td id="LC23358" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23359" class="css-a4x74f"><span>23359</span></td><td id="LC23359" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L23360" class="css-a4x74f"><span>23360</span></td><td id="LC23360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23361" class="css-a4x74f"><span>23361</span></td><td id="LC23361" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23362" class="css-a4x74f"><span>23362</span></td><td id="LC23362" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Declaration = { </code></td></tr><tr><td id="L23363" class="css-a4x74f"><span>23363</span></td><td id="LC23363" class="css-1dcdqdg"><code> name: <span class="code-string">'Declaration'</span>, </code></td></tr><tr><td id="L23364" class="css-a4x74f"><span>23364</span></td><td id="LC23364" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23365" class="css-a4x74f"><span>23365</span></td><td id="LC23365" class="css-1dcdqdg"><code> important: [<span class="code-built_in">Boolean</span>, <span class="code-built_in">String</span>], </code></td></tr><tr><td id="L23366" class="css-a4x74f"><span>23366</span></td><td id="LC23366" class="css-1dcdqdg"><code> property: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L23367" class="css-a4x74f"><span>23367</span></td><td id="LC23367" class="css-1dcdqdg"><code> value: [<span class="code-string">'Value'</span>, <span class="code-string">'Raw'</span>] </code></td></tr><tr><td id="L23368" class="css-a4x74f"><span>23368</span></td><td id="LC23368" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23369" class="css-a4x74f"><span>23369</span></td><td id="LC23369" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23370" class="css-a4x74f"><span>23370</span></td><td id="LC23370" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23371" class="css-a4x74f"><span>23371</span></td><td id="LC23371" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startToken = <span class="code-keyword">this</span>.scanner.tokenIndex; </code></td></tr><tr><td id="L23372" class="css-a4x74f"><span>23372</span></td><td id="LC23372" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> property = readProperty$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L23373" class="css-a4x74f"><span>23373</span></td><td id="LC23373" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> customProperty = isCustomProperty$<span class="code-number">1</span>(property); </code></td></tr><tr><td id="L23374" class="css-a4x74f"><span>23374</span></td><td id="LC23374" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parseValue = customProperty ? <span class="code-keyword">this</span>.parseCustomProperty : <span class="code-keyword">this</span>.parseValue; </code></td></tr><tr><td id="L23375" class="css-a4x74f"><span>23375</span></td><td id="LC23375" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw; </code></td></tr><tr><td id="L23376" class="css-a4x74f"><span>23376</span></td><td id="LC23376" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> important = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L23377" class="css-a4x74f"><span>23377</span></td><td id="LC23377" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value; </code></td></tr><tr><td id="L23378" class="css-a4x74f"><span>23378</span></td><td id="LC23378" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23379" class="css-a4x74f"><span>23379</span></td><td id="LC23379" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23380" class="css-a4x74f"><span>23380</span></td><td id="LC23380" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COLON$<span class="code-number">1</span>); </code></td></tr><tr><td id="L23381" class="css-a4x74f"><span>23381</span></td><td id="LC23381" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23382" class="css-a4x74f"><span>23382</span></td><td id="LC23382" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!customProperty) { </code></td></tr><tr><td id="L23383" class="css-a4x74f"><span>23383</span></td><td id="LC23383" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23384" class="css-a4x74f"><span>23384</span></td><td id="LC23384" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23385" class="css-a4x74f"><span>23385</span></td><td id="LC23385" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23386" class="css-a4x74f"><span>23386</span></td><td id="LC23386" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parseValue) { </code></td></tr><tr><td id="L23387" class="css-a4x74f"><span>23387</span></td><td id="LC23387" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.parseWithFallback(consumeValue, consumeRaw); </code></td></tr><tr><td id="L23388" class="css-a4x74f"><span>23388</span></td><td id="LC23388" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L23389" class="css-a4x74f"><span>23389</span></td><td id="LC23389" class="css-1dcdqdg"><code> value = consumeRaw.call(<span class="code-keyword">this</span>, <span class="code-keyword">this</span>.scanner.tokenIndex); </code></td></tr><tr><td id="L23390" class="css-a4x74f"><span>23390</span></td><td id="LC23390" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23391" class="css-a4x74f"><span>23391</span></td><td id="LC23391" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23392" class="css-a4x74f"><span>23392</span></td><td id="LC23392" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(EXCLAMATIONMARK$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L23393" class="css-a4x74f"><span>23393</span></td><td id="LC23393" class="css-1dcdqdg"><code> important = getImportant.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L23394" class="css-a4x74f"><span>23394</span></td><td id="LC23394" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23395" class="css-a4x74f"><span>23395</span></td><td id="LC23395" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23396" class="css-a4x74f"><span>23396</span></td><td id="LC23396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23397" class="css-a4x74f"><span>23397</span></td><td id="LC23397" class="css-1dcdqdg"><code> <span class="code-comment">// Do not include semicolon to range per spec</span> </code></td></tr><tr><td id="L23398" class="css-a4x74f"><span>23398</span></td><td id="LC23398" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#declaration-diagram</span> </code></td></tr><tr><td id="L23399" class="css-a4x74f"><span>23399</span></td><td id="LC23399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23400" class="css-a4x74f"><span>23400</span></td><td id="LC23400" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.eof === <span class="code-literal">false</span> && </code></td></tr><tr><td id="L23401" class="css-a4x74f"><span>23401</span></td><td id="LC23401" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== SEMICOLON$<span class="code-number">3</span> && </code></td></tr><tr><td id="L23402" class="css-a4x74f"><span>23402</span></td><td id="LC23402" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.isBalanceEdge(startToken) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L23403" class="css-a4x74f"><span>23403</span></td><td id="LC23403" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L23404" class="css-a4x74f"><span>23404</span></td><td id="LC23404" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23405" class="css-a4x74f"><span>23405</span></td><td id="LC23405" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23406" class="css-a4x74f"><span>23406</span></td><td id="LC23406" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23407" class="css-a4x74f"><span>23407</span></td><td id="LC23407" class="css-1dcdqdg"><code> type: <span class="code-string">'Declaration'</span>, </code></td></tr><tr><td id="L23408" class="css-a4x74f"><span>23408</span></td><td id="LC23408" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23409" class="css-a4x74f"><span>23409</span></td><td id="LC23409" class="css-1dcdqdg"><code> important: important, </code></td></tr><tr><td id="L23410" class="css-a4x74f"><span>23410</span></td><td id="LC23410" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L23411" class="css-a4x74f"><span>23411</span></td><td id="LC23411" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L23412" class="css-a4x74f"><span>23412</span></td><td id="LC23412" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23413" class="css-a4x74f"><span>23413</span></td><td id="LC23413" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23414" class="css-a4x74f"><span>23414</span></td><td id="LC23414" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23415" class="css-a4x74f"><span>23415</span></td><td id="LC23415" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.property); </code></td></tr><tr><td id="L23416" class="css-a4x74f"><span>23416</span></td><td id="LC23416" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">':'</span>); </code></td></tr><tr><td id="L23417" class="css-a4x74f"><span>23417</span></td><td id="LC23417" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.value); </code></td></tr><tr><td id="L23418" class="css-a4x74f"><span>23418</span></td><td id="LC23418" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23419" class="css-a4x74f"><span>23419</span></td><td id="LC23419" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.important) { </code></td></tr><tr><td id="L23420" class="css-a4x74f"><span>23420</span></td><td id="LC23420" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.important === <span class="code-literal">true</span> ? <span class="code-string">'!important'</span> : <span class="code-string">'!'</span> + node.important); </code></td></tr><tr><td id="L23421" class="css-a4x74f"><span>23421</span></td><td id="LC23421" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23422" class="css-a4x74f"><span>23422</span></td><td id="LC23422" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23423" class="css-a4x74f"><span>23423</span></td><td id="LC23423" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'declaration'</span> </code></td></tr><tr><td id="L23424" class="css-a4x74f"><span>23424</span></td><td id="LC23424" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23425" class="css-a4x74f"><span>23425</span></td><td id="LC23425" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23426" class="css-a4x74f"><span>23426</span></td><td id="LC23426" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readProperty$1</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23427" class="css-a4x74f"><span>23427</span></td><td id="LC23427" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23428" class="css-a4x74f"><span>23428</span></td><td id="LC23428" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23429" class="css-a4x74f"><span>23429</span></td><td id="LC23429" class="css-1dcdqdg"><code> <span class="code-comment">// hacks</span> </code></td></tr><tr><td id="L23430" class="css-a4x74f"><span>23430</span></td><td id="LC23430" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === DELIM$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L23431" class="css-a4x74f"><span>23431</span></td><td id="LC23431" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart)) { </code></td></tr><tr><td id="L23432" class="css-a4x74f"><span>23432</span></td><td id="LC23432" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ASTERISK$<span class="code-number">3</span>: </code></td></tr><tr><td id="L23433" class="css-a4x74f"><span>23433</span></td><td id="LC23433" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DOLLARSIGN$<span class="code-number">1</span>: </code></td></tr><tr><td id="L23434" class="css-a4x74f"><span>23434</span></td><td id="LC23434" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PLUSSIGN$<span class="code-number">5</span>: </code></td></tr><tr><td id="L23435" class="css-a4x74f"><span>23435</span></td><td id="LC23435" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBERSIGN$<span class="code-number">2</span>: </code></td></tr><tr><td id="L23436" class="css-a4x74f"><span>23436</span></td><td id="LC23436" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> AMPERSAND$<span class="code-number">1</span>: </code></td></tr><tr><td id="L23437" class="css-a4x74f"><span>23437</span></td><td id="LC23437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23438" class="css-a4x74f"><span>23438</span></td><td id="LC23438" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23439" class="css-a4x74f"><span>23439</span></td><td id="LC23439" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23440" class="css-a4x74f"><span>23440</span></td><td id="LC23440" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> not sure we should support this hack</span> </code></td></tr><tr><td id="L23441" class="css-a4x74f"><span>23441</span></td><td id="LC23441" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SOLIDUS$<span class="code-number">2</span>: </code></td></tr><tr><td id="L23442" class="css-a4x74f"><span>23442</span></td><td id="LC23442" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23443" class="css-a4x74f"><span>23443</span></td><td id="LC23443" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(SOLIDUS$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L23444" class="css-a4x74f"><span>23444</span></td><td id="LC23444" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23445" class="css-a4x74f"><span>23445</span></td><td id="LC23445" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23446" class="css-a4x74f"><span>23446</span></td><td id="LC23446" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23447" class="css-a4x74f"><span>23447</span></td><td id="LC23447" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23448" class="css-a4x74f"><span>23448</span></td><td id="LC23448" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23449" class="css-a4x74f"><span>23449</span></td><td id="LC23449" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23450" class="css-a4x74f"><span>23450</span></td><td id="LC23450" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === HASH$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L23451" class="css-a4x74f"><span>23451</span></td><td id="LC23451" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(HASH$<span class="code-number">1</span>); </code></td></tr><tr><td id="L23452" class="css-a4x74f"><span>23452</span></td><td id="LC23452" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L23453" class="css-a4x74f"><span>23453</span></td><td id="LC23453" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(IDENT$<span class="code-number">7</span>); </code></td></tr><tr><td id="L23454" class="css-a4x74f"><span>23454</span></td><td id="LC23454" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23455" class="css-a4x74f"><span>23455</span></td><td id="LC23455" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23456" class="css-a4x74f"><span>23456</span></td><td id="LC23456" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.scanner.substrToCursor(start); </code></td></tr><tr><td id="L23457" class="css-a4x74f"><span>23457</span></td><td id="LC23457" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23458" class="css-a4x74f"><span>23458</span></td><td id="LC23458" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23459" class="css-a4x74f"><span>23459</span></td><td id="LC23459" class="css-1dcdqdg"><code> <span class="code-comment">// ! ws* important</span> </code></td></tr><tr><td id="L23460" class="css-a4x74f"><span>23460</span></td><td id="LC23460" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getImportant</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23461" class="css-a4x74f"><span>23461</span></td><td id="LC23461" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(DELIM$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23462" class="css-a4x74f"><span>23462</span></td><td id="LC23462" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23463" class="css-a4x74f"><span>23463</span></td><td id="LC23463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23464" class="css-a4x74f"><span>23464</span></td><td id="LC23464" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> important = <span class="code-keyword">this</span>.consume(IDENT$<span class="code-number">7</span>); </code></td></tr><tr><td id="L23465" class="css-a4x74f"><span>23465</span></td><td id="LC23465" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23466" class="css-a4x74f"><span>23466</span></td><td id="LC23466" class="css-1dcdqdg"><code> <span class="code-comment">// store original value in case it differ from `important`</span> </code></td></tr><tr><td id="L23467" class="css-a4x74f"><span>23467</span></td><td id="LC23467" class="css-1dcdqdg"><code> <span class="code-comment">// for better original source restoring and hacks like `!ie` support</span> </code></td></tr><tr><td id="L23468" class="css-a4x74f"><span>23468</span></td><td id="LC23468" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> important === <span class="code-string">'important'</span> ? <span class="code-literal">true</span> : important; </code></td></tr><tr><td id="L23469" class="css-a4x74f"><span>23469</span></td><td id="LC23469" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23470" class="css-a4x74f"><span>23470</span></td><td id="LC23470" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23471" class="css-a4x74f"><span>23471</span></td><td id="LC23471" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$k = tokenizer.TYPE; </code></td></tr><tr><td id="L23472" class="css-a4x74f"><span>23472</span></td><td id="LC23472" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode$<span class="code-number">3</span> = Raw.mode; </code></td></tr><tr><td id="L23473" class="css-a4x74f"><span>23473</span></td><td id="LC23473" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23474" class="css-a4x74f"><span>23474</span></td><td id="LC23474" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">6</span> = TYPE$k.WhiteSpace; </code></td></tr><tr><td id="L23475" class="css-a4x74f"><span>23475</span></td><td id="LC23475" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">6</span> = TYPE$k.Comment; </code></td></tr><tr><td id="L23476" class="css-a4x74f"><span>23476</span></td><td id="LC23476" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SEMICOLON$<span class="code-number">4</span> = TYPE$k.Semicolon; </code></td></tr><tr><td id="L23477" class="css-a4x74f"><span>23477</span></td><td id="LC23477" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23478" class="css-a4x74f"><span>23478</span></td><td id="LC23478" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw$2</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L23479" class="css-a4x74f"><span>23479</span></td><td id="LC23479" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode$<span class="code-number">3.</span>semicolonIncluded, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L23480" class="css-a4x74f"><span>23480</span></td><td id="LC23480" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23481" class="css-a4x74f"><span>23481</span></td><td id="LC23481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23482" class="css-a4x74f"><span>23482</span></td><td id="LC23482" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DeclarationList = { </code></td></tr><tr><td id="L23483" class="css-a4x74f"><span>23483</span></td><td id="LC23483" class="css-1dcdqdg"><code> name: <span class="code-string">'DeclarationList'</span>, </code></td></tr><tr><td id="L23484" class="css-a4x74f"><span>23484</span></td><td id="LC23484" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23485" class="css-a4x74f"><span>23485</span></td><td id="LC23485" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L23486" class="css-a4x74f"><span>23486</span></td><td id="LC23486" class="css-1dcdqdg"><code> <span class="code-string">'Declaration'</span> </code></td></tr><tr><td id="L23487" class="css-a4x74f"><span>23487</span></td><td id="LC23487" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L23488" class="css-a4x74f"><span>23488</span></td><td id="LC23488" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23489" class="css-a4x74f"><span>23489</span></td><td id="LC23489" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23490" class="css-a4x74f"><span>23490</span></td><td id="LC23490" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L23491" class="css-a4x74f"><span>23491</span></td><td id="LC23491" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23492" class="css-a4x74f"><span>23492</span></td><td id="LC23492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23493" class="css-a4x74f"><span>23493</span></td><td id="LC23493" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23494" class="css-a4x74f"><span>23494</span></td><td id="LC23494" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L23495" class="css-a4x74f"><span>23495</span></td><td id="LC23495" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$<span class="code-number">6</span>: </code></td></tr><tr><td id="L23496" class="css-a4x74f"><span>23496</span></td><td id="LC23496" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">6</span>: </code></td></tr><tr><td id="L23497" class="css-a4x74f"><span>23497</span></td><td id="LC23497" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SEMICOLON$<span class="code-number">4</span>: </code></td></tr><tr><td id="L23498" class="css-a4x74f"><span>23498</span></td><td id="LC23498" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23499" class="css-a4x74f"><span>23499</span></td><td id="LC23499" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23500" class="css-a4x74f"><span>23500</span></td><td id="LC23500" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23501" class="css-a4x74f"><span>23501</span></td><td id="LC23501" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L23502" class="css-a4x74f"><span>23502</span></td><td id="LC23502" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Declaration, consumeRaw$<span class="code-number">2</span>)); </code></td></tr><tr><td id="L23503" class="css-a4x74f"><span>23503</span></td><td id="LC23503" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23504" class="css-a4x74f"><span>23504</span></td><td id="LC23504" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23505" class="css-a4x74f"><span>23505</span></td><td id="LC23505" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23506" class="css-a4x74f"><span>23506</span></td><td id="LC23506" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23507" class="css-a4x74f"><span>23507</span></td><td id="LC23507" class="css-1dcdqdg"><code> type: <span class="code-string">'DeclarationList'</span>, </code></td></tr><tr><td id="L23508" class="css-a4x74f"><span>23508</span></td><td id="LC23508" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L23509" class="css-a4x74f"><span>23509</span></td><td id="LC23509" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23510" class="css-a4x74f"><span>23510</span></td><td id="LC23510" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23511" class="css-a4x74f"><span>23511</span></td><td id="LC23511" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23512" class="css-a4x74f"><span>23512</span></td><td id="LC23512" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23513" class="css-a4x74f"><span>23513</span></td><td id="LC23513" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">prev</span>) </span>{ </code></td></tr><tr><td id="L23514" class="css-a4x74f"><span>23514</span></td><td id="LC23514" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prev.type === <span class="code-string">'Declaration'</span>) { </code></td></tr><tr><td id="L23515" class="css-a4x74f"><span>23515</span></td><td id="LC23515" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">';'</span>); </code></td></tr><tr><td id="L23516" class="css-a4x74f"><span>23516</span></td><td id="LC23516" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23517" class="css-a4x74f"><span>23517</span></td><td id="LC23517" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L23518" class="css-a4x74f"><span>23518</span></td><td id="LC23518" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23519" class="css-a4x74f"><span>23519</span></td><td id="LC23519" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23520" class="css-a4x74f"><span>23520</span></td><td id="LC23520" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23521" class="css-a4x74f"><span>23521</span></td><td id="LC23521" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeNumber$<span class="code-number">3</span> = utils.consumeNumber; </code></td></tr><tr><td id="L23522" class="css-a4x74f"><span>23522</span></td><td id="LC23522" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$l = tokenizer.TYPE; </code></td></tr><tr><td id="L23523" class="css-a4x74f"><span>23523</span></td><td id="LC23523" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23524" class="css-a4x74f"><span>23524</span></td><td id="LC23524" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">3</span> = TYPE$l.Dimension; </code></td></tr><tr><td id="L23525" class="css-a4x74f"><span>23525</span></td><td id="LC23525" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23526" class="css-a4x74f"><span>23526</span></td><td id="LC23526" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Dimension = { </code></td></tr><tr><td id="L23527" class="css-a4x74f"><span>23527</span></td><td id="LC23527" class="css-1dcdqdg"><code> name: <span class="code-string">'Dimension'</span>, </code></td></tr><tr><td id="L23528" class="css-a4x74f"><span>23528</span></td><td id="LC23528" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23529" class="css-a4x74f"><span>23529</span></td><td id="LC23529" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L23530" class="css-a4x74f"><span>23530</span></td><td id="LC23530" class="css-1dcdqdg"><code> unit: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23531" class="css-a4x74f"><span>23531</span></td><td id="LC23531" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23532" class="css-a4x74f"><span>23532</span></td><td id="LC23532" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23533" class="css-a4x74f"><span>23533</span></td><td id="LC23533" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23534" class="css-a4x74f"><span>23534</span></td><td id="LC23534" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberEnd = consumeNumber$<span class="code-number">3</span>(<span class="code-keyword">this</span>.scanner.source, start); </code></td></tr><tr><td id="L23535" class="css-a4x74f"><span>23535</span></td><td id="LC23535" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23536" class="css-a4x74f"><span>23536</span></td><td id="LC23536" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(DIMENSION$<span class="code-number">3</span>); </code></td></tr><tr><td id="L23537" class="css-a4x74f"><span>23537</span></td><td id="LC23537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23538" class="css-a4x74f"><span>23538</span></td><td id="LC23538" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23539" class="css-a4x74f"><span>23539</span></td><td id="LC23539" class="css-1dcdqdg"><code> type: <span class="code-string">'Dimension'</span>, </code></td></tr><tr><td id="L23540" class="css-a4x74f"><span>23540</span></td><td id="LC23540" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23541" class="css-a4x74f"><span>23541</span></td><td id="LC23541" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.source.substring(start, numberEnd), </code></td></tr><tr><td id="L23542" class="css-a4x74f"><span>23542</span></td><td id="LC23542" class="css-1dcdqdg"><code> unit: <span class="code-keyword">this</span>.scanner.source.substring(numberEnd, <span class="code-keyword">this</span>.scanner.tokenStart) </code></td></tr><tr><td id="L23543" class="css-a4x74f"><span>23543</span></td><td id="LC23543" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23544" class="css-a4x74f"><span>23544</span></td><td id="LC23544" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23545" class="css-a4x74f"><span>23545</span></td><td id="LC23545" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23546" class="css-a4x74f"><span>23546</span></td><td id="LC23546" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L23547" class="css-a4x74f"><span>23547</span></td><td id="LC23547" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.unit); </code></td></tr><tr><td id="L23548" class="css-a4x74f"><span>23548</span></td><td id="LC23548" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23549" class="css-a4x74f"><span>23549</span></td><td id="LC23549" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23550" class="css-a4x74f"><span>23550</span></td><td id="LC23550" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23551" class="css-a4x74f"><span>23551</span></td><td id="LC23551" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$m = tokenizer.TYPE; </code></td></tr><tr><td id="L23552" class="css-a4x74f"><span>23552</span></td><td id="LC23552" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23553" class="css-a4x74f"><span>23553</span></td><td id="LC23553" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">2</span> = TYPE$m.RightParenthesis; </code></td></tr><tr><td id="L23554" class="css-a4x74f"><span>23554</span></td><td id="LC23554" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23555" class="css-a4x74f"><span>23555</span></td><td id="LC23555" class="css-1dcdqdg"><code> <span class="code-comment">// <function-token> <sequence> )</span> </code></td></tr><tr><td id="L23556" class="css-a4x74f"><span>23556</span></td><td id="LC23556" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _Function = { </code></td></tr><tr><td id="L23557" class="css-a4x74f"><span>23557</span></td><td id="LC23557" class="css-1dcdqdg"><code> name: <span class="code-string">'Function'</span>, </code></td></tr><tr><td id="L23558" class="css-a4x74f"><span>23558</span></td><td id="LC23558" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23559" class="css-a4x74f"><span>23559</span></td><td id="LC23559" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L23560" class="css-a4x74f"><span>23560</span></td><td id="LC23560" class="css-1dcdqdg"><code> children: [[]] </code></td></tr><tr><td id="L23561" class="css-a4x74f"><span>23561</span></td><td id="LC23561" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23562" class="css-a4x74f"><span>23562</span></td><td id="LC23562" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">readSequence, recognizer</span>) </span>{ </code></td></tr><tr><td id="L23563" class="css-a4x74f"><span>23563</span></td><td id="LC23563" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23564" class="css-a4x74f"><span>23564</span></td><td id="LC23564" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name = <span class="code-keyword">this</span>.consumeFunctionName(); </code></td></tr><tr><td id="L23565" class="css-a4x74f"><span>23565</span></td><td id="LC23565" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nameLowerCase = name.toLowerCase(); </code></td></tr><tr><td id="L23566" class="css-a4x74f"><span>23566</span></td><td id="LC23566" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children; </code></td></tr><tr><td id="L23567" class="css-a4x74f"><span>23567</span></td><td id="LC23567" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23568" class="css-a4x74f"><span>23568</span></td><td id="LC23568" class="css-1dcdqdg"><code> children = recognizer.hasOwnProperty(nameLowerCase) </code></td></tr><tr><td id="L23569" class="css-a4x74f"><span>23569</span></td><td id="LC23569" class="css-1dcdqdg"><code> ? recognizer[nameLowerCase].call(<span class="code-keyword">this</span>, recognizer) </code></td></tr><tr><td id="L23570" class="css-a4x74f"><span>23570</span></td><td id="LC23570" class="css-1dcdqdg"><code> : readSequence.call(<span class="code-keyword">this</span>, recognizer); </code></td></tr><tr><td id="L23571" class="css-a4x74f"><span>23571</span></td><td id="LC23571" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23572" class="css-a4x74f"><span>23572</span></td><td id="LC23572" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23573" class="css-a4x74f"><span>23573</span></td><td id="LC23573" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23574" class="css-a4x74f"><span>23574</span></td><td id="LC23574" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23575" class="css-a4x74f"><span>23575</span></td><td id="LC23575" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23576" class="css-a4x74f"><span>23576</span></td><td id="LC23576" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23577" class="css-a4x74f"><span>23577</span></td><td id="LC23577" class="css-1dcdqdg"><code> type: <span class="code-string">'Function'</span>, </code></td></tr><tr><td id="L23578" class="css-a4x74f"><span>23578</span></td><td id="LC23578" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23579" class="css-a4x74f"><span>23579</span></td><td id="LC23579" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L23580" class="css-a4x74f"><span>23580</span></td><td id="LC23580" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23581" class="css-a4x74f"><span>23581</span></td><td id="LC23581" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23582" class="css-a4x74f"><span>23582</span></td><td id="LC23582" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23583" class="css-a4x74f"><span>23583</span></td><td id="LC23583" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23584" class="css-a4x74f"><span>23584</span></td><td id="LC23584" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23585" class="css-a4x74f"><span>23585</span></td><td id="LC23585" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L23586" class="css-a4x74f"><span>23586</span></td><td id="LC23586" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L23587" class="css-a4x74f"><span>23587</span></td><td id="LC23587" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L23588" class="css-a4x74f"><span>23588</span></td><td id="LC23588" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23589" class="css-a4x74f"><span>23589</span></td><td id="LC23589" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'function'</span> </code></td></tr><tr><td id="L23590" class="css-a4x74f"><span>23590</span></td><td id="LC23590" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23591" class="css-a4x74f"><span>23591</span></td><td id="LC23591" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23592" class="css-a4x74f"><span>23592</span></td><td id="LC23592" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$n = tokenizer.TYPE; </code></td></tr><tr><td id="L23593" class="css-a4x74f"><span>23593</span></td><td id="LC23593" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23594" class="css-a4x74f"><span>23594</span></td><td id="LC23594" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH$<span class="code-number">2</span> = TYPE$n.Hash; </code></td></tr><tr><td id="L23595" class="css-a4x74f"><span>23595</span></td><td id="LC23595" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23596" class="css-a4x74f"><span>23596</span></td><td id="LC23596" class="css-1dcdqdg"><code> <span class="code-comment">// '#' ident</span> </code></td></tr><tr><td id="L23597" class="css-a4x74f"><span>23597</span></td><td id="LC23597" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HexColor = { </code></td></tr><tr><td id="L23598" class="css-a4x74f"><span>23598</span></td><td id="LC23598" class="css-1dcdqdg"><code> name: <span class="code-string">'HexColor'</span>, </code></td></tr><tr><td id="L23599" class="css-a4x74f"><span>23599</span></td><td id="LC23599" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23600" class="css-a4x74f"><span>23600</span></td><td id="LC23600" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23601" class="css-a4x74f"><span>23601</span></td><td id="LC23601" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23602" class="css-a4x74f"><span>23602</span></td><td id="LC23602" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23603" class="css-a4x74f"><span>23603</span></td><td id="LC23603" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23604" class="css-a4x74f"><span>23604</span></td><td id="LC23604" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23605" class="css-a4x74f"><span>23605</span></td><td id="LC23605" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(HASH$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23606" class="css-a4x74f"><span>23606</span></td><td id="LC23606" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23607" class="css-a4x74f"><span>23607</span></td><td id="LC23607" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23608" class="css-a4x74f"><span>23608</span></td><td id="LC23608" class="css-1dcdqdg"><code> type: <span class="code-string">'HexColor'</span>, </code></td></tr><tr><td id="L23609" class="css-a4x74f"><span>23609</span></td><td id="LC23609" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23610" class="css-a4x74f"><span>23610</span></td><td id="LC23610" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.substrToCursor(start + <span class="code-number">1</span>) </code></td></tr><tr><td id="L23611" class="css-a4x74f"><span>23611</span></td><td id="LC23611" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23612" class="css-a4x74f"><span>23612</span></td><td id="LC23612" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23613" class="css-a4x74f"><span>23613</span></td><td id="LC23613" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23614" class="css-a4x74f"><span>23614</span></td><td id="LC23614" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'#'</span>); </code></td></tr><tr><td id="L23615" class="css-a4x74f"><span>23615</span></td><td id="LC23615" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L23616" class="css-a4x74f"><span>23616</span></td><td id="LC23616" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23617" class="css-a4x74f"><span>23617</span></td><td id="LC23617" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23618" class="css-a4x74f"><span>23618</span></td><td id="LC23618" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23619" class="css-a4x74f"><span>23619</span></td><td id="LC23619" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$o = tokenizer.TYPE; </code></td></tr><tr><td id="L23620" class="css-a4x74f"><span>23620</span></td><td id="LC23620" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23621" class="css-a4x74f"><span>23621</span></td><td id="LC23621" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">8</span> = TYPE$o.Ident; </code></td></tr><tr><td id="L23622" class="css-a4x74f"><span>23622</span></td><td id="LC23622" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23623" class="css-a4x74f"><span>23623</span></td><td id="LC23623" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Identifier = { </code></td></tr><tr><td id="L23624" class="css-a4x74f"><span>23624</span></td><td id="LC23624" class="css-1dcdqdg"><code> name: <span class="code-string">'Identifier'</span>, </code></td></tr><tr><td id="L23625" class="css-a4x74f"><span>23625</span></td><td id="LC23625" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23626" class="css-a4x74f"><span>23626</span></td><td id="LC23626" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23627" class="css-a4x74f"><span>23627</span></td><td id="LC23627" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23628" class="css-a4x74f"><span>23628</span></td><td id="LC23628" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23629" class="css-a4x74f"><span>23629</span></td><td id="LC23629" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23630" class="css-a4x74f"><span>23630</span></td><td id="LC23630" class="css-1dcdqdg"><code> type: <span class="code-string">'Identifier'</span>, </code></td></tr><tr><td id="L23631" class="css-a4x74f"><span>23631</span></td><td id="LC23631" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(<span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd), </code></td></tr><tr><td id="L23632" class="css-a4x74f"><span>23632</span></td><td id="LC23632" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.consume(IDENT$<span class="code-number">8</span>) </code></td></tr><tr><td id="L23633" class="css-a4x74f"><span>23633</span></td><td id="LC23633" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23634" class="css-a4x74f"><span>23634</span></td><td id="LC23634" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23635" class="css-a4x74f"><span>23635</span></td><td id="LC23635" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23636" class="css-a4x74f"><span>23636</span></td><td id="LC23636" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23637" class="css-a4x74f"><span>23637</span></td><td id="LC23637" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23638" class="css-a4x74f"><span>23638</span></td><td id="LC23638" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23639" class="css-a4x74f"><span>23639</span></td><td id="LC23639" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23640" class="css-a4x74f"><span>23640</span></td><td id="LC23640" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$p = tokenizer.TYPE; </code></td></tr><tr><td id="L23641" class="css-a4x74f"><span>23641</span></td><td id="LC23641" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23642" class="css-a4x74f"><span>23642</span></td><td id="LC23642" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH$<span class="code-number">3</span> = TYPE$p.Hash; </code></td></tr><tr><td id="L23643" class="css-a4x74f"><span>23643</span></td><td id="LC23643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23644" class="css-a4x74f"><span>23644</span></td><td id="LC23644" class="css-1dcdqdg"><code> <span class="code-comment">// <hash-token></span> </code></td></tr><tr><td id="L23645" class="css-a4x74f"><span>23645</span></td><td id="LC23645" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IdSelector = { </code></td></tr><tr><td id="L23646" class="css-a4x74f"><span>23646</span></td><td id="LC23646" class="css-1dcdqdg"><code> name: <span class="code-string">'IdSelector'</span>, </code></td></tr><tr><td id="L23647" class="css-a4x74f"><span>23647</span></td><td id="LC23647" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23648" class="css-a4x74f"><span>23648</span></td><td id="LC23648" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23649" class="css-a4x74f"><span>23649</span></td><td id="LC23649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23650" class="css-a4x74f"><span>23650</span></td><td id="LC23650" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23651" class="css-a4x74f"><span>23651</span></td><td id="LC23651" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23652" class="css-a4x74f"><span>23652</span></td><td id="LC23652" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23653" class="css-a4x74f"><span>23653</span></td><td id="LC23653" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> check value is an ident</span> </code></td></tr><tr><td id="L23654" class="css-a4x74f"><span>23654</span></td><td id="LC23654" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(HASH$<span class="code-number">3</span>); </code></td></tr><tr><td id="L23655" class="css-a4x74f"><span>23655</span></td><td id="LC23655" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23656" class="css-a4x74f"><span>23656</span></td><td id="LC23656" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23657" class="css-a4x74f"><span>23657</span></td><td id="LC23657" class="css-1dcdqdg"><code> type: <span class="code-string">'IdSelector'</span>, </code></td></tr><tr><td id="L23658" class="css-a4x74f"><span>23658</span></td><td id="LC23658" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23659" class="css-a4x74f"><span>23659</span></td><td id="LC23659" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.scanner.substrToCursor(start + <span class="code-number">1</span>) </code></td></tr><tr><td id="L23660" class="css-a4x74f"><span>23660</span></td><td id="LC23660" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23661" class="css-a4x74f"><span>23661</span></td><td id="LC23661" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23662" class="css-a4x74f"><span>23662</span></td><td id="LC23662" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23663" class="css-a4x74f"><span>23663</span></td><td id="LC23663" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'#'</span>); </code></td></tr><tr><td id="L23664" class="css-a4x74f"><span>23664</span></td><td id="LC23664" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23665" class="css-a4x74f"><span>23665</span></td><td id="LC23665" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23666" class="css-a4x74f"><span>23666</span></td><td id="LC23666" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23667" class="css-a4x74f"><span>23667</span></td><td id="LC23667" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23668" class="css-a4x74f"><span>23668</span></td><td id="LC23668" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$q = tokenizer.TYPE; </code></td></tr><tr><td id="L23669" class="css-a4x74f"><span>23669</span></td><td id="LC23669" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23670" class="css-a4x74f"><span>23670</span></td><td id="LC23670" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$<span class="code-number">9</span> = TYPE$q.Ident; </code></td></tr><tr><td id="L23671" class="css-a4x74f"><span>23671</span></td><td id="LC23671" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">4</span> = TYPE$q.Number; </code></td></tr><tr><td id="L23672" class="css-a4x74f"><span>23672</span></td><td id="LC23672" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">4</span> = TYPE$q.Dimension; </code></td></tr><tr><td id="L23673" class="css-a4x74f"><span>23673</span></td><td id="LC23673" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">2</span> = TYPE$q.LeftParenthesis; </code></td></tr><tr><td id="L23674" class="css-a4x74f"><span>23674</span></td><td id="LC23674" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">3</span> = TYPE$q.RightParenthesis; </code></td></tr><tr><td id="L23675" class="css-a4x74f"><span>23675</span></td><td id="LC23675" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">2</span> = TYPE$q.Colon; </code></td></tr><tr><td id="L23676" class="css-a4x74f"><span>23676</span></td><td id="LC23676" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">3</span> = TYPE$q.Delim; </code></td></tr><tr><td id="L23677" class="css-a4x74f"><span>23677</span></td><td id="LC23677" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23678" class="css-a4x74f"><span>23678</span></td><td id="LC23678" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MediaFeature = { </code></td></tr><tr><td id="L23679" class="css-a4x74f"><span>23679</span></td><td id="LC23679" class="css-1dcdqdg"><code> name: <span class="code-string">'MediaFeature'</span>, </code></td></tr><tr><td id="L23680" class="css-a4x74f"><span>23680</span></td><td id="LC23680" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23681" class="css-a4x74f"><span>23681</span></td><td id="LC23681" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L23682" class="css-a4x74f"><span>23682</span></td><td id="LC23682" class="css-1dcdqdg"><code> value: [<span class="code-string">'Identifier'</span>, <span class="code-string">'Number'</span>, <span class="code-string">'Dimension'</span>, <span class="code-string">'Ratio'</span>, <span class="code-literal">null</span>] </code></td></tr><tr><td id="L23683" class="css-a4x74f"><span>23683</span></td><td id="LC23683" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23684" class="css-a4x74f"><span>23684</span></td><td id="LC23684" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23685" class="css-a4x74f"><span>23685</span></td><td id="LC23685" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23686" class="css-a4x74f"><span>23686</span></td><td id="LC23686" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L23687" class="css-a4x74f"><span>23687</span></td><td id="LC23687" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23688" class="css-a4x74f"><span>23688</span></td><td id="LC23688" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23689" class="css-a4x74f"><span>23689</span></td><td id="LC23689" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(LEFTPARENTHESIS$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23690" class="css-a4x74f"><span>23690</span></td><td id="LC23690" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23691" class="css-a4x74f"><span>23691</span></td><td id="LC23691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23692" class="css-a4x74f"><span>23692</span></td><td id="LC23692" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.consume(IDENT$<span class="code-number">9</span>); </code></td></tr><tr><td id="L23693" class="css-a4x74f"><span>23693</span></td><td id="LC23693" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23694" class="css-a4x74f"><span>23694</span></td><td id="LC23694" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23695" class="css-a4x74f"><span>23695</span></td><td id="LC23695" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== RIGHTPARENTHESIS$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L23696" class="css-a4x74f"><span>23696</span></td><td id="LC23696" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COLON$<span class="code-number">2</span>); </code></td></tr><tr><td id="L23697" class="css-a4x74f"><span>23697</span></td><td id="LC23697" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23698" class="css-a4x74f"><span>23698</span></td><td id="LC23698" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23699" class="css-a4x74f"><span>23699</span></td><td id="LC23699" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L23700" class="css-a4x74f"><span>23700</span></td><td id="LC23700" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBER$<span class="code-number">4</span>: </code></td></tr><tr><td id="L23701" class="css-a4x74f"><span>23701</span></td><td id="LC23701" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.lookupNonWSType(<span class="code-number">1</span>) === DELIM$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L23702" class="css-a4x74f"><span>23702</span></td><td id="LC23702" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.Ratio(); </code></td></tr><tr><td id="L23703" class="css-a4x74f"><span>23703</span></td><td id="LC23703" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L23704" class="css-a4x74f"><span>23704</span></td><td id="LC23704" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.Number(); </code></td></tr><tr><td id="L23705" class="css-a4x74f"><span>23705</span></td><td id="LC23705" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23706" class="css-a4x74f"><span>23706</span></td><td id="LC23706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23707" class="css-a4x74f"><span>23707</span></td><td id="LC23707" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23708" class="css-a4x74f"><span>23708</span></td><td id="LC23708" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23709" class="css-a4x74f"><span>23709</span></td><td id="LC23709" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DIMENSION$<span class="code-number">4</span>: </code></td></tr><tr><td id="L23710" class="css-a4x74f"><span>23710</span></td><td id="LC23710" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.Dimension(); </code></td></tr><tr><td id="L23711" class="css-a4x74f"><span>23711</span></td><td id="LC23711" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23712" class="css-a4x74f"><span>23712</span></td><td id="LC23712" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23713" class="css-a4x74f"><span>23713</span></td><td id="LC23713" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$<span class="code-number">9</span>: </code></td></tr><tr><td id="L23714" class="css-a4x74f"><span>23714</span></td><td id="LC23714" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L23715" class="css-a4x74f"><span>23715</span></td><td id="LC23715" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23716" class="css-a4x74f"><span>23716</span></td><td id="LC23716" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23717" class="css-a4x74f"><span>23717</span></td><td id="LC23717" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23718" class="css-a4x74f"><span>23718</span></td><td id="LC23718" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L23719" class="css-a4x74f"><span>23719</span></td><td id="LC23719" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Number, dimension, ratio or identifier is expected'</span>); </code></td></tr><tr><td id="L23720" class="css-a4x74f"><span>23720</span></td><td id="LC23720" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23721" class="css-a4x74f"><span>23721</span></td><td id="LC23721" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23722" class="css-a4x74f"><span>23722</span></td><td id="LC23722" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23723" class="css-a4x74f"><span>23723</span></td><td id="LC23723" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23724" class="css-a4x74f"><span>23724</span></td><td id="LC23724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23725" class="css-a4x74f"><span>23725</span></td><td id="LC23725" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">3</span>); </code></td></tr><tr><td id="L23726" class="css-a4x74f"><span>23726</span></td><td id="LC23726" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23727" class="css-a4x74f"><span>23727</span></td><td id="LC23727" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23728" class="css-a4x74f"><span>23728</span></td><td id="LC23728" class="css-1dcdqdg"><code> type: <span class="code-string">'MediaFeature'</span>, </code></td></tr><tr><td id="L23729" class="css-a4x74f"><span>23729</span></td><td id="LC23729" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23730" class="css-a4x74f"><span>23730</span></td><td id="LC23730" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L23731" class="css-a4x74f"><span>23731</span></td><td id="LC23731" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L23732" class="css-a4x74f"><span>23732</span></td><td id="LC23732" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23733" class="css-a4x74f"><span>23733</span></td><td id="LC23733" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23734" class="css-a4x74f"><span>23734</span></td><td id="LC23734" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23735" class="css-a4x74f"><span>23735</span></td><td id="LC23735" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L23736" class="css-a4x74f"><span>23736</span></td><td id="LC23736" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L23737" class="css-a4x74f"><span>23737</span></td><td id="LC23737" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23738" class="css-a4x74f"><span>23738</span></td><td id="LC23738" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">':'</span>); </code></td></tr><tr><td id="L23739" class="css-a4x74f"><span>23739</span></td><td id="LC23739" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.value); </code></td></tr><tr><td id="L23740" class="css-a4x74f"><span>23740</span></td><td id="LC23740" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23741" class="css-a4x74f"><span>23741</span></td><td id="LC23741" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L23742" class="css-a4x74f"><span>23742</span></td><td id="LC23742" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23743" class="css-a4x74f"><span>23743</span></td><td id="LC23743" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23744" class="css-a4x74f"><span>23744</span></td><td id="LC23744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23745" class="css-a4x74f"><span>23745</span></td><td id="LC23745" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$r = tokenizer.TYPE; </code></td></tr><tr><td id="L23746" class="css-a4x74f"><span>23746</span></td><td id="LC23746" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23747" class="css-a4x74f"><span>23747</span></td><td id="LC23747" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">7</span> = TYPE$r.WhiteSpace; </code></td></tr><tr><td id="L23748" class="css-a4x74f"><span>23748</span></td><td id="LC23748" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">7</span> = TYPE$r.Comment; </code></td></tr><tr><td id="L23749" class="css-a4x74f"><span>23749</span></td><td id="LC23749" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$a = TYPE$r.Ident; </code></td></tr><tr><td id="L23750" class="css-a4x74f"><span>23750</span></td><td id="LC23750" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">3</span> = TYPE$r.LeftParenthesis; </code></td></tr><tr><td id="L23751" class="css-a4x74f"><span>23751</span></td><td id="LC23751" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23752" class="css-a4x74f"><span>23752</span></td><td id="LC23752" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MediaQuery = { </code></td></tr><tr><td id="L23753" class="css-a4x74f"><span>23753</span></td><td id="LC23753" class="css-1dcdqdg"><code> name: <span class="code-string">'MediaQuery'</span>, </code></td></tr><tr><td id="L23754" class="css-a4x74f"><span>23754</span></td><td id="LC23754" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23755" class="css-a4x74f"><span>23755</span></td><td id="LC23755" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L23756" class="css-a4x74f"><span>23756</span></td><td id="LC23756" class="css-1dcdqdg"><code> <span class="code-string">'Identifier'</span>, </code></td></tr><tr><td id="L23757" class="css-a4x74f"><span>23757</span></td><td id="LC23757" class="css-1dcdqdg"><code> <span class="code-string">'MediaFeature'</span>, </code></td></tr><tr><td id="L23758" class="css-a4x74f"><span>23758</span></td><td id="LC23758" class="css-1dcdqdg"><code> <span class="code-string">'WhiteSpace'</span> </code></td></tr><tr><td id="L23759" class="css-a4x74f"><span>23759</span></td><td id="LC23759" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L23760" class="css-a4x74f"><span>23760</span></td><td id="LC23760" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23761" class="css-a4x74f"><span>23761</span></td><td id="LC23761" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23762" class="css-a4x74f"><span>23762</span></td><td id="LC23762" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23763" class="css-a4x74f"><span>23763</span></td><td id="LC23763" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23764" class="css-a4x74f"><span>23764</span></td><td id="LC23764" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L23765" class="css-a4x74f"><span>23765</span></td><td id="LC23765" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> child = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23766" class="css-a4x74f"><span>23766</span></td><td id="LC23766" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23767" class="css-a4x74f"><span>23767</span></td><td id="LC23767" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23768" class="css-a4x74f"><span>23768</span></td><td id="LC23768" class="css-1dcdqdg"><code> scan: </code></td></tr><tr><td id="L23769" class="css-a4x74f"><span>23769</span></td><td id="LC23769" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23770" class="css-a4x74f"><span>23770</span></td><td id="LC23770" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L23771" class="css-a4x74f"><span>23771</span></td><td id="LC23771" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">7</span>: </code></td></tr><tr><td id="L23772" class="css-a4x74f"><span>23772</span></td><td id="LC23772" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23773" class="css-a4x74f"><span>23773</span></td><td id="LC23773" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L23774" class="css-a4x74f"><span>23774</span></td><td id="LC23774" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23775" class="css-a4x74f"><span>23775</span></td><td id="LC23775" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$<span class="code-number">7</span>: </code></td></tr><tr><td id="L23776" class="css-a4x74f"><span>23776</span></td><td id="LC23776" class="css-1dcdqdg"><code> space = <span class="code-keyword">this</span>.WhiteSpace(); </code></td></tr><tr><td id="L23777" class="css-a4x74f"><span>23777</span></td><td id="LC23777" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L23778" class="css-a4x74f"><span>23778</span></td><td id="LC23778" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23779" class="css-a4x74f"><span>23779</span></td><td id="LC23779" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$a: </code></td></tr><tr><td id="L23780" class="css-a4x74f"><span>23780</span></td><td id="LC23780" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L23781" class="css-a4x74f"><span>23781</span></td><td id="LC23781" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23782" class="css-a4x74f"><span>23782</span></td><td id="LC23782" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23783" class="css-a4x74f"><span>23783</span></td><td id="LC23783" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTPARENTHESIS$<span class="code-number">3</span>: </code></td></tr><tr><td id="L23784" class="css-a4x74f"><span>23784</span></td><td id="LC23784" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.MediaFeature(); </code></td></tr><tr><td id="L23785" class="css-a4x74f"><span>23785</span></td><td id="LC23785" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23786" class="css-a4x74f"><span>23786</span></td><td id="LC23786" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23787" class="css-a4x74f"><span>23787</span></td><td id="LC23787" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L23788" class="css-a4x74f"><span>23788</span></td><td id="LC23788" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L23789" class="css-a4x74f"><span>23789</span></td><td id="LC23789" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23790" class="css-a4x74f"><span>23790</span></td><td id="LC23790" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23791" class="css-a4x74f"><span>23791</span></td><td id="LC23791" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (space !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23792" class="css-a4x74f"><span>23792</span></td><td id="LC23792" class="css-1dcdqdg"><code> children.push(space); </code></td></tr><tr><td id="L23793" class="css-a4x74f"><span>23793</span></td><td id="LC23793" class="css-1dcdqdg"><code> space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23794" class="css-a4x74f"><span>23794</span></td><td id="LC23794" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23795" class="css-a4x74f"><span>23795</span></td><td id="LC23795" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23796" class="css-a4x74f"><span>23796</span></td><td id="LC23796" class="css-1dcdqdg"><code> children.push(child); </code></td></tr><tr><td id="L23797" class="css-a4x74f"><span>23797</span></td><td id="LC23797" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23798" class="css-a4x74f"><span>23798</span></td><td id="LC23798" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23799" class="css-a4x74f"><span>23799</span></td><td id="LC23799" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23800" class="css-a4x74f"><span>23800</span></td><td id="LC23800" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Identifier or parenthesis is expected'</span>); </code></td></tr><tr><td id="L23801" class="css-a4x74f"><span>23801</span></td><td id="LC23801" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23802" class="css-a4x74f"><span>23802</span></td><td id="LC23802" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23803" class="css-a4x74f"><span>23803</span></td><td id="LC23803" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23804" class="css-a4x74f"><span>23804</span></td><td id="LC23804" class="css-1dcdqdg"><code> type: <span class="code-string">'MediaQuery'</span>, </code></td></tr><tr><td id="L23805" class="css-a4x74f"><span>23805</span></td><td id="LC23805" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L23806" class="css-a4x74f"><span>23806</span></td><td id="LC23806" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23807" class="css-a4x74f"><span>23807</span></td><td id="LC23807" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23808" class="css-a4x74f"><span>23808</span></td><td id="LC23808" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23809" class="css-a4x74f"><span>23809</span></td><td id="LC23809" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23810" class="css-a4x74f"><span>23810</span></td><td id="LC23810" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L23811" class="css-a4x74f"><span>23811</span></td><td id="LC23811" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23812" class="css-a4x74f"><span>23812</span></td><td id="LC23812" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23813" class="css-a4x74f"><span>23813</span></td><td id="LC23813" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23814" class="css-a4x74f"><span>23814</span></td><td id="LC23814" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMA$<span class="code-number">1</span> = tokenizer.TYPE.Comma; </code></td></tr><tr><td id="L23815" class="css-a4x74f"><span>23815</span></td><td id="LC23815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23816" class="css-a4x74f"><span>23816</span></td><td id="LC23816" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> MediaQueryList = { </code></td></tr><tr><td id="L23817" class="css-a4x74f"><span>23817</span></td><td id="LC23817" class="css-1dcdqdg"><code> name: <span class="code-string">'MediaQueryList'</span>, </code></td></tr><tr><td id="L23818" class="css-a4x74f"><span>23818</span></td><td id="LC23818" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23819" class="css-a4x74f"><span>23819</span></td><td id="LC23819" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L23820" class="css-a4x74f"><span>23820</span></td><td id="LC23820" class="css-1dcdqdg"><code> <span class="code-string">'MediaQuery'</span> </code></td></tr><tr><td id="L23821" class="css-a4x74f"><span>23821</span></td><td id="LC23821" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L23822" class="css-a4x74f"><span>23822</span></td><td id="LC23822" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23823" class="css-a4x74f"><span>23823</span></td><td id="LC23823" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">relative</span>) </span>{ </code></td></tr><tr><td id="L23824" class="css-a4x74f"><span>23824</span></td><td id="LC23824" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L23825" class="css-a4x74f"><span>23825</span></td><td id="LC23825" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23826" class="css-a4x74f"><span>23826</span></td><td id="LC23826" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23827" class="css-a4x74f"><span>23827</span></td><td id="LC23827" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23828" class="css-a4x74f"><span>23828</span></td><td id="LC23828" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23829" class="css-a4x74f"><span>23829</span></td><td id="LC23829" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.MediaQuery(relative)); </code></td></tr><tr><td id="L23830" class="css-a4x74f"><span>23830</span></td><td id="LC23830" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23831" class="css-a4x74f"><span>23831</span></td><td id="LC23831" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== COMMA$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L23832" class="css-a4x74f"><span>23832</span></td><td id="LC23832" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L23833" class="css-a4x74f"><span>23833</span></td><td id="LC23833" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23834" class="css-a4x74f"><span>23834</span></td><td id="LC23834" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23835" class="css-a4x74f"><span>23835</span></td><td id="LC23835" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23836" class="css-a4x74f"><span>23836</span></td><td id="LC23836" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23837" class="css-a4x74f"><span>23837</span></td><td id="LC23837" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23838" class="css-a4x74f"><span>23838</span></td><td id="LC23838" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23839" class="css-a4x74f"><span>23839</span></td><td id="LC23839" class="css-1dcdqdg"><code> type: <span class="code-string">'MediaQueryList'</span>, </code></td></tr><tr><td id="L23840" class="css-a4x74f"><span>23840</span></td><td id="LC23840" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L23841" class="css-a4x74f"><span>23841</span></td><td id="LC23841" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23842" class="css-a4x74f"><span>23842</span></td><td id="LC23842" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23843" class="css-a4x74f"><span>23843</span></td><td id="LC23843" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23844" class="css-a4x74f"><span>23844</span></td><td id="LC23844" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23845" class="css-a4x74f"><span>23845</span></td><td id="LC23845" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23846" class="css-a4x74f"><span>23846</span></td><td id="LC23846" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">','</span>); </code></td></tr><tr><td id="L23847" class="css-a4x74f"><span>23847</span></td><td id="LC23847" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L23848" class="css-a4x74f"><span>23848</span></td><td id="LC23848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23849" class="css-a4x74f"><span>23849</span></td><td id="LC23849" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23850" class="css-a4x74f"><span>23850</span></td><td id="LC23850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23851" class="css-a4x74f"><span>23851</span></td><td id="LC23851" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Nth = { </code></td></tr><tr><td id="L23852" class="css-a4x74f"><span>23852</span></td><td id="LC23852" class="css-1dcdqdg"><code> name: <span class="code-string">'Nth'</span>, </code></td></tr><tr><td id="L23853" class="css-a4x74f"><span>23853</span></td><td id="LC23853" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23854" class="css-a4x74f"><span>23854</span></td><td id="LC23854" class="css-1dcdqdg"><code> nth: [<span class="code-string">'AnPlusB'</span>, <span class="code-string">'Identifier'</span>], </code></td></tr><tr><td id="L23855" class="css-a4x74f"><span>23855</span></td><td id="LC23855" class="css-1dcdqdg"><code> selector: [<span class="code-string">'SelectorList'</span>, <span class="code-literal">null</span>] </code></td></tr><tr><td id="L23856" class="css-a4x74f"><span>23856</span></td><td id="LC23856" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23857" class="css-a4x74f"><span>23857</span></td><td id="LC23857" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">allowOfClause</span>) </span>{ </code></td></tr><tr><td id="L23858" class="css-a4x74f"><span>23858</span></td><td id="LC23858" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23859" class="css-a4x74f"><span>23859</span></td><td id="LC23859" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23860" class="css-a4x74f"><span>23860</span></td><td id="LC23860" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23861" class="css-a4x74f"><span>23861</span></td><td id="LC23861" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> end = start; </code></td></tr><tr><td id="L23862" class="css-a4x74f"><span>23862</span></td><td id="LC23862" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> selector = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23863" class="css-a4x74f"><span>23863</span></td><td id="LC23863" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> query; </code></td></tr><tr><td id="L23864" class="css-a4x74f"><span>23864</span></td><td id="LC23864" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23865" class="css-a4x74f"><span>23865</span></td><td id="LC23865" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.lookupValue(<span class="code-number">0</span>, <span class="code-string">'odd'</span>) || <span class="code-keyword">this</span>.scanner.lookupValue(<span class="code-number">0</span>, <span class="code-string">'even'</span>)) { </code></td></tr><tr><td id="L23866" class="css-a4x74f"><span>23866</span></td><td id="LC23866" class="css-1dcdqdg"><code> query = <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L23867" class="css-a4x74f"><span>23867</span></td><td id="LC23867" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L23868" class="css-a4x74f"><span>23868</span></td><td id="LC23868" class="css-1dcdqdg"><code> query = <span class="code-keyword">this</span>.AnPlusB(); </code></td></tr><tr><td id="L23869" class="css-a4x74f"><span>23869</span></td><td id="LC23869" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23870" class="css-a4x74f"><span>23870</span></td><td id="LC23870" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23871" class="css-a4x74f"><span>23871</span></td><td id="LC23871" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L23872" class="css-a4x74f"><span>23872</span></td><td id="LC23872" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23873" class="css-a4x74f"><span>23873</span></td><td id="LC23873" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (allowOfClause && <span class="code-keyword">this</span>.scanner.lookupValue(<span class="code-number">0</span>, <span class="code-string">'of'</span>)) { </code></td></tr><tr><td id="L23874" class="css-a4x74f"><span>23874</span></td><td id="LC23874" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23875" class="css-a4x74f"><span>23875</span></td><td id="LC23875" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23876" class="css-a4x74f"><span>23876</span></td><td id="LC23876" class="css-1dcdqdg"><code> selector = <span class="code-keyword">this</span>.SelectorList(); </code></td></tr><tr><td id="L23877" class="css-a4x74f"><span>23877</span></td><td id="LC23877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23878" class="css-a4x74f"><span>23878</span></td><td id="LC23878" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.needPositions) { </code></td></tr><tr><td id="L23879" class="css-a4x74f"><span>23879</span></td><td id="LC23879" class="css-1dcdqdg"><code> end = <span class="code-keyword">this</span>.getLastListNode(selector.children).loc.end.offset; </code></td></tr><tr><td id="L23880" class="css-a4x74f"><span>23880</span></td><td id="LC23880" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23881" class="css-a4x74f"><span>23881</span></td><td id="LC23881" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L23882" class="css-a4x74f"><span>23882</span></td><td id="LC23882" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.needPositions) { </code></td></tr><tr><td id="L23883" class="css-a4x74f"><span>23883</span></td><td id="LC23883" class="css-1dcdqdg"><code> end = query.loc.end.offset; </code></td></tr><tr><td id="L23884" class="css-a4x74f"><span>23884</span></td><td id="LC23884" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23885" class="css-a4x74f"><span>23885</span></td><td id="LC23885" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23886" class="css-a4x74f"><span>23886</span></td><td id="LC23886" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23887" class="css-a4x74f"><span>23887</span></td><td id="LC23887" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23888" class="css-a4x74f"><span>23888</span></td><td id="LC23888" class="css-1dcdqdg"><code> type: <span class="code-string">'Nth'</span>, </code></td></tr><tr><td id="L23889" class="css-a4x74f"><span>23889</span></td><td id="LC23889" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, end), </code></td></tr><tr><td id="L23890" class="css-a4x74f"><span>23890</span></td><td id="LC23890" class="css-1dcdqdg"><code> nth: query, </code></td></tr><tr><td id="L23891" class="css-a4x74f"><span>23891</span></td><td id="LC23891" class="css-1dcdqdg"><code> selector: selector </code></td></tr><tr><td id="L23892" class="css-a4x74f"><span>23892</span></td><td id="LC23892" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23893" class="css-a4x74f"><span>23893</span></td><td id="LC23893" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23894" class="css-a4x74f"><span>23894</span></td><td id="LC23894" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23895" class="css-a4x74f"><span>23895</span></td><td id="LC23895" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.nth); </code></td></tr><tr><td id="L23896" class="css-a4x74f"><span>23896</span></td><td id="LC23896" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.selector !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L23897" class="css-a4x74f"><span>23897</span></td><td id="LC23897" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">' of '</span>); </code></td></tr><tr><td id="L23898" class="css-a4x74f"><span>23898</span></td><td id="LC23898" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.selector); </code></td></tr><tr><td id="L23899" class="css-a4x74f"><span>23899</span></td><td id="LC23899" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23900" class="css-a4x74f"><span>23900</span></td><td id="LC23900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23901" class="css-a4x74f"><span>23901</span></td><td id="LC23901" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23902" class="css-a4x74f"><span>23902</span></td><td id="LC23902" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23903" class="css-a4x74f"><span>23903</span></td><td id="LC23903" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">5</span> = tokenizer.TYPE.Number; </code></td></tr><tr><td id="L23904" class="css-a4x74f"><span>23904</span></td><td id="LC23904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23905" class="css-a4x74f"><span>23905</span></td><td id="LC23905" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _Number = { </code></td></tr><tr><td id="L23906" class="css-a4x74f"><span>23906</span></td><td id="LC23906" class="css-1dcdqdg"><code> name: <span class="code-string">'Number'</span>, </code></td></tr><tr><td id="L23907" class="css-a4x74f"><span>23907</span></td><td id="LC23907" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23908" class="css-a4x74f"><span>23908</span></td><td id="LC23908" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23909" class="css-a4x74f"><span>23909</span></td><td id="LC23909" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23910" class="css-a4x74f"><span>23910</span></td><td id="LC23910" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23911" class="css-a4x74f"><span>23911</span></td><td id="LC23911" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23912" class="css-a4x74f"><span>23912</span></td><td id="LC23912" class="css-1dcdqdg"><code> type: <span class="code-string">'Number'</span>, </code></td></tr><tr><td id="L23913" class="css-a4x74f"><span>23913</span></td><td id="LC23913" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(<span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd), </code></td></tr><tr><td id="L23914" class="css-a4x74f"><span>23914</span></td><td id="LC23914" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">5</span>) </code></td></tr><tr><td id="L23915" class="css-a4x74f"><span>23915</span></td><td id="LC23915" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23916" class="css-a4x74f"><span>23916</span></td><td id="LC23916" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23917" class="css-a4x74f"><span>23917</span></td><td id="LC23917" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23918" class="css-a4x74f"><span>23918</span></td><td id="LC23918" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L23919" class="css-a4x74f"><span>23919</span></td><td id="LC23919" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23920" class="css-a4x74f"><span>23920</span></td><td id="LC23920" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23921" class="css-a4x74f"><span>23921</span></td><td id="LC23921" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23922" class="css-a4x74f"><span>23922</span></td><td id="LC23922" class="css-1dcdqdg"><code> <span class="code-comment">// '/' | '*' | ',' | ':' | '+' | '-'</span> </code></td></tr><tr><td id="L23923" class="css-a4x74f"><span>23923</span></td><td id="LC23923" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Operator = { </code></td></tr><tr><td id="L23924" class="css-a4x74f"><span>23924</span></td><td id="LC23924" class="css-1dcdqdg"><code> name: <span class="code-string">'Operator'</span>, </code></td></tr><tr><td id="L23925" class="css-a4x74f"><span>23925</span></td><td id="LC23925" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23926" class="css-a4x74f"><span>23926</span></td><td id="LC23926" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23927" class="css-a4x74f"><span>23927</span></td><td id="LC23927" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23928" class="css-a4x74f"><span>23928</span></td><td id="LC23928" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23929" class="css-a4x74f"><span>23929</span></td><td id="LC23929" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23930" class="css-a4x74f"><span>23930</span></td><td id="LC23930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23931" class="css-a4x74f"><span>23931</span></td><td id="LC23931" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L23932" class="css-a4x74f"><span>23932</span></td><td id="LC23932" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23933" class="css-a4x74f"><span>23933</span></td><td id="LC23933" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23934" class="css-a4x74f"><span>23934</span></td><td id="LC23934" class="css-1dcdqdg"><code> type: <span class="code-string">'Operator'</span>, </code></td></tr><tr><td id="L23935" class="css-a4x74f"><span>23935</span></td><td id="LC23935" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23936" class="css-a4x74f"><span>23936</span></td><td id="LC23936" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.substrToCursor(start) </code></td></tr><tr><td id="L23937" class="css-a4x74f"><span>23937</span></td><td id="LC23937" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23938" class="css-a4x74f"><span>23938</span></td><td id="LC23938" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23939" class="css-a4x74f"><span>23939</span></td><td id="LC23939" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23940" class="css-a4x74f"><span>23940</span></td><td id="LC23940" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L23941" class="css-a4x74f"><span>23941</span></td><td id="LC23941" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23942" class="css-a4x74f"><span>23942</span></td><td id="LC23942" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23943" class="css-a4x74f"><span>23943</span></td><td id="LC23943" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23944" class="css-a4x74f"><span>23944</span></td><td id="LC23944" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$s = tokenizer.TYPE; </code></td></tr><tr><td id="L23945" class="css-a4x74f"><span>23945</span></td><td id="LC23945" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23946" class="css-a4x74f"><span>23946</span></td><td id="LC23946" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">4</span> = TYPE$s.LeftParenthesis; </code></td></tr><tr><td id="L23947" class="css-a4x74f"><span>23947</span></td><td id="LC23947" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">4</span> = TYPE$s.RightParenthesis; </code></td></tr><tr><td id="L23948" class="css-a4x74f"><span>23948</span></td><td id="LC23948" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23949" class="css-a4x74f"><span>23949</span></td><td id="LC23949" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Parentheses = { </code></td></tr><tr><td id="L23950" class="css-a4x74f"><span>23950</span></td><td id="LC23950" class="css-1dcdqdg"><code> name: <span class="code-string">'Parentheses'</span>, </code></td></tr><tr><td id="L23951" class="css-a4x74f"><span>23951</span></td><td id="LC23951" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23952" class="css-a4x74f"><span>23952</span></td><td id="LC23952" class="css-1dcdqdg"><code> children: [[]] </code></td></tr><tr><td id="L23953" class="css-a4x74f"><span>23953</span></td><td id="LC23953" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23954" class="css-a4x74f"><span>23954</span></td><td id="LC23954" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">readSequence, recognizer</span>) </span>{ </code></td></tr><tr><td id="L23955" class="css-a4x74f"><span>23955</span></td><td id="LC23955" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23956" class="css-a4x74f"><span>23956</span></td><td id="LC23956" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L23957" class="css-a4x74f"><span>23957</span></td><td id="LC23957" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23958" class="css-a4x74f"><span>23958</span></td><td id="LC23958" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(LEFTPARENTHESIS$<span class="code-number">4</span>); </code></td></tr><tr><td id="L23959" class="css-a4x74f"><span>23959</span></td><td id="LC23959" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23960" class="css-a4x74f"><span>23960</span></td><td id="LC23960" class="css-1dcdqdg"><code> children = readSequence.call(<span class="code-keyword">this</span>, recognizer); </code></td></tr><tr><td id="L23961" class="css-a4x74f"><span>23961</span></td><td id="LC23961" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23962" class="css-a4x74f"><span>23962</span></td><td id="LC23962" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L23963" class="css-a4x74f"><span>23963</span></td><td id="LC23963" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">4</span>); </code></td></tr><tr><td id="L23964" class="css-a4x74f"><span>23964</span></td><td id="LC23964" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23965" class="css-a4x74f"><span>23965</span></td><td id="LC23965" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23966" class="css-a4x74f"><span>23966</span></td><td id="LC23966" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23967" class="css-a4x74f"><span>23967</span></td><td id="LC23967" class="css-1dcdqdg"><code> type: <span class="code-string">'Parentheses'</span>, </code></td></tr><tr><td id="L23968" class="css-a4x74f"><span>23968</span></td><td id="LC23968" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23969" class="css-a4x74f"><span>23969</span></td><td id="LC23969" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L23970" class="css-a4x74f"><span>23970</span></td><td id="LC23970" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23971" class="css-a4x74f"><span>23971</span></td><td id="LC23971" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23972" class="css-a4x74f"><span>23972</span></td><td id="LC23972" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L23973" class="css-a4x74f"><span>23973</span></td><td id="LC23973" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L23974" class="css-a4x74f"><span>23974</span></td><td id="LC23974" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L23975" class="css-a4x74f"><span>23975</span></td><td id="LC23975" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L23976" class="css-a4x74f"><span>23976</span></td><td id="LC23976" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L23977" class="css-a4x74f"><span>23977</span></td><td id="LC23977" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L23978" class="css-a4x74f"><span>23978</span></td><td id="LC23978" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23979" class="css-a4x74f"><span>23979</span></td><td id="LC23979" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> consumeNumber$<span class="code-number">4</span> = utils.consumeNumber; </code></td></tr><tr><td id="L23980" class="css-a4x74f"><span>23980</span></td><td id="LC23980" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$t = tokenizer.TYPE; </code></td></tr><tr><td id="L23981" class="css-a4x74f"><span>23981</span></td><td id="LC23981" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23982" class="css-a4x74f"><span>23982</span></td><td id="LC23982" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PERCENTAGE$<span class="code-number">1</span> = TYPE$t.Percentage; </code></td></tr><tr><td id="L23983" class="css-a4x74f"><span>23983</span></td><td id="LC23983" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23984" class="css-a4x74f"><span>23984</span></td><td id="LC23984" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Percentage = { </code></td></tr><tr><td id="L23985" class="css-a4x74f"><span>23985</span></td><td id="LC23985" class="css-1dcdqdg"><code> name: <span class="code-string">'Percentage'</span>, </code></td></tr><tr><td id="L23986" class="css-a4x74f"><span>23986</span></td><td id="LC23986" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L23987" class="css-a4x74f"><span>23987</span></td><td id="LC23987" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L23988" class="css-a4x74f"><span>23988</span></td><td id="LC23988" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L23989" class="css-a4x74f"><span>23989</span></td><td id="LC23989" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L23990" class="css-a4x74f"><span>23990</span></td><td id="LC23990" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L23991" class="css-a4x74f"><span>23991</span></td><td id="LC23991" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberEnd = consumeNumber$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source, start); </code></td></tr><tr><td id="L23992" class="css-a4x74f"><span>23992</span></td><td id="LC23992" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23993" class="css-a4x74f"><span>23993</span></td><td id="LC23993" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(PERCENTAGE$<span class="code-number">1</span>); </code></td></tr><tr><td id="L23994" class="css-a4x74f"><span>23994</span></td><td id="LC23994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L23995" class="css-a4x74f"><span>23995</span></td><td id="LC23995" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L23996" class="css-a4x74f"><span>23996</span></td><td id="LC23996" class="css-1dcdqdg"><code> type: <span class="code-string">'Percentage'</span>, </code></td></tr><tr><td id="L23997" class="css-a4x74f"><span>23997</span></td><td id="LC23997" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L23998" class="css-a4x74f"><span>23998</span></td><td id="LC23998" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.source.substring(start, numberEnd) </code></td></tr><tr><td id="L23999" class="css-a4x74f"><span>23999</span></td><td id="LC23999" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24000" class="css-a4x74f"><span>24000</span></td><td id="LC24000" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24001" class="css-a4x74f"><span>24001</span></td><td id="LC24001" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24002" class="css-a4x74f"><span>24002</span></td><td id="LC24002" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L24003" class="css-a4x74f"><span>24003</span></td><td id="LC24003" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'%'</span>); </code></td></tr><tr><td id="L24004" class="css-a4x74f"><span>24004</span></td><td id="LC24004" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24005" class="css-a4x74f"><span>24005</span></td><td id="LC24005" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24006" class="css-a4x74f"><span>24006</span></td><td id="LC24006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24007" class="css-a4x74f"><span>24007</span></td><td id="LC24007" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$u = tokenizer.TYPE; </code></td></tr><tr><td id="L24008" class="css-a4x74f"><span>24008</span></td><td id="LC24008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24009" class="css-a4x74f"><span>24009</span></td><td id="LC24009" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$b = TYPE$u.Ident; </code></td></tr><tr><td id="L24010" class="css-a4x74f"><span>24010</span></td><td id="LC24010" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">1</span> = TYPE$u.Function; </code></td></tr><tr><td id="L24011" class="css-a4x74f"><span>24011</span></td><td id="LC24011" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">3</span> = TYPE$u.Colon; </code></td></tr><tr><td id="L24012" class="css-a4x74f"><span>24012</span></td><td id="LC24012" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">5</span> = TYPE$u.RightParenthesis; </code></td></tr><tr><td id="L24013" class="css-a4x74f"><span>24013</span></td><td id="LC24013" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24014" class="css-a4x74f"><span>24014</span></td><td id="LC24014" class="css-1dcdqdg"><code> <span class="code-comment">// : [ <ident> | <function-token> <any-value>? ) ]</span> </code></td></tr><tr><td id="L24015" class="css-a4x74f"><span>24015</span></td><td id="LC24015" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PseudoClassSelector = { </code></td></tr><tr><td id="L24016" class="css-a4x74f"><span>24016</span></td><td id="LC24016" class="css-1dcdqdg"><code> name: <span class="code-string">'PseudoClassSelector'</span>, </code></td></tr><tr><td id="L24017" class="css-a4x74f"><span>24017</span></td><td id="LC24017" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24018" class="css-a4x74f"><span>24018</span></td><td id="LC24018" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L24019" class="css-a4x74f"><span>24019</span></td><td id="LC24019" class="css-1dcdqdg"><code> children: [[<span class="code-string">'Raw'</span>], <span class="code-literal">null</span>] </code></td></tr><tr><td id="L24020" class="css-a4x74f"><span>24020</span></td><td id="LC24020" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24021" class="css-a4x74f"><span>24021</span></td><td id="LC24021" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24022" class="css-a4x74f"><span>24022</span></td><td id="LC24022" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24023" class="css-a4x74f"><span>24023</span></td><td id="LC24023" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L24024" class="css-a4x74f"><span>24024</span></td><td id="LC24024" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L24025" class="css-a4x74f"><span>24025</span></td><td id="LC24025" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nameLowerCase; </code></td></tr><tr><td id="L24026" class="css-a4x74f"><span>24026</span></td><td id="LC24026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24027" class="css-a4x74f"><span>24027</span></td><td id="LC24027" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COLON$<span class="code-number">3</span>); </code></td></tr><tr><td id="L24028" class="css-a4x74f"><span>24028</span></td><td id="LC24028" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24029" class="css-a4x74f"><span>24029</span></td><td id="LC24029" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === FUNCTION$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L24030" class="css-a4x74f"><span>24030</span></td><td id="LC24030" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.consumeFunctionName(); </code></td></tr><tr><td id="L24031" class="css-a4x74f"><span>24031</span></td><td id="LC24031" class="css-1dcdqdg"><code> nameLowerCase = name.toLowerCase(); </code></td></tr><tr><td id="L24032" class="css-a4x74f"><span>24032</span></td><td id="LC24032" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24033" class="css-a4x74f"><span>24033</span></td><td id="LC24033" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.pseudo.hasOwnProperty(nameLowerCase)) { </code></td></tr><tr><td id="L24034" class="css-a4x74f"><span>24034</span></td><td id="LC24034" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24035" class="css-a4x74f"><span>24035</span></td><td id="LC24035" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.pseudo[nameLowerCase].call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24036" class="css-a4x74f"><span>24036</span></td><td id="LC24036" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24037" class="css-a4x74f"><span>24037</span></td><td id="LC24037" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24038" class="css-a4x74f"><span>24038</span></td><td id="LC24038" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L24039" class="css-a4x74f"><span>24039</span></td><td id="LC24039" class="css-1dcdqdg"><code> children.push( </code></td></tr><tr><td id="L24040" class="css-a4x74f"><span>24040</span></td><td id="LC24040" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Raw(<span class="code-keyword">this</span>.scanner.tokenIndex, <span class="code-literal">null</span>, <span class="code-literal">false</span>) </code></td></tr><tr><td id="L24041" class="css-a4x74f"><span>24041</span></td><td id="LC24041" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L24042" class="css-a4x74f"><span>24042</span></td><td id="LC24042" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24043" class="css-a4x74f"><span>24043</span></td><td id="LC24043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24044" class="css-a4x74f"><span>24044</span></td><td id="LC24044" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">5</span>); </code></td></tr><tr><td id="L24045" class="css-a4x74f"><span>24045</span></td><td id="LC24045" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24046" class="css-a4x74f"><span>24046</span></td><td id="LC24046" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.consume(IDENT$b); </code></td></tr><tr><td id="L24047" class="css-a4x74f"><span>24047</span></td><td id="LC24047" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24048" class="css-a4x74f"><span>24048</span></td><td id="LC24048" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24049" class="css-a4x74f"><span>24049</span></td><td id="LC24049" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24050" class="css-a4x74f"><span>24050</span></td><td id="LC24050" class="css-1dcdqdg"><code> type: <span class="code-string">'PseudoClassSelector'</span>, </code></td></tr><tr><td id="L24051" class="css-a4x74f"><span>24051</span></td><td id="LC24051" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24052" class="css-a4x74f"><span>24052</span></td><td id="LC24052" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L24053" class="css-a4x74f"><span>24053</span></td><td id="LC24053" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24054" class="css-a4x74f"><span>24054</span></td><td id="LC24054" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24055" class="css-a4x74f"><span>24055</span></td><td id="LC24055" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24056" class="css-a4x74f"><span>24056</span></td><td id="LC24056" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24057" class="css-a4x74f"><span>24057</span></td><td id="LC24057" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">':'</span>); </code></td></tr><tr><td id="L24058" class="css-a4x74f"><span>24058</span></td><td id="LC24058" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L24059" class="css-a4x74f"><span>24059</span></td><td id="LC24059" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24060" class="css-a4x74f"><span>24060</span></td><td id="LC24060" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.children !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L24061" class="css-a4x74f"><span>24061</span></td><td id="LC24061" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L24062" class="css-a4x74f"><span>24062</span></td><td id="LC24062" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L24063" class="css-a4x74f"><span>24063</span></td><td id="LC24063" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L24064" class="css-a4x74f"><span>24064</span></td><td id="LC24064" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24065" class="css-a4x74f"><span>24065</span></td><td id="LC24065" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24066" class="css-a4x74f"><span>24066</span></td><td id="LC24066" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'function'</span> </code></td></tr><tr><td id="L24067" class="css-a4x74f"><span>24067</span></td><td id="LC24067" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24068" class="css-a4x74f"><span>24068</span></td><td id="LC24068" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24069" class="css-a4x74f"><span>24069</span></td><td id="LC24069" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$v = tokenizer.TYPE; </code></td></tr><tr><td id="L24070" class="css-a4x74f"><span>24070</span></td><td id="LC24070" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24071" class="css-a4x74f"><span>24071</span></td><td id="LC24071" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$c = TYPE$v.Ident; </code></td></tr><tr><td id="L24072" class="css-a4x74f"><span>24072</span></td><td id="LC24072" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">2</span> = TYPE$v.Function; </code></td></tr><tr><td id="L24073" class="css-a4x74f"><span>24073</span></td><td id="LC24073" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">4</span> = TYPE$v.Colon; </code></td></tr><tr><td id="L24074" class="css-a4x74f"><span>24074</span></td><td id="LC24074" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">6</span> = TYPE$v.RightParenthesis; </code></td></tr><tr><td id="L24075" class="css-a4x74f"><span>24075</span></td><td id="LC24075" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24076" class="css-a4x74f"><span>24076</span></td><td id="LC24076" class="css-1dcdqdg"><code> <span class="code-comment">// :: [ <ident> | <function-token> <any-value>? ) ]</span> </code></td></tr><tr><td id="L24077" class="css-a4x74f"><span>24077</span></td><td id="LC24077" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PseudoElementSelector = { </code></td></tr><tr><td id="L24078" class="css-a4x74f"><span>24078</span></td><td id="LC24078" class="css-1dcdqdg"><code> name: <span class="code-string">'PseudoElementSelector'</span>, </code></td></tr><tr><td id="L24079" class="css-a4x74f"><span>24079</span></td><td id="LC24079" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24080" class="css-a4x74f"><span>24080</span></td><td id="LC24080" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L24081" class="css-a4x74f"><span>24081</span></td><td id="LC24081" class="css-1dcdqdg"><code> children: [[<span class="code-string">'Raw'</span>], <span class="code-literal">null</span>] </code></td></tr><tr><td id="L24082" class="css-a4x74f"><span>24082</span></td><td id="LC24082" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24083" class="css-a4x74f"><span>24083</span></td><td id="LC24083" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24084" class="css-a4x74f"><span>24084</span></td><td id="LC24084" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24085" class="css-a4x74f"><span>24085</span></td><td id="LC24085" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L24086" class="css-a4x74f"><span>24086</span></td><td id="LC24086" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> name; </code></td></tr><tr><td id="L24087" class="css-a4x74f"><span>24087</span></td><td id="LC24087" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nameLowerCase; </code></td></tr><tr><td id="L24088" class="css-a4x74f"><span>24088</span></td><td id="LC24088" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24089" class="css-a4x74f"><span>24089</span></td><td id="LC24089" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COLON$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24090" class="css-a4x74f"><span>24090</span></td><td id="LC24090" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(COLON$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24091" class="css-a4x74f"><span>24091</span></td><td id="LC24091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24092" class="css-a4x74f"><span>24092</span></td><td id="LC24092" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === FUNCTION$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L24093" class="css-a4x74f"><span>24093</span></td><td id="LC24093" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.consumeFunctionName(); </code></td></tr><tr><td id="L24094" class="css-a4x74f"><span>24094</span></td><td id="LC24094" class="css-1dcdqdg"><code> nameLowerCase = name.toLowerCase(); </code></td></tr><tr><td id="L24095" class="css-a4x74f"><span>24095</span></td><td id="LC24095" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24096" class="css-a4x74f"><span>24096</span></td><td id="LC24096" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.pseudo.hasOwnProperty(nameLowerCase)) { </code></td></tr><tr><td id="L24097" class="css-a4x74f"><span>24097</span></td><td id="LC24097" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24098" class="css-a4x74f"><span>24098</span></td><td id="LC24098" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.pseudo[nameLowerCase].call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24099" class="css-a4x74f"><span>24099</span></td><td id="LC24099" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24100" class="css-a4x74f"><span>24100</span></td><td id="LC24100" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24101" class="css-a4x74f"><span>24101</span></td><td id="LC24101" class="css-1dcdqdg"><code> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L24102" class="css-a4x74f"><span>24102</span></td><td id="LC24102" class="css-1dcdqdg"><code> children.push( </code></td></tr><tr><td id="L24103" class="css-a4x74f"><span>24103</span></td><td id="LC24103" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Raw(<span class="code-keyword">this</span>.scanner.tokenIndex, <span class="code-literal">null</span>, <span class="code-literal">false</span>) </code></td></tr><tr><td id="L24104" class="css-a4x74f"><span>24104</span></td><td id="LC24104" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L24105" class="css-a4x74f"><span>24105</span></td><td id="LC24105" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24106" class="css-a4x74f"><span>24106</span></td><td id="LC24106" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24107" class="css-a4x74f"><span>24107</span></td><td id="LC24107" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">6</span>); </code></td></tr><tr><td id="L24108" class="css-a4x74f"><span>24108</span></td><td id="LC24108" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24109" class="css-a4x74f"><span>24109</span></td><td id="LC24109" class="css-1dcdqdg"><code> name = <span class="code-keyword">this</span>.consume(IDENT$c); </code></td></tr><tr><td id="L24110" class="css-a4x74f"><span>24110</span></td><td id="LC24110" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24111" class="css-a4x74f"><span>24111</span></td><td id="LC24111" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24112" class="css-a4x74f"><span>24112</span></td><td id="LC24112" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24113" class="css-a4x74f"><span>24113</span></td><td id="LC24113" class="css-1dcdqdg"><code> type: <span class="code-string">'PseudoElementSelector'</span>, </code></td></tr><tr><td id="L24114" class="css-a4x74f"><span>24114</span></td><td id="LC24114" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24115" class="css-a4x74f"><span>24115</span></td><td id="LC24115" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L24116" class="css-a4x74f"><span>24116</span></td><td id="LC24116" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24117" class="css-a4x74f"><span>24117</span></td><td id="LC24117" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24118" class="css-a4x74f"><span>24118</span></td><td id="LC24118" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24119" class="css-a4x74f"><span>24119</span></td><td id="LC24119" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24120" class="css-a4x74f"><span>24120</span></td><td id="LC24120" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'::'</span>); </code></td></tr><tr><td id="L24121" class="css-a4x74f"><span>24121</span></td><td id="LC24121" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L24122" class="css-a4x74f"><span>24122</span></td><td id="LC24122" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24123" class="css-a4x74f"><span>24123</span></td><td id="LC24123" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.children !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L24124" class="css-a4x74f"><span>24124</span></td><td id="LC24124" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L24125" class="css-a4x74f"><span>24125</span></td><td id="LC24125" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L24126" class="css-a4x74f"><span>24126</span></td><td id="LC24126" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L24127" class="css-a4x74f"><span>24127</span></td><td id="LC24127" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24128" class="css-a4x74f"><span>24128</span></td><td id="LC24128" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24129" class="css-a4x74f"><span>24129</span></td><td id="LC24129" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'function'</span> </code></td></tr><tr><td id="L24130" class="css-a4x74f"><span>24130</span></td><td id="LC24130" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24131" class="css-a4x74f"><span>24131</span></td><td id="LC24131" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24132" class="css-a4x74f"><span>24132</span></td><td id="LC24132" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isDigit$<span class="code-number">5</span> = tokenizer.isDigit; </code></td></tr><tr><td id="L24133" class="css-a4x74f"><span>24133</span></td><td id="LC24133" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$w = tokenizer.TYPE; </code></td></tr><tr><td id="L24134" class="css-a4x74f"><span>24134</span></td><td id="LC24134" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24135" class="css-a4x74f"><span>24135</span></td><td id="LC24135" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">6</span> = TYPE$w.Number; </code></td></tr><tr><td id="L24136" class="css-a4x74f"><span>24136</span></td><td id="LC24136" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">4</span> = TYPE$w.Delim; </code></td></tr><tr><td id="L24137" class="css-a4x74f"><span>24137</span></td><td id="LC24137" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS$<span class="code-number">3</span> = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L24138" class="css-a4x74f"><span>24138</span></td><td id="LC24138" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FULLSTOP$<span class="code-number">1</span> = <span class="code-number">0x002E</span>; <span class="code-comment">// U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L24139" class="css-a4x74f"><span>24139</span></td><td id="LC24139" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24140" class="css-a4x74f"><span>24140</span></td><td id="LC24140" class="css-1dcdqdg"><code> <span class="code-comment">// Terms of <ratio> should be a positive numbers (not zero or negative)</span> </code></td></tr><tr><td id="L24141" class="css-a4x74f"><span>24141</span></td><td id="LC24141" class="css-1dcdqdg"><code> <span class="code-comment">// (see https://drafts.csswg.org/mediaqueries-3/#values)</span> </code></td></tr><tr><td id="L24142" class="css-a4x74f"><span>24142</span></td><td id="LC24142" class="css-1dcdqdg"><code> <span class="code-comment">// However, -o-min-device-pixel-ratio takes fractional values as a ratio's term</span> </code></td></tr><tr><td id="L24143" class="css-a4x74f"><span>24143</span></td><td id="LC24143" class="css-1dcdqdg"><code> <span class="code-comment">// and this is using by various sites. Therefore we relax checking on parse</span> </code></td></tr><tr><td id="L24144" class="css-a4x74f"><span>24144</span></td><td id="LC24144" class="css-1dcdqdg"><code> <span class="code-comment">// to test a term is unsigned number without an exponent part.</span> </code></td></tr><tr><td id="L24145" class="css-a4x74f"><span>24145</span></td><td id="LC24145" class="css-1dcdqdg"><code> <span class="code-comment">// Additional checking may be applied on lexer validation.</span> </code></td></tr><tr><td id="L24146" class="css-a4x74f"><span>24146</span></td><td id="LC24146" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeNumber$5</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24147" class="css-a4x74f"><span>24147</span></td><td id="LC24147" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipWS(); </code></td></tr><tr><td id="L24148" class="css-a4x74f"><span>24148</span></td><td id="LC24148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24149" class="css-a4x74f"><span>24149</span></td><td id="LC24149" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = <span class="code-keyword">this</span>.consume(NUMBER$<span class="code-number">6</span>); </code></td></tr><tr><td id="L24150" class="css-a4x74f"><span>24150</span></td><td id="LC24150" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24151" class="css-a4x74f"><span>24151</span></td><td id="LC24151" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < value.length; i++) { </code></td></tr><tr><td id="L24152" class="css-a4x74f"><span>24152</span></td><td id="LC24152" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = value.charCodeAt(i); </code></td></tr><tr><td id="L24153" class="css-a4x74f"><span>24153</span></td><td id="LC24153" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isDigit$<span class="code-number">5</span>(code) && code !== FULLSTOP$<span class="code-number">1</span>) { </code></td></tr><tr><td id="L24154" class="css-a4x74f"><span>24154</span></td><td id="LC24154" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Unsigned number is expected'</span>, <span class="code-keyword">this</span>.scanner.tokenStart - value.length + i); </code></td></tr><tr><td id="L24155" class="css-a4x74f"><span>24155</span></td><td id="LC24155" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24156" class="css-a4x74f"><span>24156</span></td><td id="LC24156" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24157" class="css-a4x74f"><span>24157</span></td><td id="LC24157" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24158" class="css-a4x74f"><span>24158</span></td><td id="LC24158" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Number</span>(value) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L24159" class="css-a4x74f"><span>24159</span></td><td id="LC24159" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Zero number is not allowed'</span>, <span class="code-keyword">this</span>.scanner.tokenStart - value.length); </code></td></tr><tr><td id="L24160" class="css-a4x74f"><span>24160</span></td><td id="LC24160" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24161" class="css-a4x74f"><span>24161</span></td><td id="LC24161" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24162" class="css-a4x74f"><span>24162</span></td><td id="LC24162" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L24163" class="css-a4x74f"><span>24163</span></td><td id="LC24163" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24164" class="css-a4x74f"><span>24164</span></td><td id="LC24164" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24165" class="css-a4x74f"><span>24165</span></td><td id="LC24165" class="css-1dcdqdg"><code> <span class="code-comment">// <positive-integer> S* '/' S* <positive-integer></span> </code></td></tr><tr><td id="L24166" class="css-a4x74f"><span>24166</span></td><td id="LC24166" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Ratio = { </code></td></tr><tr><td id="L24167" class="css-a4x74f"><span>24167</span></td><td id="LC24167" class="css-1dcdqdg"><code> name: <span class="code-string">'Ratio'</span>, </code></td></tr><tr><td id="L24168" class="css-a4x74f"><span>24168</span></td><td id="LC24168" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24169" class="css-a4x74f"><span>24169</span></td><td id="LC24169" class="css-1dcdqdg"><code> left: <span class="code-built_in">String</span>, </code></td></tr><tr><td id="L24170" class="css-a4x74f"><span>24170</span></td><td id="LC24170" class="css-1dcdqdg"><code> right: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L24171" class="css-a4x74f"><span>24171</span></td><td id="LC24171" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24172" class="css-a4x74f"><span>24172</span></td><td id="LC24172" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24173" class="css-a4x74f"><span>24173</span></td><td id="LC24173" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24174" class="css-a4x74f"><span>24174</span></td><td id="LC24174" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> left = consumeNumber$<span class="code-number">5.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24175" class="css-a4x74f"><span>24175</span></td><td id="LC24175" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> right; </code></td></tr><tr><td id="L24176" class="css-a4x74f"><span>24176</span></td><td id="LC24176" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24177" class="css-a4x74f"><span>24177</span></td><td id="LC24177" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipWS(); </code></td></tr><tr><td id="L24178" class="css-a4x74f"><span>24178</span></td><td id="LC24178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24179" class="css-a4x74f"><span>24179</span></td><td id="LC24179" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.scanner.isDelim(SOLIDUS$<span class="code-number">3</span>)) { </code></td></tr><tr><td id="L24180" class="css-a4x74f"><span>24180</span></td><td id="LC24180" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Solidus is expected'</span>); </code></td></tr><tr><td id="L24181" class="css-a4x74f"><span>24181</span></td><td id="LC24181" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24182" class="css-a4x74f"><span>24182</span></td><td id="LC24182" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(DELIM$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24183" class="css-a4x74f"><span>24183</span></td><td id="LC24183" class="css-1dcdqdg"><code> right = consumeNumber$<span class="code-number">5.</span>call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24184" class="css-a4x74f"><span>24184</span></td><td id="LC24184" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24185" class="css-a4x74f"><span>24185</span></td><td id="LC24185" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24186" class="css-a4x74f"><span>24186</span></td><td id="LC24186" class="css-1dcdqdg"><code> type: <span class="code-string">'Ratio'</span>, </code></td></tr><tr><td id="L24187" class="css-a4x74f"><span>24187</span></td><td id="LC24187" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24188" class="css-a4x74f"><span>24188</span></td><td id="LC24188" class="css-1dcdqdg"><code> left: left, </code></td></tr><tr><td id="L24189" class="css-a4x74f"><span>24189</span></td><td id="LC24189" class="css-1dcdqdg"><code> right: right </code></td></tr><tr><td id="L24190" class="css-a4x74f"><span>24190</span></td><td id="LC24190" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24191" class="css-a4x74f"><span>24191</span></td><td id="LC24191" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24192" class="css-a4x74f"><span>24192</span></td><td id="LC24192" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24193" class="css-a4x74f"><span>24193</span></td><td id="LC24193" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.left); </code></td></tr><tr><td id="L24194" class="css-a4x74f"><span>24194</span></td><td id="LC24194" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'/'</span>); </code></td></tr><tr><td id="L24195" class="css-a4x74f"><span>24195</span></td><td id="LC24195" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.right); </code></td></tr><tr><td id="L24196" class="css-a4x74f"><span>24196</span></td><td id="LC24196" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24197" class="css-a4x74f"><span>24197</span></td><td id="LC24197" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24198" class="css-a4x74f"><span>24198</span></td><td id="LC24198" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24199" class="css-a4x74f"><span>24199</span></td><td id="LC24199" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$x = tokenizer.TYPE; </code></td></tr><tr><td id="L24200" class="css-a4x74f"><span>24200</span></td><td id="LC24200" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode$<span class="code-number">4</span> = Raw.mode; </code></td></tr><tr><td id="L24201" class="css-a4x74f"><span>24201</span></td><td id="LC24201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24202" class="css-a4x74f"><span>24202</span></td><td id="LC24202" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTCURLYBRACKET$<span class="code-number">4</span> = TYPE$x.LeftCurlyBracket; </code></td></tr><tr><td id="L24203" class="css-a4x74f"><span>24203</span></td><td id="LC24203" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24204" class="css-a4x74f"><span>24204</span></td><td id="LC24204" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw$3</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L24205" class="css-a4x74f"><span>24205</span></td><td id="LC24205" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, rawMode$<span class="code-number">4.</span>leftCurlyBracket, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L24206" class="css-a4x74f"><span>24206</span></td><td id="LC24206" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24207" class="css-a4x74f"><span>24207</span></td><td id="LC24207" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24208" class="css-a4x74f"><span>24208</span></td><td id="LC24208" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumePrelude</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24209" class="css-a4x74f"><span>24209</span></td><td id="LC24209" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prelude = <span class="code-keyword">this</span>.SelectorList(); </code></td></tr><tr><td id="L24210" class="css-a4x74f"><span>24210</span></td><td id="LC24210" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24211" class="css-a4x74f"><span>24211</span></td><td id="LC24211" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prelude.type !== <span class="code-string">'Raw'</span> && </code></td></tr><tr><td id="L24212" class="css-a4x74f"><span>24212</span></td><td id="LC24212" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.eof === <span class="code-literal">false</span> && </code></td></tr><tr><td id="L24213" class="css-a4x74f"><span>24213</span></td><td id="LC24213" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType !== LEFTCURLYBRACKET$<span class="code-number">4</span>) { </code></td></tr><tr><td id="L24214" class="css-a4x74f"><span>24214</span></td><td id="LC24214" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L24215" class="css-a4x74f"><span>24215</span></td><td id="LC24215" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24216" class="css-a4x74f"><span>24216</span></td><td id="LC24216" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24217" class="css-a4x74f"><span>24217</span></td><td id="LC24217" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> prelude; </code></td></tr><tr><td id="L24218" class="css-a4x74f"><span>24218</span></td><td id="LC24218" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24219" class="css-a4x74f"><span>24219</span></td><td id="LC24219" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24220" class="css-a4x74f"><span>24220</span></td><td id="LC24220" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Rule = { </code></td></tr><tr><td id="L24221" class="css-a4x74f"><span>24221</span></td><td id="LC24221" class="css-1dcdqdg"><code> name: <span class="code-string">'Rule'</span>, </code></td></tr><tr><td id="L24222" class="css-a4x74f"><span>24222</span></td><td id="LC24222" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24223" class="css-a4x74f"><span>24223</span></td><td id="LC24223" class="css-1dcdqdg"><code> prelude: [<span class="code-string">'SelectorList'</span>, <span class="code-string">'Raw'</span>], </code></td></tr><tr><td id="L24224" class="css-a4x74f"><span>24224</span></td><td id="LC24224" class="css-1dcdqdg"><code> block: [<span class="code-string">'Block'</span>] </code></td></tr><tr><td id="L24225" class="css-a4x74f"><span>24225</span></td><td id="LC24225" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24226" class="css-a4x74f"><span>24226</span></td><td id="LC24226" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24227" class="css-a4x74f"><span>24227</span></td><td id="LC24227" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startToken = <span class="code-keyword">this</span>.scanner.tokenIndex; </code></td></tr><tr><td id="L24228" class="css-a4x74f"><span>24228</span></td><td id="LC24228" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> startOffset = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24229" class="css-a4x74f"><span>24229</span></td><td id="LC24229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> prelude; </code></td></tr><tr><td id="L24230" class="css-a4x74f"><span>24230</span></td><td id="LC24230" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> block; </code></td></tr><tr><td id="L24231" class="css-a4x74f"><span>24231</span></td><td id="LC24231" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24232" class="css-a4x74f"><span>24232</span></td><td id="LC24232" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.parseRulePrelude) { </code></td></tr><tr><td id="L24233" class="css-a4x74f"><span>24233</span></td><td id="LC24233" class="css-1dcdqdg"><code> prelude = <span class="code-keyword">this</span>.parseWithFallback(consumePrelude, consumeRaw$<span class="code-number">3</span>); </code></td></tr><tr><td id="L24234" class="css-a4x74f"><span>24234</span></td><td id="LC24234" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24235" class="css-a4x74f"><span>24235</span></td><td id="LC24235" class="css-1dcdqdg"><code> prelude = consumeRaw$<span class="code-number">3.</span>call(<span class="code-keyword">this</span>, startToken); </code></td></tr><tr><td id="L24236" class="css-a4x74f"><span>24236</span></td><td id="LC24236" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24237" class="css-a4x74f"><span>24237</span></td><td id="LC24237" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24238" class="css-a4x74f"><span>24238</span></td><td id="LC24238" class="css-1dcdqdg"><code> block = <span class="code-keyword">this</span>.Block(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L24239" class="css-a4x74f"><span>24239</span></td><td id="LC24239" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24240" class="css-a4x74f"><span>24240</span></td><td id="LC24240" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24241" class="css-a4x74f"><span>24241</span></td><td id="LC24241" class="css-1dcdqdg"><code> type: <span class="code-string">'Rule'</span>, </code></td></tr><tr><td id="L24242" class="css-a4x74f"><span>24242</span></td><td id="LC24242" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(startOffset, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24243" class="css-a4x74f"><span>24243</span></td><td id="LC24243" class="css-1dcdqdg"><code> prelude: prelude, </code></td></tr><tr><td id="L24244" class="css-a4x74f"><span>24244</span></td><td id="LC24244" class="css-1dcdqdg"><code> block: block </code></td></tr><tr><td id="L24245" class="css-a4x74f"><span>24245</span></td><td id="LC24245" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24246" class="css-a4x74f"><span>24246</span></td><td id="LC24246" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24247" class="css-a4x74f"><span>24247</span></td><td id="LC24247" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24248" class="css-a4x74f"><span>24248</span></td><td id="LC24248" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.prelude); </code></td></tr><tr><td id="L24249" class="css-a4x74f"><span>24249</span></td><td id="LC24249" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.block); </code></td></tr><tr><td id="L24250" class="css-a4x74f"><span>24250</span></td><td id="LC24250" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24251" class="css-a4x74f"><span>24251</span></td><td id="LC24251" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'rule'</span> </code></td></tr><tr><td id="L24252" class="css-a4x74f"><span>24252</span></td><td id="LC24252" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24253" class="css-a4x74f"><span>24253</span></td><td id="LC24253" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24254" class="css-a4x74f"><span>24254</span></td><td id="LC24254" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Selector = { </code></td></tr><tr><td id="L24255" class="css-a4x74f"><span>24255</span></td><td id="LC24255" class="css-1dcdqdg"><code> name: <span class="code-string">'Selector'</span>, </code></td></tr><tr><td id="L24256" class="css-a4x74f"><span>24256</span></td><td id="LC24256" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24257" class="css-a4x74f"><span>24257</span></td><td id="LC24257" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L24258" class="css-a4x74f"><span>24258</span></td><td id="LC24258" class="css-1dcdqdg"><code> <span class="code-string">'TypeSelector'</span>, </code></td></tr><tr><td id="L24259" class="css-a4x74f"><span>24259</span></td><td id="LC24259" class="css-1dcdqdg"><code> <span class="code-string">'IdSelector'</span>, </code></td></tr><tr><td id="L24260" class="css-a4x74f"><span>24260</span></td><td id="LC24260" class="css-1dcdqdg"><code> <span class="code-string">'ClassSelector'</span>, </code></td></tr><tr><td id="L24261" class="css-a4x74f"><span>24261</span></td><td id="LC24261" class="css-1dcdqdg"><code> <span class="code-string">'AttributeSelector'</span>, </code></td></tr><tr><td id="L24262" class="css-a4x74f"><span>24262</span></td><td id="LC24262" class="css-1dcdqdg"><code> <span class="code-string">'PseudoClassSelector'</span>, </code></td></tr><tr><td id="L24263" class="css-a4x74f"><span>24263</span></td><td id="LC24263" class="css-1dcdqdg"><code> <span class="code-string">'PseudoElementSelector'</span>, </code></td></tr><tr><td id="L24264" class="css-a4x74f"><span>24264</span></td><td id="LC24264" class="css-1dcdqdg"><code> <span class="code-string">'Combinator'</span>, </code></td></tr><tr><td id="L24265" class="css-a4x74f"><span>24265</span></td><td id="LC24265" class="css-1dcdqdg"><code> <span class="code-string">'WhiteSpace'</span> </code></td></tr><tr><td id="L24266" class="css-a4x74f"><span>24266</span></td><td id="LC24266" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L24267" class="css-a4x74f"><span>24267</span></td><td id="LC24267" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24268" class="css-a4x74f"><span>24268</span></td><td id="LC24268" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24269" class="css-a4x74f"><span>24269</span></td><td id="LC24269" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.readSequence(<span class="code-keyword">this</span>.scope.Selector); </code></td></tr><tr><td id="L24270" class="css-a4x74f"><span>24270</span></td><td id="LC24270" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24271" class="css-a4x74f"><span>24271</span></td><td id="LC24271" class="css-1dcdqdg"><code> <span class="code-comment">// nothing were consumed</span> </code></td></tr><tr><td id="L24272" class="css-a4x74f"><span>24272</span></td><td id="LC24272" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.getFirstListNode(children) === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L24273" class="css-a4x74f"><span>24273</span></td><td id="LC24273" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Selector is expected'</span>); </code></td></tr><tr><td id="L24274" class="css-a4x74f"><span>24274</span></td><td id="LC24274" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24275" class="css-a4x74f"><span>24275</span></td><td id="LC24275" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24276" class="css-a4x74f"><span>24276</span></td><td id="LC24276" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24277" class="css-a4x74f"><span>24277</span></td><td id="LC24277" class="css-1dcdqdg"><code> type: <span class="code-string">'Selector'</span>, </code></td></tr><tr><td id="L24278" class="css-a4x74f"><span>24278</span></td><td id="LC24278" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L24279" class="css-a4x74f"><span>24279</span></td><td id="LC24279" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24280" class="css-a4x74f"><span>24280</span></td><td id="LC24280" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24281" class="css-a4x74f"><span>24281</span></td><td id="LC24281" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24282" class="css-a4x74f"><span>24282</span></td><td id="LC24282" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24283" class="css-a4x74f"><span>24283</span></td><td id="LC24283" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L24284" class="css-a4x74f"><span>24284</span></td><td id="LC24284" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24285" class="css-a4x74f"><span>24285</span></td><td id="LC24285" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24286" class="css-a4x74f"><span>24286</span></td><td id="LC24286" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24287" class="css-a4x74f"><span>24287</span></td><td id="LC24287" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$y = tokenizer.TYPE; </code></td></tr><tr><td id="L24288" class="css-a4x74f"><span>24288</span></td><td id="LC24288" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24289" class="css-a4x74f"><span>24289</span></td><td id="LC24289" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMA$<span class="code-number">2</span> = TYPE$y.Comma; </code></td></tr><tr><td id="L24290" class="css-a4x74f"><span>24290</span></td><td id="LC24290" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24291" class="css-a4x74f"><span>24291</span></td><td id="LC24291" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SelectorList = { </code></td></tr><tr><td id="L24292" class="css-a4x74f"><span>24292</span></td><td id="LC24292" class="css-1dcdqdg"><code> name: <span class="code-string">'SelectorList'</span>, </code></td></tr><tr><td id="L24293" class="css-a4x74f"><span>24293</span></td><td id="LC24293" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24294" class="css-a4x74f"><span>24294</span></td><td id="LC24294" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L24295" class="css-a4x74f"><span>24295</span></td><td id="LC24295" class="css-1dcdqdg"><code> <span class="code-string">'Selector'</span>, </code></td></tr><tr><td id="L24296" class="css-a4x74f"><span>24296</span></td><td id="LC24296" class="css-1dcdqdg"><code> <span class="code-string">'Raw'</span> </code></td></tr><tr><td id="L24297" class="css-a4x74f"><span>24297</span></td><td id="LC24297" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L24298" class="css-a4x74f"><span>24298</span></td><td id="LC24298" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24299" class="css-a4x74f"><span>24299</span></td><td id="LC24299" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24300" class="css-a4x74f"><span>24300</span></td><td id="LC24300" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L24301" class="css-a4x74f"><span>24301</span></td><td id="LC24301" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24302" class="css-a4x74f"><span>24302</span></td><td id="LC24302" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L24303" class="css-a4x74f"><span>24303</span></td><td id="LC24303" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.Selector()); </code></td></tr><tr><td id="L24304" class="css-a4x74f"><span>24304</span></td><td id="LC24304" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24305" class="css-a4x74f"><span>24305</span></td><td id="LC24305" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === COMMA$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L24306" class="css-a4x74f"><span>24306</span></td><td id="LC24306" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24307" class="css-a4x74f"><span>24307</span></td><td id="LC24307" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L24308" class="css-a4x74f"><span>24308</span></td><td id="LC24308" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24309" class="css-a4x74f"><span>24309</span></td><td id="LC24309" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24310" class="css-a4x74f"><span>24310</span></td><td id="LC24310" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24311" class="css-a4x74f"><span>24311</span></td><td id="LC24311" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24312" class="css-a4x74f"><span>24312</span></td><td id="LC24312" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24313" class="css-a4x74f"><span>24313</span></td><td id="LC24313" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24314" class="css-a4x74f"><span>24314</span></td><td id="LC24314" class="css-1dcdqdg"><code> type: <span class="code-string">'SelectorList'</span>, </code></td></tr><tr><td id="L24315" class="css-a4x74f"><span>24315</span></td><td id="LC24315" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocationFromList(children), </code></td></tr><tr><td id="L24316" class="css-a4x74f"><span>24316</span></td><td id="LC24316" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24317" class="css-a4x74f"><span>24317</span></td><td id="LC24317" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24318" class="css-a4x74f"><span>24318</span></td><td id="LC24318" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24319" class="css-a4x74f"><span>24319</span></td><td id="LC24319" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24320" class="css-a4x74f"><span>24320</span></td><td id="LC24320" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node, <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24321" class="css-a4x74f"><span>24321</span></td><td id="LC24321" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">','</span>); </code></td></tr><tr><td id="L24322" class="css-a4x74f"><span>24322</span></td><td id="LC24322" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L24323" class="css-a4x74f"><span>24323</span></td><td id="LC24323" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24324" class="css-a4x74f"><span>24324</span></td><td id="LC24324" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'selector'</span> </code></td></tr><tr><td id="L24325" class="css-a4x74f"><span>24325</span></td><td id="LC24325" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24326" class="css-a4x74f"><span>24326</span></td><td id="LC24326" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24327" class="css-a4x74f"><span>24327</span></td><td id="LC24327" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> STRING$<span class="code-number">1</span> = tokenizer.TYPE.String; </code></td></tr><tr><td id="L24328" class="css-a4x74f"><span>24328</span></td><td id="LC24328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24329" class="css-a4x74f"><span>24329</span></td><td id="LC24329" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _String = { </code></td></tr><tr><td id="L24330" class="css-a4x74f"><span>24330</span></td><td id="LC24330" class="css-1dcdqdg"><code> name: <span class="code-string">'String'</span>, </code></td></tr><tr><td id="L24331" class="css-a4x74f"><span>24331</span></td><td id="LC24331" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24332" class="css-a4x74f"><span>24332</span></td><td id="LC24332" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L24333" class="css-a4x74f"><span>24333</span></td><td id="LC24333" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24334" class="css-a4x74f"><span>24334</span></td><td id="LC24334" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24335" class="css-a4x74f"><span>24335</span></td><td id="LC24335" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24336" class="css-a4x74f"><span>24336</span></td><td id="LC24336" class="css-1dcdqdg"><code> type: <span class="code-string">'String'</span>, </code></td></tr><tr><td id="L24337" class="css-a4x74f"><span>24337</span></td><td id="LC24337" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(<span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd), </code></td></tr><tr><td id="L24338" class="css-a4x74f"><span>24338</span></td><td id="LC24338" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.consume(STRING$<span class="code-number">1</span>) </code></td></tr><tr><td id="L24339" class="css-a4x74f"><span>24339</span></td><td id="LC24339" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24340" class="css-a4x74f"><span>24340</span></td><td id="LC24340" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24341" class="css-a4x74f"><span>24341</span></td><td id="LC24341" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24342" class="css-a4x74f"><span>24342</span></td><td id="LC24342" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L24343" class="css-a4x74f"><span>24343</span></td><td id="LC24343" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24344" class="css-a4x74f"><span>24344</span></td><td id="LC24344" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24345" class="css-a4x74f"><span>24345</span></td><td id="LC24345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24346" class="css-a4x74f"><span>24346</span></td><td id="LC24346" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$z = tokenizer.TYPE; </code></td></tr><tr><td id="L24347" class="css-a4x74f"><span>24347</span></td><td id="LC24347" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24348" class="css-a4x74f"><span>24348</span></td><td id="LC24348" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">8</span> = TYPE$z.WhiteSpace; </code></td></tr><tr><td id="L24349" class="css-a4x74f"><span>24349</span></td><td id="LC24349" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">8</span> = TYPE$z.Comment; </code></td></tr><tr><td id="L24350" class="css-a4x74f"><span>24350</span></td><td id="LC24350" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ATKEYWORD$<span class="code-number">2</span> = TYPE$z.AtKeyword; </code></td></tr><tr><td id="L24351" class="css-a4x74f"><span>24351</span></td><td id="LC24351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDO$<span class="code-number">1</span> = TYPE$z.CDO; </code></td></tr><tr><td id="L24352" class="css-a4x74f"><span>24352</span></td><td id="LC24352" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> CDC$<span class="code-number">1</span> = TYPE$z.CDC; </code></td></tr><tr><td id="L24353" class="css-a4x74f"><span>24353</span></td><td id="LC24353" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> EXCLAMATIONMARK$<span class="code-number">3</span> = <span class="code-number">0x0021</span>; <span class="code-comment">// U+0021 EXCLAMATION MARK (!)</span> </code></td></tr><tr><td id="L24354" class="css-a4x74f"><span>24354</span></td><td id="LC24354" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24355" class="css-a4x74f"><span>24355</span></td><td id="LC24355" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw$4</span>(<span class="code-params">startToken</span>) </span>{ </code></td></tr><tr><td id="L24356" class="css-a4x74f"><span>24356</span></td><td id="LC24356" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Raw(startToken, <span class="code-literal">null</span>, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L24357" class="css-a4x74f"><span>24357</span></td><td id="LC24357" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24358" class="css-a4x74f"><span>24358</span></td><td id="LC24358" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24359" class="css-a4x74f"><span>24359</span></td><td id="LC24359" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> StyleSheet = { </code></td></tr><tr><td id="L24360" class="css-a4x74f"><span>24360</span></td><td id="LC24360" class="css-1dcdqdg"><code> name: <span class="code-string">'StyleSheet'</span>, </code></td></tr><tr><td id="L24361" class="css-a4x74f"><span>24361</span></td><td id="LC24361" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24362" class="css-a4x74f"><span>24362</span></td><td id="LC24362" class="css-1dcdqdg"><code> children: [[ </code></td></tr><tr><td id="L24363" class="css-a4x74f"><span>24363</span></td><td id="LC24363" class="css-1dcdqdg"><code> <span class="code-string">'Comment'</span>, </code></td></tr><tr><td id="L24364" class="css-a4x74f"><span>24364</span></td><td id="LC24364" class="css-1dcdqdg"><code> <span class="code-string">'CDO'</span>, </code></td></tr><tr><td id="L24365" class="css-a4x74f"><span>24365</span></td><td id="LC24365" class="css-1dcdqdg"><code> <span class="code-string">'CDC'</span>, </code></td></tr><tr><td id="L24366" class="css-a4x74f"><span>24366</span></td><td id="LC24366" class="css-1dcdqdg"><code> <span class="code-string">'Atrule'</span>, </code></td></tr><tr><td id="L24367" class="css-a4x74f"><span>24367</span></td><td id="LC24367" class="css-1dcdqdg"><code> <span class="code-string">'Rule'</span>, </code></td></tr><tr><td id="L24368" class="css-a4x74f"><span>24368</span></td><td id="LC24368" class="css-1dcdqdg"><code> <span class="code-string">'Raw'</span> </code></td></tr><tr><td id="L24369" class="css-a4x74f"><span>24369</span></td><td id="LC24369" class="css-1dcdqdg"><code> ]] </code></td></tr><tr><td id="L24370" class="css-a4x74f"><span>24370</span></td><td id="LC24370" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24371" class="css-a4x74f"><span>24371</span></td><td id="LC24371" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24372" class="css-a4x74f"><span>24372</span></td><td id="LC24372" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24373" class="css-a4x74f"><span>24373</span></td><td id="LC24373" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L24374" class="css-a4x74f"><span>24374</span></td><td id="LC24374" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> child; </code></td></tr><tr><td id="L24375" class="css-a4x74f"><span>24375</span></td><td id="LC24375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24376" class="css-a4x74f"><span>24376</span></td><td id="LC24376" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24377" class="css-a4x74f"><span>24377</span></td><td id="LC24377" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L24378" class="css-a4x74f"><span>24378</span></td><td id="LC24378" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L24379" class="css-a4x74f"><span>24379</span></td><td id="LC24379" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$<span class="code-number">8</span>: </code></td></tr><tr><td id="L24380" class="css-a4x74f"><span>24380</span></td><td id="LC24380" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24381" class="css-a4x74f"><span>24381</span></td><td id="LC24381" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L24382" class="css-a4x74f"><span>24382</span></td><td id="LC24382" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24383" class="css-a4x74f"><span>24383</span></td><td id="LC24383" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">8</span>: </code></td></tr><tr><td id="L24384" class="css-a4x74f"><span>24384</span></td><td id="LC24384" class="css-1dcdqdg"><code> <span class="code-comment">// ignore comments except exclamation comments (i.e. /*! .. */) on top level</span> </code></td></tr><tr><td id="L24385" class="css-a4x74f"><span>24385</span></td><td id="LC24385" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">2</span>) !== EXCLAMATIONMARK$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L24386" class="css-a4x74f"><span>24386</span></td><td id="LC24386" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24387" class="css-a4x74f"><span>24387</span></td><td id="LC24387" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L24388" class="css-a4x74f"><span>24388</span></td><td id="LC24388" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24389" class="css-a4x74f"><span>24389</span></td><td id="LC24389" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24390" class="css-a4x74f"><span>24390</span></td><td id="LC24390" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.Comment(); </code></td></tr><tr><td id="L24391" class="css-a4x74f"><span>24391</span></td><td id="LC24391" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24392" class="css-a4x74f"><span>24392</span></td><td id="LC24392" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24393" class="css-a4x74f"><span>24393</span></td><td id="LC24393" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> CDO$<span class="code-number">1</span>: <span class="code-comment">// <!--</span> </code></td></tr><tr><td id="L24394" class="css-a4x74f"><span>24394</span></td><td id="LC24394" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.CDO(); </code></td></tr><tr><td id="L24395" class="css-a4x74f"><span>24395</span></td><td id="LC24395" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24396" class="css-a4x74f"><span>24396</span></td><td id="LC24396" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24397" class="css-a4x74f"><span>24397</span></td><td id="LC24397" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> CDC$<span class="code-number">1</span>: <span class="code-comment">// --></span> </code></td></tr><tr><td id="L24398" class="css-a4x74f"><span>24398</span></td><td id="LC24398" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.CDC(); </code></td></tr><tr><td id="L24399" class="css-a4x74f"><span>24399</span></td><td id="LC24399" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24400" class="css-a4x74f"><span>24400</span></td><td id="LC24400" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24401" class="css-a4x74f"><span>24401</span></td><td id="LC24401" class="css-1dcdqdg"><code> <span class="code-comment">// CSS Syntax Module Level 3</span> </code></td></tr><tr><td id="L24402" class="css-a4x74f"><span>24402</span></td><td id="LC24402" class="css-1dcdqdg"><code> <span class="code-comment">// §2.2 Error handling</span> </code></td></tr><tr><td id="L24403" class="css-a4x74f"><span>24403</span></td><td id="LC24403" class="css-1dcdqdg"><code> <span class="code-comment">// At the "top level" of a stylesheet, an <at-keyword-token> starts an at-rule.</span> </code></td></tr><tr><td id="L24404" class="css-a4x74f"><span>24404</span></td><td id="LC24404" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ATKEYWORD$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24405" class="css-a4x74f"><span>24405</span></td><td id="LC24405" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Atrule, consumeRaw$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24406" class="css-a4x74f"><span>24406</span></td><td id="LC24406" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24407" class="css-a4x74f"><span>24407</span></td><td id="LC24407" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24408" class="css-a4x74f"><span>24408</span></td><td id="LC24408" class="css-1dcdqdg"><code> <span class="code-comment">// Anything else starts a qualified rule ...</span> </code></td></tr><tr><td id="L24409" class="css-a4x74f"><span>24409</span></td><td id="LC24409" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L24410" class="css-a4x74f"><span>24410</span></td><td id="LC24410" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.parseWithFallback(<span class="code-keyword">this</span>.Rule, consumeRaw$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24411" class="css-a4x74f"><span>24411</span></td><td id="LC24411" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24412" class="css-a4x74f"><span>24412</span></td><td id="LC24412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24413" class="css-a4x74f"><span>24413</span></td><td id="LC24413" class="css-1dcdqdg"><code> children.push(child); </code></td></tr><tr><td id="L24414" class="css-a4x74f"><span>24414</span></td><td id="LC24414" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24415" class="css-a4x74f"><span>24415</span></td><td id="LC24415" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24416" class="css-a4x74f"><span>24416</span></td><td id="LC24416" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24417" class="css-a4x74f"><span>24417</span></td><td id="LC24417" class="css-1dcdqdg"><code> type: <span class="code-string">'StyleSheet'</span>, </code></td></tr><tr><td id="L24418" class="css-a4x74f"><span>24418</span></td><td id="LC24418" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24419" class="css-a4x74f"><span>24419</span></td><td id="LC24419" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24420" class="css-a4x74f"><span>24420</span></td><td id="LC24420" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24421" class="css-a4x74f"><span>24421</span></td><td id="LC24421" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24422" class="css-a4x74f"><span>24422</span></td><td id="LC24422" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24423" class="css-a4x74f"><span>24423</span></td><td id="LC24423" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L24424" class="css-a4x74f"><span>24424</span></td><td id="LC24424" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24425" class="css-a4x74f"><span>24425</span></td><td id="LC24425" class="css-1dcdqdg"><code> walkContext: <span class="code-string">'stylesheet'</span> </code></td></tr><tr><td id="L24426" class="css-a4x74f"><span>24426</span></td><td id="LC24426" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24427" class="css-a4x74f"><span>24427</span></td><td id="LC24427" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24428" class="css-a4x74f"><span>24428</span></td><td id="LC24428" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$A = tokenizer.TYPE; </code></td></tr><tr><td id="L24429" class="css-a4x74f"><span>24429</span></td><td id="LC24429" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24430" class="css-a4x74f"><span>24430</span></td><td id="LC24430" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$d = TYPE$A.Ident; </code></td></tr><tr><td id="L24431" class="css-a4x74f"><span>24431</span></td><td id="LC24431" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">4</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L24432" class="css-a4x74f"><span>24432</span></td><td id="LC24432" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VERTICALLINE$<span class="code-number">2</span> = <span class="code-number">0x007C</span>; <span class="code-comment">// U+007C VERTICAL LINE (|)</span> </code></td></tr><tr><td id="L24433" class="css-a4x74f"><span>24433</span></td><td id="LC24433" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24434" class="css-a4x74f"><span>24434</span></td><td id="LC24434" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">eatIdentifierOrAsterisk</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24435" class="css-a4x74f"><span>24435</span></td><td id="LC24435" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType !== IDENT$d && </code></td></tr><tr><td id="L24436" class="css-a4x74f"><span>24436</span></td><td id="LC24436" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.isDelim(ASTERISK$<span class="code-number">4</span>) === <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L24437" class="css-a4x74f"><span>24437</span></td><td id="LC24437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Identifier or asterisk is expected'</span>); </code></td></tr><tr><td id="L24438" class="css-a4x74f"><span>24438</span></td><td id="LC24438" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24439" class="css-a4x74f"><span>24439</span></td><td id="LC24439" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24440" class="css-a4x74f"><span>24440</span></td><td id="LC24440" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24441" class="css-a4x74f"><span>24441</span></td><td id="LC24441" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24442" class="css-a4x74f"><span>24442</span></td><td id="LC24442" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24443" class="css-a4x74f"><span>24443</span></td><td id="LC24443" class="css-1dcdqdg"><code> <span class="code-comment">// ident</span> </code></td></tr><tr><td id="L24444" class="css-a4x74f"><span>24444</span></td><td id="LC24444" class="css-1dcdqdg"><code> <span class="code-comment">// ident|ident</span> </code></td></tr><tr><td id="L24445" class="css-a4x74f"><span>24445</span></td><td id="LC24445" class="css-1dcdqdg"><code> <span class="code-comment">// ident|*</span> </code></td></tr><tr><td id="L24446" class="css-a4x74f"><span>24446</span></td><td id="LC24446" class="css-1dcdqdg"><code> <span class="code-comment">// *</span> </code></td></tr><tr><td id="L24447" class="css-a4x74f"><span>24447</span></td><td id="LC24447" class="css-1dcdqdg"><code> <span class="code-comment">// *|ident</span> </code></td></tr><tr><td id="L24448" class="css-a4x74f"><span>24448</span></td><td id="LC24448" class="css-1dcdqdg"><code> <span class="code-comment">// *|*</span> </code></td></tr><tr><td id="L24449" class="css-a4x74f"><span>24449</span></td><td id="LC24449" class="css-1dcdqdg"><code> <span class="code-comment">// |ident</span> </code></td></tr><tr><td id="L24450" class="css-a4x74f"><span>24450</span></td><td id="LC24450" class="css-1dcdqdg"><code> <span class="code-comment">// |*</span> </code></td></tr><tr><td id="L24451" class="css-a4x74f"><span>24451</span></td><td id="LC24451" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TypeSelector = { </code></td></tr><tr><td id="L24452" class="css-a4x74f"><span>24452</span></td><td id="LC24452" class="css-1dcdqdg"><code> name: <span class="code-string">'TypeSelector'</span>, </code></td></tr><tr><td id="L24453" class="css-a4x74f"><span>24453</span></td><td id="LC24453" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24454" class="css-a4x74f"><span>24454</span></td><td id="LC24454" class="css-1dcdqdg"><code> name: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L24455" class="css-a4x74f"><span>24455</span></td><td id="LC24455" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24456" class="css-a4x74f"><span>24456</span></td><td id="LC24456" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24457" class="css-a4x74f"><span>24457</span></td><td id="LC24457" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24458" class="css-a4x74f"><span>24458</span></td><td id="LC24458" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24459" class="css-a4x74f"><span>24459</span></td><td id="LC24459" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(VERTICALLINE$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L24460" class="css-a4x74f"><span>24460</span></td><td id="LC24460" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24461" class="css-a4x74f"><span>24461</span></td><td id="LC24461" class="css-1dcdqdg"><code> eatIdentifierOrAsterisk.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24462" class="css-a4x74f"><span>24462</span></td><td id="LC24462" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24463" class="css-a4x74f"><span>24463</span></td><td id="LC24463" class="css-1dcdqdg"><code> eatIdentifierOrAsterisk.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24464" class="css-a4x74f"><span>24464</span></td><td id="LC24464" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24465" class="css-a4x74f"><span>24465</span></td><td id="LC24465" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(VERTICALLINE$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L24466" class="css-a4x74f"><span>24466</span></td><td id="LC24466" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24467" class="css-a4x74f"><span>24467</span></td><td id="LC24467" class="css-1dcdqdg"><code> eatIdentifierOrAsterisk.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24468" class="css-a4x74f"><span>24468</span></td><td id="LC24468" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24469" class="css-a4x74f"><span>24469</span></td><td id="LC24469" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24470" class="css-a4x74f"><span>24470</span></td><td id="LC24470" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24471" class="css-a4x74f"><span>24471</span></td><td id="LC24471" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24472" class="css-a4x74f"><span>24472</span></td><td id="LC24472" class="css-1dcdqdg"><code> type: <span class="code-string">'TypeSelector'</span>, </code></td></tr><tr><td id="L24473" class="css-a4x74f"><span>24473</span></td><td id="LC24473" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24474" class="css-a4x74f"><span>24474</span></td><td id="LC24474" class="css-1dcdqdg"><code> name: <span class="code-keyword">this</span>.scanner.substrToCursor(start) </code></td></tr><tr><td id="L24475" class="css-a4x74f"><span>24475</span></td><td id="LC24475" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24476" class="css-a4x74f"><span>24476</span></td><td id="LC24476" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24477" class="css-a4x74f"><span>24477</span></td><td id="LC24477" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24478" class="css-a4x74f"><span>24478</span></td><td id="LC24478" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.name); </code></td></tr><tr><td id="L24479" class="css-a4x74f"><span>24479</span></td><td id="LC24479" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24480" class="css-a4x74f"><span>24480</span></td><td id="LC24480" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24481" class="css-a4x74f"><span>24481</span></td><td id="LC24481" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24482" class="css-a4x74f"><span>24482</span></td><td id="LC24482" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isHexDigit$<span class="code-number">4</span> = tokenizer.isHexDigit; </code></td></tr><tr><td id="L24483" class="css-a4x74f"><span>24483</span></td><td id="LC24483" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpChar$<span class="code-number">4</span> = tokenizer.cmpChar; </code></td></tr><tr><td id="L24484" class="css-a4x74f"><span>24484</span></td><td id="LC24484" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$B = tokenizer.TYPE; </code></td></tr><tr><td id="L24485" class="css-a4x74f"><span>24485</span></td><td id="LC24485" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NAME$<span class="code-number">3</span> = tokenizer.NAME; </code></td></tr><tr><td id="L24486" class="css-a4x74f"><span>24486</span></td><td id="LC24486" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24487" class="css-a4x74f"><span>24487</span></td><td id="LC24487" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$e = TYPE$B.Ident; </code></td></tr><tr><td id="L24488" class="css-a4x74f"><span>24488</span></td><td id="LC24488" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">7</span> = TYPE$B.Number; </code></td></tr><tr><td id="L24489" class="css-a4x74f"><span>24489</span></td><td id="LC24489" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">5</span> = TYPE$B.Dimension; </code></td></tr><tr><td id="L24490" class="css-a4x74f"><span>24490</span></td><td id="LC24490" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">6</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L24491" class="css-a4x74f"><span>24491</span></td><td id="LC24491" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS$<span class="code-number">4</span> = <span class="code-number">0x002D</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L24492" class="css-a4x74f"><span>24492</span></td><td id="LC24492" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> QUESTIONMARK$<span class="code-number">2</span> = <span class="code-number">0x003F</span>; <span class="code-comment">// U+003F QUESTION MARK (?)</span> </code></td></tr><tr><td id="L24493" class="css-a4x74f"><span>24493</span></td><td id="LC24493" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> U$<span class="code-number">1</span> = <span class="code-number">0x0075</span>; <span class="code-comment">// U+0075 LATIN SMALL LETTER U (u)</span> </code></td></tr><tr><td id="L24494" class="css-a4x74f"><span>24494</span></td><td id="LC24494" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24495" class="css-a4x74f"><span>24495</span></td><td id="LC24495" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">eatHexSequence</span>(<span class="code-params">offset, allowDash</span>) </span>{ </code></td></tr><tr><td id="L24496" class="css-a4x74f"><span>24496</span></td><td id="LC24496" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> pos = <span class="code-keyword">this</span>.scanner.tokenStart + offset, len = <span class="code-number">0</span>; pos < <span class="code-keyword">this</span>.scanner.tokenEnd; pos++) { </code></td></tr><tr><td id="L24497" class="css-a4x74f"><span>24497</span></td><td id="LC24497" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(pos); </code></td></tr><tr><td id="L24498" class="css-a4x74f"><span>24498</span></td><td id="LC24498" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24499" class="css-a4x74f"><span>24499</span></td><td id="LC24499" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === HYPHENMINUS$<span class="code-number">4</span> && allowDash && len !== <span class="code-number">0</span>) { </code></td></tr><tr><td id="L24500" class="css-a4x74f"><span>24500</span></td><td id="LC24500" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (eatHexSequence.call(<span class="code-keyword">this</span>, offset + len + <span class="code-number">1</span>, <span class="code-literal">false</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L24501" class="css-a4x74f"><span>24501</span></td><td id="LC24501" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L24502" class="css-a4x74f"><span>24502</span></td><td id="LC24502" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24503" class="css-a4x74f"><span>24503</span></td><td id="LC24503" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24504" class="css-a4x74f"><span>24504</span></td><td id="LC24504" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L24505" class="css-a4x74f"><span>24505</span></td><td id="LC24505" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24506" class="css-a4x74f"><span>24506</span></td><td id="LC24506" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24507" class="css-a4x74f"><span>24507</span></td><td id="LC24507" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isHexDigit$<span class="code-number">4</span>(code)) { </code></td></tr><tr><td id="L24508" class="css-a4x74f"><span>24508</span></td><td id="LC24508" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error( </code></td></tr><tr><td id="L24509" class="css-a4x74f"><span>24509</span></td><td id="LC24509" class="css-1dcdqdg"><code> allowDash && len !== <span class="code-number">0</span> </code></td></tr><tr><td id="L24510" class="css-a4x74f"><span>24510</span></td><td id="LC24510" class="css-1dcdqdg"><code> ? <span class="code-string">'HyphenMinus'</span> + (len < <span class="code-number">6</span> ? <span class="code-string">' or hex digit'</span> : <span class="code-string">''</span>) + <span class="code-string">' is expected'</span> </code></td></tr><tr><td id="L24511" class="css-a4x74f"><span>24511</span></td><td id="LC24511" class="css-1dcdqdg"><code> : (len < <span class="code-number">6</span> ? <span class="code-string">'Hex digit is expected'</span> : <span class="code-string">'Unexpected input'</span>), </code></td></tr><tr><td id="L24512" class="css-a4x74f"><span>24512</span></td><td id="LC24512" class="css-1dcdqdg"><code> pos </code></td></tr><tr><td id="L24513" class="css-a4x74f"><span>24513</span></td><td id="LC24513" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L24514" class="css-a4x74f"><span>24514</span></td><td id="LC24514" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24515" class="css-a4x74f"><span>24515</span></td><td id="LC24515" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24516" class="css-a4x74f"><span>24516</span></td><td id="LC24516" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (++len > <span class="code-number">6</span>) { </code></td></tr><tr><td id="L24517" class="css-a4x74f"><span>24517</span></td><td id="LC24517" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Too many hex digits'</span>, pos); </code></td></tr><tr><td id="L24518" class="css-a4x74f"><span>24518</span></td><td id="LC24518" class="css-1dcdqdg"><code> } } </code></td></tr><tr><td id="L24519" class="css-a4x74f"><span>24519</span></td><td id="LC24519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24520" class="css-a4x74f"><span>24520</span></td><td id="LC24520" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24521" class="css-a4x74f"><span>24521</span></td><td id="LC24521" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> len; </code></td></tr><tr><td id="L24522" class="css-a4x74f"><span>24522</span></td><td id="LC24522" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24523" class="css-a4x74f"><span>24523</span></td><td id="LC24523" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24524" class="css-a4x74f"><span>24524</span></td><td id="LC24524" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">eatQuestionMarkSequence</span>(<span class="code-params">max</span>) </span>{ </code></td></tr><tr><td id="L24525" class="css-a4x74f"><span>24525</span></td><td id="LC24525" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> count = <span class="code-number">0</span>; </code></td></tr><tr><td id="L24526" class="css-a4x74f"><span>24526</span></td><td id="LC24526" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24527" class="css-a4x74f"><span>24527</span></td><td id="LC24527" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (<span class="code-keyword">this</span>.scanner.isDelim(QUESTIONMARK$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L24528" class="css-a4x74f"><span>24528</span></td><td id="LC24528" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (++count > max) { </code></td></tr><tr><td id="L24529" class="css-a4x74f"><span>24529</span></td><td id="LC24529" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Too many question marks'</span>); </code></td></tr><tr><td id="L24530" class="css-a4x74f"><span>24530</span></td><td id="LC24530" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24531" class="css-a4x74f"><span>24531</span></td><td id="LC24531" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24532" class="css-a4x74f"><span>24532</span></td><td id="LC24532" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24533" class="css-a4x74f"><span>24533</span></td><td id="LC24533" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24534" class="css-a4x74f"><span>24534</span></td><td id="LC24534" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24535" class="css-a4x74f"><span>24535</span></td><td id="LC24535" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24536" class="css-a4x74f"><span>24536</span></td><td id="LC24536" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">startsWith$1</span>(<span class="code-params">code</span>) </span>{ </code></td></tr><tr><td id="L24537" class="css-a4x74f"><span>24537</span></td><td id="LC24537" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart) !== code) { </code></td></tr><tr><td id="L24538" class="css-a4x74f"><span>24538</span></td><td id="LC24538" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(NAME$<span class="code-number">3</span>[code] + <span class="code-string">' is expected'</span>); </code></td></tr><tr><td id="L24539" class="css-a4x74f"><span>24539</span></td><td id="LC24539" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24540" class="css-a4x74f"><span>24540</span></td><td id="LC24540" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24541" class="css-a4x74f"><span>24541</span></td><td id="LC24541" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24542" class="css-a4x74f"><span>24542</span></td><td id="LC24542" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-syntax/#urange</span> </code></td></tr><tr><td id="L24543" class="css-a4x74f"><span>24543</span></td><td id="LC24543" class="css-1dcdqdg"><code> <span class="code-comment">// Informally, the <urange> production has three forms:</span> </code></td></tr><tr><td id="L24544" class="css-a4x74f"><span>24544</span></td><td id="LC24544" class="css-1dcdqdg"><code> <span class="code-comment">// U+0001</span> </code></td></tr><tr><td id="L24545" class="css-a4x74f"><span>24545</span></td><td id="LC24545" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range consisting of a single code point, in this case the code point "1".</span> </code></td></tr><tr><td id="L24546" class="css-a4x74f"><span>24546</span></td><td id="LC24546" class="css-1dcdqdg"><code> <span class="code-comment">// U+0001-00ff</span> </code></td></tr><tr><td id="L24547" class="css-a4x74f"><span>24547</span></td><td id="LC24547" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range of codepoints between the first and the second value, in this case</span> </code></td></tr><tr><td id="L24548" class="css-a4x74f"><span>24548</span></td><td id="LC24548" class="css-1dcdqdg"><code> <span class="code-comment">// the range between "1" and "ff" (255 in decimal) inclusive.</span> </code></td></tr><tr><td id="L24549" class="css-a4x74f"><span>24549</span></td><td id="LC24549" class="css-1dcdqdg"><code> <span class="code-comment">// U+00??</span> </code></td></tr><tr><td id="L24550" class="css-a4x74f"><span>24550</span></td><td id="LC24550" class="css-1dcdqdg"><code> <span class="code-comment">// Defines a range of codepoints where the "?" characters range over all hex digits,</span> </code></td></tr><tr><td id="L24551" class="css-a4x74f"><span>24551</span></td><td id="LC24551" class="css-1dcdqdg"><code> <span class="code-comment">// in this case defining the same as the value U+0000-00ff.</span> </code></td></tr><tr><td id="L24552" class="css-a4x74f"><span>24552</span></td><td id="LC24552" class="css-1dcdqdg"><code> <span class="code-comment">// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit).</span> </code></td></tr><tr><td id="L24553" class="css-a4x74f"><span>24553</span></td><td id="LC24553" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L24554" class="css-a4x74f"><span>24554</span></td><td id="LC24554" class="css-1dcdqdg"><code> <span class="code-comment">// <urange> =</span> </code></td></tr><tr><td id="L24555" class="css-a4x74f"><span>24555</span></td><td id="LC24555" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' <ident-token> '?'* |</span> </code></td></tr><tr><td id="L24556" class="css-a4x74f"><span>24556</span></td><td id="LC24556" class="css-1dcdqdg"><code> <span class="code-comment">// u <dimension-token> '?'* |</span> </code></td></tr><tr><td id="L24557" class="css-a4x74f"><span>24557</span></td><td id="LC24557" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> '?'* |</span> </code></td></tr><tr><td id="L24558" class="css-a4x74f"><span>24558</span></td><td id="LC24558" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <dimension-token> |</span> </code></td></tr><tr><td id="L24559" class="css-a4x74f"><span>24559</span></td><td id="LC24559" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <number-token> |</span> </code></td></tr><tr><td id="L24560" class="css-a4x74f"><span>24560</span></td><td id="LC24560" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' '?'+</span> </code></td></tr><tr><td id="L24561" class="css-a4x74f"><span>24561</span></td><td id="LC24561" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">scanUnicodeRange</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24562" class="css-a4x74f"><span>24562</span></td><td id="LC24562" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> hexLength = <span class="code-number">0</span>; </code></td></tr><tr><td id="L24563" class="css-a4x74f"><span>24563</span></td><td id="LC24563" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24564" class="css-a4x74f"><span>24564</span></td><td id="LC24564" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' <ident-token> '?'*</span> </code></td></tr><tr><td id="L24565" class="css-a4x74f"><span>24565</span></td><td id="LC24565" class="css-1dcdqdg"><code> <span class="code-comment">// u '+' '?'+</span> </code></td></tr><tr><td id="L24566" class="css-a4x74f"><span>24566</span></td><td id="LC24566" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(PLUSSIGN$<span class="code-number">6</span>)) { </code></td></tr><tr><td id="L24567" class="css-a4x74f"><span>24567</span></td><td id="LC24567" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24568" class="css-a4x74f"><span>24568</span></td><td id="LC24568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24569" class="css-a4x74f"><span>24569</span></td><td id="LC24569" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === IDENT$e) { </code></td></tr><tr><td id="L24570" class="css-a4x74f"><span>24570</span></td><td id="LC24570" class="css-1dcdqdg"><code> hexLength = eatHexSequence.call(<span class="code-keyword">this</span>, <span class="code-number">0</span>, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L24571" class="css-a4x74f"><span>24571</span></td><td id="LC24571" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hexLength > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L24572" class="css-a4x74f"><span>24572</span></td><td id="LC24572" class="css-1dcdqdg"><code> eatQuestionMarkSequence.call(<span class="code-keyword">this</span>, <span class="code-number">6</span> - hexLength); </code></td></tr><tr><td id="L24573" class="css-a4x74f"><span>24573</span></td><td id="LC24573" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24574" class="css-a4x74f"><span>24574</span></td><td id="LC24574" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24575" class="css-a4x74f"><span>24575</span></td><td id="LC24575" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24576" class="css-a4x74f"><span>24576</span></td><td id="LC24576" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24577" class="css-a4x74f"><span>24577</span></td><td id="LC24577" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(QUESTIONMARK$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L24578" class="css-a4x74f"><span>24578</span></td><td id="LC24578" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24579" class="css-a4x74f"><span>24579</span></td><td id="LC24579" class="css-1dcdqdg"><code> eatQuestionMarkSequence.call(<span class="code-keyword">this</span>, <span class="code-number">5</span>); </code></td></tr><tr><td id="L24580" class="css-a4x74f"><span>24580</span></td><td id="LC24580" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24581" class="css-a4x74f"><span>24581</span></td><td id="LC24581" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24582" class="css-a4x74f"><span>24582</span></td><td id="LC24582" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24583" class="css-a4x74f"><span>24583</span></td><td id="LC24583" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Hex digit or question mark is expected'</span>); </code></td></tr><tr><td id="L24584" class="css-a4x74f"><span>24584</span></td><td id="LC24584" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24585" class="css-a4x74f"><span>24585</span></td><td id="LC24585" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24586" class="css-a4x74f"><span>24586</span></td><td id="LC24586" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24587" class="css-a4x74f"><span>24587</span></td><td id="LC24587" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> '?'*</span> </code></td></tr><tr><td id="L24588" class="css-a4x74f"><span>24588</span></td><td id="LC24588" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <dimension-token></span> </code></td></tr><tr><td id="L24589" class="css-a4x74f"><span>24589</span></td><td id="LC24589" class="css-1dcdqdg"><code> <span class="code-comment">// u <number-token> <number-token></span> </code></td></tr><tr><td id="L24590" class="css-a4x74f"><span>24590</span></td><td id="LC24590" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === NUMBER$<span class="code-number">7</span>) { </code></td></tr><tr><td id="L24591" class="css-a4x74f"><span>24591</span></td><td id="LC24591" class="css-1dcdqdg"><code> startsWith$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, PLUSSIGN$<span class="code-number">6</span>); </code></td></tr><tr><td id="L24592" class="css-a4x74f"><span>24592</span></td><td id="LC24592" class="css-1dcdqdg"><code> hexLength = eatHexSequence.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L24593" class="css-a4x74f"><span>24593</span></td><td id="LC24593" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24594" class="css-a4x74f"><span>24594</span></td><td id="LC24594" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.isDelim(QUESTIONMARK$<span class="code-number">2</span>)) { </code></td></tr><tr><td id="L24595" class="css-a4x74f"><span>24595</span></td><td id="LC24595" class="css-1dcdqdg"><code> eatQuestionMarkSequence.call(<span class="code-keyword">this</span>, <span class="code-number">6</span> - hexLength); </code></td></tr><tr><td id="L24596" class="css-a4x74f"><span>24596</span></td><td id="LC24596" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24597" class="css-a4x74f"><span>24597</span></td><td id="LC24597" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24598" class="css-a4x74f"><span>24598</span></td><td id="LC24598" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24599" class="css-a4x74f"><span>24599</span></td><td id="LC24599" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === DIMENSION$<span class="code-number">5</span> || </code></td></tr><tr><td id="L24600" class="css-a4x74f"><span>24600</span></td><td id="LC24600" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.tokenType === NUMBER$<span class="code-number">7</span>) { </code></td></tr><tr><td id="L24601" class="css-a4x74f"><span>24601</span></td><td id="LC24601" class="css-1dcdqdg"><code> startsWith$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, HYPHENMINUS$<span class="code-number">4</span>); </code></td></tr><tr><td id="L24602" class="css-a4x74f"><span>24602</span></td><td id="LC24602" class="css-1dcdqdg"><code> eatHexSequence.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, <span class="code-literal">false</span>); </code></td></tr><tr><td id="L24603" class="css-a4x74f"><span>24603</span></td><td id="LC24603" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24604" class="css-a4x74f"><span>24604</span></td><td id="LC24604" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24605" class="css-a4x74f"><span>24605</span></td><td id="LC24605" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24606" class="css-a4x74f"><span>24606</span></td><td id="LC24606" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24607" class="css-a4x74f"><span>24607</span></td><td id="LC24607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24608" class="css-a4x74f"><span>24608</span></td><td id="LC24608" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24609" class="css-a4x74f"><span>24609</span></td><td id="LC24609" class="css-1dcdqdg"><code> <span class="code-comment">// u <dimension-token> '?'*</span> </code></td></tr><tr><td id="L24610" class="css-a4x74f"><span>24610</span></td><td id="LC24610" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === DIMENSION$<span class="code-number">5</span>) { </code></td></tr><tr><td id="L24611" class="css-a4x74f"><span>24611</span></td><td id="LC24611" class="css-1dcdqdg"><code> startsWith$<span class="code-number">1.</span>call(<span class="code-keyword">this</span>, PLUSSIGN$<span class="code-number">6</span>); </code></td></tr><tr><td id="L24612" class="css-a4x74f"><span>24612</span></td><td id="LC24612" class="css-1dcdqdg"><code> hexLength = eatHexSequence.call(<span class="code-keyword">this</span>, <span class="code-number">1</span>, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L24613" class="css-a4x74f"><span>24613</span></td><td id="LC24613" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24614" class="css-a4x74f"><span>24614</span></td><td id="LC24614" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hexLength > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L24615" class="css-a4x74f"><span>24615</span></td><td id="LC24615" class="css-1dcdqdg"><code> eatQuestionMarkSequence.call(<span class="code-keyword">this</span>, <span class="code-number">6</span> - hexLength); </code></td></tr><tr><td id="L24616" class="css-a4x74f"><span>24616</span></td><td id="LC24616" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24617" class="css-a4x74f"><span>24617</span></td><td id="LC24617" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24618" class="css-a4x74f"><span>24618</span></td><td id="LC24618" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L24619" class="css-a4x74f"><span>24619</span></td><td id="LC24619" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24620" class="css-a4x74f"><span>24620</span></td><td id="LC24620" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24621" class="css-a4x74f"><span>24621</span></td><td id="LC24621" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(); </code></td></tr><tr><td id="L24622" class="css-a4x74f"><span>24622</span></td><td id="LC24622" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24623" class="css-a4x74f"><span>24623</span></td><td id="LC24623" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24624" class="css-a4x74f"><span>24624</span></td><td id="LC24624" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> UnicodeRange = { </code></td></tr><tr><td id="L24625" class="css-a4x74f"><span>24625</span></td><td id="LC24625" class="css-1dcdqdg"><code> name: <span class="code-string">'UnicodeRange'</span>, </code></td></tr><tr><td id="L24626" class="css-a4x74f"><span>24626</span></td><td id="LC24626" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24627" class="css-a4x74f"><span>24627</span></td><td id="LC24627" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L24628" class="css-a4x74f"><span>24628</span></td><td id="LC24628" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24629" class="css-a4x74f"><span>24629</span></td><td id="LC24629" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24630" class="css-a4x74f"><span>24630</span></td><td id="LC24630" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24631" class="css-a4x74f"><span>24631</span></td><td id="LC24631" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24632" class="css-a4x74f"><span>24632</span></td><td id="LC24632" class="css-1dcdqdg"><code> <span class="code-comment">// U or u</span> </code></td></tr><tr><td id="L24633" class="css-a4x74f"><span>24633</span></td><td id="LC24633" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpChar$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source, start, U$<span class="code-number">1</span>)) { </code></td></tr><tr><td id="L24634" class="css-a4x74f"><span>24634</span></td><td id="LC24634" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'U is expected'</span>); </code></td></tr><tr><td id="L24635" class="css-a4x74f"><span>24635</span></td><td id="LC24635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24636" class="css-a4x74f"><span>24636</span></td><td id="LC24636" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24637" class="css-a4x74f"><span>24637</span></td><td id="LC24637" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpChar$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source, start + <span class="code-number">1</span>, PLUSSIGN$<span class="code-number">6</span>)) { </code></td></tr><tr><td id="L24638" class="css-a4x74f"><span>24638</span></td><td id="LC24638" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Plus sign is expected'</span>); </code></td></tr><tr><td id="L24639" class="css-a4x74f"><span>24639</span></td><td id="LC24639" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24640" class="css-a4x74f"><span>24640</span></td><td id="LC24640" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24641" class="css-a4x74f"><span>24641</span></td><td id="LC24641" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L24642" class="css-a4x74f"><span>24642</span></td><td id="LC24642" class="css-1dcdqdg"><code> scanUnicodeRange.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L24643" class="css-a4x74f"><span>24643</span></td><td id="LC24643" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24644" class="css-a4x74f"><span>24644</span></td><td id="LC24644" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24645" class="css-a4x74f"><span>24645</span></td><td id="LC24645" class="css-1dcdqdg"><code> type: <span class="code-string">'UnicodeRange'</span>, </code></td></tr><tr><td id="L24646" class="css-a4x74f"><span>24646</span></td><td id="LC24646" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24647" class="css-a4x74f"><span>24647</span></td><td id="LC24647" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.substrToCursor(start) </code></td></tr><tr><td id="L24648" class="css-a4x74f"><span>24648</span></td><td id="LC24648" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24649" class="css-a4x74f"><span>24649</span></td><td id="LC24649" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24650" class="css-a4x74f"><span>24650</span></td><td id="LC24650" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24651" class="css-a4x74f"><span>24651</span></td><td id="LC24651" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L24652" class="css-a4x74f"><span>24652</span></td><td id="LC24652" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24653" class="css-a4x74f"><span>24653</span></td><td id="LC24653" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24654" class="css-a4x74f"><span>24654</span></td><td id="LC24654" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24655" class="css-a4x74f"><span>24655</span></td><td id="LC24655" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isWhiteSpace$<span class="code-number">2</span> = tokenizer.isWhiteSpace; </code></td></tr><tr><td id="L24656" class="css-a4x74f"><span>24656</span></td><td id="LC24656" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpStr$<span class="code-number">4</span> = tokenizer.cmpStr; </code></td></tr><tr><td id="L24657" class="css-a4x74f"><span>24657</span></td><td id="LC24657" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$C = tokenizer.TYPE; </code></td></tr><tr><td id="L24658" class="css-a4x74f"><span>24658</span></td><td id="LC24658" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24659" class="css-a4x74f"><span>24659</span></td><td id="LC24659" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">3</span> = TYPE$C.Function; </code></td></tr><tr><td id="L24660" class="css-a4x74f"><span>24660</span></td><td id="LC24660" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> URL$<span class="code-number">2</span> = TYPE$C.Url; </code></td></tr><tr><td id="L24661" class="css-a4x74f"><span>24661</span></td><td id="LC24661" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> RIGHTPARENTHESIS$<span class="code-number">7</span> = TYPE$C.RightParenthesis; </code></td></tr><tr><td id="L24662" class="css-a4x74f"><span>24662</span></td><td id="LC24662" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24663" class="css-a4x74f"><span>24663</span></td><td id="LC24663" class="css-1dcdqdg"><code> <span class="code-comment">// <url-token> | <function-token> <string> )</span> </code></td></tr><tr><td id="L24664" class="css-a4x74f"><span>24664</span></td><td id="LC24664" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Url = { </code></td></tr><tr><td id="L24665" class="css-a4x74f"><span>24665</span></td><td id="LC24665" class="css-1dcdqdg"><code> name: <span class="code-string">'Url'</span>, </code></td></tr><tr><td id="L24666" class="css-a4x74f"><span>24666</span></td><td id="LC24666" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24667" class="css-a4x74f"><span>24667</span></td><td id="LC24667" class="css-1dcdqdg"><code> value: [<span class="code-string">'String'</span>, <span class="code-string">'Raw'</span>] </code></td></tr><tr><td id="L24668" class="css-a4x74f"><span>24668</span></td><td id="LC24668" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24669" class="css-a4x74f"><span>24669</span></td><td id="LC24669" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24670" class="css-a4x74f"><span>24670</span></td><td id="LC24670" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24671" class="css-a4x74f"><span>24671</span></td><td id="LC24671" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value; </code></td></tr><tr><td id="L24672" class="css-a4x74f"><span>24672</span></td><td id="LC24672" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24673" class="css-a4x74f"><span>24673</span></td><td id="LC24673" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L24674" class="css-a4x74f"><span>24674</span></td><td id="LC24674" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> URL$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24675" class="css-a4x74f"><span>24675</span></td><td id="LC24675" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawStart = start + <span class="code-number">4</span>; </code></td></tr><tr><td id="L24676" class="css-a4x74f"><span>24676</span></td><td id="LC24676" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawEnd = <span class="code-keyword">this</span>.scanner.tokenEnd - <span class="code-number">1</span>; </code></td></tr><tr><td id="L24677" class="css-a4x74f"><span>24677</span></td><td id="LC24677" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24678" class="css-a4x74f"><span>24678</span></td><td id="LC24678" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (rawStart < rawEnd && isWhiteSpace$<span class="code-number">2</span>(<span class="code-keyword">this</span>.scanner.source.charCodeAt(rawStart))) { </code></td></tr><tr><td id="L24679" class="css-a4x74f"><span>24679</span></td><td id="LC24679" class="css-1dcdqdg"><code> rawStart++; </code></td></tr><tr><td id="L24680" class="css-a4x74f"><span>24680</span></td><td id="LC24680" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24681" class="css-a4x74f"><span>24681</span></td><td id="LC24681" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24682" class="css-a4x74f"><span>24682</span></td><td id="LC24682" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (rawStart < rawEnd && isWhiteSpace$<span class="code-number">2</span>(<span class="code-keyword">this</span>.scanner.source.charCodeAt(rawEnd - <span class="code-number">1</span>))) { </code></td></tr><tr><td id="L24683" class="css-a4x74f"><span>24683</span></td><td id="LC24683" class="css-1dcdqdg"><code> rawEnd--; </code></td></tr><tr><td id="L24684" class="css-a4x74f"><span>24684</span></td><td id="LC24684" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24685" class="css-a4x74f"><span>24685</span></td><td id="LC24685" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24686" class="css-a4x74f"><span>24686</span></td><td id="LC24686" class="css-1dcdqdg"><code> value = { </code></td></tr><tr><td id="L24687" class="css-a4x74f"><span>24687</span></td><td id="LC24687" class="css-1dcdqdg"><code> type: <span class="code-string">'Raw'</span>, </code></td></tr><tr><td id="L24688" class="css-a4x74f"><span>24688</span></td><td id="LC24688" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(rawStart, rawEnd), </code></td></tr><tr><td id="L24689" class="css-a4x74f"><span>24689</span></td><td id="LC24689" class="css-1dcdqdg"><code> value: <span class="code-keyword">this</span>.scanner.source.substring(rawStart, rawEnd) </code></td></tr><tr><td id="L24690" class="css-a4x74f"><span>24690</span></td><td id="LC24690" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24691" class="css-a4x74f"><span>24691</span></td><td id="LC24691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24692" class="css-a4x74f"><span>24692</span></td><td id="LC24692" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(URL$<span class="code-number">2</span>); </code></td></tr><tr><td id="L24693" class="css-a4x74f"><span>24693</span></td><td id="LC24693" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24694" class="css-a4x74f"><span>24694</span></td><td id="LC24694" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24695" class="css-a4x74f"><span>24695</span></td><td id="LC24695" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> FUNCTION$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24696" class="css-a4x74f"><span>24696</span></td><td id="LC24696" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!cmpStr$<span class="code-number">4</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd, <span class="code-string">'url('</span>)) { </code></td></tr><tr><td id="L24697" class="css-a4x74f"><span>24697</span></td><td id="LC24697" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Function name must be `url`'</span>); </code></td></tr><tr><td id="L24698" class="css-a4x74f"><span>24698</span></td><td id="LC24698" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24699" class="css-a4x74f"><span>24699</span></td><td id="LC24699" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24700" class="css-a4x74f"><span>24700</span></td><td id="LC24700" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(FUNCTION$<span class="code-number">3</span>); </code></td></tr><tr><td id="L24701" class="css-a4x74f"><span>24701</span></td><td id="LC24701" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24702" class="css-a4x74f"><span>24702</span></td><td id="LC24702" class="css-1dcdqdg"><code> value = <span class="code-keyword">this</span>.String(); </code></td></tr><tr><td id="L24703" class="css-a4x74f"><span>24703</span></td><td id="LC24703" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24704" class="css-a4x74f"><span>24704</span></td><td id="LC24704" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(RIGHTPARENTHESIS$<span class="code-number">7</span>); </code></td></tr><tr><td id="L24705" class="css-a4x74f"><span>24705</span></td><td id="LC24705" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24706" class="css-a4x74f"><span>24706</span></td><td id="LC24706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24707" class="css-a4x74f"><span>24707</span></td><td id="LC24707" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L24708" class="css-a4x74f"><span>24708</span></td><td id="LC24708" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Url or Function is expected'</span>); </code></td></tr><tr><td id="L24709" class="css-a4x74f"><span>24709</span></td><td id="LC24709" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24710" class="css-a4x74f"><span>24710</span></td><td id="LC24710" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24711" class="css-a4x74f"><span>24711</span></td><td id="LC24711" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24712" class="css-a4x74f"><span>24712</span></td><td id="LC24712" class="css-1dcdqdg"><code> type: <span class="code-string">'Url'</span>, </code></td></tr><tr><td id="L24713" class="css-a4x74f"><span>24713</span></td><td id="LC24713" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24714" class="css-a4x74f"><span>24714</span></td><td id="LC24714" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L24715" class="css-a4x74f"><span>24715</span></td><td id="LC24715" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24716" class="css-a4x74f"><span>24716</span></td><td id="LC24716" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24717" class="css-a4x74f"><span>24717</span></td><td id="LC24717" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24718" class="css-a4x74f"><span>24718</span></td><td id="LC24718" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'url'</span>); </code></td></tr><tr><td id="L24719" class="css-a4x74f"><span>24719</span></td><td id="LC24719" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">'('</span>); </code></td></tr><tr><td id="L24720" class="css-a4x74f"><span>24720</span></td><td id="LC24720" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.node(node.value); </code></td></tr><tr><td id="L24721" class="css-a4x74f"><span>24721</span></td><td id="LC24721" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(<span class="code-string">')'</span>); </code></td></tr><tr><td id="L24722" class="css-a4x74f"><span>24722</span></td><td id="LC24722" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24723" class="css-a4x74f"><span>24723</span></td><td id="LC24723" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24724" class="css-a4x74f"><span>24724</span></td><td id="LC24724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24725" class="css-a4x74f"><span>24725</span></td><td id="LC24725" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Value = { </code></td></tr><tr><td id="L24726" class="css-a4x74f"><span>24726</span></td><td id="LC24726" class="css-1dcdqdg"><code> name: <span class="code-string">'Value'</span>, </code></td></tr><tr><td id="L24727" class="css-a4x74f"><span>24727</span></td><td id="LC24727" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24728" class="css-a4x74f"><span>24728</span></td><td id="LC24728" class="css-1dcdqdg"><code> children: [[]] </code></td></tr><tr><td id="L24729" class="css-a4x74f"><span>24729</span></td><td id="LC24729" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24730" class="css-a4x74f"><span>24730</span></td><td id="LC24730" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24731" class="css-a4x74f"><span>24731</span></td><td id="LC24731" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> start = <span class="code-keyword">this</span>.scanner.tokenStart; </code></td></tr><tr><td id="L24732" class="css-a4x74f"><span>24732</span></td><td id="LC24732" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.readSequence(<span class="code-keyword">this</span>.scope.Value); </code></td></tr><tr><td id="L24733" class="css-a4x74f"><span>24733</span></td><td id="LC24733" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24734" class="css-a4x74f"><span>24734</span></td><td id="LC24734" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L24735" class="css-a4x74f"><span>24735</span></td><td id="LC24735" class="css-1dcdqdg"><code> type: <span class="code-string">'Value'</span>, </code></td></tr><tr><td id="L24736" class="css-a4x74f"><span>24736</span></td><td id="LC24736" class="css-1dcdqdg"><code> loc: <span class="code-keyword">this</span>.getLocation(start, <span class="code-keyword">this</span>.scanner.tokenStart), </code></td></tr><tr><td id="L24737" class="css-a4x74f"><span>24737</span></td><td id="LC24737" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L24738" class="css-a4x74f"><span>24738</span></td><td id="LC24738" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24739" class="css-a4x74f"><span>24739</span></td><td id="LC24739" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24740" class="css-a4x74f"><span>24740</span></td><td id="LC24740" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24741" class="css-a4x74f"><span>24741</span></td><td id="LC24741" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.children(node); </code></td></tr><tr><td id="L24742" class="css-a4x74f"><span>24742</span></td><td id="LC24742" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24743" class="css-a4x74f"><span>24743</span></td><td id="LC24743" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24744" class="css-a4x74f"><span>24744</span></td><td id="LC24744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24745" class="css-a4x74f"><span>24745</span></td><td id="LC24745" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$<span class="code-number">9</span> = tokenizer.TYPE.WhiteSpace; </code></td></tr><tr><td id="L24746" class="css-a4x74f"><span>24746</span></td><td id="LC24746" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SPACE$<span class="code-number">2</span> = <span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L24747" class="css-a4x74f"><span>24747</span></td><td id="LC24747" class="css-1dcdqdg"><code> type: <span class="code-string">'WhiteSpace'</span>, </code></td></tr><tr><td id="L24748" class="css-a4x74f"><span>24748</span></td><td id="LC24748" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L24749" class="css-a4x74f"><span>24749</span></td><td id="LC24749" class="css-1dcdqdg"><code> value: <span class="code-string">' '</span> </code></td></tr><tr><td id="L24750" class="css-a4x74f"><span>24750</span></td><td id="LC24750" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L24751" class="css-a4x74f"><span>24751</span></td><td id="LC24751" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24752" class="css-a4x74f"><span>24752</span></td><td id="LC24752" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WhiteSpace$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L24753" class="css-a4x74f"><span>24753</span></td><td id="LC24753" class="css-1dcdqdg"><code> name: <span class="code-string">'WhiteSpace'</span>, </code></td></tr><tr><td id="L24754" class="css-a4x74f"><span>24754</span></td><td id="LC24754" class="css-1dcdqdg"><code> structure: { </code></td></tr><tr><td id="L24755" class="css-a4x74f"><span>24755</span></td><td id="LC24755" class="css-1dcdqdg"><code> value: <span class="code-built_in">String</span> </code></td></tr><tr><td id="L24756" class="css-a4x74f"><span>24756</span></td><td id="LC24756" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24757" class="css-a4x74f"><span>24757</span></td><td id="LC24757" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24758" class="css-a4x74f"><span>24758</span></td><td id="LC24758" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.eat(WHITESPACE$<span class="code-number">9</span>); </code></td></tr><tr><td id="L24759" class="css-a4x74f"><span>24759</span></td><td id="LC24759" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> SPACE$<span class="code-number">2</span>; </code></td></tr><tr><td id="L24760" class="css-a4x74f"><span>24760</span></td><td id="LC24760" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24761" class="css-a4x74f"><span>24761</span></td><td id="LC24761" class="css-1dcdqdg"><code> <span class="code-comment">// return {</span> </code></td></tr><tr><td id="L24762" class="css-a4x74f"><span>24762</span></td><td id="LC24762" class="css-1dcdqdg"><code> <span class="code-comment">// type: 'WhiteSpace',</span> </code></td></tr><tr><td id="L24763" class="css-a4x74f"><span>24763</span></td><td id="LC24763" class="css-1dcdqdg"><code> <span class="code-comment">// loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),</span> </code></td></tr><tr><td id="L24764" class="css-a4x74f"><span>24764</span></td><td id="LC24764" class="css-1dcdqdg"><code> <span class="code-comment">// value: this.consume(WHITESPACE)</span> </code></td></tr><tr><td id="L24765" class="css-a4x74f"><span>24765</span></td><td id="LC24765" class="css-1dcdqdg"><code> <span class="code-comment">// };</span> </code></td></tr><tr><td id="L24766" class="css-a4x74f"><span>24766</span></td><td id="LC24766" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L24767" class="css-a4x74f"><span>24767</span></td><td id="LC24767" class="css-1dcdqdg"><code> generate: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">node</span>) </span>{ </code></td></tr><tr><td id="L24768" class="css-a4x74f"><span>24768</span></td><td id="LC24768" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunk(node.value); </code></td></tr><tr><td id="L24769" class="css-a4x74f"><span>24769</span></td><td id="LC24769" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24770" class="css-a4x74f"><span>24770</span></td><td id="LC24770" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24771" class="css-a4x74f"><span>24771</span></td><td id="LC24771" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24772" class="css-a4x74f"><span>24772</span></td><td id="LC24772" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> node = { </code></td></tr><tr><td id="L24773" class="css-a4x74f"><span>24773</span></td><td id="LC24773" class="css-1dcdqdg"><code> AnPlusB: AnPlusB, </code></td></tr><tr><td id="L24774" class="css-a4x74f"><span>24774</span></td><td id="LC24774" class="css-1dcdqdg"><code> Atrule: Atrule, </code></td></tr><tr><td id="L24775" class="css-a4x74f"><span>24775</span></td><td id="LC24775" class="css-1dcdqdg"><code> AtrulePrelude: AtrulePrelude, </code></td></tr><tr><td id="L24776" class="css-a4x74f"><span>24776</span></td><td id="LC24776" class="css-1dcdqdg"><code> AttributeSelector: AttributeSelector, </code></td></tr><tr><td id="L24777" class="css-a4x74f"><span>24777</span></td><td id="LC24777" class="css-1dcdqdg"><code> Block: Block, </code></td></tr><tr><td id="L24778" class="css-a4x74f"><span>24778</span></td><td id="LC24778" class="css-1dcdqdg"><code> Brackets: Brackets, </code></td></tr><tr><td id="L24779" class="css-a4x74f"><span>24779</span></td><td id="LC24779" class="css-1dcdqdg"><code> CDC: CDC_1, </code></td></tr><tr><td id="L24780" class="css-a4x74f"><span>24780</span></td><td id="LC24780" class="css-1dcdqdg"><code> CDO: CDO_1, </code></td></tr><tr><td id="L24781" class="css-a4x74f"><span>24781</span></td><td id="LC24781" class="css-1dcdqdg"><code> ClassSelector: ClassSelector, </code></td></tr><tr><td id="L24782" class="css-a4x74f"><span>24782</span></td><td id="LC24782" class="css-1dcdqdg"><code> Combinator: Combinator, </code></td></tr><tr><td id="L24783" class="css-a4x74f"><span>24783</span></td><td id="LC24783" class="css-1dcdqdg"><code> Comment: Comment, </code></td></tr><tr><td id="L24784" class="css-a4x74f"><span>24784</span></td><td id="LC24784" class="css-1dcdqdg"><code> Declaration: Declaration, </code></td></tr><tr><td id="L24785" class="css-a4x74f"><span>24785</span></td><td id="LC24785" class="css-1dcdqdg"><code> DeclarationList: DeclarationList, </code></td></tr><tr><td id="L24786" class="css-a4x74f"><span>24786</span></td><td id="LC24786" class="css-1dcdqdg"><code> Dimension: Dimension, </code></td></tr><tr><td id="L24787" class="css-a4x74f"><span>24787</span></td><td id="LC24787" class="css-1dcdqdg"><code> <span class="code-built_in">Function</span>: _Function, </code></td></tr><tr><td id="L24788" class="css-a4x74f"><span>24788</span></td><td id="LC24788" class="css-1dcdqdg"><code> HexColor: HexColor, </code></td></tr><tr><td id="L24789" class="css-a4x74f"><span>24789</span></td><td id="LC24789" class="css-1dcdqdg"><code> Identifier: Identifier, </code></td></tr><tr><td id="L24790" class="css-a4x74f"><span>24790</span></td><td id="LC24790" class="css-1dcdqdg"><code> IdSelector: IdSelector, </code></td></tr><tr><td id="L24791" class="css-a4x74f"><span>24791</span></td><td id="LC24791" class="css-1dcdqdg"><code> MediaFeature: MediaFeature, </code></td></tr><tr><td id="L24792" class="css-a4x74f"><span>24792</span></td><td id="LC24792" class="css-1dcdqdg"><code> MediaQuery: MediaQuery, </code></td></tr><tr><td id="L24793" class="css-a4x74f"><span>24793</span></td><td id="LC24793" class="css-1dcdqdg"><code> MediaQueryList: MediaQueryList, </code></td></tr><tr><td id="L24794" class="css-a4x74f"><span>24794</span></td><td id="LC24794" class="css-1dcdqdg"><code> Nth: Nth, </code></td></tr><tr><td id="L24795" class="css-a4x74f"><span>24795</span></td><td id="LC24795" class="css-1dcdqdg"><code> <span class="code-built_in">Number</span>: _Number, </code></td></tr><tr><td id="L24796" class="css-a4x74f"><span>24796</span></td><td id="LC24796" class="css-1dcdqdg"><code> Operator: Operator, </code></td></tr><tr><td id="L24797" class="css-a4x74f"><span>24797</span></td><td id="LC24797" class="css-1dcdqdg"><code> Parentheses: Parentheses, </code></td></tr><tr><td id="L24798" class="css-a4x74f"><span>24798</span></td><td id="LC24798" class="css-1dcdqdg"><code> Percentage: Percentage, </code></td></tr><tr><td id="L24799" class="css-a4x74f"><span>24799</span></td><td id="LC24799" class="css-1dcdqdg"><code> PseudoClassSelector: PseudoClassSelector, </code></td></tr><tr><td id="L24800" class="css-a4x74f"><span>24800</span></td><td id="LC24800" class="css-1dcdqdg"><code> PseudoElementSelector: PseudoElementSelector, </code></td></tr><tr><td id="L24801" class="css-a4x74f"><span>24801</span></td><td id="LC24801" class="css-1dcdqdg"><code> Ratio: Ratio, </code></td></tr><tr><td id="L24802" class="css-a4x74f"><span>24802</span></td><td id="LC24802" class="css-1dcdqdg"><code> Raw: Raw, </code></td></tr><tr><td id="L24803" class="css-a4x74f"><span>24803</span></td><td id="LC24803" class="css-1dcdqdg"><code> Rule: Rule, </code></td></tr><tr><td id="L24804" class="css-a4x74f"><span>24804</span></td><td id="LC24804" class="css-1dcdqdg"><code> Selector: Selector, </code></td></tr><tr><td id="L24805" class="css-a4x74f"><span>24805</span></td><td id="LC24805" class="css-1dcdqdg"><code> SelectorList: SelectorList, </code></td></tr><tr><td id="L24806" class="css-a4x74f"><span>24806</span></td><td id="LC24806" class="css-1dcdqdg"><code> <span class="code-built_in">String</span>: _String, </code></td></tr><tr><td id="L24807" class="css-a4x74f"><span>24807</span></td><td id="LC24807" class="css-1dcdqdg"><code> StyleSheet: StyleSheet, </code></td></tr><tr><td id="L24808" class="css-a4x74f"><span>24808</span></td><td id="LC24808" class="css-1dcdqdg"><code> TypeSelector: TypeSelector, </code></td></tr><tr><td id="L24809" class="css-a4x74f"><span>24809</span></td><td id="LC24809" class="css-1dcdqdg"><code> UnicodeRange: UnicodeRange, </code></td></tr><tr><td id="L24810" class="css-a4x74f"><span>24810</span></td><td id="LC24810" class="css-1dcdqdg"><code> Url: Url, </code></td></tr><tr><td id="L24811" class="css-a4x74f"><span>24811</span></td><td id="LC24811" class="css-1dcdqdg"><code> Value: Value, </code></td></tr><tr><td id="L24812" class="css-a4x74f"><span>24812</span></td><td id="LC24812" class="css-1dcdqdg"><code> WhiteSpace: WhiteSpace$<span class="code-number">1</span> </code></td></tr><tr><td id="L24813" class="css-a4x74f"><span>24813</span></td><td id="LC24813" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24814" class="css-a4x74f"><span>24814</span></td><td id="LC24814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24815" class="css-a4x74f"><span>24815</span></td><td id="LC24815" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lexer = { </code></td></tr><tr><td id="L24816" class="css-a4x74f"><span>24816</span></td><td id="LC24816" class="css-1dcdqdg"><code> generic: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L24817" class="css-a4x74f"><span>24817</span></td><td id="LC24817" class="css-1dcdqdg"><code> types: data.types, </code></td></tr><tr><td id="L24818" class="css-a4x74f"><span>24818</span></td><td id="LC24818" class="css-1dcdqdg"><code> atrules: data.atrules, </code></td></tr><tr><td id="L24819" class="css-a4x74f"><span>24819</span></td><td id="LC24819" class="css-1dcdqdg"><code> properties: data.properties, </code></td></tr><tr><td id="L24820" class="css-a4x74f"><span>24820</span></td><td id="LC24820" class="css-1dcdqdg"><code> node: node </code></td></tr><tr><td id="L24821" class="css-a4x74f"><span>24821</span></td><td id="LC24821" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24822" class="css-a4x74f"><span>24822</span></td><td id="LC24822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24823" class="css-a4x74f"><span>24823</span></td><td id="LC24823" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpChar$<span class="code-number">5</span> = tokenizer.cmpChar; </code></td></tr><tr><td id="L24824" class="css-a4x74f"><span>24824</span></td><td id="LC24824" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> cmpStr$<span class="code-number">5</span> = tokenizer.cmpStr; </code></td></tr><tr><td id="L24825" class="css-a4x74f"><span>24825</span></td><td id="LC24825" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$D = tokenizer.TYPE; </code></td></tr><tr><td id="L24826" class="css-a4x74f"><span>24826</span></td><td id="LC24826" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24827" class="css-a4x74f"><span>24827</span></td><td id="LC24827" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$f = TYPE$D.Ident; </code></td></tr><tr><td id="L24828" class="css-a4x74f"><span>24828</span></td><td id="LC24828" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> STRING$<span class="code-number">2</span> = TYPE$D.String; </code></td></tr><tr><td id="L24829" class="css-a4x74f"><span>24829</span></td><td id="LC24829" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">8</span> = TYPE$D.Number; </code></td></tr><tr><td id="L24830" class="css-a4x74f"><span>24830</span></td><td id="LC24830" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">4</span> = TYPE$D.Function; </code></td></tr><tr><td id="L24831" class="css-a4x74f"><span>24831</span></td><td id="LC24831" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> URL$<span class="code-number">3</span> = TYPE$D.Url; </code></td></tr><tr><td id="L24832" class="css-a4x74f"><span>24832</span></td><td id="LC24832" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH$<span class="code-number">4</span> = TYPE$D.Hash; </code></td></tr><tr><td id="L24833" class="css-a4x74f"><span>24833</span></td><td id="LC24833" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">6</span> = TYPE$D.Dimension; </code></td></tr><tr><td id="L24834" class="css-a4x74f"><span>24834</span></td><td id="LC24834" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PERCENTAGE$<span class="code-number">2</span> = TYPE$D.Percentage; </code></td></tr><tr><td id="L24835" class="css-a4x74f"><span>24835</span></td><td id="LC24835" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">5</span> = TYPE$D.LeftParenthesis; </code></td></tr><tr><td id="L24836" class="css-a4x74f"><span>24836</span></td><td id="LC24836" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTSQUAREBRACKET$<span class="code-number">3</span> = TYPE$D.LeftSquareBracket; </code></td></tr><tr><td id="L24837" class="css-a4x74f"><span>24837</span></td><td id="LC24837" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMA$<span class="code-number">3</span> = TYPE$D.Comma; </code></td></tr><tr><td id="L24838" class="css-a4x74f"><span>24838</span></td><td id="LC24838" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">5</span> = TYPE$D.Delim; </code></td></tr><tr><td id="L24839" class="css-a4x74f"><span>24839</span></td><td id="LC24839" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBERSIGN$<span class="code-number">3</span> = <span class="code-number">0x0023</span>; <span class="code-comment">// U+0023 NUMBER SIGN (#)</span> </code></td></tr><tr><td id="L24840" class="css-a4x74f"><span>24840</span></td><td id="LC24840" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">5</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L24841" class="css-a4x74f"><span>24841</span></td><td id="LC24841" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">7</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L24842" class="css-a4x74f"><span>24842</span></td><td id="LC24842" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HYPHENMINUS$<span class="code-number">5</span> = <span class="code-number">0x002D</span>; <span class="code-comment">// U+002D HYPHEN-MINUS (-)</span> </code></td></tr><tr><td id="L24843" class="css-a4x74f"><span>24843</span></td><td id="LC24843" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS$<span class="code-number">4</span> = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L24844" class="css-a4x74f"><span>24844</span></td><td id="LC24844" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> U$<span class="code-number">2</span> = <span class="code-number">0x0075</span>; <span class="code-comment">// U+0075 LATIN SMALL LETTER U (u)</span> </code></td></tr><tr><td id="L24845" class="css-a4x74f"><span>24845</span></td><td id="LC24845" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24846" class="css-a4x74f"><span>24846</span></td><td id="LC24846" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _default = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">defaultRecognizer</span>(<span class="code-params">context</span>) </span>{ </code></td></tr><tr><td id="L24847" class="css-a4x74f"><span>24847</span></td><td id="LC24847" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L24848" class="css-a4x74f"><span>24848</span></td><td id="LC24848" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> HASH$<span class="code-number">4</span>: </code></td></tr><tr><td id="L24849" class="css-a4x74f"><span>24849</span></td><td id="LC24849" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.HexColor(); </code></td></tr><tr><td id="L24850" class="css-a4x74f"><span>24850</span></td><td id="LC24850" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24851" class="css-a4x74f"><span>24851</span></td><td id="LC24851" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMA$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24852" class="css-a4x74f"><span>24852</span></td><td id="LC24852" class="css-1dcdqdg"><code> context.space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L24853" class="css-a4x74f"><span>24853</span></td><td id="LC24853" class="css-1dcdqdg"><code> context.ignoreWSAfter = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L24854" class="css-a4x74f"><span>24854</span></td><td id="LC24854" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Operator(); </code></td></tr><tr><td id="L24855" class="css-a4x74f"><span>24855</span></td><td id="LC24855" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24856" class="css-a4x74f"><span>24856</span></td><td id="LC24856" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTPARENTHESIS$<span class="code-number">5</span>: </code></td></tr><tr><td id="L24857" class="css-a4x74f"><span>24857</span></td><td id="LC24857" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Parentheses(<span class="code-keyword">this</span>.readSequence, context.recognizer); </code></td></tr><tr><td id="L24858" class="css-a4x74f"><span>24858</span></td><td id="LC24858" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24859" class="css-a4x74f"><span>24859</span></td><td id="LC24859" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTSQUAREBRACKET$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24860" class="css-a4x74f"><span>24860</span></td><td id="LC24860" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Brackets(<span class="code-keyword">this</span>.readSequence, context.recognizer); </code></td></tr><tr><td id="L24861" class="css-a4x74f"><span>24861</span></td><td id="LC24861" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24862" class="css-a4x74f"><span>24862</span></td><td id="LC24862" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> STRING$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24863" class="css-a4x74f"><span>24863</span></td><td id="LC24863" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.String(); </code></td></tr><tr><td id="L24864" class="css-a4x74f"><span>24864</span></td><td id="LC24864" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24865" class="css-a4x74f"><span>24865</span></td><td id="LC24865" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DIMENSION$<span class="code-number">6</span>: </code></td></tr><tr><td id="L24866" class="css-a4x74f"><span>24866</span></td><td id="LC24866" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Dimension(); </code></td></tr><tr><td id="L24867" class="css-a4x74f"><span>24867</span></td><td id="LC24867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24868" class="css-a4x74f"><span>24868</span></td><td id="LC24868" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PERCENTAGE$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24869" class="css-a4x74f"><span>24869</span></td><td id="LC24869" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Percentage(); </code></td></tr><tr><td id="L24870" class="css-a4x74f"><span>24870</span></td><td id="LC24870" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24871" class="css-a4x74f"><span>24871</span></td><td id="LC24871" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBER$<span class="code-number">8</span>: </code></td></tr><tr><td id="L24872" class="css-a4x74f"><span>24872</span></td><td id="LC24872" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Number(); </code></td></tr><tr><td id="L24873" class="css-a4x74f"><span>24873</span></td><td id="LC24873" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24874" class="css-a4x74f"><span>24874</span></td><td id="LC24874" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> FUNCTION$<span class="code-number">4</span>: </code></td></tr><tr><td id="L24875" class="css-a4x74f"><span>24875</span></td><td id="LC24875" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> cmpStr$<span class="code-number">5</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart, <span class="code-keyword">this</span>.scanner.tokenEnd, <span class="code-string">'url('</span>) </code></td></tr><tr><td id="L24876" class="css-a4x74f"><span>24876</span></td><td id="LC24876" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.Url() </code></td></tr><tr><td id="L24877" class="css-a4x74f"><span>24877</span></td><td id="LC24877" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.Function(<span class="code-keyword">this</span>.readSequence, context.recognizer); </code></td></tr><tr><td id="L24878" class="css-a4x74f"><span>24878</span></td><td id="LC24878" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24879" class="css-a4x74f"><span>24879</span></td><td id="LC24879" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> URL$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24880" class="css-a4x74f"><span>24880</span></td><td id="LC24880" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Url(); </code></td></tr><tr><td id="L24881" class="css-a4x74f"><span>24881</span></td><td id="LC24881" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24882" class="css-a4x74f"><span>24882</span></td><td id="LC24882" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$f: </code></td></tr><tr><td id="L24883" class="css-a4x74f"><span>24883</span></td><td id="LC24883" class="css-1dcdqdg"><code> <span class="code-comment">// check for unicode range, it should start with u+ or U+</span> </code></td></tr><tr><td id="L24884" class="css-a4x74f"><span>24884</span></td><td id="LC24884" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (cmpChar$<span class="code-number">5</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart, U$<span class="code-number">2</span>) && </code></td></tr><tr><td id="L24885" class="css-a4x74f"><span>24885</span></td><td id="LC24885" class="css-1dcdqdg"><code> cmpChar$<span class="code-number">5</span>(<span class="code-keyword">this</span>.scanner.source, <span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">1</span>, PLUSSIGN$<span class="code-number">7</span>)) { </code></td></tr><tr><td id="L24886" class="css-a4x74f"><span>24886</span></td><td id="LC24886" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.UnicodeRange(); </code></td></tr><tr><td id="L24887" class="css-a4x74f"><span>24887</span></td><td id="LC24887" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24888" class="css-a4x74f"><span>24888</span></td><td id="LC24888" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L24889" class="css-a4x74f"><span>24889</span></td><td id="LC24889" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24890" class="css-a4x74f"><span>24890</span></td><td id="LC24890" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24891" class="css-a4x74f"><span>24891</span></td><td id="LC24891" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DELIM$<span class="code-number">5</span>: </code></td></tr><tr><td id="L24892" class="css-a4x74f"><span>24892</span></td><td id="LC24892" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L24893" class="css-a4x74f"><span>24893</span></td><td id="LC24893" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24894" class="css-a4x74f"><span>24894</span></td><td id="LC24894" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === SOLIDUS$<span class="code-number">4</span> || </code></td></tr><tr><td id="L24895" class="css-a4x74f"><span>24895</span></td><td id="LC24895" class="css-1dcdqdg"><code> code === ASTERISK$<span class="code-number">5</span> || </code></td></tr><tr><td id="L24896" class="css-a4x74f"><span>24896</span></td><td id="LC24896" class="css-1dcdqdg"><code> code === PLUSSIGN$<span class="code-number">7</span> || </code></td></tr><tr><td id="L24897" class="css-a4x74f"><span>24897</span></td><td id="LC24897" class="css-1dcdqdg"><code> code === HYPHENMINUS$<span class="code-number">5</span>) { </code></td></tr><tr><td id="L24898" class="css-a4x74f"><span>24898</span></td><td id="LC24898" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Operator(); <span class="code-comment">// <span class="code-doctag">TODO:</span> replace with Delim</span> </code></td></tr><tr><td id="L24899" class="css-a4x74f"><span>24899</span></td><td id="LC24899" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24900" class="css-a4x74f"><span>24900</span></td><td id="LC24900" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24901" class="css-a4x74f"><span>24901</span></td><td id="LC24901" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> produce a node with Delim node type</span> </code></td></tr><tr><td id="L24902" class="css-a4x74f"><span>24902</span></td><td id="LC24902" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24903" class="css-a4x74f"><span>24903</span></td><td id="LC24903" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code === NUMBERSIGN$<span class="code-number">3</span>) { </code></td></tr><tr><td id="L24904" class="css-a4x74f"><span>24904</span></td><td id="LC24904" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Hex or identifier is expected'</span>, <span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">1</span>); </code></td></tr><tr><td id="L24905" class="css-a4x74f"><span>24905</span></td><td id="LC24905" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24906" class="css-a4x74f"><span>24906</span></td><td id="LC24906" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24907" class="css-a4x74f"><span>24907</span></td><td id="LC24907" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24908" class="css-a4x74f"><span>24908</span></td><td id="LC24908" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24909" class="css-a4x74f"><span>24909</span></td><td id="LC24909" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24910" class="css-a4x74f"><span>24910</span></td><td id="LC24910" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24911" class="css-a4x74f"><span>24911</span></td><td id="LC24911" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrulePrelude = { </code></td></tr><tr><td id="L24912" class="css-a4x74f"><span>24912</span></td><td id="LC24912" class="css-1dcdqdg"><code> getNode: _default </code></td></tr><tr><td id="L24913" class="css-a4x74f"><span>24913</span></td><td id="LC24913" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24914" class="css-a4x74f"><span>24914</span></td><td id="LC24914" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24915" class="css-a4x74f"><span>24915</span></td><td id="LC24915" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$E = tokenizer.TYPE; </code></td></tr><tr><td id="L24916" class="css-a4x74f"><span>24916</span></td><td id="LC24916" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24917" class="css-a4x74f"><span>24917</span></td><td id="LC24917" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DELIM$<span class="code-number">6</span> = TYPE$E.Delim; </code></td></tr><tr><td id="L24918" class="css-a4x74f"><span>24918</span></td><td id="LC24918" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$g = TYPE$E.Ident; </code></td></tr><tr><td id="L24919" class="css-a4x74f"><span>24919</span></td><td id="LC24919" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DIMENSION$<span class="code-number">7</span> = TYPE$E.Dimension; </code></td></tr><tr><td id="L24920" class="css-a4x74f"><span>24920</span></td><td id="LC24920" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PERCENTAGE$<span class="code-number">3</span> = TYPE$E.Percentage; </code></td></tr><tr><td id="L24921" class="css-a4x74f"><span>24921</span></td><td id="LC24921" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBER$<span class="code-number">9</span> = TYPE$E.Number; </code></td></tr><tr><td id="L24922" class="css-a4x74f"><span>24922</span></td><td id="LC24922" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> HASH$<span class="code-number">5</span> = TYPE$E.Hash; </code></td></tr><tr><td id="L24923" class="css-a4x74f"><span>24923</span></td><td id="LC24923" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">5</span> = TYPE$E.Colon; </code></td></tr><tr><td id="L24924" class="css-a4x74f"><span>24924</span></td><td id="LC24924" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTSQUAREBRACKET$<span class="code-number">4</span> = TYPE$E.LeftSquareBracket; </code></td></tr><tr><td id="L24925" class="css-a4x74f"><span>24925</span></td><td id="LC24925" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> NUMBERSIGN$<span class="code-number">4</span> = <span class="code-number">0x0023</span>; <span class="code-comment">// U+0023 NUMBER SIGN (#)</span> </code></td></tr><tr><td id="L24926" class="css-a4x74f"><span>24926</span></td><td id="LC24926" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ASTERISK$<span class="code-number">6</span> = <span class="code-number">0x002A</span>; <span class="code-comment">// U+002A ASTERISK (*)</span> </code></td></tr><tr><td id="L24927" class="css-a4x74f"><span>24927</span></td><td id="LC24927" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> PLUSSIGN$<span class="code-number">8</span> = <span class="code-number">0x002B</span>; <span class="code-comment">// U+002B PLUS SIGN (+)</span> </code></td></tr><tr><td id="L24928" class="css-a4x74f"><span>24928</span></td><td id="LC24928" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> SOLIDUS$<span class="code-number">5</span> = <span class="code-number">0x002F</span>; <span class="code-comment">// U+002F SOLIDUS (/)</span> </code></td></tr><tr><td id="L24929" class="css-a4x74f"><span>24929</span></td><td id="LC24929" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FULLSTOP$<span class="code-number">2</span> = <span class="code-number">0x002E</span>; <span class="code-comment">// U+002E FULL STOP (.)</span> </code></td></tr><tr><td id="L24930" class="css-a4x74f"><span>24930</span></td><td id="LC24930" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> GREATERTHANSIGN$<span class="code-number">2</span> = <span class="code-number">0x003E</span>; <span class="code-comment">// U+003E GREATER-THAN SIGN (>)</span> </code></td></tr><tr><td id="L24931" class="css-a4x74f"><span>24931</span></td><td id="LC24931" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> VERTICALLINE$<span class="code-number">3</span> = <span class="code-number">0x007C</span>; <span class="code-comment">// U+007C VERTICAL LINE (|)</span> </code></td></tr><tr><td id="L24932" class="css-a4x74f"><span>24932</span></td><td id="LC24932" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TILDE$<span class="code-number">2</span> = <span class="code-number">0x007E</span>; <span class="code-comment">// U+007E TILDE (~)</span> </code></td></tr><tr><td id="L24933" class="css-a4x74f"><span>24933</span></td><td id="LC24933" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24934" class="css-a4x74f"><span>24934</span></td><td id="LC24934" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">getNode</span>(<span class="code-params">context</span>) </span>{ </code></td></tr><tr><td id="L24935" class="css-a4x74f"><span>24935</span></td><td id="LC24935" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L24936" class="css-a4x74f"><span>24936</span></td><td id="LC24936" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTSQUAREBRACKET$<span class="code-number">4</span>: </code></td></tr><tr><td id="L24937" class="css-a4x74f"><span>24937</span></td><td id="LC24937" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.AttributeSelector(); </code></td></tr><tr><td id="L24938" class="css-a4x74f"><span>24938</span></td><td id="LC24938" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24939" class="css-a4x74f"><span>24939</span></td><td id="LC24939" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> HASH$<span class="code-number">5</span>: </code></td></tr><tr><td id="L24940" class="css-a4x74f"><span>24940</span></td><td id="LC24940" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.IdSelector(); </code></td></tr><tr><td id="L24941" class="css-a4x74f"><span>24941</span></td><td id="LC24941" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24942" class="css-a4x74f"><span>24942</span></td><td id="LC24942" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COLON$<span class="code-number">5</span>: </code></td></tr><tr><td id="L24943" class="css-a4x74f"><span>24943</span></td><td id="LC24943" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.lookupType(<span class="code-number">1</span>) === COLON$<span class="code-number">5</span>) { </code></td></tr><tr><td id="L24944" class="css-a4x74f"><span>24944</span></td><td id="LC24944" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.PseudoElementSelector(); </code></td></tr><tr><td id="L24945" class="css-a4x74f"><span>24945</span></td><td id="LC24945" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L24946" class="css-a4x74f"><span>24946</span></td><td id="LC24946" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.PseudoClassSelector(); </code></td></tr><tr><td id="L24947" class="css-a4x74f"><span>24947</span></td><td id="LC24947" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24948" class="css-a4x74f"><span>24948</span></td><td id="LC24948" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24949" class="css-a4x74f"><span>24949</span></td><td id="LC24949" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$g: </code></td></tr><tr><td id="L24950" class="css-a4x74f"><span>24950</span></td><td id="LC24950" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.TypeSelector(); </code></td></tr><tr><td id="L24951" class="css-a4x74f"><span>24951</span></td><td id="LC24951" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24952" class="css-a4x74f"><span>24952</span></td><td id="LC24952" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBER$<span class="code-number">9</span>: </code></td></tr><tr><td id="L24953" class="css-a4x74f"><span>24953</span></td><td id="LC24953" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PERCENTAGE$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24954" class="css-a4x74f"><span>24954</span></td><td id="LC24954" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Percentage(); </code></td></tr><tr><td id="L24955" class="css-a4x74f"><span>24955</span></td><td id="LC24955" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24956" class="css-a4x74f"><span>24956</span></td><td id="LC24956" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DIMENSION$<span class="code-number">7</span>: </code></td></tr><tr><td id="L24957" class="css-a4x74f"><span>24957</span></td><td id="LC24957" class="css-1dcdqdg"><code> <span class="code-comment">// throws when .123ident</span> </code></td></tr><tr><td id="L24958" class="css-a4x74f"><span>24958</span></td><td id="LC24958" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart) === FULLSTOP$<span class="code-number">2</span>) { </code></td></tr><tr><td id="L24959" class="css-a4x74f"><span>24959</span></td><td id="LC24959" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Identifier is expected'</span>, <span class="code-keyword">this</span>.scanner.tokenStart + <span class="code-number">1</span>); </code></td></tr><tr><td id="L24960" class="css-a4x74f"><span>24960</span></td><td id="LC24960" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24961" class="css-a4x74f"><span>24961</span></td><td id="LC24961" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24962" class="css-a4x74f"><span>24962</span></td><td id="LC24962" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24963" class="css-a4x74f"><span>24963</span></td><td id="LC24963" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> DELIM$<span class="code-number">6</span>: </code></td></tr><tr><td id="L24964" class="css-a4x74f"><span>24964</span></td><td id="LC24964" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> code = <span class="code-keyword">this</span>.scanner.source.charCodeAt(<span class="code-keyword">this</span>.scanner.tokenStart); </code></td></tr><tr><td id="L24965" class="css-a4x74f"><span>24965</span></td><td id="LC24965" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24966" class="css-a4x74f"><span>24966</span></td><td id="LC24966" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (code) { </code></td></tr><tr><td id="L24967" class="css-a4x74f"><span>24967</span></td><td id="LC24967" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> PLUSSIGN$<span class="code-number">8</span>: </code></td></tr><tr><td id="L24968" class="css-a4x74f"><span>24968</span></td><td id="LC24968" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> GREATERTHANSIGN$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24969" class="css-a4x74f"><span>24969</span></td><td id="LC24969" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> TILDE$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24970" class="css-a4x74f"><span>24970</span></td><td id="LC24970" class="css-1dcdqdg"><code> context.space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L24971" class="css-a4x74f"><span>24971</span></td><td id="LC24971" class="css-1dcdqdg"><code> context.ignoreWSAfter = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L24972" class="css-a4x74f"><span>24972</span></td><td id="LC24972" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Combinator(); </code></td></tr><tr><td id="L24973" class="css-a4x74f"><span>24973</span></td><td id="LC24973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24974" class="css-a4x74f"><span>24974</span></td><td id="LC24974" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> SOLIDUS$<span class="code-number">5</span>: <span class="code-comment">// /deep/</span> </code></td></tr><tr><td id="L24975" class="css-a4x74f"><span>24975</span></td><td id="LC24975" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Combinator(); </code></td></tr><tr><td id="L24976" class="css-a4x74f"><span>24976</span></td><td id="LC24976" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24977" class="css-a4x74f"><span>24977</span></td><td id="LC24977" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> FULLSTOP$<span class="code-number">2</span>: </code></td></tr><tr><td id="L24978" class="css-a4x74f"><span>24978</span></td><td id="LC24978" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.ClassSelector(); </code></td></tr><tr><td id="L24979" class="css-a4x74f"><span>24979</span></td><td id="LC24979" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24980" class="css-a4x74f"><span>24980</span></td><td id="LC24980" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> ASTERISK$<span class="code-number">6</span>: </code></td></tr><tr><td id="L24981" class="css-a4x74f"><span>24981</span></td><td id="LC24981" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> VERTICALLINE$<span class="code-number">3</span>: </code></td></tr><tr><td id="L24982" class="css-a4x74f"><span>24982</span></td><td id="LC24982" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.TypeSelector(); </code></td></tr><tr><td id="L24983" class="css-a4x74f"><span>24983</span></td><td id="LC24983" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24984" class="css-a4x74f"><span>24984</span></td><td id="LC24984" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> NUMBERSIGN$<span class="code-number">4</span>: </code></td></tr><tr><td id="L24985" class="css-a4x74f"><span>24985</span></td><td id="LC24985" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.IdSelector(); </code></td></tr><tr><td id="L24986" class="css-a4x74f"><span>24986</span></td><td id="LC24986" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24987" class="css-a4x74f"><span>24987</span></td><td id="LC24987" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24988" class="css-a4x74f"><span>24988</span></td><td id="LC24988" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L24989" class="css-a4x74f"><span>24989</span></td><td id="LC24989" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24990" class="css-a4x74f"><span>24990</span></td><td id="LC24990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L24991" class="css-a4x74f"><span>24991</span></td><td id="LC24991" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> selector = { </code></td></tr><tr><td id="L24992" class="css-a4x74f"><span>24992</span></td><td id="LC24992" class="css-1dcdqdg"><code> getNode: getNode </code></td></tr><tr><td id="L24993" class="css-a4x74f"><span>24993</span></td><td id="LC24993" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L24994" class="css-a4x74f"><span>24994</span></td><td id="LC24994" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L24995" class="css-a4x74f"><span>24995</span></td><td id="LC24995" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-images-4/#element-notation</span> </code></td></tr><tr><td id="L24996" class="css-a4x74f"><span>24996</span></td><td id="LC24996" class="css-1dcdqdg"><code> <span class="code-comment">// https://developer.mozilla.org/en-US/docs/Web/CSS/element</span> </code></td></tr><tr><td id="L24997" class="css-a4x74f"><span>24997</span></td><td id="LC24997" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> element = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L24998" class="css-a4x74f"><span>24998</span></td><td id="LC24998" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L24999" class="css-a4x74f"><span>24999</span></td><td id="LC24999" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25000" class="css-a4x74f"><span>25000</span></td><td id="LC25000" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25001" class="css-a4x74f"><span>25001</span></td><td id="LC25001" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.IdSelector() </code></td></tr><tr><td id="L25002" class="css-a4x74f"><span>25002</span></td><td id="LC25002" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25003" class="css-a4x74f"><span>25003</span></td><td id="LC25003" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25004" class="css-a4x74f"><span>25004</span></td><td id="LC25004" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25005" class="css-a4x74f"><span>25005</span></td><td id="LC25005" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25006" class="css-a4x74f"><span>25006</span></td><td id="LC25006" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L25007" class="css-a4x74f"><span>25007</span></td><td id="LC25007" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25008" class="css-a4x74f"><span>25008</span></td><td id="LC25008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25009" class="css-a4x74f"><span>25009</span></td><td id="LC25009" class="css-1dcdqdg"><code> <span class="code-comment">// legacy IE function</span> </code></td></tr><tr><td id="L25010" class="css-a4x74f"><span>25010</span></td><td id="LC25010" class="css-1dcdqdg"><code> <span class="code-comment">// expression( <any-value> )</span> </code></td></tr><tr><td id="L25011" class="css-a4x74f"><span>25011</span></td><td id="LC25011" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> expression = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25012" class="css-a4x74f"><span>25012</span></td><td id="LC25012" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25013" class="css-a4x74f"><span>25013</span></td><td id="LC25013" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Raw(<span class="code-keyword">this</span>.scanner.tokenIndex, <span class="code-literal">null</span>, <span class="code-literal">false</span>) </code></td></tr><tr><td id="L25014" class="css-a4x74f"><span>25014</span></td><td id="LC25014" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25015" class="css-a4x74f"><span>25015</span></td><td id="LC25015" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25016" class="css-a4x74f"><span>25016</span></td><td id="LC25016" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25017" class="css-a4x74f"><span>25017</span></td><td id="LC25017" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$F = tokenizer.TYPE; </code></td></tr><tr><td id="L25018" class="css-a4x74f"><span>25018</span></td><td id="LC25018" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> rawMode$<span class="code-number">5</span> = Raw.mode; </code></td></tr><tr><td id="L25019" class="css-a4x74f"><span>25019</span></td><td id="LC25019" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25020" class="css-a4x74f"><span>25020</span></td><td id="LC25020" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMA$<span class="code-number">4</span> = TYPE$F.Comma; </code></td></tr><tr><td id="L25021" class="css-a4x74f"><span>25021</span></td><td id="LC25021" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25022" class="css-a4x74f"><span>25022</span></td><td id="LC25022" class="css-1dcdqdg"><code> <span class="code-comment">// var( <ident> , <value>? )</span> </code></td></tr><tr><td id="L25023" class="css-a4x74f"><span>25023</span></td><td id="LC25023" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _var = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25024" class="css-a4x74f"><span>25024</span></td><td id="LC25024" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L25025" class="css-a4x74f"><span>25025</span></td><td id="LC25025" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25026" class="css-a4x74f"><span>25026</span></td><td id="LC25026" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25027" class="css-a4x74f"><span>25027</span></td><td id="LC25027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25028" class="css-a4x74f"><span>25028</span></td><td id="LC25028" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">NOTE:</span> Don't check more than a first argument is an ident, rest checks are for lexer</span> </code></td></tr><tr><td id="L25029" class="css-a4x74f"><span>25029</span></td><td id="LC25029" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.Identifier()); </code></td></tr><tr><td id="L25030" class="css-a4x74f"><span>25030</span></td><td id="LC25030" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25031" class="css-a4x74f"><span>25031</span></td><td id="LC25031" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25032" class="css-a4x74f"><span>25032</span></td><td id="LC25032" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25033" class="css-a4x74f"><span>25033</span></td><td id="LC25033" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === COMMA$<span class="code-number">4</span>) { </code></td></tr><tr><td id="L25034" class="css-a4x74f"><span>25034</span></td><td id="LC25034" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.Operator()); </code></td></tr><tr><td id="L25035" class="css-a4x74f"><span>25035</span></td><td id="LC25035" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.parseCustomProperty </code></td></tr><tr><td id="L25036" class="css-a4x74f"><span>25036</span></td><td id="LC25036" class="css-1dcdqdg"><code> ? <span class="code-keyword">this</span>.Value(<span class="code-literal">null</span>) </code></td></tr><tr><td id="L25037" class="css-a4x74f"><span>25037</span></td><td id="LC25037" class="css-1dcdqdg"><code> : <span class="code-keyword">this</span>.Raw(<span class="code-keyword">this</span>.scanner.tokenIndex, rawMode$<span class="code-number">5.</span>exclamationMarkOrSemicolon, <span class="code-literal">false</span>) </code></td></tr><tr><td id="L25038" class="css-a4x74f"><span>25038</span></td><td id="LC25038" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25039" class="css-a4x74f"><span>25039</span></td><td id="LC25039" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25040" class="css-a4x74f"><span>25040</span></td><td id="LC25040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25041" class="css-a4x74f"><span>25041</span></td><td id="LC25041" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L25042" class="css-a4x74f"><span>25042</span></td><td id="LC25042" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25043" class="css-a4x74f"><span>25043</span></td><td id="LC25043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25044" class="css-a4x74f"><span>25044</span></td><td id="LC25044" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> value = { </code></td></tr><tr><td id="L25045" class="css-a4x74f"><span>25045</span></td><td id="LC25045" class="css-1dcdqdg"><code> getNode: _default, </code></td></tr><tr><td id="L25046" class="css-a4x74f"><span>25046</span></td><td id="LC25046" class="css-1dcdqdg"><code> <span class="code-string">'-moz-element'</span>: element, </code></td></tr><tr><td id="L25047" class="css-a4x74f"><span>25047</span></td><td id="LC25047" class="css-1dcdqdg"><code> <span class="code-string">'element'</span>: element, </code></td></tr><tr><td id="L25048" class="css-a4x74f"><span>25048</span></td><td id="LC25048" class="css-1dcdqdg"><code> <span class="code-string">'expression'</span>: expression, </code></td></tr><tr><td id="L25049" class="css-a4x74f"><span>25049</span></td><td id="LC25049" class="css-1dcdqdg"><code> <span class="code-string">'var'</span>: _var </code></td></tr><tr><td id="L25050" class="css-a4x74f"><span>25050</span></td><td id="LC25050" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25051" class="css-a4x74f"><span>25051</span></td><td id="LC25051" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25052" class="css-a4x74f"><span>25052</span></td><td id="LC25052" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> scope = { </code></td></tr><tr><td id="L25053" class="css-a4x74f"><span>25053</span></td><td id="LC25053" class="css-1dcdqdg"><code> AtrulePrelude: atrulePrelude, </code></td></tr><tr><td id="L25054" class="css-a4x74f"><span>25054</span></td><td id="LC25054" class="css-1dcdqdg"><code> Selector: selector, </code></td></tr><tr><td id="L25055" class="css-a4x74f"><span>25055</span></td><td id="LC25055" class="css-1dcdqdg"><code> Value: value </code></td></tr><tr><td id="L25056" class="css-a4x74f"><span>25056</span></td><td id="LC25056" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25057" class="css-a4x74f"><span>25057</span></td><td id="LC25057" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25058" class="css-a4x74f"><span>25058</span></td><td id="LC25058" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> fontFace = { </code></td></tr><tr><td id="L25059" class="css-a4x74f"><span>25059</span></td><td id="LC25059" class="css-1dcdqdg"><code> parse: { </code></td></tr><tr><td id="L25060" class="css-a4x74f"><span>25060</span></td><td id="LC25060" class="css-1dcdqdg"><code> prelude: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L25061" class="css-a4x74f"><span>25061</span></td><td id="LC25061" class="css-1dcdqdg"><code> block: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25062" class="css-a4x74f"><span>25062</span></td><td id="LC25062" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Block(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L25063" class="css-a4x74f"><span>25063</span></td><td id="LC25063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25064" class="css-a4x74f"><span>25064</span></td><td id="LC25064" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25065" class="css-a4x74f"><span>25065</span></td><td id="LC25065" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25066" class="css-a4x74f"><span>25066</span></td><td id="LC25066" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25067" class="css-a4x74f"><span>25067</span></td><td id="LC25067" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$G = tokenizer.TYPE; </code></td></tr><tr><td id="L25068" class="css-a4x74f"><span>25068</span></td><td id="LC25068" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25069" class="css-a4x74f"><span>25069</span></td><td id="LC25069" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> STRING$<span class="code-number">3</span> = TYPE$G.String; </code></td></tr><tr><td id="L25070" class="css-a4x74f"><span>25070</span></td><td id="LC25070" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$h = TYPE$G.Ident; </code></td></tr><tr><td id="L25071" class="css-a4x74f"><span>25071</span></td><td id="LC25071" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> URL$<span class="code-number">4</span> = TYPE$G.Url; </code></td></tr><tr><td id="L25072" class="css-a4x74f"><span>25072</span></td><td id="LC25072" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">5</span> = TYPE$G.Function; </code></td></tr><tr><td id="L25073" class="css-a4x74f"><span>25073</span></td><td id="LC25073" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">6</span> = TYPE$G.LeftParenthesis; </code></td></tr><tr><td id="L25074" class="css-a4x74f"><span>25074</span></td><td id="LC25074" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25075" class="css-a4x74f"><span>25075</span></td><td id="LC25075" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> _import = { </code></td></tr><tr><td id="L25076" class="css-a4x74f"><span>25076</span></td><td id="LC25076" class="css-1dcdqdg"><code> parse: { </code></td></tr><tr><td id="L25077" class="css-a4x74f"><span>25077</span></td><td id="LC25077" class="css-1dcdqdg"><code> prelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25078" class="css-a4x74f"><span>25078</span></td><td id="LC25078" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L25079" class="css-a4x74f"><span>25079</span></td><td id="LC25079" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25080" class="css-a4x74f"><span>25080</span></td><td id="LC25080" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25081" class="css-a4x74f"><span>25081</span></td><td id="LC25081" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25082" class="css-a4x74f"><span>25082</span></td><td id="LC25082" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L25083" class="css-a4x74f"><span>25083</span></td><td id="LC25083" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> STRING$<span class="code-number">3</span>: </code></td></tr><tr><td id="L25084" class="css-a4x74f"><span>25084</span></td><td id="LC25084" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.String()); </code></td></tr><tr><td id="L25085" class="css-a4x74f"><span>25085</span></td><td id="LC25085" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L25086" class="css-a4x74f"><span>25086</span></td><td id="LC25086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25087" class="css-a4x74f"><span>25087</span></td><td id="LC25087" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> URL$<span class="code-number">4</span>: </code></td></tr><tr><td id="L25088" class="css-a4x74f"><span>25088</span></td><td id="LC25088" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> FUNCTION$<span class="code-number">5</span>: </code></td></tr><tr><td id="L25089" class="css-a4x74f"><span>25089</span></td><td id="LC25089" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.Url()); </code></td></tr><tr><td id="L25090" class="css-a4x74f"><span>25090</span></td><td id="LC25090" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L25091" class="css-a4x74f"><span>25091</span></td><td id="LC25091" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25092" class="css-a4x74f"><span>25092</span></td><td id="LC25092" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L25093" class="css-a4x74f"><span>25093</span></td><td id="LC25093" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'String or url() is expected'</span>); </code></td></tr><tr><td id="L25094" class="css-a4x74f"><span>25094</span></td><td id="LC25094" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25095" class="css-a4x74f"><span>25095</span></td><td id="LC25095" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25096" class="css-a4x74f"><span>25096</span></td><td id="LC25096" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.lookupNonWSType(<span class="code-number">0</span>) === IDENT$h || </code></td></tr><tr><td id="L25097" class="css-a4x74f"><span>25097</span></td><td id="LC25097" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.lookupNonWSType(<span class="code-number">0</span>) === LEFTPARENTHESIS$<span class="code-number">6</span>) { </code></td></tr><tr><td id="L25098" class="css-a4x74f"><span>25098</span></td><td id="LC25098" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.WhiteSpace()); </code></td></tr><tr><td id="L25099" class="css-a4x74f"><span>25099</span></td><td id="LC25099" class="css-1dcdqdg"><code> children.push(<span class="code-keyword">this</span>.MediaQueryList()); </code></td></tr><tr><td id="L25100" class="css-a4x74f"><span>25100</span></td><td id="LC25100" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25101" class="css-a4x74f"><span>25101</span></td><td id="LC25101" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25102" class="css-a4x74f"><span>25102</span></td><td id="LC25102" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L25103" class="css-a4x74f"><span>25103</span></td><td id="LC25103" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25104" class="css-a4x74f"><span>25104</span></td><td id="LC25104" class="css-1dcdqdg"><code> block: <span class="code-literal">null</span> </code></td></tr><tr><td id="L25105" class="css-a4x74f"><span>25105</span></td><td id="LC25105" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25106" class="css-a4x74f"><span>25106</span></td><td id="LC25106" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25107" class="css-a4x74f"><span>25107</span></td><td id="LC25107" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25108" class="css-a4x74f"><span>25108</span></td><td id="LC25108" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> media = { </code></td></tr><tr><td id="L25109" class="css-a4x74f"><span>25109</span></td><td id="LC25109" class="css-1dcdqdg"><code> parse: { </code></td></tr><tr><td id="L25110" class="css-a4x74f"><span>25110</span></td><td id="LC25110" class="css-1dcdqdg"><code> prelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25111" class="css-a4x74f"><span>25111</span></td><td id="LC25111" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25112" class="css-a4x74f"><span>25112</span></td><td id="LC25112" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.MediaQueryList() </code></td></tr><tr><td id="L25113" class="css-a4x74f"><span>25113</span></td><td id="LC25113" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25114" class="css-a4x74f"><span>25114</span></td><td id="LC25114" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25115" class="css-a4x74f"><span>25115</span></td><td id="LC25115" class="css-1dcdqdg"><code> block: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25116" class="css-a4x74f"><span>25116</span></td><td id="LC25116" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Block(<span class="code-literal">false</span>); </code></td></tr><tr><td id="L25117" class="css-a4x74f"><span>25117</span></td><td id="LC25117" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25118" class="css-a4x74f"><span>25118</span></td><td id="LC25118" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25119" class="css-a4x74f"><span>25119</span></td><td id="LC25119" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25120" class="css-a4x74f"><span>25120</span></td><td id="LC25120" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25121" class="css-a4x74f"><span>25121</span></td><td id="LC25121" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> page = { </code></td></tr><tr><td id="L25122" class="css-a4x74f"><span>25122</span></td><td id="LC25122" class="css-1dcdqdg"><code> parse: { </code></td></tr><tr><td id="L25123" class="css-a4x74f"><span>25123</span></td><td id="LC25123" class="css-1dcdqdg"><code> prelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25124" class="css-a4x74f"><span>25124</span></td><td id="LC25124" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25125" class="css-a4x74f"><span>25125</span></td><td id="LC25125" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.SelectorList() </code></td></tr><tr><td id="L25126" class="css-a4x74f"><span>25126</span></td><td id="LC25126" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25127" class="css-a4x74f"><span>25127</span></td><td id="LC25127" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25128" class="css-a4x74f"><span>25128</span></td><td id="LC25128" class="css-1dcdqdg"><code> block: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25129" class="css-a4x74f"><span>25129</span></td><td id="LC25129" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Block(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L25130" class="css-a4x74f"><span>25130</span></td><td id="LC25130" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25131" class="css-a4x74f"><span>25131</span></td><td id="LC25131" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25132" class="css-a4x74f"><span>25132</span></td><td id="LC25132" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25133" class="css-a4x74f"><span>25133</span></td><td id="LC25133" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25134" class="css-a4x74f"><span>25134</span></td><td id="LC25134" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> TYPE$H = tokenizer.TYPE; </code></td></tr><tr><td id="L25135" class="css-a4x74f"><span>25135</span></td><td id="LC25135" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25136" class="css-a4x74f"><span>25136</span></td><td id="LC25136" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> WHITESPACE$a = TYPE$H.WhiteSpace; </code></td></tr><tr><td id="L25137" class="css-a4x74f"><span>25137</span></td><td id="LC25137" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COMMENT$<span class="code-number">9</span> = TYPE$H.Comment; </code></td></tr><tr><td id="L25138" class="css-a4x74f"><span>25138</span></td><td id="LC25138" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> IDENT$i = TYPE$H.Ident; </code></td></tr><tr><td id="L25139" class="css-a4x74f"><span>25139</span></td><td id="LC25139" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> FUNCTION$<span class="code-number">6</span> = TYPE$H.Function; </code></td></tr><tr><td id="L25140" class="css-a4x74f"><span>25140</span></td><td id="LC25140" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> COLON$<span class="code-number">6</span> = TYPE$H.Colon; </code></td></tr><tr><td id="L25141" class="css-a4x74f"><span>25141</span></td><td id="LC25141" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> LEFTPARENTHESIS$<span class="code-number">7</span> = TYPE$H.LeftParenthesis; </code></td></tr><tr><td id="L25142" class="css-a4x74f"><span>25142</span></td><td id="LC25142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25143" class="css-a4x74f"><span>25143</span></td><td id="LC25143" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">consumeRaw$5</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25144" class="css-a4x74f"><span>25144</span></td><td id="LC25144" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25145" class="css-a4x74f"><span>25145</span></td><td id="LC25145" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Raw(<span class="code-keyword">this</span>.scanner.tokenIndex, <span class="code-literal">null</span>, <span class="code-literal">false</span>) </code></td></tr><tr><td id="L25146" class="css-a4x74f"><span>25146</span></td><td id="LC25146" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25147" class="css-a4x74f"><span>25147</span></td><td id="LC25147" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25148" class="css-a4x74f"><span>25148</span></td><td id="LC25148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25149" class="css-a4x74f"><span>25149</span></td><td id="LC25149" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">parentheses</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25150" class="css-a4x74f"><span>25150</span></td><td id="LC25150" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25151" class="css-a4x74f"><span>25151</span></td><td id="LC25151" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25152" class="css-a4x74f"><span>25152</span></td><td id="LC25152" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.scanner.tokenType === IDENT$i && </code></td></tr><tr><td id="L25153" class="css-a4x74f"><span>25153</span></td><td id="LC25153" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.lookupNonWSType(<span class="code-number">1</span>) === COLON$<span class="code-number">6</span>) { </code></td></tr><tr><td id="L25154" class="css-a4x74f"><span>25154</span></td><td id="LC25154" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25155" class="css-a4x74f"><span>25155</span></td><td id="LC25155" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Declaration() </code></td></tr><tr><td id="L25156" class="css-a4x74f"><span>25156</span></td><td id="LC25156" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25157" class="css-a4x74f"><span>25157</span></td><td id="LC25157" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25158" class="css-a4x74f"><span>25158</span></td><td id="LC25158" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25159" class="css-a4x74f"><span>25159</span></td><td id="LC25159" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> readSequence.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25160" class="css-a4x74f"><span>25160</span></td><td id="LC25160" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25161" class="css-a4x74f"><span>25161</span></td><td id="LC25161" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25162" class="css-a4x74f"><span>25162</span></td><td id="LC25162" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">readSequence</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25163" class="css-a4x74f"><span>25163</span></td><td id="LC25163" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = <span class="code-keyword">this</span>.createList(); </code></td></tr><tr><td id="L25164" class="css-a4x74f"><span>25164</span></td><td id="LC25164" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L25165" class="css-a4x74f"><span>25165</span></td><td id="LC25165" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> child; </code></td></tr><tr><td id="L25166" class="css-a4x74f"><span>25166</span></td><td id="LC25166" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25167" class="css-a4x74f"><span>25167</span></td><td id="LC25167" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.skipSC(); </code></td></tr><tr><td id="L25168" class="css-a4x74f"><span>25168</span></td><td id="LC25168" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25169" class="css-a4x74f"><span>25169</span></td><td id="LC25169" class="css-1dcdqdg"><code> scan: </code></td></tr><tr><td id="L25170" class="css-a4x74f"><span>25170</span></td><td id="LC25170" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!<span class="code-keyword">this</span>.scanner.eof) { </code></td></tr><tr><td id="L25171" class="css-a4x74f"><span>25171</span></td><td id="LC25171" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (<span class="code-keyword">this</span>.scanner.tokenType) { </code></td></tr><tr><td id="L25172" class="css-a4x74f"><span>25172</span></td><td id="LC25172" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> WHITESPACE$a: </code></td></tr><tr><td id="L25173" class="css-a4x74f"><span>25173</span></td><td id="LC25173" class="css-1dcdqdg"><code> space = <span class="code-keyword">this</span>.WhiteSpace(); </code></td></tr><tr><td id="L25174" class="css-a4x74f"><span>25174</span></td><td id="LC25174" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L25175" class="css-a4x74f"><span>25175</span></td><td id="LC25175" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25176" class="css-a4x74f"><span>25176</span></td><td id="LC25176" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> COMMENT$<span class="code-number">9</span>: </code></td></tr><tr><td id="L25177" class="css-a4x74f"><span>25177</span></td><td id="LC25177" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scanner.next(); </code></td></tr><tr><td id="L25178" class="css-a4x74f"><span>25178</span></td><td id="LC25178" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L25179" class="css-a4x74f"><span>25179</span></td><td id="LC25179" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25180" class="css-a4x74f"><span>25180</span></td><td id="LC25180" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> FUNCTION$<span class="code-number">6</span>: </code></td></tr><tr><td id="L25181" class="css-a4x74f"><span>25181</span></td><td id="LC25181" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.Function(consumeRaw$<span class="code-number">5</span>, <span class="code-keyword">this</span>.scope.AtrulePrelude); </code></td></tr><tr><td id="L25182" class="css-a4x74f"><span>25182</span></td><td id="LC25182" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L25183" class="css-a4x74f"><span>25183</span></td><td id="LC25183" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25184" class="css-a4x74f"><span>25184</span></td><td id="LC25184" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> IDENT$i: </code></td></tr><tr><td id="L25185" class="css-a4x74f"><span>25185</span></td><td id="LC25185" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.Identifier(); </code></td></tr><tr><td id="L25186" class="css-a4x74f"><span>25186</span></td><td id="LC25186" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L25187" class="css-a4x74f"><span>25187</span></td><td id="LC25187" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25188" class="css-a4x74f"><span>25188</span></td><td id="LC25188" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> LEFTPARENTHESIS$<span class="code-number">7</span>: </code></td></tr><tr><td id="L25189" class="css-a4x74f"><span>25189</span></td><td id="LC25189" class="css-1dcdqdg"><code> child = <span class="code-keyword">this</span>.Parentheses(parentheses, <span class="code-keyword">this</span>.scope.AtrulePrelude); </code></td></tr><tr><td id="L25190" class="css-a4x74f"><span>25190</span></td><td id="LC25190" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L25191" class="css-a4x74f"><span>25191</span></td><td id="LC25191" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25192" class="css-a4x74f"><span>25192</span></td><td id="LC25192" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L25193" class="css-a4x74f"><span>25193</span></td><td id="LC25193" class="css-1dcdqdg"><code> <span class="code-keyword">break</span> scan; </code></td></tr><tr><td id="L25194" class="css-a4x74f"><span>25194</span></td><td id="LC25194" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25195" class="css-a4x74f"><span>25195</span></td><td id="LC25195" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25196" class="css-a4x74f"><span>25196</span></td><td id="LC25196" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (space !== <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L25197" class="css-a4x74f"><span>25197</span></td><td id="LC25197" class="css-1dcdqdg"><code> children.push(space); </code></td></tr><tr><td id="L25198" class="css-a4x74f"><span>25198</span></td><td id="LC25198" class="css-1dcdqdg"><code> space = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L25199" class="css-a4x74f"><span>25199</span></td><td id="LC25199" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25200" class="css-a4x74f"><span>25200</span></td><td id="LC25200" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25201" class="css-a4x74f"><span>25201</span></td><td id="LC25201" class="css-1dcdqdg"><code> children.push(child); </code></td></tr><tr><td id="L25202" class="css-a4x74f"><span>25202</span></td><td id="LC25202" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25203" class="css-a4x74f"><span>25203</span></td><td id="LC25203" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25204" class="css-a4x74f"><span>25204</span></td><td id="LC25204" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L25205" class="css-a4x74f"><span>25205</span></td><td id="LC25205" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25206" class="css-a4x74f"><span>25206</span></td><td id="LC25206" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25207" class="css-a4x74f"><span>25207</span></td><td id="LC25207" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> supports = { </code></td></tr><tr><td id="L25208" class="css-a4x74f"><span>25208</span></td><td id="LC25208" class="css-1dcdqdg"><code> parse: { </code></td></tr><tr><td id="L25209" class="css-a4x74f"><span>25209</span></td><td id="LC25209" class="css-1dcdqdg"><code> prelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25210" class="css-a4x74f"><span>25210</span></td><td id="LC25210" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> children = readSequence.call(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25211" class="css-a4x74f"><span>25211</span></td><td id="LC25211" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25212" class="css-a4x74f"><span>25212</span></td><td id="LC25212" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.getFirstListNode(children) === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L25213" class="css-a4x74f"><span>25213</span></td><td id="LC25213" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.error(<span class="code-string">'Condition is expected'</span>); </code></td></tr><tr><td id="L25214" class="css-a4x74f"><span>25214</span></td><td id="LC25214" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25215" class="css-a4x74f"><span>25215</span></td><td id="LC25215" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25216" class="css-a4x74f"><span>25216</span></td><td id="LC25216" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> children; </code></td></tr><tr><td id="L25217" class="css-a4x74f"><span>25217</span></td><td id="LC25217" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25218" class="css-a4x74f"><span>25218</span></td><td id="LC25218" class="css-1dcdqdg"><code> block: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25219" class="css-a4x74f"><span>25219</span></td><td id="LC25219" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Block(<span class="code-literal">false</span>); </code></td></tr><tr><td id="L25220" class="css-a4x74f"><span>25220</span></td><td id="LC25220" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25221" class="css-a4x74f"><span>25221</span></td><td id="LC25221" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25222" class="css-a4x74f"><span>25222</span></td><td id="LC25222" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25223" class="css-a4x74f"><span>25223</span></td><td id="LC25223" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25224" class="css-a4x74f"><span>25224</span></td><td id="LC25224" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> atrule = { </code></td></tr><tr><td id="L25225" class="css-a4x74f"><span>25225</span></td><td id="LC25225" class="css-1dcdqdg"><code> <span class="code-string">'font-face'</span>: fontFace, </code></td></tr><tr><td id="L25226" class="css-a4x74f"><span>25226</span></td><td id="LC25226" class="css-1dcdqdg"><code> <span class="code-string">'import'</span>: _import, </code></td></tr><tr><td id="L25227" class="css-a4x74f"><span>25227</span></td><td id="LC25227" class="css-1dcdqdg"><code> <span class="code-string">'media'</span>: media, </code></td></tr><tr><td id="L25228" class="css-a4x74f"><span>25228</span></td><td id="LC25228" class="css-1dcdqdg"><code> <span class="code-string">'page'</span>: page, </code></td></tr><tr><td id="L25229" class="css-a4x74f"><span>25229</span></td><td id="LC25229" class="css-1dcdqdg"><code> <span class="code-string">'supports'</span>: supports </code></td></tr><tr><td id="L25230" class="css-a4x74f"><span>25230</span></td><td id="LC25230" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25231" class="css-a4x74f"><span>25231</span></td><td id="LC25231" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25232" class="css-a4x74f"><span>25232</span></td><td id="LC25232" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> dir = { </code></td></tr><tr><td id="L25233" class="css-a4x74f"><span>25233</span></td><td id="LC25233" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25234" class="css-a4x74f"><span>25234</span></td><td id="LC25234" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25235" class="css-a4x74f"><span>25235</span></td><td id="LC25235" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Identifier() </code></td></tr><tr><td id="L25236" class="css-a4x74f"><span>25236</span></td><td id="LC25236" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25237" class="css-a4x74f"><span>25237</span></td><td id="LC25237" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25238" class="css-a4x74f"><span>25238</span></td><td id="LC25238" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25239" class="css-a4x74f"><span>25239</span></td><td id="LC25239" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25240" class="css-a4x74f"><span>25240</span></td><td id="LC25240" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> has$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L25241" class="css-a4x74f"><span>25241</span></td><td id="LC25241" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25242" class="css-a4x74f"><span>25242</span></td><td id="LC25242" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25243" class="css-a4x74f"><span>25243</span></td><td id="LC25243" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.SelectorList() </code></td></tr><tr><td id="L25244" class="css-a4x74f"><span>25244</span></td><td id="LC25244" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25245" class="css-a4x74f"><span>25245</span></td><td id="LC25245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25246" class="css-a4x74f"><span>25246</span></td><td id="LC25246" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25247" class="css-a4x74f"><span>25247</span></td><td id="LC25247" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25248" class="css-a4x74f"><span>25248</span></td><td id="LC25248" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lang = { </code></td></tr><tr><td id="L25249" class="css-a4x74f"><span>25249</span></td><td id="LC25249" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25250" class="css-a4x74f"><span>25250</span></td><td id="LC25250" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25251" class="css-a4x74f"><span>25251</span></td><td id="LC25251" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Identifier() </code></td></tr><tr><td id="L25252" class="css-a4x74f"><span>25252</span></td><td id="LC25252" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25253" class="css-a4x74f"><span>25253</span></td><td id="LC25253" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25254" class="css-a4x74f"><span>25254</span></td><td id="LC25254" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25255" class="css-a4x74f"><span>25255</span></td><td id="LC25255" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25256" class="css-a4x74f"><span>25256</span></td><td id="LC25256" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> selectorList = { </code></td></tr><tr><td id="L25257" class="css-a4x74f"><span>25257</span></td><td id="LC25257" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">selectorList</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25258" class="css-a4x74f"><span>25258</span></td><td id="LC25258" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25259" class="css-a4x74f"><span>25259</span></td><td id="LC25259" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.SelectorList() </code></td></tr><tr><td id="L25260" class="css-a4x74f"><span>25260</span></td><td id="LC25260" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25261" class="css-a4x74f"><span>25261</span></td><td id="LC25261" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25262" class="css-a4x74f"><span>25262</span></td><td id="LC25262" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25263" class="css-a4x74f"><span>25263</span></td><td id="LC25263" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25264" class="css-a4x74f"><span>25264</span></td><td id="LC25264" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matches = selectorList; </code></td></tr><tr><td id="L25265" class="css-a4x74f"><span>25265</span></td><td id="LC25265" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25266" class="css-a4x74f"><span>25266</span></td><td id="LC25266" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> not = selectorList; </code></td></tr><tr><td id="L25267" class="css-a4x74f"><span>25267</span></td><td id="LC25267" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25268" class="css-a4x74f"><span>25268</span></td><td id="LC25268" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ALLOW_OF_CLAUSE = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L25269" class="css-a4x74f"><span>25269</span></td><td id="LC25269" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25270" class="css-a4x74f"><span>25270</span></td><td id="LC25270" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nthWithOfClause = { </code></td></tr><tr><td id="L25271" class="css-a4x74f"><span>25271</span></td><td id="LC25271" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">nthWithOfClause</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25272" class="css-a4x74f"><span>25272</span></td><td id="LC25272" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25273" class="css-a4x74f"><span>25273</span></td><td id="LC25273" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Nth(ALLOW_OF_CLAUSE) </code></td></tr><tr><td id="L25274" class="css-a4x74f"><span>25274</span></td><td id="LC25274" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25275" class="css-a4x74f"><span>25275</span></td><td id="LC25275" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25276" class="css-a4x74f"><span>25276</span></td><td id="LC25276" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25277" class="css-a4x74f"><span>25277</span></td><td id="LC25277" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25278" class="css-a4x74f"><span>25278</span></td><td id="LC25278" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nthChild = nthWithOfClause; </code></td></tr><tr><td id="L25279" class="css-a4x74f"><span>25279</span></td><td id="LC25279" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25280" class="css-a4x74f"><span>25280</span></td><td id="LC25280" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nthLastChild = nthWithOfClause; </code></td></tr><tr><td id="L25281" class="css-a4x74f"><span>25281</span></td><td id="LC25281" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25282" class="css-a4x74f"><span>25282</span></td><td id="LC25282" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> DISALLOW_OF_CLAUSE = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L25283" class="css-a4x74f"><span>25283</span></td><td id="LC25283" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25284" class="css-a4x74f"><span>25284</span></td><td id="LC25284" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nth$<span class="code-number">1</span> = { </code></td></tr><tr><td id="L25285" class="css-a4x74f"><span>25285</span></td><td id="LC25285" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">nth</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25286" class="css-a4x74f"><span>25286</span></td><td id="LC25286" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25287" class="css-a4x74f"><span>25287</span></td><td id="LC25287" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Nth(DISALLOW_OF_CLAUSE) </code></td></tr><tr><td id="L25288" class="css-a4x74f"><span>25288</span></td><td id="LC25288" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25289" class="css-a4x74f"><span>25289</span></td><td id="LC25289" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25290" class="css-a4x74f"><span>25290</span></td><td id="LC25290" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25291" class="css-a4x74f"><span>25291</span></td><td id="LC25291" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25292" class="css-a4x74f"><span>25292</span></td><td id="LC25292" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nthLastOfType = nth$<span class="code-number">1</span>; </code></td></tr><tr><td id="L25293" class="css-a4x74f"><span>25293</span></td><td id="LC25293" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25294" class="css-a4x74f"><span>25294</span></td><td id="LC25294" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> nthOfType = nth$<span class="code-number">1</span>; </code></td></tr><tr><td id="L25295" class="css-a4x74f"><span>25295</span></td><td id="LC25295" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25296" class="css-a4x74f"><span>25296</span></td><td id="LC25296" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> slotted = { </code></td></tr><tr><td id="L25297" class="css-a4x74f"><span>25297</span></td><td id="LC25297" class="css-1dcdqdg"><code> parse: <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">compoundSelector</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25298" class="css-a4x74f"><span>25298</span></td><td id="LC25298" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.createSingleNodeList( </code></td></tr><tr><td id="L25299" class="css-a4x74f"><span>25299</span></td><td id="LC25299" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.Selector() </code></td></tr><tr><td id="L25300" class="css-a4x74f"><span>25300</span></td><td id="LC25300" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25301" class="css-a4x74f"><span>25301</span></td><td id="LC25301" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25302" class="css-a4x74f"><span>25302</span></td><td id="LC25302" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25303" class="css-a4x74f"><span>25303</span></td><td id="LC25303" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25304" class="css-a4x74f"><span>25304</span></td><td id="LC25304" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pseudo = { </code></td></tr><tr><td id="L25305" class="css-a4x74f"><span>25305</span></td><td id="LC25305" class="css-1dcdqdg"><code> <span class="code-string">'dir'</span>: dir, </code></td></tr><tr><td id="L25306" class="css-a4x74f"><span>25306</span></td><td id="LC25306" class="css-1dcdqdg"><code> <span class="code-string">'has'</span>: has$<span class="code-number">1</span>, </code></td></tr><tr><td id="L25307" class="css-a4x74f"><span>25307</span></td><td id="LC25307" class="css-1dcdqdg"><code> <span class="code-string">'lang'</span>: lang, </code></td></tr><tr><td id="L25308" class="css-a4x74f"><span>25308</span></td><td id="LC25308" class="css-1dcdqdg"><code> <span class="code-string">'matches'</span>: matches, </code></td></tr><tr><td id="L25309" class="css-a4x74f"><span>25309</span></td><td id="LC25309" class="css-1dcdqdg"><code> <span class="code-string">'not'</span>: not, </code></td></tr><tr><td id="L25310" class="css-a4x74f"><span>25310</span></td><td id="LC25310" class="css-1dcdqdg"><code> <span class="code-string">'nth-child'</span>: nthChild, </code></td></tr><tr><td id="L25311" class="css-a4x74f"><span>25311</span></td><td id="LC25311" class="css-1dcdqdg"><code> <span class="code-string">'nth-last-child'</span>: nthLastChild, </code></td></tr><tr><td id="L25312" class="css-a4x74f"><span>25312</span></td><td id="LC25312" class="css-1dcdqdg"><code> <span class="code-string">'nth-last-of-type'</span>: nthLastOfType, </code></td></tr><tr><td id="L25313" class="css-a4x74f"><span>25313</span></td><td id="LC25313" class="css-1dcdqdg"><code> <span class="code-string">'nth-of-type'</span>: nthOfType, </code></td></tr><tr><td id="L25314" class="css-a4x74f"><span>25314</span></td><td id="LC25314" class="css-1dcdqdg"><code> <span class="code-string">'slotted'</span>: slotted </code></td></tr><tr><td id="L25315" class="css-a4x74f"><span>25315</span></td><td id="LC25315" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25316" class="css-a4x74f"><span>25316</span></td><td id="LC25316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25317" class="css-a4x74f"><span>25317</span></td><td id="LC25317" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> parser = { </code></td></tr><tr><td id="L25318" class="css-a4x74f"><span>25318</span></td><td id="LC25318" class="css-1dcdqdg"><code> parseContext: { </code></td></tr><tr><td id="L25319" class="css-a4x74f"><span>25319</span></td><td id="LC25319" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: <span class="code-string">'StyleSheet'</span>, </code></td></tr><tr><td id="L25320" class="css-a4x74f"><span>25320</span></td><td id="LC25320" class="css-1dcdqdg"><code> stylesheet: <span class="code-string">'StyleSheet'</span>, </code></td></tr><tr><td id="L25321" class="css-a4x74f"><span>25321</span></td><td id="LC25321" class="css-1dcdqdg"><code> atrule: <span class="code-string">'Atrule'</span>, </code></td></tr><tr><td id="L25322" class="css-a4x74f"><span>25322</span></td><td id="LC25322" class="css-1dcdqdg"><code> atrulePrelude: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">options</span>) </span>{ </code></td></tr><tr><td id="L25323" class="css-a4x74f"><span>25323</span></td><td id="LC25323" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.AtrulePrelude(options.atrule ? <span class="code-built_in">String</span>(options.atrule) : <span class="code-literal">null</span>); </code></td></tr><tr><td id="L25324" class="css-a4x74f"><span>25324</span></td><td id="LC25324" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25325" class="css-a4x74f"><span>25325</span></td><td id="LC25325" class="css-1dcdqdg"><code> mediaQueryList: <span class="code-string">'MediaQueryList'</span>, </code></td></tr><tr><td id="L25326" class="css-a4x74f"><span>25326</span></td><td id="LC25326" class="css-1dcdqdg"><code> mediaQuery: <span class="code-string">'MediaQuery'</span>, </code></td></tr><tr><td id="L25327" class="css-a4x74f"><span>25327</span></td><td id="LC25327" class="css-1dcdqdg"><code> rule: <span class="code-string">'Rule'</span>, </code></td></tr><tr><td id="L25328" class="css-a4x74f"><span>25328</span></td><td id="LC25328" class="css-1dcdqdg"><code> selectorList: <span class="code-string">'SelectorList'</span>, </code></td></tr><tr><td id="L25329" class="css-a4x74f"><span>25329</span></td><td id="LC25329" class="css-1dcdqdg"><code> selector: <span class="code-string">'Selector'</span>, </code></td></tr><tr><td id="L25330" class="css-a4x74f"><span>25330</span></td><td id="LC25330" class="css-1dcdqdg"><code> block: <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25331" class="css-a4x74f"><span>25331</span></td><td id="LC25331" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.Block(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L25332" class="css-a4x74f"><span>25332</span></td><td id="LC25332" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25333" class="css-a4x74f"><span>25333</span></td><td id="LC25333" class="css-1dcdqdg"><code> declarationList: <span class="code-string">'DeclarationList'</span>, </code></td></tr><tr><td id="L25334" class="css-a4x74f"><span>25334</span></td><td id="LC25334" class="css-1dcdqdg"><code> declaration: <span class="code-string">'Declaration'</span>, </code></td></tr><tr><td id="L25335" class="css-a4x74f"><span>25335</span></td><td id="LC25335" class="css-1dcdqdg"><code> value: <span class="code-string">'Value'</span> </code></td></tr><tr><td id="L25336" class="css-a4x74f"><span>25336</span></td><td id="LC25336" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L25337" class="css-a4x74f"><span>25337</span></td><td id="LC25337" class="css-1dcdqdg"><code> scope: scope, </code></td></tr><tr><td id="L25338" class="css-a4x74f"><span>25338</span></td><td id="LC25338" class="css-1dcdqdg"><code> atrule: atrule, </code></td></tr><tr><td id="L25339" class="css-a4x74f"><span>25339</span></td><td id="LC25339" class="css-1dcdqdg"><code> pseudo: pseudo, </code></td></tr><tr><td id="L25340" class="css-a4x74f"><span>25340</span></td><td id="LC25340" class="css-1dcdqdg"><code> node: node </code></td></tr><tr><td id="L25341" class="css-a4x74f"><span>25341</span></td><td id="LC25341" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25342" class="css-a4x74f"><span>25342</span></td><td id="LC25342" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25343" class="css-a4x74f"><span>25343</span></td><td id="LC25343" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> walker = { </code></td></tr><tr><td id="L25344" class="css-a4x74f"><span>25344</span></td><td id="LC25344" class="css-1dcdqdg"><code> node: node </code></td></tr><tr><td id="L25345" class="css-a4x74f"><span>25345</span></td><td id="LC25345" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25346" class="css-a4x74f"><span>25346</span></td><td id="LC25346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25347" class="css-a4x74f"><span>25347</span></td><td id="LC25347" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">merge</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L25348" class="css-a4x74f"><span>25348</span></td><td id="LC25348" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> dest = {}; </code></td></tr><tr><td id="L25349" class="css-a4x74f"><span>25349</span></td><td id="LC25349" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25350" class="css-a4x74f"><span>25350</span></td><td id="LC25350" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < <span class="code-built_in">arguments</span>.length; i++) { </code></td></tr><tr><td id="L25351" class="css-a4x74f"><span>25351</span></td><td id="LC25351" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> src = <span class="code-built_in">arguments</span>[i]; </code></td></tr><tr><td id="L25352" class="css-a4x74f"><span>25352</span></td><td id="LC25352" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> key <span class="code-keyword">in</span> src) { </code></td></tr><tr><td id="L25353" class="css-a4x74f"><span>25353</span></td><td id="LC25353" class="css-1dcdqdg"><code> dest[key] = src[key]; </code></td></tr><tr><td id="L25354" class="css-a4x74f"><span>25354</span></td><td id="LC25354" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25355" class="css-a4x74f"><span>25355</span></td><td id="LC25355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25356" class="css-a4x74f"><span>25356</span></td><td id="LC25356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25357" class="css-a4x74f"><span>25357</span></td><td id="LC25357" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> dest; </code></td></tr><tr><td id="L25358" class="css-a4x74f"><span>25358</span></td><td id="LC25358" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25359" class="css-a4x74f"><span>25359</span></td><td id="LC25359" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25360" class="css-a4x74f"><span>25360</span></td><td id="LC25360" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> syntax = create$<span class="code-number">5.</span>create( </code></td></tr><tr><td id="L25361" class="css-a4x74f"><span>25361</span></td><td id="LC25361" class="css-1dcdqdg"><code> merge( </code></td></tr><tr><td id="L25362" class="css-a4x74f"><span>25362</span></td><td id="LC25362" class="css-1dcdqdg"><code> lexer, </code></td></tr><tr><td id="L25363" class="css-a4x74f"><span>25363</span></td><td id="LC25363" class="css-1dcdqdg"><code> parser, </code></td></tr><tr><td id="L25364" class="css-a4x74f"><span>25364</span></td><td id="LC25364" class="css-1dcdqdg"><code> walker </code></td></tr><tr><td id="L25365" class="css-a4x74f"><span>25365</span></td><td id="LC25365" class="css-1dcdqdg"><code> ) </code></td></tr><tr><td id="L25366" class="css-a4x74f"><span>25366</span></td><td id="LC25366" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L25367" class="css-a4x74f"><span>25367</span></td><td id="LC25367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25368" class="css-a4x74f"><span>25368</span></td><td id="LC25368" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> lib = syntax; </code></td></tr><tr><td id="L25369" class="css-a4x74f"><span>25369</span></td><td id="LC25369" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25370" class="css-a4x74f"><span>25370</span></td><td id="LC25370" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Sheet</span> </span>{ </code></td></tr><tr><td id="L25371" class="css-a4x74f"><span>25371</span></td><td id="LC25371" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(url, hooks) { </code></td></tr><tr><td id="L25372" class="css-a4x74f"><span>25372</span></td><td id="LC25372" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25373" class="css-a4x74f"><span>25373</span></td><td id="LC25373" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hooks) { </code></td></tr><tr><td id="L25374" class="css-a4x74f"><span>25374</span></td><td id="LC25374" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = hooks; </code></td></tr><tr><td id="L25375" class="css-a4x74f"><span>25375</span></td><td id="LC25375" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L25376" class="css-a4x74f"><span>25376</span></td><td id="LC25376" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = {}; </code></td></tr><tr><td id="L25377" class="css-a4x74f"><span>25377</span></td><td id="LC25377" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onUrl = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25378" class="css-a4x74f"><span>25378</span></td><td id="LC25378" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtPage = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25379" class="css-a4x74f"><span>25379</span></td><td id="LC25379" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtMedia = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25380" class="css-a4x74f"><span>25380</span></td><td id="LC25380" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onRule = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25381" class="css-a4x74f"><span>25381</span></td><td id="LC25381" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onDeclaration = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25382" class="css-a4x74f"><span>25382</span></td><td id="LC25382" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onSelector = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25383" class="css-a4x74f"><span>25383</span></td><td id="LC25383" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onPseudoSelector = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25384" class="css-a4x74f"><span>25384</span></td><td id="LC25384" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25385" class="css-a4x74f"><span>25385</span></td><td id="LC25385" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onContent = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25386" class="css-a4x74f"><span>25386</span></td><td id="LC25386" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onImport = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25387" class="css-a4x74f"><span>25387</span></td><td id="LC25387" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25388" class="css-a4x74f"><span>25388</span></td><td id="LC25388" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeTreeParse = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25389" class="css-a4x74f"><span>25389</span></td><td id="LC25389" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeTreeWalk = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25390" class="css-a4x74f"><span>25390</span></td><td id="LC25390" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterTreeWalk = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25391" class="css-a4x74f"><span>25391</span></td><td id="LC25391" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25392" class="css-a4x74f"><span>25392</span></td><td id="LC25392" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25393" class="css-a4x74f"><span>25393</span></td><td id="LC25393" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L25394" class="css-a4x74f"><span>25394</span></td><td id="LC25394" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.url = <span class="code-keyword">new</span> URL(url, <span class="code-built_in">window</span>.location.href); </code></td></tr><tr><td id="L25395" class="css-a4x74f"><span>25395</span></td><td id="LC25395" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L25396" class="css-a4x74f"><span>25396</span></td><td id="LC25396" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.url = <span class="code-keyword">new</span> URL(<span class="code-built_in">window</span>.location.href); </code></td></tr><tr><td id="L25397" class="css-a4x74f"><span>25397</span></td><td id="LC25397" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25398" class="css-a4x74f"><span>25398</span></td><td id="LC25398" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25399" class="css-a4x74f"><span>25399</span></td><td id="LC25399" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25400" class="css-a4x74f"><span>25400</span></td><td id="LC25400" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25401" class="css-a4x74f"><span>25401</span></td><td id="LC25401" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25402" class="css-a4x74f"><span>25402</span></td><td id="LC25402" class="css-1dcdqdg"><code> <span class="code-comment">// parse</span> </code></td></tr><tr><td id="L25403" class="css-a4x74f"><span>25403</span></td><td id="LC25403" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> parse(text) { </code></td></tr><tr><td id="L25404" class="css-a4x74f"><span>25404</span></td><td id="LC25404" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.text = text; </code></td></tr><tr><td id="L25405" class="css-a4x74f"><span>25405</span></td><td id="LC25405" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25406" class="css-a4x74f"><span>25406</span></td><td id="LC25406" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforeTreeParse.trigger(<span class="code-keyword">this</span>.text, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25407" class="css-a4x74f"><span>25407</span></td><td id="LC25407" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25408" class="css-a4x74f"><span>25408</span></td><td id="LC25408" class="css-1dcdqdg"><code> <span class="code-comment">// send to csstree</span> </code></td></tr><tr><td id="L25409" class="css-a4x74f"><span>25409</span></td><td id="LC25409" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.ast = lib.parse(<span class="code-keyword">this</span>._text); </code></td></tr><tr><td id="L25410" class="css-a4x74f"><span>25410</span></td><td id="LC25410" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25411" class="css-a4x74f"><span>25411</span></td><td id="LC25411" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforeTreeWalk.trigger(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25412" class="css-a4x74f"><span>25412</span></td><td id="LC25412" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25413" class="css-a4x74f"><span>25413</span></td><td id="LC25413" class="css-1dcdqdg"><code> <span class="code-comment">// Replace urls</span> </code></td></tr><tr><td id="L25414" class="css-a4x74f"><span>25414</span></td><td id="LC25414" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.replaceUrls(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25415" class="css-a4x74f"><span>25415</span></td><td id="LC25415" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25416" class="css-a4x74f"><span>25416</span></td><td id="LC25416" class="css-1dcdqdg"><code> <span class="code-comment">// Scope</span> </code></td></tr><tr><td id="L25417" class="css-a4x74f"><span>25417</span></td><td id="LC25417" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.id = UUID(); </code></td></tr><tr><td id="L25418" class="css-a4x74f"><span>25418</span></td><td id="LC25418" class="css-1dcdqdg"><code> <span class="code-comment">// this.addScope(this.ast, this.uuid);</span> </code></td></tr><tr><td id="L25419" class="css-a4x74f"><span>25419</span></td><td id="LC25419" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25420" class="css-a4x74f"><span>25420</span></td><td id="LC25420" class="css-1dcdqdg"><code> <span class="code-comment">// Replace IDs with data-id</span> </code></td></tr><tr><td id="L25421" class="css-a4x74f"><span>25421</span></td><td id="LC25421" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.replaceIds(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25422" class="css-a4x74f"><span>25422</span></td><td id="LC25422" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25423" class="css-a4x74f"><span>25423</span></td><td id="LC25423" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.imported = []; </code></td></tr><tr><td id="L25424" class="css-a4x74f"><span>25424</span></td><td id="LC25424" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25425" class="css-a4x74f"><span>25425</span></td><td id="LC25425" class="css-1dcdqdg"><code> <span class="code-comment">// Trigger Hooks</span> </code></td></tr><tr><td id="L25426" class="css-a4x74f"><span>25426</span></td><td id="LC25426" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.urls(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25427" class="css-a4x74f"><span>25427</span></td><td id="LC25427" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.rules(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25428" class="css-a4x74f"><span>25428</span></td><td id="LC25428" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.atrules(<span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25429" class="css-a4x74f"><span>25429</span></td><td id="LC25429" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25430" class="css-a4x74f"><span>25430</span></td><td id="LC25430" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterTreeWalk.trigger(<span class="code-keyword">this</span>.ast, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L25431" class="css-a4x74f"><span>25431</span></td><td id="LC25431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25432" class="css-a4x74f"><span>25432</span></td><td id="LC25432" class="css-1dcdqdg"><code> <span class="code-comment">// return ast</span> </code></td></tr><tr><td id="L25433" class="css-a4x74f"><span>25433</span></td><td id="LC25433" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.ast; </code></td></tr><tr><td id="L25434" class="css-a4x74f"><span>25434</span></td><td id="LC25434" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25435" class="css-a4x74f"><span>25435</span></td><td id="LC25435" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25436" class="css-a4x74f"><span>25436</span></td><td id="LC25436" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25437" class="css-a4x74f"><span>25437</span></td><td id="LC25437" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25438" class="css-a4x74f"><span>25438</span></td><td id="LC25438" class="css-1dcdqdg"><code> insertRule(rule) { </code></td></tr><tr><td id="L25439" class="css-a4x74f"><span>25439</span></td><td id="LC25439" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> inserted = <span class="code-keyword">this</span>.ast.children.appendData(rule); </code></td></tr><tr><td id="L25440" class="css-a4x74f"><span>25440</span></td><td id="LC25440" class="css-1dcdqdg"><code> inserted.forEach(<span class="code-function">(<span class="code-params">item</span>) =></span> { </code></td></tr><tr><td id="L25441" class="css-a4x74f"><span>25441</span></td><td id="LC25441" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.declarations(item); </code></td></tr><tr><td id="L25442" class="css-a4x74f"><span>25442</span></td><td id="LC25442" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25443" class="css-a4x74f"><span>25443</span></td><td id="LC25443" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25444" class="css-a4x74f"><span>25444</span></td><td id="LC25444" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25445" class="css-a4x74f"><span>25445</span></td><td id="LC25445" class="css-1dcdqdg"><code> urls(ast) { </code></td></tr><tr><td id="L25446" class="css-a4x74f"><span>25446</span></td><td id="LC25446" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25447" class="css-a4x74f"><span>25447</span></td><td id="LC25447" class="css-1dcdqdg"><code> visit: <span class="code-string">"Url"</span>, </code></td></tr><tr><td id="L25448" class="css-a4x74f"><span>25448</span></td><td id="LC25448" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25449" class="css-a4x74f"><span>25449</span></td><td id="LC25449" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onUrl.trigger(node, item, list); </code></td></tr><tr><td id="L25450" class="css-a4x74f"><span>25450</span></td><td id="LC25450" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25451" class="css-a4x74f"><span>25451</span></td><td id="LC25451" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25452" class="css-a4x74f"><span>25452</span></td><td id="LC25452" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25453" class="css-a4x74f"><span>25453</span></td><td id="LC25453" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25454" class="css-a4x74f"><span>25454</span></td><td id="LC25454" class="css-1dcdqdg"><code> atrules(ast) { </code></td></tr><tr><td id="L25455" class="css-a4x74f"><span>25455</span></td><td id="LC25455" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25456" class="css-a4x74f"><span>25456</span></td><td id="LC25456" class="css-1dcdqdg"><code> visit: <span class="code-string">"Atrule"</span>, </code></td></tr><tr><td id="L25457" class="css-a4x74f"><span>25457</span></td><td id="LC25457" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25458" class="css-a4x74f"><span>25458</span></td><td id="LC25458" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> basename = lib.keyword(node.name).basename; </code></td></tr><tr><td id="L25459" class="css-a4x74f"><span>25459</span></td><td id="LC25459" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25460" class="css-a4x74f"><span>25460</span></td><td id="LC25460" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (basename === <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L25461" class="css-a4x74f"><span>25461</span></td><td id="LC25461" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtPage.trigger(node, item, list); </code></td></tr><tr><td id="L25462" class="css-a4x74f"><span>25462</span></td><td id="LC25462" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.declarations(node, item, list); </code></td></tr><tr><td id="L25463" class="css-a4x74f"><span>25463</span></td><td id="LC25463" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25464" class="css-a4x74f"><span>25464</span></td><td id="LC25464" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25465" class="css-a4x74f"><span>25465</span></td><td id="LC25465" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (basename === <span class="code-string">"media"</span>) { </code></td></tr><tr><td id="L25466" class="css-a4x74f"><span>25466</span></td><td id="LC25466" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtMedia.trigger(node, item, list); </code></td></tr><tr><td id="L25467" class="css-a4x74f"><span>25467</span></td><td id="LC25467" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.declarations(node, item, list); </code></td></tr><tr><td id="L25468" class="css-a4x74f"><span>25468</span></td><td id="LC25468" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25469" class="css-a4x74f"><span>25469</span></td><td id="LC25469" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25470" class="css-a4x74f"><span>25470</span></td><td id="LC25470" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (basename === <span class="code-string">"import"</span>) { </code></td></tr><tr><td id="L25471" class="css-a4x74f"><span>25471</span></td><td id="LC25471" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onImport.trigger(node, item, list); </code></td></tr><tr><td id="L25472" class="css-a4x74f"><span>25472</span></td><td id="LC25472" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.imports(node, item, list); </code></td></tr><tr><td id="L25473" class="css-a4x74f"><span>25473</span></td><td id="LC25473" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25474" class="css-a4x74f"><span>25474</span></td><td id="LC25474" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25475" class="css-a4x74f"><span>25475</span></td><td id="LC25475" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25476" class="css-a4x74f"><span>25476</span></td><td id="LC25476" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25477" class="css-a4x74f"><span>25477</span></td><td id="LC25477" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25478" class="css-a4x74f"><span>25478</span></td><td id="LC25478" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25479" class="css-a4x74f"><span>25479</span></td><td id="LC25479" class="css-1dcdqdg"><code> rules(ast) { </code></td></tr><tr><td id="L25480" class="css-a4x74f"><span>25480</span></td><td id="LC25480" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25481" class="css-a4x74f"><span>25481</span></td><td id="LC25481" class="css-1dcdqdg"><code> visit: <span class="code-string">"Rule"</span>, </code></td></tr><tr><td id="L25482" class="css-a4x74f"><span>25482</span></td><td id="LC25482" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">ruleNode, ruleItem, rulelist</span>) =></span> { </code></td></tr><tr><td id="L25483" class="css-a4x74f"><span>25483</span></td><td id="LC25483" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("rule", ruleNode);</span> </code></td></tr><tr><td id="L25484" class="css-a4x74f"><span>25484</span></td><td id="LC25484" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25485" class="css-a4x74f"><span>25485</span></td><td id="LC25485" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onRule.trigger(ruleNode, ruleItem, rulelist); </code></td></tr><tr><td id="L25486" class="css-a4x74f"><span>25486</span></td><td id="LC25486" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.declarations(ruleNode, ruleItem, rulelist); </code></td></tr><tr><td id="L25487" class="css-a4x74f"><span>25487</span></td><td id="LC25487" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.onSelector(ruleNode, ruleItem, rulelist); </code></td></tr><tr><td id="L25488" class="css-a4x74f"><span>25488</span></td><td id="LC25488" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25489" class="css-a4x74f"><span>25489</span></td><td id="LC25489" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25490" class="css-a4x74f"><span>25490</span></td><td id="LC25490" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25491" class="css-a4x74f"><span>25491</span></td><td id="LC25491" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25492" class="css-a4x74f"><span>25492</span></td><td id="LC25492" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25493" class="css-a4x74f"><span>25493</span></td><td id="LC25493" class="css-1dcdqdg"><code> declarations(ruleNode, ruleItem, rulelist) { </code></td></tr><tr><td id="L25494" class="css-a4x74f"><span>25494</span></td><td id="LC25494" class="css-1dcdqdg"><code> lib.walk(ruleNode, { </code></td></tr><tr><td id="L25495" class="css-a4x74f"><span>25495</span></td><td id="LC25495" class="css-1dcdqdg"><code> visit: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L25496" class="css-a4x74f"><span>25496</span></td><td id="LC25496" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">declarationNode, dItem, dList</span>) =></span> { </code></td></tr><tr><td id="L25497" class="css-a4x74f"><span>25497</span></td><td id="LC25497" class="css-1dcdqdg"><code> <span class="code-comment">// console.log(declarationNode);</span> </code></td></tr><tr><td id="L25498" class="css-a4x74f"><span>25498</span></td><td id="LC25498" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25499" class="css-a4x74f"><span>25499</span></td><td id="LC25499" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onDeclaration.trigger(declarationNode, dItem, dList, {ruleNode, ruleItem, rulelist}); </code></td></tr><tr><td id="L25500" class="css-a4x74f"><span>25500</span></td><td id="LC25500" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25501" class="css-a4x74f"><span>25501</span></td><td id="LC25501" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarationNode.property === <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L25502" class="css-a4x74f"><span>25502</span></td><td id="LC25502" class="css-1dcdqdg"><code> lib.walk(declarationNode, { </code></td></tr><tr><td id="L25503" class="css-a4x74f"><span>25503</span></td><td id="LC25503" class="css-1dcdqdg"><code> visit: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L25504" class="css-a4x74f"><span>25504</span></td><td id="LC25504" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">funcNode, fItem, fList</span>) =></span> { </code></td></tr><tr><td id="L25505" class="css-a4x74f"><span>25505</span></td><td id="LC25505" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onContent.trigger(funcNode, fItem, fList, {declarationNode, dItem, dList}, {ruleNode, ruleItem, rulelist}); </code></td></tr><tr><td id="L25506" class="css-a4x74f"><span>25506</span></td><td id="LC25506" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25507" class="css-a4x74f"><span>25507</span></td><td id="LC25507" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25508" class="css-a4x74f"><span>25508</span></td><td id="LC25508" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25509" class="css-a4x74f"><span>25509</span></td><td id="LC25509" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25510" class="css-a4x74f"><span>25510</span></td><td id="LC25510" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25511" class="css-a4x74f"><span>25511</span></td><td id="LC25511" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25512" class="css-a4x74f"><span>25512</span></td><td id="LC25512" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25513" class="css-a4x74f"><span>25513</span></td><td id="LC25513" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25514" class="css-a4x74f"><span>25514</span></td><td id="LC25514" class="css-1dcdqdg"><code> <span class="code-comment">// add pseudo elements to parser</span> </code></td></tr><tr><td id="L25515" class="css-a4x74f"><span>25515</span></td><td id="LC25515" class="css-1dcdqdg"><code> onSelector(ruleNode, ruleItem, rulelist) { </code></td></tr><tr><td id="L25516" class="css-a4x74f"><span>25516</span></td><td id="LC25516" class="css-1dcdqdg"><code> lib.walk(ruleNode, { </code></td></tr><tr><td id="L25517" class="css-a4x74f"><span>25517</span></td><td id="LC25517" class="css-1dcdqdg"><code> visit: <span class="code-string">"Selector"</span>, </code></td></tr><tr><td id="L25518" class="css-a4x74f"><span>25518</span></td><td id="LC25518" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">selectNode, selectItem, selectList</span>) =></span> { </code></td></tr><tr><td id="L25519" class="css-a4x74f"><span>25519</span></td><td id="LC25519" class="css-1dcdqdg"><code> <span class="code-comment">// console.log(selectNode);</span> </code></td></tr><tr><td id="L25520" class="css-a4x74f"><span>25520</span></td><td id="LC25520" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onSelector.trigger(selectNode, selectItem, selectList, {ruleNode, ruleItem, rulelist}); </code></td></tr><tr><td id="L25521" class="css-a4x74f"><span>25521</span></td><td id="LC25521" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25522" class="css-a4x74f"><span>25522</span></td><td id="LC25522" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selectNode.children.forEach(<span class="code-function"><span class="code-params">node</span> =></span> {<span class="code-keyword">if</span> (node.type === <span class="code-string">"PseudoElementSelector"</span>) { </code></td></tr><tr><td id="L25523" class="css-a4x74f"><span>25523</span></td><td id="LC25523" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L25524" class="css-a4x74f"><span>25524</span></td><td id="LC25524" class="css-1dcdqdg"><code> visit: <span class="code-string">"PseudoElementSelector"</span>, </code></td></tr><tr><td id="L25525" class="css-a4x74f"><span>25525</span></td><td id="LC25525" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">pseudoNode, pItem, pList</span>) =></span> { </code></td></tr><tr><td id="L25526" class="css-a4x74f"><span>25526</span></td><td id="LC25526" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onPseudoSelector.trigger(pseudoNode, pItem, pList, {selectNode, selectItem, selectList}, {ruleNode, ruleItem, rulelist}); </code></td></tr><tr><td id="L25527" class="css-a4x74f"><span>25527</span></td><td id="LC25527" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25528" class="css-a4x74f"><span>25528</span></td><td id="LC25528" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25529" class="css-a4x74f"><span>25529</span></td><td id="LC25529" class="css-1dcdqdg"><code> }})); </code></td></tr><tr><td id="L25530" class="css-a4x74f"><span>25530</span></td><td id="LC25530" class="css-1dcdqdg"><code> <span class="code-comment">// else {</span> </code></td></tr><tr><td id="L25531" class="css-a4x74f"><span>25531</span></td><td id="LC25531" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("dommage");</span> </code></td></tr><tr><td id="L25532" class="css-a4x74f"><span>25532</span></td><td id="LC25532" class="css-1dcdqdg"><code> <span class="code-comment">// }</span> </code></td></tr><tr><td id="L25533" class="css-a4x74f"><span>25533</span></td><td id="LC25533" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25534" class="css-a4x74f"><span>25534</span></td><td id="LC25534" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25535" class="css-a4x74f"><span>25535</span></td><td id="LC25535" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25536" class="css-a4x74f"><span>25536</span></td><td id="LC25536" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25537" class="css-a4x74f"><span>25537</span></td><td id="LC25537" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25538" class="css-a4x74f"><span>25538</span></td><td id="LC25538" class="css-1dcdqdg"><code> replaceUrls(ast) { </code></td></tr><tr><td id="L25539" class="css-a4x74f"><span>25539</span></td><td id="LC25539" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25540" class="css-a4x74f"><span>25540</span></td><td id="LC25540" class="css-1dcdqdg"><code> visit: <span class="code-string">"Url"</span>, </code></td></tr><tr><td id="L25541" class="css-a4x74f"><span>25541</span></td><td id="LC25541" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25542" class="css-a4x74f"><span>25542</span></td><td id="LC25542" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> content = node.value.value; </code></td></tr><tr><td id="L25543" class="css-a4x74f"><span>25543</span></td><td id="LC25543" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((node.value.type === <span class="code-string">"Raw"</span> && content.startsWith(<span class="code-string">"data:"</span>)) || (node.value.type === <span class="code-string">"String"</span> && (content.startsWith(<span class="code-string">"\"data:"</span>) || content.startsWith(<span class="code-string">"'data:"</span>)))) ; <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L25544" class="css-a4x74f"><span>25544</span></td><td id="LC25544" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> href = content.replace(<span class="code-regexp">/["']/g</span>, <span class="code-string">""</span>); </code></td></tr><tr><td id="L25545" class="css-a4x74f"><span>25545</span></td><td id="LC25545" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> url = <span class="code-keyword">new</span> URL(href, <span class="code-keyword">this</span>.url); </code></td></tr><tr><td id="L25546" class="css-a4x74f"><span>25546</span></td><td id="LC25546" class="css-1dcdqdg"><code> node.value.value = url.toString(); </code></td></tr><tr><td id="L25547" class="css-a4x74f"><span>25547</span></td><td id="LC25547" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25548" class="css-a4x74f"><span>25548</span></td><td id="LC25548" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25549" class="css-a4x74f"><span>25549</span></td><td id="LC25549" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25550" class="css-a4x74f"><span>25550</span></td><td id="LC25550" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25551" class="css-a4x74f"><span>25551</span></td><td id="LC25551" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25552" class="css-a4x74f"><span>25552</span></td><td id="LC25552" class="css-1dcdqdg"><code> addScope(ast, id) { </code></td></tr><tr><td id="L25553" class="css-a4x74f"><span>25553</span></td><td id="LC25553" class="css-1dcdqdg"><code> <span class="code-comment">// Get all selector lists</span> </code></td></tr><tr><td id="L25554" class="css-a4x74f"><span>25554</span></td><td id="LC25554" class="css-1dcdqdg"><code> <span class="code-comment">// add an id</span> </code></td></tr><tr><td id="L25555" class="css-a4x74f"><span>25555</span></td><td id="LC25555" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25556" class="css-a4x74f"><span>25556</span></td><td id="LC25556" class="css-1dcdqdg"><code> visit: <span class="code-string">"Selector"</span>, </code></td></tr><tr><td id="L25557" class="css-a4x74f"><span>25557</span></td><td id="LC25557" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25558" class="css-a4x74f"><span>25558</span></td><td id="LC25558" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = node.children; </code></td></tr><tr><td id="L25559" class="css-a4x74f"><span>25559</span></td><td id="LC25559" class="css-1dcdqdg"><code> children.prepend(children.createItem({ </code></td></tr><tr><td id="L25560" class="css-a4x74f"><span>25560</span></td><td id="LC25560" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L25561" class="css-a4x74f"><span>25561</span></td><td id="LC25561" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L25562" class="css-a4x74f"><span>25562</span></td><td id="LC25562" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L25563" class="css-a4x74f"><span>25563</span></td><td id="LC25563" class="css-1dcdqdg"><code> children.prepend(children.createItem({ </code></td></tr><tr><td id="L25564" class="css-a4x74f"><span>25564</span></td><td id="LC25564" class="css-1dcdqdg"><code> type: <span class="code-string">"IdSelector"</span>, </code></td></tr><tr><td id="L25565" class="css-a4x74f"><span>25565</span></td><td id="LC25565" class="css-1dcdqdg"><code> name: id, </code></td></tr><tr><td id="L25566" class="css-a4x74f"><span>25566</span></td><td id="LC25566" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L25567" class="css-a4x74f"><span>25567</span></td><td id="LC25567" class="css-1dcdqdg"><code> children: <span class="code-literal">null</span> </code></td></tr><tr><td id="L25568" class="css-a4x74f"><span>25568</span></td><td id="LC25568" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L25569" class="css-a4x74f"><span>25569</span></td><td id="LC25569" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25570" class="css-a4x74f"><span>25570</span></td><td id="LC25570" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25571" class="css-a4x74f"><span>25571</span></td><td id="LC25571" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25572" class="css-a4x74f"><span>25572</span></td><td id="LC25572" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25573" class="css-a4x74f"><span>25573</span></td><td id="LC25573" class="css-1dcdqdg"><code> getNamedPageSelectors(ast) { </code></td></tr><tr><td id="L25574" class="css-a4x74f"><span>25574</span></td><td id="LC25574" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> namedPageSelectors = {}; </code></td></tr><tr><td id="L25575" class="css-a4x74f"><span>25575</span></td><td id="LC25575" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25576" class="css-a4x74f"><span>25576</span></td><td id="LC25576" class="css-1dcdqdg"><code> visit: <span class="code-string">"Rule"</span>, </code></td></tr><tr><td id="L25577" class="css-a4x74f"><span>25577</span></td><td id="LC25577" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25578" class="css-a4x74f"><span>25578</span></td><td id="LC25578" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L25579" class="css-a4x74f"><span>25579</span></td><td id="LC25579" class="css-1dcdqdg"><code> visit: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L25580" class="css-a4x74f"><span>25580</span></td><td id="LC25580" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">declaration, dItem, dList</span>) =></span> { </code></td></tr><tr><td id="L25581" class="css-a4x74f"><span>25581</span></td><td id="LC25581" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L25582" class="css-a4x74f"><span>25582</span></td><td id="LC25582" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = declaration.value.children.first(); </code></td></tr><tr><td id="L25583" class="css-a4x74f"><span>25583</span></td><td id="LC25583" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = value.name; </code></td></tr><tr><td id="L25584" class="css-a4x74f"><span>25584</span></td><td id="LC25584" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(node.prelude); </code></td></tr><tr><td id="L25585" class="css-a4x74f"><span>25585</span></td><td id="LC25585" class="css-1dcdqdg"><code> namedPageSelectors[name] = { </code></td></tr><tr><td id="L25586" class="css-a4x74f"><span>25586</span></td><td id="LC25586" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L25587" class="css-a4x74f"><span>25587</span></td><td id="LC25587" class="css-1dcdqdg"><code> selector: selector </code></td></tr><tr><td id="L25588" class="css-a4x74f"><span>25588</span></td><td id="LC25588" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L25589" class="css-a4x74f"><span>25589</span></td><td id="LC25589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25590" class="css-a4x74f"><span>25590</span></td><td id="LC25590" class="css-1dcdqdg"><code> <span class="code-comment">// dList.remove(dItem);</span> </code></td></tr><tr><td id="L25591" class="css-a4x74f"><span>25591</span></td><td id="LC25591" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25592" class="css-a4x74f"><span>25592</span></td><td id="LC25592" class="css-1dcdqdg"><code> <span class="code-comment">// Add in page break</span> </code></td></tr><tr><td id="L25593" class="css-a4x74f"><span>25593</span></td><td id="LC25593" class="css-1dcdqdg"><code> declaration.property = <span class="code-string">"break-before"</span>; </code></td></tr><tr><td id="L25594" class="css-a4x74f"><span>25594</span></td><td id="LC25594" class="css-1dcdqdg"><code> value.type = <span class="code-string">"Identifier"</span>; </code></td></tr><tr><td id="L25595" class="css-a4x74f"><span>25595</span></td><td id="LC25595" class="css-1dcdqdg"><code> value.name = <span class="code-string">"always"</span>; </code></td></tr><tr><td id="L25596" class="css-a4x74f"><span>25596</span></td><td id="LC25596" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25597" class="css-a4x74f"><span>25597</span></td><td id="LC25597" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25598" class="css-a4x74f"><span>25598</span></td><td id="LC25598" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25599" class="css-a4x74f"><span>25599</span></td><td id="LC25599" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25600" class="css-a4x74f"><span>25600</span></td><td id="LC25600" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25601" class="css-a4x74f"><span>25601</span></td><td id="LC25601" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25602" class="css-a4x74f"><span>25602</span></td><td id="LC25602" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> namedPageSelectors; </code></td></tr><tr><td id="L25603" class="css-a4x74f"><span>25603</span></td><td id="LC25603" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25604" class="css-a4x74f"><span>25604</span></td><td id="LC25604" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25605" class="css-a4x74f"><span>25605</span></td><td id="LC25605" class="css-1dcdqdg"><code> replaceIds(ast) { </code></td></tr><tr><td id="L25606" class="css-a4x74f"><span>25606</span></td><td id="LC25606" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L25607" class="css-a4x74f"><span>25607</span></td><td id="LC25607" class="css-1dcdqdg"><code> visit: <span class="code-string">"Rule"</span>, </code></td></tr><tr><td id="L25608" class="css-a4x74f"><span>25608</span></td><td id="LC25608" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L25609" class="css-a4x74f"><span>25609</span></td><td id="LC25609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25610" class="css-a4x74f"><span>25610</span></td><td id="LC25610" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L25611" class="css-a4x74f"><span>25611</span></td><td id="LC25611" class="css-1dcdqdg"><code> visit: <span class="code-string">"IdSelector"</span>, </code></td></tr><tr><td id="L25612" class="css-a4x74f"><span>25612</span></td><td id="LC25612" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">idNode, idItem, idList</span>) =></span> { </code></td></tr><tr><td id="L25613" class="css-a4x74f"><span>25613</span></td><td id="LC25613" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = idNode.name; </code></td></tr><tr><td id="L25614" class="css-a4x74f"><span>25614</span></td><td id="LC25614" class="css-1dcdqdg"><code> idNode.flags = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L25615" class="css-a4x74f"><span>25615</span></td><td id="LC25615" class="css-1dcdqdg"><code> idNode.matcher = <span class="code-string">"="</span>; </code></td></tr><tr><td id="L25616" class="css-a4x74f"><span>25616</span></td><td id="LC25616" class="css-1dcdqdg"><code> idNode.name = {<span class="code-attr">type</span>: <span class="code-string">"Identifier"</span>, <span class="code-attr">loc</span>: <span class="code-literal">null</span>, <span class="code-attr">name</span>: <span class="code-string">"data-id"</span>}; </code></td></tr><tr><td id="L25617" class="css-a4x74f"><span>25617</span></td><td id="LC25617" class="css-1dcdqdg"><code> idNode.type = <span class="code-string">"AttributeSelector"</span>; </code></td></tr><tr><td id="L25618" class="css-a4x74f"><span>25618</span></td><td id="LC25618" class="css-1dcdqdg"><code> idNode.value = {<span class="code-attr">type</span>: <span class="code-string">"String"</span>, <span class="code-attr">loc</span>: <span class="code-literal">null</span>, <span class="code-attr">value</span>: <span class="code-string">`"<span class="code-subst">${name}</span>"`</span>}; </code></td></tr><tr><td id="L25619" class="css-a4x74f"><span>25619</span></td><td id="LC25619" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25620" class="css-a4x74f"><span>25620</span></td><td id="LC25620" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25621" class="css-a4x74f"><span>25621</span></td><td id="LC25621" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25622" class="css-a4x74f"><span>25622</span></td><td id="LC25622" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25623" class="css-a4x74f"><span>25623</span></td><td id="LC25623" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25624" class="css-a4x74f"><span>25624</span></td><td id="LC25624" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25625" class="css-a4x74f"><span>25625</span></td><td id="LC25625" class="css-1dcdqdg"><code> imports(node, item, list) { </code></td></tr><tr><td id="L25626" class="css-a4x74f"><span>25626</span></td><td id="LC25626" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("import", node, item, list);</span> </code></td></tr><tr><td id="L25627" class="css-a4x74f"><span>25627</span></td><td id="LC25627" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> queries = []; </code></td></tr><tr><td id="L25628" class="css-a4x74f"><span>25628</span></td><td id="LC25628" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L25629" class="css-a4x74f"><span>25629</span></td><td id="LC25629" class="css-1dcdqdg"><code> visit: <span class="code-string">"MediaQuery"</span>, </code></td></tr><tr><td id="L25630" class="css-a4x74f"><span>25630</span></td><td id="LC25630" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">mqNode, mqItem, mqList</span>) =></span> { </code></td></tr><tr><td id="L25631" class="css-a4x74f"><span>25631</span></td><td id="LC25631" class="css-1dcdqdg"><code> lib.walk(mqNode, { </code></td></tr><tr><td id="L25632" class="css-a4x74f"><span>25632</span></td><td id="LC25632" class="css-1dcdqdg"><code> visit: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L25633" class="css-a4x74f"><span>25633</span></td><td id="LC25633" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">identNode, identItem, identList</span>) =></span> { </code></td></tr><tr><td id="L25634" class="css-a4x74f"><span>25634</span></td><td id="LC25634" class="css-1dcdqdg"><code> queries.push(identNode.name); </code></td></tr><tr><td id="L25635" class="css-a4x74f"><span>25635</span></td><td id="LC25635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25636" class="css-a4x74f"><span>25636</span></td><td id="LC25636" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25637" class="css-a4x74f"><span>25637</span></td><td id="LC25637" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25638" class="css-a4x74f"><span>25638</span></td><td id="LC25638" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25639" class="css-a4x74f"><span>25639</span></td><td id="LC25639" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25640" class="css-a4x74f"><span>25640</span></td><td id="LC25640" class="css-1dcdqdg"><code> <span class="code-comment">// Just basic media query support for now</span> </code></td></tr><tr><td id="L25641" class="css-a4x74f"><span>25641</span></td><td id="LC25641" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> shouldNotApply = queries.some(<span class="code-function">(<span class="code-params">query, index</span>) =></span> { </code></td></tr><tr><td id="L25642" class="css-a4x74f"><span>25642</span></td><td id="LC25642" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> q = query; </code></td></tr><tr><td id="L25643" class="css-a4x74f"><span>25643</span></td><td id="LC25643" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (q === <span class="code-string">"not"</span>) { </code></td></tr><tr><td id="L25644" class="css-a4x74f"><span>25644</span></td><td id="LC25644" class="css-1dcdqdg"><code> q = queries[index + <span class="code-number">1</span>]; </code></td></tr><tr><td id="L25645" class="css-a4x74f"><span>25645</span></td><td id="LC25645" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !(q === <span class="code-string">"screen"</span> || q === <span class="code-string">"speech"</span>); </code></td></tr><tr><td id="L25646" class="css-a4x74f"><span>25646</span></td><td id="LC25646" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L25647" class="css-a4x74f"><span>25647</span></td><td id="LC25647" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (q === <span class="code-string">"screen"</span> || q === <span class="code-string">"speech"</span>); </code></td></tr><tr><td id="L25648" class="css-a4x74f"><span>25648</span></td><td id="LC25648" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25649" class="css-a4x74f"><span>25649</span></td><td id="LC25649" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25650" class="css-a4x74f"><span>25650</span></td><td id="LC25650" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25651" class="css-a4x74f"><span>25651</span></td><td id="LC25651" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (shouldNotApply) { </code></td></tr><tr><td id="L25652" class="css-a4x74f"><span>25652</span></td><td id="LC25652" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L25653" class="css-a4x74f"><span>25653</span></td><td id="LC25653" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25654" class="css-a4x74f"><span>25654</span></td><td id="LC25654" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25655" class="css-a4x74f"><span>25655</span></td><td id="LC25655" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L25656" class="css-a4x74f"><span>25656</span></td><td id="LC25656" class="css-1dcdqdg"><code> visit: <span class="code-string">"String"</span>, </code></td></tr><tr><td id="L25657" class="css-a4x74f"><span>25657</span></td><td id="LC25657" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">urlNode, urlItem, urlList</span>) =></span> { </code></td></tr><tr><td id="L25658" class="css-a4x74f"><span>25658</span></td><td id="LC25658" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> href = urlNode.value.replace(<span class="code-regexp">/["']/g</span>, <span class="code-string">""</span>); </code></td></tr><tr><td id="L25659" class="css-a4x74f"><span>25659</span></td><td id="LC25659" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> url = <span class="code-keyword">new</span> URL(href, <span class="code-keyword">this</span>.url); </code></td></tr><tr><td id="L25660" class="css-a4x74f"><span>25660</span></td><td id="LC25660" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = url.toString(); </code></td></tr><tr><td id="L25661" class="css-a4x74f"><span>25661</span></td><td id="LC25661" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25662" class="css-a4x74f"><span>25662</span></td><td id="LC25662" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.imported.push(value); </code></td></tr><tr><td id="L25663" class="css-a4x74f"><span>25663</span></td><td id="LC25663" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25664" class="css-a4x74f"><span>25664</span></td><td id="LC25664" class="css-1dcdqdg"><code> <span class="code-comment">// Remove the original</span> </code></td></tr><tr><td id="L25665" class="css-a4x74f"><span>25665</span></td><td id="LC25665" class="css-1dcdqdg"><code> list.remove(item); </code></td></tr><tr><td id="L25666" class="css-a4x74f"><span>25666</span></td><td id="LC25666" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25667" class="css-a4x74f"><span>25667</span></td><td id="LC25667" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L25668" class="css-a4x74f"><span>25668</span></td><td id="LC25668" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25669" class="css-a4x74f"><span>25669</span></td><td id="LC25669" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25670" class="css-a4x74f"><span>25670</span></td><td id="LC25670" class="css-1dcdqdg"><code> <span class="code-keyword">set</span> text(t) { </code></td></tr><tr><td id="L25671" class="css-a4x74f"><span>25671</span></td><td id="LC25671" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>._text = t; </code></td></tr><tr><td id="L25672" class="css-a4x74f"><span>25672</span></td><td id="LC25672" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25673" class="css-a4x74f"><span>25673</span></td><td id="LC25673" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25674" class="css-a4x74f"><span>25674</span></td><td id="LC25674" class="css-1dcdqdg"><code> <span class="code-keyword">get</span> text() { </code></td></tr><tr><td id="L25675" class="css-a4x74f"><span>25675</span></td><td id="LC25675" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>._text; </code></td></tr><tr><td id="L25676" class="css-a4x74f"><span>25676</span></td><td id="LC25676" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25677" class="css-a4x74f"><span>25677</span></td><td id="LC25677" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25678" class="css-a4x74f"><span>25678</span></td><td id="LC25678" class="css-1dcdqdg"><code> <span class="code-comment">// generate string</span> </code></td></tr><tr><td id="L25679" class="css-a4x74f"><span>25679</span></td><td id="LC25679" class="css-1dcdqdg"><code> toString(ast) { </code></td></tr><tr><td id="L25680" class="css-a4x74f"><span>25680</span></td><td id="LC25680" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> lib.generate(ast || <span class="code-keyword">this</span>.ast); </code></td></tr><tr><td id="L25681" class="css-a4x74f"><span>25681</span></td><td id="LC25681" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25682" class="css-a4x74f"><span>25682</span></td><td id="LC25682" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L25683" class="css-a4x74f"><span>25683</span></td><td id="LC25683" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L25684" class="css-a4x74f"><span>25684</span></td><td id="LC25684" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> baseStyles = <span class="code-string">` </span></code></td></tr><tr><td id="L25685" class="css-a4x74f"><span>25685</span></td><td id="LC25685" class="css-1dcdqdg"><code><span class="code-string">:root { </span></code></td></tr><tr><td id="L25686" class="css-a4x74f"><span>25686</span></td><td id="LC25686" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-width: 8.5in; </span></code></td></tr><tr><td id="L25687" class="css-a4x74f"><span>25687</span></td><td id="LC25687" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-height: 11in; </span></code></td></tr><tr><td id="L25688" class="css-a4x74f"><span>25688</span></td><td id="LC25688" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-width-right: 8.5in; </span></code></td></tr><tr><td id="L25689" class="css-a4x74f"><span>25689</span></td><td id="LC25689" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-height-right: 11in; </span></code></td></tr><tr><td id="L25690" class="css-a4x74f"><span>25690</span></td><td id="LC25690" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-width-left: 8.5in; </span></code></td></tr><tr><td id="L25691" class="css-a4x74f"><span>25691</span></td><td id="LC25691" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-height-left: 11in; </span></code></td></tr><tr><td id="L25692" class="css-a4x74f"><span>25692</span></td><td id="LC25692" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-pagebox-width: 8.5in; </span></code></td></tr><tr><td id="L25693" class="css-a4x74f"><span>25693</span></td><td id="LC25693" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-pagebox-height: 11in; </span></code></td></tr><tr><td id="L25694" class="css-a4x74f"><span>25694</span></td><td id="LC25694" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-margin-top: 1in; </span></code></td></tr><tr><td id="L25695" class="css-a4x74f"><span>25695</span></td><td id="LC25695" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-margin-right: 1in; </span></code></td></tr><tr><td id="L25696" class="css-a4x74f"><span>25696</span></td><td id="LC25696" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-margin-bottom: 1in; </span></code></td></tr><tr><td id="L25697" class="css-a4x74f"><span>25697</span></td><td id="LC25697" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-margin-left: 1in; </span></code></td></tr><tr><td id="L25698" class="css-a4x74f"><span>25698</span></td><td id="LC25698" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-padding-top: 0mm; </span></code></td></tr><tr><td id="L25699" class="css-a4x74f"><span>25699</span></td><td id="LC25699" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-padding-right: 0mm; </span></code></td></tr><tr><td id="L25700" class="css-a4x74f"><span>25700</span></td><td id="LC25700" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-padding-bottom: 0mm; </span></code></td></tr><tr><td id="L25701" class="css-a4x74f"><span>25701</span></td><td id="LC25701" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-padding-left: 0mm; </span></code></td></tr><tr><td id="L25702" class="css-a4x74f"><span>25702</span></td><td id="LC25702" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-border-top: 0mm; </span></code></td></tr><tr><td id="L25703" class="css-a4x74f"><span>25703</span></td><td id="LC25703" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-border-right: 0mm; </span></code></td></tr><tr><td id="L25704" class="css-a4x74f"><span>25704</span></td><td id="LC25704" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-border-bottom: 0mm; </span></code></td></tr><tr><td id="L25705" class="css-a4x74f"><span>25705</span></td><td id="LC25705" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-border-left: 0mm; </span></code></td></tr><tr><td id="L25706" class="css-a4x74f"><span>25706</span></td><td id="LC25706" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-top: 0mm; </span></code></td></tr><tr><td id="L25707" class="css-a4x74f"><span>25707</span></td><td id="LC25707" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-right: 0mm; </span></code></td></tr><tr><td id="L25708" class="css-a4x74f"><span>25708</span></td><td id="LC25708" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-bottom: 0mm; </span></code></td></tr><tr><td id="L25709" class="css-a4x74f"><span>25709</span></td><td id="LC25709" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-left: 0mm; </span></code></td></tr><tr><td id="L25710" class="css-a4x74f"><span>25710</span></td><td id="LC25710" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-right-top: 0mm; </span></code></td></tr><tr><td id="L25711" class="css-a4x74f"><span>25711</span></td><td id="LC25711" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-right-right: 0mm; </span></code></td></tr><tr><td id="L25712" class="css-a4x74f"><span>25712</span></td><td id="LC25712" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-right-bottom: 0mm; </span></code></td></tr><tr><td id="L25713" class="css-a4x74f"><span>25713</span></td><td id="LC25713" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-right-left: 0mm; </span></code></td></tr><tr><td id="L25714" class="css-a4x74f"><span>25714</span></td><td id="LC25714" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-left-top: 0mm; </span></code></td></tr><tr><td id="L25715" class="css-a4x74f"><span>25715</span></td><td id="LC25715" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-left-right: 0mm; </span></code></td></tr><tr><td id="L25716" class="css-a4x74f"><span>25716</span></td><td id="LC25716" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-left-bottom: 0mm; </span></code></td></tr><tr><td id="L25717" class="css-a4x74f"><span>25717</span></td><td id="LC25717" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-bleed-left-left: 0mm; </span></code></td></tr><tr><td id="L25718" class="css-a4x74f"><span>25718</span></td><td id="LC25718" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-crop-color: black; </span></code></td></tr><tr><td id="L25719" class="css-a4x74f"><span>25719</span></td><td id="LC25719" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-crop-offset: 2mm; </span></code></td></tr><tr><td id="L25720" class="css-a4x74f"><span>25720</span></td><td id="LC25720" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-crop-stroke: 1px; </span></code></td></tr><tr><td id="L25721" class="css-a4x74f"><span>25721</span></td><td id="LC25721" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-cross-size: 5mm; </span></code></td></tr><tr><td id="L25722" class="css-a4x74f"><span>25722</span></td><td id="LC25722" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-mark-cross-display: none; </span></code></td></tr><tr><td id="L25723" class="css-a4x74f"><span>25723</span></td><td id="LC25723" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-mark-crop-display: none; </span></code></td></tr><tr><td id="L25724" class="css-a4x74f"><span>25724</span></td><td id="LC25724" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-page-count: 0; </span></code></td></tr><tr><td id="L25725" class="css-a4x74f"><span>25725</span></td><td id="LC25725" class="css-1dcdqdg"><code><span class="code-string"> --pagedjs-page-counter-increment: 1; </span></code></td></tr><tr><td id="L25726" class="css-a4x74f"><span>25726</span></td><td id="LC25726" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25727" class="css-a4x74f"><span>25727</span></td><td id="LC25727" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25728" class="css-a4x74f"><span>25728</span></td><td id="LC25728" class="css-1dcdqdg"><code><span class="code-string">@page { </span></code></td></tr><tr><td id="L25729" class="css-a4x74f"><span>25729</span></td><td id="LC25729" class="css-1dcdqdg"><code><span class="code-string"> size: letter; </span></code></td></tr><tr><td id="L25730" class="css-a4x74f"><span>25730</span></td><td id="LC25730" class="css-1dcdqdg"><code><span class="code-string"> margin: 0; </span></code></td></tr><tr><td id="L25731" class="css-a4x74f"><span>25731</span></td><td id="LC25731" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25732" class="css-a4x74f"><span>25732</span></td><td id="LC25732" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25733" class="css-a4x74f"><span>25733</span></td><td id="LC25733" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_sheet { </span></code></td></tr><tr><td id="L25734" class="css-a4x74f"><span>25734</span></td><td id="LC25734" class="css-1dcdqdg"><code><span class="code-string"> box-sizing: border-box; </span></code></td></tr><tr><td id="L25735" class="css-a4x74f"><span>25735</span></td><td id="LC25735" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width); </span></code></td></tr><tr><td id="L25736" class="css-a4x74f"><span>25736</span></td><td id="LC25736" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height); </span></code></td></tr><tr><td id="L25737" class="css-a4x74f"><span>25737</span></td><td id="LC25737" class="css-1dcdqdg"><code><span class="code-string"> overflow: hidden; </span></code></td></tr><tr><td id="L25738" class="css-a4x74f"><span>25738</span></td><td id="LC25738" class="css-1dcdqdg"><code><span class="code-string"> position: relative; </span></code></td></tr><tr><td id="L25739" class="css-a4x74f"><span>25739</span></td><td id="LC25739" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L25740" class="css-a4x74f"><span>25740</span></td><td id="LC25740" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: [bleed-left] var(--pagedjs-bleed-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left) - var(--pagedjs-bleed-right)) [bleed-right] var(--pagedjs-bleed-right); </span></code></td></tr><tr><td id="L25741" class="css-a4x74f"><span>25741</span></td><td id="LC25741" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: [bleed-top] var(--pagedjs-bleed-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-top) - var(--pagedjs-bleed-bottom)) [bleed-bottom] var(--pagedjs-bleed-bottom); </span></code></td></tr><tr><td id="L25742" class="css-a4x74f"><span>25742</span></td><td id="LC25742" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25743" class="css-a4x74f"><span>25743</span></td><td id="LC25743" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25744" class="css-a4x74f"><span>25744</span></td><td id="LC25744" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_sheet { </span></code></td></tr><tr><td id="L25745" class="css-a4x74f"><span>25745</span></td><td id="LC25745" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width-right); </span></code></td></tr><tr><td id="L25746" class="css-a4x74f"><span>25746</span></td><td id="LC25746" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height-right); </span></code></td></tr><tr><td id="L25747" class="css-a4x74f"><span>25747</span></td><td id="LC25747" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: [bleed-left] var(--pagedjs-bleed-right-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-right-left) - var(--pagedjs-bleed-right-right)) [bleed-right] var(--pagedjs-bleed-right-right); </span></code></td></tr><tr><td id="L25748" class="css-a4x74f"><span>25748</span></td><td id="LC25748" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: [bleed-top] var(--pagedjs-bleed-right-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-right-top) - var(--pagedjs-bleed-right-bottom)) [bleed-bottom] var(--pagedjs-bleed-right-bottom); </span></code></td></tr><tr><td id="L25749" class="css-a4x74f"><span>25749</span></td><td id="LC25749" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25750" class="css-a4x74f"><span>25750</span></td><td id="LC25750" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25751" class="css-a4x74f"><span>25751</span></td><td id="LC25751" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_sheet { </span></code></td></tr><tr><td id="L25752" class="css-a4x74f"><span>25752</span></td><td id="LC25752" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width-left); </span></code></td></tr><tr><td id="L25753" class="css-a4x74f"><span>25753</span></td><td id="LC25753" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height-left); </span></code></td></tr><tr><td id="L25754" class="css-a4x74f"><span>25754</span></td><td id="LC25754" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: [bleed-left] var(--pagedjs-bleed-left-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left-left) - var(--pagedjs-bleed-left-right)) [bleed-right] var(--pagedjs-bleed-left-right); </span></code></td></tr><tr><td id="L25755" class="css-a4x74f"><span>25755</span></td><td id="LC25755" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: [bleed-top] var(--pagedjs-bleed-left-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-left-top) - var(--pagedjs-bleed-left-bottom)) [bleed-bottom] var(--pagedjs-bleed-left-bottom); </span></code></td></tr><tr><td id="L25756" class="css-a4x74f"><span>25756</span></td><td id="LC25756" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25757" class="css-a4x74f"><span>25757</span></td><td id="LC25757" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25758" class="css-a4x74f"><span>25758</span></td><td id="LC25758" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed { </span></code></td></tr><tr><td id="L25759" class="css-a4x74f"><span>25759</span></td><td id="LC25759" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L25760" class="css-a4x74f"><span>25760</span></td><td id="LC25760" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L25761" class="css-a4x74f"><span>25761</span></td><td id="LC25761" class="css-1dcdqdg"><code><span class="code-string"> justify-content: center; </span></code></td></tr><tr><td id="L25762" class="css-a4x74f"><span>25762</span></td><td id="LC25762" class="css-1dcdqdg"><code><span class="code-string"> flex-wrap: nowrap; </span></code></td></tr><tr><td id="L25763" class="css-a4x74f"><span>25763</span></td><td id="LC25763" class="css-1dcdqdg"><code><span class="code-string"> overflow: hidden; </span></code></td></tr><tr><td id="L25764" class="css-a4x74f"><span>25764</span></td><td id="LC25764" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25765" class="css-a4x74f"><span>25765</span></td><td id="LC25765" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25766" class="css-a4x74f"><span>25766</span></td><td id="LC25766" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-top { </span></code></td></tr><tr><td id="L25767" class="css-a4x74f"><span>25767</span></td><td id="LC25767" class="css-1dcdqdg"><code><span class="code-string"> grid-column: bleed-left / -1; </span></code></td></tr><tr><td id="L25768" class="css-a4x74f"><span>25768</span></td><td id="LC25768" class="css-1dcdqdg"><code><span class="code-string"> grid-row: bleed-top; </span></code></td></tr><tr><td id="L25769" class="css-a4x74f"><span>25769</span></td><td id="LC25769" class="css-1dcdqdg"><code><span class="code-string"> flex-direction: row; </span></code></td></tr><tr><td id="L25770" class="css-a4x74f"><span>25770</span></td><td id="LC25770" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25771" class="css-a4x74f"><span>25771</span></td><td id="LC25771" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25772" class="css-a4x74f"><span>25772</span></td><td id="LC25772" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-bottom { </span></code></td></tr><tr><td id="L25773" class="css-a4x74f"><span>25773</span></td><td id="LC25773" class="css-1dcdqdg"><code><span class="code-string"> grid-column: bleed-left / -1; </span></code></td></tr><tr><td id="L25774" class="css-a4x74f"><span>25774</span></td><td id="LC25774" class="css-1dcdqdg"><code><span class="code-string"> grid-row: bleed-bottom; </span></code></td></tr><tr><td id="L25775" class="css-a4x74f"><span>25775</span></td><td id="LC25775" class="css-1dcdqdg"><code><span class="code-string"> flex-direction: row; </span></code></td></tr><tr><td id="L25776" class="css-a4x74f"><span>25776</span></td><td id="LC25776" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25777" class="css-a4x74f"><span>25777</span></td><td id="LC25777" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25778" class="css-a4x74f"><span>25778</span></td><td id="LC25778" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-left { </span></code></td></tr><tr><td id="L25779" class="css-a4x74f"><span>25779</span></td><td id="LC25779" class="css-1dcdqdg"><code><span class="code-string"> grid-column: bleed-left; </span></code></td></tr><tr><td id="L25780" class="css-a4x74f"><span>25780</span></td><td id="LC25780" class="css-1dcdqdg"><code><span class="code-string"> grid-row: bleed-top / -1; </span></code></td></tr><tr><td id="L25781" class="css-a4x74f"><span>25781</span></td><td id="LC25781" class="css-1dcdqdg"><code><span class="code-string"> flex-direction: column; </span></code></td></tr><tr><td id="L25782" class="css-a4x74f"><span>25782</span></td><td id="LC25782" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25783" class="css-a4x74f"><span>25783</span></td><td id="LC25783" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25784" class="css-a4x74f"><span>25784</span></td><td id="LC25784" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-right { </span></code></td></tr><tr><td id="L25785" class="css-a4x74f"><span>25785</span></td><td id="LC25785" class="css-1dcdqdg"><code><span class="code-string"> grid-column: bleed-right; </span></code></td></tr><tr><td id="L25786" class="css-a4x74f"><span>25786</span></td><td id="LC25786" class="css-1dcdqdg"><code><span class="code-string"> grid-row: bleed-top / -1; </span></code></td></tr><tr><td id="L25787" class="css-a4x74f"><span>25787</span></td><td id="LC25787" class="css-1dcdqdg"><code><span class="code-string"> flex-direction: column; </span></code></td></tr><tr><td id="L25788" class="css-a4x74f"><span>25788</span></td><td id="LC25788" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25789" class="css-a4x74f"><span>25789</span></td><td id="LC25789" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25790" class="css-a4x74f"><span>25790</span></td><td id="LC25790" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25791" class="css-a4x74f"><span>25791</span></td><td id="LC25791" class="css-1dcdqdg"><code><span class="code-string"> display: var(--pagedjs-mark-crop-display); </span></code></td></tr><tr><td id="L25792" class="css-a4x74f"><span>25792</span></td><td id="LC25792" class="css-1dcdqdg"><code><span class="code-string"> flex-grow: 0; </span></code></td></tr><tr><td id="L25793" class="css-a4x74f"><span>25793</span></td><td id="LC25793" class="css-1dcdqdg"><code><span class="code-string"> flex-shrink: 0; </span></code></td></tr><tr><td id="L25794" class="css-a4x74f"><span>25794</span></td><td id="LC25794" class="css-1dcdqdg"><code><span class="code-string"> z-index: 9999999999; </span></code></td></tr><tr><td id="L25795" class="css-a4x74f"><span>25795</span></td><td id="LC25795" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25796" class="css-a4x74f"><span>25796</span></td><td id="LC25796" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25797" class="css-a4x74f"><span>25797</span></td><td id="LC25797" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25798" class="css-a4x74f"><span>25798</span></td><td id="LC25798" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25799" class="css-a4x74f"><span>25799</span></td><td id="LC25799" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25800" class="css-a4x74f"><span>25800</span></td><td id="LC25800" class="css-1dcdqdg"><code><span class="code-string"> border-right: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color); </span></code></td></tr><tr><td id="L25801" class="css-a4x74f"><span>25801</span></td><td id="LC25801" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25802" class="css-a4x74f"><span>25802</span></td><td id="LC25802" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25803" class="css-a4x74f"><span>25803</span></td><td id="LC25803" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25804" class="css-a4x74f"><span>25804</span></td><td id="LC25804" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25805" class="css-a4x74f"><span>25805</span></td><td id="LC25805" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25806" class="css-a4x74f"><span>25806</span></td><td id="LC25806" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25807" class="css-a4x74f"><span>25807</span></td><td id="LC25807" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25808" class="css-a4x74f"><span>25808</span></td><td id="LC25808" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25809" class="css-a4x74f"><span>25809</span></td><td id="LC25809" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25810" class="css-a4x74f"><span>25810</span></td><td id="LC25810" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25811" class="css-a4x74f"><span>25811</span></td><td id="LC25811" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25812" class="css-a4x74f"><span>25812</span></td><td id="LC25812" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25813" class="css-a4x74f"><span>25813</span></td><td id="LC25813" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25814" class="css-a4x74f"><span>25814</span></td><td id="LC25814" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25815" class="css-a4x74f"><span>25815</span></td><td id="LC25815" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25816" class="css-a4x74f"><span>25816</span></td><td id="LC25816" class="css-1dcdqdg"><code><span class="code-string"> border-left: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color); </span></code></td></tr><tr><td id="L25817" class="css-a4x74f"><span>25817</span></td><td id="LC25817" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25818" class="css-a4x74f"><span>25818</span></td><td id="LC25818" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25819" class="css-a4x74f"><span>25819</span></td><td id="LC25819" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25820" class="css-a4x74f"><span>25820</span></td><td id="LC25820" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25821" class="css-a4x74f"><span>25821</span></td><td id="LC25821" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25822" class="css-a4x74f"><span>25822</span></td><td id="LC25822" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25823" class="css-a4x74f"><span>25823</span></td><td id="LC25823" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25824" class="css-a4x74f"><span>25824</span></td><td id="LC25824" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25825" class="css-a4x74f"><span>25825</span></td><td id="LC25825" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25826" class="css-a4x74f"><span>25826</span></td><td id="LC25826" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25827" class="css-a4x74f"><span>25827</span></td><td id="LC25827" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25828" class="css-a4x74f"><span>25828</span></td><td id="LC25828" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25829" class="css-a4x74f"><span>25829</span></td><td id="LC25829" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-top .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25830" class="css-a4x74f"><span>25830</span></td><td id="LC25830" class="css-1dcdqdg"><code><span class="code-string"> align-self: flex-start; </span></code></td></tr><tr><td id="L25831" class="css-a4x74f"><span>25831</span></td><td id="LC25831" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25832" class="css-a4x74f"><span>25832</span></td><td id="LC25832" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25833" class="css-a4x74f"><span>25833</span></td><td id="LC25833" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25834" class="css-a4x74f"><span>25834</span></td><td id="LC25834" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25835" class="css-a4x74f"><span>25835</span></td><td id="LC25835" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25836" class="css-a4x74f"><span>25836</span></td><td id="LC25836" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25837" class="css-a4x74f"><span>25837</span></td><td id="LC25837" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25838" class="css-a4x74f"><span>25838</span></td><td id="LC25838" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25839" class="css-a4x74f"><span>25839</span></td><td id="LC25839" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25840" class="css-a4x74f"><span>25840</span></td><td id="LC25840" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25841" class="css-a4x74f"><span>25841</span></td><td id="LC25841" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25842" class="css-a4x74f"><span>25842</span></td><td id="LC25842" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-bottom .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25843" class="css-a4x74f"><span>25843</span></td><td id="LC25843" class="css-1dcdqdg"><code><span class="code-string"> align-self: flex-end; </span></code></td></tr><tr><td id="L25844" class="css-a4x74f"><span>25844</span></td><td id="LC25844" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25845" class="css-a4x74f"><span>25845</span></td><td id="LC25845" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25846" class="css-a4x74f"><span>25846</span></td><td id="LC25846" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25847" class="css-a4x74f"><span>25847</span></td><td id="LC25847" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25848" class="css-a4x74f"><span>25848</span></td><td id="LC25848" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25849" class="css-a4x74f"><span>25849</span></td><td id="LC25849" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25850" class="css-a4x74f"><span>25850</span></td><td id="LC25850" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25851" class="css-a4x74f"><span>25851</span></td><td id="LC25851" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25852" class="css-a4x74f"><span>25852</span></td><td id="LC25852" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25853" class="css-a4x74f"><span>25853</span></td><td id="LC25853" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25854" class="css-a4x74f"><span>25854</span></td><td id="LC25854" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25855" class="css-a4x74f"><span>25855</span></td><td id="LC25855" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25856" class="css-a4x74f"><span>25856</span></td><td id="LC25856" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25857" class="css-a4x74f"><span>25857</span></td><td id="LC25857" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25858" class="css-a4x74f"><span>25858</span></td><td id="LC25858" class="css-1dcdqdg"><code><span class="code-string"> border-bottom: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color); </span></code></td></tr><tr><td id="L25859" class="css-a4x74f"><span>25859</span></td><td id="LC25859" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25860" class="css-a4x74f"><span>25860</span></td><td id="LC25860" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25861" class="css-a4x74f"><span>25861</span></td><td id="LC25861" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25862" class="css-a4x74f"><span>25862</span></td><td id="LC25862" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25863" class="css-a4x74f"><span>25863</span></td><td id="LC25863" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25864" class="css-a4x74f"><span>25864</span></td><td id="LC25864" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25865" class="css-a4x74f"><span>25865</span></td><td id="LC25865" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25866" class="css-a4x74f"><span>25866</span></td><td id="LC25866" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1), </span></code></td></tr><tr><td id="L25867" class="css-a4x74f"><span>25867</span></td><td id="LC25867" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) { </span></code></td></tr><tr><td id="L25868" class="css-a4x74f"><span>25868</span></td><td id="LC25868" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25869" class="css-a4x74f"><span>25869</span></td><td id="LC25869" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25870" class="css-a4x74f"><span>25870</span></td><td id="LC25870" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25871" class="css-a4x74f"><span>25871</span></td><td id="LC25871" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25872" class="css-a4x74f"><span>25872</span></td><td id="LC25872" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25873" class="css-a4x74f"><span>25873</span></td><td id="LC25873" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25874" class="css-a4x74f"><span>25874</span></td><td id="LC25874" class="css-1dcdqdg"><code><span class="code-string"> border-top: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color); </span></code></td></tr><tr><td id="L25875" class="css-a4x74f"><span>25875</span></td><td id="LC25875" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25876" class="css-a4x74f"><span>25876</span></td><td id="LC25876" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25877" class="css-a4x74f"><span>25877</span></td><td id="LC25877" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25878" class="css-a4x74f"><span>25878</span></td><td id="LC25878" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25879" class="css-a4x74f"><span>25879</span></td><td id="LC25879" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25880" class="css-a4x74f"><span>25880</span></td><td id="LC25880" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25881" class="css-a4x74f"><span>25881</span></td><td id="LC25881" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25882" class="css-a4x74f"><span>25882</span></td><td id="LC25882" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3), </span></code></td></tr><tr><td id="L25883" class="css-a4x74f"><span>25883</span></td><td id="LC25883" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) { </span></code></td></tr><tr><td id="L25884" class="css-a4x74f"><span>25884</span></td><td id="LC25884" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-stroke)); </span></code></td></tr><tr><td id="L25885" class="css-a4x74f"><span>25885</span></td><td id="LC25885" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25886" class="css-a4x74f"><span>25886</span></td><td id="LC25886" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25887" class="css-a4x74f"><span>25887</span></td><td id="LC25887" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-left .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25888" class="css-a4x74f"><span>25888</span></td><td id="LC25888" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25889" class="css-a4x74f"><span>25889</span></td><td id="LC25889" class="css-1dcdqdg"><code><span class="code-string"> align-self: flex-start; </span></code></td></tr><tr><td id="L25890" class="css-a4x74f"><span>25890</span></td><td id="LC25890" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25891" class="css-a4x74f"><span>25891</span></td><td id="LC25891" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25892" class="css-a4x74f"><span>25892</span></td><td id="LC25892" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25893" class="css-a4x74f"><span>25893</span></td><td id="LC25893" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25894" class="css-a4x74f"><span>25894</span></td><td id="LC25894" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25895" class="css-a4x74f"><span>25895</span></td><td id="LC25895" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25896" class="css-a4x74f"><span>25896</span></td><td id="LC25896" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25897" class="css-a4x74f"><span>25897</span></td><td id="LC25897" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25898" class="css-a4x74f"><span>25898</span></td><td id="LC25898" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25899" class="css-a4x74f"><span>25899</span></td><td id="LC25899" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25900" class="css-a4x74f"><span>25900</span></td><td id="LC25900" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_bleed-right .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25901" class="css-a4x74f"><span>25901</span></td><td id="LC25901" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25902" class="css-a4x74f"><span>25902</span></td><td id="LC25902" class="css-1dcdqdg"><code><span class="code-string"> align-self: flex-end; </span></code></td></tr><tr><td id="L25903" class="css-a4x74f"><span>25903</span></td><td id="LC25903" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25904" class="css-a4x74f"><span>25904</span></td><td id="LC25904" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25905" class="css-a4x74f"><span>25905</span></td><td id="LC25905" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25906" class="css-a4x74f"><span>25906</span></td><td id="LC25906" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25907" class="css-a4x74f"><span>25907</span></td><td id="LC25907" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25908" class="css-a4x74f"><span>25908</span></td><td id="LC25908" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25909" class="css-a4x74f"><span>25909</span></td><td id="LC25909" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop { </span></code></td></tr><tr><td id="L25910" class="css-a4x74f"><span>25910</span></td><td id="LC25910" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-offset)); </span></code></td></tr><tr><td id="L25911" class="css-a4x74f"><span>25911</span></td><td id="LC25911" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25912" class="css-a4x74f"><span>25912</span></td><td id="LC25912" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25913" class="css-a4x74f"><span>25913</span></td><td id="LC25913" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_marks-middle { </span></code></td></tr><tr><td id="L25914" class="css-a4x74f"><span>25914</span></td><td id="LC25914" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L25915" class="css-a4x74f"><span>25915</span></td><td id="LC25915" class="css-1dcdqdg"><code><span class="code-string"> flex-grow: 1; </span></code></td></tr><tr><td id="L25916" class="css-a4x74f"><span>25916</span></td><td id="LC25916" class="css-1dcdqdg"><code><span class="code-string"> flex-shrink: 0; </span></code></td></tr><tr><td id="L25917" class="css-a4x74f"><span>25917</span></td><td id="LC25917" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L25918" class="css-a4x74f"><span>25918</span></td><td id="LC25918" class="css-1dcdqdg"><code><span class="code-string"> justify-content: center; </span></code></td></tr><tr><td id="L25919" class="css-a4x74f"><span>25919</span></td><td id="LC25919" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25920" class="css-a4x74f"><span>25920</span></td><td id="LC25920" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25921" class="css-a4x74f"><span>25921</span></td><td id="LC25921" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_marks-cross { </span></code></td></tr><tr><td id="L25922" class="css-a4x74f"><span>25922</span></td><td id="LC25922" class="css-1dcdqdg"><code><span class="code-string"> display: var(--pagedjs-mark-cross-display); </span></code></td></tr><tr><td id="L25923" class="css-a4x74f"><span>25923</span></td><td id="LC25923" class="css-1dcdqdg"><code><span class="code-string"> background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIzMi41MzdweCIgaGVpZ2h0PSIzMi41MzdweCIgdmlld0JveD0iMC4xMDQgMC4xMDQgMzIuNTM3IDMyLjUzNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwLjEwNCAwLjEwNCAzMi41MzcgMzIuNTM3IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0yOS45MzEsMTYuMzczYzAsNy40ODktNi4wNjgsMTMuNTYtMTMuNTU4LDEzLjU2Yy03LjQ4MywwLTEzLjU1Ny02LjA3Mi0xMy41NTctMTMuNTZjMC03LjQ4Niw2LjA3NC0xMy41NTQsMTMuNTU3LTEzLjU1NEMyMy44NjIsMi44MTksMjkuOTMxLDguODg3LDI5LjkzMSwxNi4zNzN6Ii8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjMuMzg5MyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMC4xMDQiIHkxPSIxNi4zNzMiIHgyPSIzMi42NDIiIHkyPSIxNi4zNzMiLz48bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSIxNi4zNzMiIHkxPSIwLjEwNCIgeDI9IjE2LjM3MyIgeTI9IjMyLjY0MiIvPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzLjM4OTMiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTI0LjUwOCwxNi4zNzNjMCw0LjQ5Ni0zLjYzOCw4LjEzNS04LjEzNSw4LjEzNWMtNC40OTEsMC04LjEzNS0zLjYzOC04LjEzNS04LjEzNWMwLTQuNDg5LDMuNjQ0LTguMTM1LDguMTM1LTguMTM1QzIwLjg2OSw4LjIzOSwyNC41MDgsMTEuODg0LDI0LjUwOCwxNi4zNzN6Ii8+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjkuOTMxLDE2LjM3M2MwLDcuNDg5LTYuMDY4LDEzLjU2LTEzLjU1OCwxMy41NmMtNy40ODMsMC0xMy41NTctNi4wNzItMTMuNTU3LTEzLjU2YzAtNy40ODYsNi4wNzQtMTMuNTU0LDEzLjU1Ny0xMy41NTRDMjMuODYyLDIuODE5LDI5LjkzMSw4Ljg4NywyOS45MzEsMTYuMzczeiIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjAuMTA0IiB5MT0iMTYuMzczIiB4Mj0iMzIuNjQyIiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iMC4xMDQiIHgyPSIxNi4zNzMiIHkyPSIzMi42NDIiLz48cGF0aCBkPSJNMjQuNTA4LDE2LjM3M2MwLDQuNDk2LTMuNjM4LDguMTM1LTguMTM1LDguMTM1Yy00LjQ5MSwwLTguMTM1LTMuNjM4LTguMTM1LTguMTM1YzAtNC40ODksMy42NDQtOC4xMzUsOC4xMzUtOC4xMzVDMjAuODY5LDguMjM5LDI0LjUwOCwxMS44ODQsMjQuNTA4LDE2LjM3MyIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjguMjM5IiB5MT0iMTYuMzczIiB4Mj0iMjQuNTA4IiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iOC4yMzkiIHgyPSIxNi4zNzMiIHkyPSIyNC41MDgiLz48L3N2Zz4=); </span></code></td></tr><tr><td id="L25924" class="css-a4x74f"><span>25924</span></td><td id="LC25924" class="css-1dcdqdg"><code><span class="code-string"> background-repeat: no-repeat; </span></code></td></tr><tr><td id="L25925" class="css-a4x74f"><span>25925</span></td><td id="LC25925" class="css-1dcdqdg"><code><span class="code-string"> background-position: 50% 50%; </span></code></td></tr><tr><td id="L25926" class="css-a4x74f"><span>25926</span></td><td id="LC25926" class="css-1dcdqdg"><code><span class="code-string"> background-size: var(--pagedjs-cross-size); </span></code></td></tr><tr><td id="L25927" class="css-a4x74f"><span>25927</span></td><td id="LC25927" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25928" class="css-a4x74f"><span>25928</span></td><td id="LC25928" class="css-1dcdqdg"><code><span class="code-string"> z-index: 2147483647; </span></code></td></tr><tr><td id="L25929" class="css-a4x74f"><span>25929</span></td><td id="LC25929" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-cross-size); </span></code></td></tr><tr><td id="L25930" class="css-a4x74f"><span>25930</span></td><td id="LC25930" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-cross-size); </span></code></td></tr><tr><td id="L25931" class="css-a4x74f"><span>25931</span></td><td id="LC25931" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25932" class="css-a4x74f"><span>25932</span></td><td id="LC25932" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25933" class="css-a4x74f"><span>25933</span></td><td id="LC25933" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox { </span></code></td></tr><tr><td id="L25934" class="css-a4x74f"><span>25934</span></td><td id="LC25934" class="css-1dcdqdg"><code><span class="code-string"> box-sizing: border-box; </span></code></td></tr><tr><td id="L25935" class="css-a4x74f"><span>25935</span></td><td id="LC25935" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-pagebox-width); </span></code></td></tr><tr><td id="L25936" class="css-a4x74f"><span>25936</span></td><td id="LC25936" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-pagebox-height); </span></code></td></tr><tr><td id="L25937" class="css-a4x74f"><span>25937</span></td><td id="LC25937" class="css-1dcdqdg"><code><span class="code-string"> position: relative; </span></code></td></tr><tr><td id="L25938" class="css-a4x74f"><span>25938</span></td><td id="LC25938" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L25939" class="css-a4x74f"><span>25939</span></td><td id="LC25939" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: [left] var(--pagedjs-margin-left) [center] calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right)) [right] var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L25940" class="css-a4x74f"><span>25940</span></td><td id="LC25940" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: [header] var(--pagedjs-margin-top) [page] calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom)) [footer] var(--pagedjs-margin-bottom); </span></code></td></tr><tr><td id="L25941" class="css-a4x74f"><span>25941</span></td><td id="LC25941" class="css-1dcdqdg"><code><span class="code-string"> grid-column: sheet-center; </span></code></td></tr><tr><td id="L25942" class="css-a4x74f"><span>25942</span></td><td id="LC25942" class="css-1dcdqdg"><code><span class="code-string"> grid-row: sheet-middle; </span></code></td></tr><tr><td id="L25943" class="css-a4x74f"><span>25943</span></td><td id="LC25943" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25944" class="css-a4x74f"><span>25944</span></td><td id="LC25944" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25945" class="css-a4x74f"><span>25945</span></td><td id="LC25945" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox * { </span></code></td></tr><tr><td id="L25946" class="css-a4x74f"><span>25946</span></td><td id="LC25946" class="css-1dcdqdg"><code><span class="code-string"> box-sizing: border-box; </span></code></td></tr><tr><td id="L25947" class="css-a4x74f"><span>25947</span></td><td id="LC25947" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25948" class="css-a4x74f"><span>25948</span></td><td id="LC25948" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25949" class="css-a4x74f"><span>25949</span></td><td id="LC25949" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-top { </span></code></td></tr><tr><td id="L25950" class="css-a4x74f"><span>25950</span></td><td id="LC25950" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right)); </span></code></td></tr><tr><td id="L25951" class="css-a4x74f"><span>25951</span></td><td id="LC25951" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-top); </span></code></td></tr><tr><td id="L25952" class="css-a4x74f"><span>25952</span></td><td id="LC25952" class="css-1dcdqdg"><code><span class="code-string"> grid-column: center; </span></code></td></tr><tr><td id="L25953" class="css-a4x74f"><span>25953</span></td><td id="LC25953" class="css-1dcdqdg"><code><span class="code-string"> grid-row: header; </span></code></td></tr><tr><td id="L25954" class="css-a4x74f"><span>25954</span></td><td id="LC25954" class="css-1dcdqdg"><code><span class="code-string"> flex-wrap: nowrap; </span></code></td></tr><tr><td id="L25955" class="css-a4x74f"><span>25955</span></td><td id="LC25955" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L25956" class="css-a4x74f"><span>25956</span></td><td id="LC25956" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: repeat(3, 1fr); </span></code></td></tr><tr><td id="L25957" class="css-a4x74f"><span>25957</span></td><td id="LC25957" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: 100%; </span></code></td></tr><tr><td id="L25958" class="css-a4x74f"><span>25958</span></td><td id="LC25958" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25959" class="css-a4x74f"><span>25959</span></td><td id="LC25959" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25960" class="css-a4x74f"><span>25960</span></td><td id="LC25960" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-top-left-corner-holder { </span></code></td></tr><tr><td id="L25961" class="css-a4x74f"><span>25961</span></td><td id="LC25961" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-left); </span></code></td></tr><tr><td id="L25962" class="css-a4x74f"><span>25962</span></td><td id="LC25962" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-top); </span></code></td></tr><tr><td id="L25963" class="css-a4x74f"><span>25963</span></td><td id="LC25963" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L25964" class="css-a4x74f"><span>25964</span></td><td id="LC25964" class="css-1dcdqdg"><code><span class="code-string"> grid-column: left; </span></code></td></tr><tr><td id="L25965" class="css-a4x74f"><span>25965</span></td><td id="LC25965" class="css-1dcdqdg"><code><span class="code-string"> grid-row: header; </span></code></td></tr><tr><td id="L25966" class="css-a4x74f"><span>25966</span></td><td id="LC25966" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25967" class="css-a4x74f"><span>25967</span></td><td id="LC25967" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25968" class="css-a4x74f"><span>25968</span></td><td id="LC25968" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-top-right-corner-holder { </span></code></td></tr><tr><td id="L25969" class="css-a4x74f"><span>25969</span></td><td id="LC25969" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L25970" class="css-a4x74f"><span>25970</span></td><td id="LC25970" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-top); </span></code></td></tr><tr><td id="L25971" class="css-a4x74f"><span>25971</span></td><td id="LC25971" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L25972" class="css-a4x74f"><span>25972</span></td><td id="LC25972" class="css-1dcdqdg"><code><span class="code-string"> grid-column: right; </span></code></td></tr><tr><td id="L25973" class="css-a4x74f"><span>25973</span></td><td id="LC25973" class="css-1dcdqdg"><code><span class="code-string"> grid-row: header; </span></code></td></tr><tr><td id="L25974" class="css-a4x74f"><span>25974</span></td><td id="LC25974" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25975" class="css-a4x74f"><span>25975</span></td><td id="LC25975" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25976" class="css-a4x74f"><span>25976</span></td><td id="LC25976" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-top-left-corner { </span></code></td></tr><tr><td id="L25977" class="css-a4x74f"><span>25977</span></td><td id="LC25977" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-left); </span></code></td></tr><tr><td id="L25978" class="css-a4x74f"><span>25978</span></td><td id="LC25978" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25979" class="css-a4x74f"><span>25979</span></td><td id="LC25979" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25980" class="css-a4x74f"><span>25980</span></td><td id="LC25980" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-top-right-corner { </span></code></td></tr><tr><td id="L25981" class="css-a4x74f"><span>25981</span></td><td id="LC25981" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L25982" class="css-a4x74f"><span>25982</span></td><td id="LC25982" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25983" class="css-a4x74f"><span>25983</span></td><td id="LC25983" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25984" class="css-a4x74f"><span>25984</span></td><td id="LC25984" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-right { </span></code></td></tr><tr><td id="L25985" class="css-a4x74f"><span>25985</span></td><td id="LC25985" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom)); </span></code></td></tr><tr><td id="L25986" class="css-a4x74f"><span>25986</span></td><td id="LC25986" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L25987" class="css-a4x74f"><span>25987</span></td><td id="LC25987" class="css-1dcdqdg"><code><span class="code-string"> right: 0; </span></code></td></tr><tr><td id="L25988" class="css-a4x74f"><span>25988</span></td><td id="LC25988" class="css-1dcdqdg"><code><span class="code-string"> grid-column: right; </span></code></td></tr><tr><td id="L25989" class="css-a4x74f"><span>25989</span></td><td id="LC25989" class="css-1dcdqdg"><code><span class="code-string"> grid-row: page; </span></code></td></tr><tr><td id="L25990" class="css-a4x74f"><span>25990</span></td><td id="LC25990" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L25991" class="css-a4x74f"><span>25991</span></td><td id="LC25991" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: repeat(3, 33.3333%); </span></code></td></tr><tr><td id="L25992" class="css-a4x74f"><span>25992</span></td><td id="LC25992" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: 100%; </span></code></td></tr><tr><td id="L25993" class="css-a4x74f"><span>25993</span></td><td id="LC25993" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L25994" class="css-a4x74f"><span>25994</span></td><td id="LC25994" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L25995" class="css-a4x74f"><span>25995</span></td><td id="LC25995" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-bottom { </span></code></td></tr><tr><td id="L25996" class="css-a4x74f"><span>25996</span></td><td id="LC25996" class="css-1dcdqdg"><code><span class="code-string"> width: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right)); </span></code></td></tr><tr><td id="L25997" class="css-a4x74f"><span>25997</span></td><td id="LC25997" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-bottom); </span></code></td></tr><tr><td id="L25998" class="css-a4x74f"><span>25998</span></td><td id="LC25998" class="css-1dcdqdg"><code><span class="code-string"> grid-column: center; </span></code></td></tr><tr><td id="L25999" class="css-a4x74f"><span>25999</span></td><td id="LC25999" class="css-1dcdqdg"><code><span class="code-string"> grid-row: footer; </span></code></td></tr><tr><td id="L26000" class="css-a4x74f"><span>26000</span></td><td id="LC26000" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L26001" class="css-a4x74f"><span>26001</span></td><td id="LC26001" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: repeat(3, 1fr); </span></code></td></tr><tr><td id="L26002" class="css-a4x74f"><span>26002</span></td><td id="LC26002" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: 100%; </span></code></td></tr><tr><td id="L26003" class="css-a4x74f"><span>26003</span></td><td id="LC26003" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26004" class="css-a4x74f"><span>26004</span></td><td id="LC26004" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26005" class="css-a4x74f"><span>26005</span></td><td id="LC26005" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-bottom-left-corner-holder { </span></code></td></tr><tr><td id="L26006" class="css-a4x74f"><span>26006</span></td><td id="LC26006" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-left); </span></code></td></tr><tr><td id="L26007" class="css-a4x74f"><span>26007</span></td><td id="LC26007" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-bottom); </span></code></td></tr><tr><td id="L26008" class="css-a4x74f"><span>26008</span></td><td id="LC26008" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L26009" class="css-a4x74f"><span>26009</span></td><td id="LC26009" class="css-1dcdqdg"><code><span class="code-string"> grid-column: left; </span></code></td></tr><tr><td id="L26010" class="css-a4x74f"><span>26010</span></td><td id="LC26010" class="css-1dcdqdg"><code><span class="code-string"> grid-row: footer; </span></code></td></tr><tr><td id="L26011" class="css-a4x74f"><span>26011</span></td><td id="LC26011" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26012" class="css-a4x74f"><span>26012</span></td><td id="LC26012" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26013" class="css-a4x74f"><span>26013</span></td><td id="LC26013" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-bottom-right-corner-holder { </span></code></td></tr><tr><td id="L26014" class="css-a4x74f"><span>26014</span></td><td id="LC26014" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L26015" class="css-a4x74f"><span>26015</span></td><td id="LC26015" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-margin-bottom); </span></code></td></tr><tr><td id="L26016" class="css-a4x74f"><span>26016</span></td><td id="LC26016" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L26017" class="css-a4x74f"><span>26017</span></td><td id="LC26017" class="css-1dcdqdg"><code><span class="code-string"> grid-column: right; </span></code></td></tr><tr><td id="L26018" class="css-a4x74f"><span>26018</span></td><td id="LC26018" class="css-1dcdqdg"><code><span class="code-string"> grid-row: footer; </span></code></td></tr><tr><td id="L26019" class="css-a4x74f"><span>26019</span></td><td id="LC26019" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26020" class="css-a4x74f"><span>26020</span></td><td id="LC26020" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26021" class="css-a4x74f"><span>26021</span></td><td id="LC26021" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-bottom-left-corner { </span></code></td></tr><tr><td id="L26022" class="css-a4x74f"><span>26022</span></td><td id="LC26022" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-left); </span></code></td></tr><tr><td id="L26023" class="css-a4x74f"><span>26023</span></td><td id="LC26023" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26024" class="css-a4x74f"><span>26024</span></td><td id="LC26024" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26025" class="css-a4x74f"><span>26025</span></td><td id="LC26025" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-bottom-right-corner { </span></code></td></tr><tr><td id="L26026" class="css-a4x74f"><span>26026</span></td><td id="LC26026" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-right); </span></code></td></tr><tr><td id="L26027" class="css-a4x74f"><span>26027</span></td><td id="LC26027" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26028" class="css-a4x74f"><span>26028</span></td><td id="LC26028" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26029" class="css-a4x74f"><span>26029</span></td><td id="LC26029" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26030" class="css-a4x74f"><span>26030</span></td><td id="LC26030" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26031" class="css-a4x74f"><span>26031</span></td><td id="LC26031" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-left { </span></code></td></tr><tr><td id="L26032" class="css-a4x74f"><span>26032</span></td><td id="LC26032" class="css-1dcdqdg"><code><span class="code-string"> height: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom)); </span></code></td></tr><tr><td id="L26033" class="css-a4x74f"><span>26033</span></td><td id="LC26033" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-margin-left); </span></code></td></tr><tr><td id="L26034" class="css-a4x74f"><span>26034</span></td><td id="LC26034" class="css-1dcdqdg"><code><span class="code-string"> grid-column: left; </span></code></td></tr><tr><td id="L26035" class="css-a4x74f"><span>26035</span></td><td id="LC26035" class="css-1dcdqdg"><code><span class="code-string"> grid-row: page; </span></code></td></tr><tr><td id="L26036" class="css-a4x74f"><span>26036</span></td><td id="LC26036" class="css-1dcdqdg"><code><span class="code-string"> display: grid; </span></code></td></tr><tr><td id="L26037" class="css-a4x74f"><span>26037</span></td><td id="LC26037" class="css-1dcdqdg"><code><span class="code-string"> grid-template-rows: repeat(3, 33.33333%); </span></code></td></tr><tr><td id="L26038" class="css-a4x74f"><span>26038</span></td><td id="LC26038" class="css-1dcdqdg"><code><span class="code-string"> grid-template-columns: 100%; </span></code></td></tr><tr><td id="L26039" class="css-a4x74f"><span>26039</span></td><td id="LC26039" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26040" class="css-a4x74f"><span>26040</span></td><td id="LC26040" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26041" class="css-a4x74f"><span>26041</span></td><td id="LC26041" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_pagebox .pagedjs_margin:not(.hasContent) { </span></code></td></tr><tr><td id="L26042" class="css-a4x74f"><span>26042</span></td><td id="LC26042" class="css-1dcdqdg"><code><span class="code-string"> visibility: hidden; </span></code></td></tr><tr><td id="L26043" class="css-a4x74f"><span>26043</span></td><td id="LC26043" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26044" class="css-a4x74f"><span>26044</span></td><td id="LC26044" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26045" class="css-a4x74f"><span>26045</span></td><td id="LC26045" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox > .pagedjs_area { </span></code></td></tr><tr><td id="L26046" class="css-a4x74f"><span>26046</span></td><td id="LC26046" class="css-1dcdqdg"><code><span class="code-string"> grid-column: center; </span></code></td></tr><tr><td id="L26047" class="css-a4x74f"><span>26047</span></td><td id="LC26047" class="css-1dcdqdg"><code><span class="code-string"> grid-row: page; </span></code></td></tr><tr><td id="L26048" class="css-a4x74f"><span>26048</span></td><td id="LC26048" class="css-1dcdqdg"><code><span class="code-string"> width: 100%; </span></code></td></tr><tr><td id="L26049" class="css-a4x74f"><span>26049</span></td><td id="LC26049" class="css-1dcdqdg"><code><span class="code-string"> height: 100%; </span></code></td></tr><tr><td id="L26050" class="css-a4x74f"><span>26050</span></td><td id="LC26050" class="css-1dcdqdg"><code><span class="code-string"> padding: var(--pagedjs-padding-top) var(--pagedjs-padding-right) var(--pagedjs-padding-bottom) var(--pagedjs-padding-left); </span></code></td></tr><tr><td id="L26051" class="css-a4x74f"><span>26051</span></td><td id="LC26051" class="css-1dcdqdg"><code><span class="code-string"> border-top: var(--pagedjs-border-top); </span></code></td></tr><tr><td id="L26052" class="css-a4x74f"><span>26052</span></td><td id="LC26052" class="css-1dcdqdg"><code><span class="code-string"> border-right: var(--pagedjs-border-right); </span></code></td></tr><tr><td id="L26053" class="css-a4x74f"><span>26053</span></td><td id="LC26053" class="css-1dcdqdg"><code><span class="code-string"> border-bottom: var(--pagedjs-border-bottom); </span></code></td></tr><tr><td id="L26054" class="css-a4x74f"><span>26054</span></td><td id="LC26054" class="css-1dcdqdg"><code><span class="code-string"> border-left: var(--pagedjs-border-left); </span></code></td></tr><tr><td id="L26055" class="css-a4x74f"><span>26055</span></td><td id="LC26055" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26056" class="css-a4x74f"><span>26056</span></td><td id="LC26056" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26057" class="css-a4x74f"><span>26057</span></td><td id="LC26057" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox > .pagedjs_area > .pagedjs_page_content { </span></code></td></tr><tr><td id="L26058" class="css-a4x74f"><span>26058</span></td><td id="LC26058" class="css-1dcdqdg"><code><span class="code-string"> width: 100%; </span></code></td></tr><tr><td id="L26059" class="css-a4x74f"><span>26059</span></td><td id="LC26059" class="css-1dcdqdg"><code><span class="code-string"> height: 100%; </span></code></td></tr><tr><td id="L26060" class="css-a4x74f"><span>26060</span></td><td id="LC26060" class="css-1dcdqdg"><code><span class="code-string"> position: relative; </span></code></td></tr><tr><td id="L26061" class="css-a4x74f"><span>26061</span></td><td id="LC26061" class="css-1dcdqdg"><code><span class="code-string"> column-fill: auto; </span></code></td></tr><tr><td id="L26062" class="css-a4x74f"><span>26062</span></td><td id="LC26062" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26063" class="css-a4x74f"><span>26063</span></td><td id="LC26063" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26064" class="css-a4x74f"><span>26064</span></td><td id="LC26064" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_page { </span></code></td></tr><tr><td id="L26065" class="css-a4x74f"><span>26065</span></td><td id="LC26065" class="css-1dcdqdg"><code><span class="code-string"> counter-increment: page var(--pagedjs-page-counter-increment); </span></code></td></tr><tr><td id="L26066" class="css-a4x74f"><span>26066</span></td><td id="LC26066" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width); </span></code></td></tr><tr><td id="L26067" class="css-a4x74f"><span>26067</span></td><td id="LC26067" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height); </span></code></td></tr><tr><td id="L26068" class="css-a4x74f"><span>26068</span></td><td id="LC26068" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26069" class="css-a4x74f"><span>26069</span></td><td id="LC26069" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26070" class="css-a4x74f"><span>26070</span></td><td id="LC26070" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_page.pagedjs_right_page { </span></code></td></tr><tr><td id="L26071" class="css-a4x74f"><span>26071</span></td><td id="LC26071" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width-right); </span></code></td></tr><tr><td id="L26072" class="css-a4x74f"><span>26072</span></td><td id="LC26072" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height-right); </span></code></td></tr><tr><td id="L26073" class="css-a4x74f"><span>26073</span></td><td id="LC26073" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26074" class="css-a4x74f"><span>26074</span></td><td id="LC26074" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26075" class="css-a4x74f"><span>26075</span></td><td id="LC26075" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_page.pagedjs_left_page { </span></code></td></tr><tr><td id="L26076" class="css-a4x74f"><span>26076</span></td><td id="LC26076" class="css-1dcdqdg"><code><span class="code-string"> width: var(--pagedjs-width-left); </span></code></td></tr><tr><td id="L26077" class="css-a4x74f"><span>26077</span></td><td id="LC26077" class="css-1dcdqdg"><code><span class="code-string"> height: var(--pagedjs-height-left); </span></code></td></tr><tr><td id="L26078" class="css-a4x74f"><span>26078</span></td><td id="LC26078" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26079" class="css-a4x74f"><span>26079</span></td><td id="LC26079" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26080" class="css-a4x74f"><span>26080</span></td><td id="LC26080" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages { </span></code></td></tr><tr><td id="L26081" class="css-a4x74f"><span>26081</span></td><td id="LC26081" class="css-1dcdqdg"><code><span class="code-string"> counter-reset: pages var(--pagedjs-page-count); </span></code></td></tr><tr><td id="L26082" class="css-a4x74f"><span>26082</span></td><td id="LC26082" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26083" class="css-a4x74f"><span>26083</span></td><td id="LC26083" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26084" class="css-a4x74f"><span>26084</span></td><td id="LC26084" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-left-corner, </span></code></td></tr><tr><td id="L26085" class="css-a4x74f"><span>26085</span></td><td id="LC26085" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-right-corner, </span></code></td></tr><tr><td id="L26086" class="css-a4x74f"><span>26086</span></td><td id="LC26086" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner, </span></code></td></tr><tr><td id="L26087" class="css-a4x74f"><span>26087</span></td><td id="LC26087" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner, </span></code></td></tr><tr><td id="L26088" class="css-a4x74f"><span>26088</span></td><td id="LC26088" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-left, </span></code></td></tr><tr><td id="L26089" class="css-a4x74f"><span>26089</span></td><td id="LC26089" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-right, </span></code></td></tr><tr><td id="L26090" class="css-a4x74f"><span>26090</span></td><td id="LC26090" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-left, </span></code></td></tr><tr><td id="L26091" class="css-a4x74f"><span>26091</span></td><td id="LC26091" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-right, </span></code></td></tr><tr><td id="L26092" class="css-a4x74f"><span>26092</span></td><td id="LC26092" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-center, </span></code></td></tr><tr><td id="L26093" class="css-a4x74f"><span>26093</span></td><td id="LC26093" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-center, </span></code></td></tr><tr><td id="L26094" class="css-a4x74f"><span>26094</span></td><td id="LC26094" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-center, </span></code></td></tr><tr><td id="L26095" class="css-a4x74f"><span>26095</span></td><td id="LC26095" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-center, </span></code></td></tr><tr><td id="L26096" class="css-a4x74f"><span>26096</span></td><td id="LC26096" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-right-middle, </span></code></td></tr><tr><td id="L26097" class="css-a4x74f"><span>26097</span></td><td id="LC26097" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-left-middle { </span></code></td></tr><tr><td id="L26098" class="css-a4x74f"><span>26098</span></td><td id="LC26098" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L26099" class="css-a4x74f"><span>26099</span></td><td id="LC26099" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L26100" class="css-a4x74f"><span>26100</span></td><td id="LC26100" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26101" class="css-a4x74f"><span>26101</span></td><td id="LC26101" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26102" class="css-a4x74f"><span>26102</span></td><td id="LC26102" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-right-top, </span></code></td></tr><tr><td id="L26103" class="css-a4x74f"><span>26103</span></td><td id="LC26103" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-left-top { </span></code></td></tr><tr><td id="L26104" class="css-a4x74f"><span>26104</span></td><td id="LC26104" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L26105" class="css-a4x74f"><span>26105</span></td><td id="LC26105" class="css-1dcdqdg"><code><span class="code-string"> align-items: flex-top; </span></code></td></tr><tr><td id="L26106" class="css-a4x74f"><span>26106</span></td><td id="LC26106" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26107" class="css-a4x74f"><span>26107</span></td><td id="LC26107" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26108" class="css-a4x74f"><span>26108</span></td><td id="LC26108" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26109" class="css-a4x74f"><span>26109</span></td><td id="LC26109" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-right-bottom, </span></code></td></tr><tr><td id="L26110" class="css-a4x74f"><span>26110</span></td><td id="LC26110" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_margin-left-bottom { </span></code></td></tr><tr><td id="L26111" class="css-a4x74f"><span>26111</span></td><td id="LC26111" class="css-1dcdqdg"><code><span class="code-string"> display: flex; </span></code></td></tr><tr><td id="L26112" class="css-a4x74f"><span>26112</span></td><td id="LC26112" class="css-1dcdqdg"><code><span class="code-string"> align-items: flex-end; </span></code></td></tr><tr><td id="L26113" class="css-a4x74f"><span>26113</span></td><td id="LC26113" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26114" class="css-a4x74f"><span>26114</span></td><td id="LC26114" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26115" class="css-a4x74f"><span>26115</span></td><td id="LC26115" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26116" class="css-a4x74f"><span>26116</span></td><td id="LC26116" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26117" class="css-a4x74f"><span>26117</span></td><td id="LC26117" class="css-1dcdqdg"><code><span class="code-string">/* </span></code></td></tr><tr><td id="L26118" class="css-a4x74f"><span>26118</span></td><td id="LC26118" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-center, </span></code></td></tr><tr><td id="L26119" class="css-a4x74f"><span>26119</span></td><td id="LC26119" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-center { </span></code></td></tr><tr><td id="L26120" class="css-a4x74f"><span>26120</span></td><td id="LC26120" class="css-1dcdqdg"><code><span class="code-string"> height: 100%; </span></code></td></tr><tr><td id="L26121" class="css-a4x74f"><span>26121</span></td><td id="LC26121" class="css-1dcdqdg"><code><span class="code-string"> display: none; </span></code></td></tr><tr><td id="L26122" class="css-a4x74f"><span>26122</span></td><td id="LC26122" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L26123" class="css-a4x74f"><span>26123</span></td><td id="LC26123" class="css-1dcdqdg"><code><span class="code-string"> flex: 1 0 33%; </span></code></td></tr><tr><td id="L26124" class="css-a4x74f"><span>26124</span></td><td id="LC26124" class="css-1dcdqdg"><code><span class="code-string"> margin: 0 auto; </span></code></td></tr><tr><td id="L26125" class="css-a4x74f"><span>26125</span></td><td id="LC26125" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26126" class="css-a4x74f"><span>26126</span></td><td id="LC26126" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26127" class="css-a4x74f"><span>26127</span></td><td id="LC26127" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-left-corner, </span></code></td></tr><tr><td id="L26128" class="css-a4x74f"><span>26128</span></td><td id="LC26128" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-right-corner, </span></code></td></tr><tr><td id="L26129" class="css-a4x74f"><span>26129</span></td><td id="LC26129" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner, </span></code></td></tr><tr><td id="L26130" class="css-a4x74f"><span>26130</span></td><td id="LC26130" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner { </span></code></td></tr><tr><td id="L26131" class="css-a4x74f"><span>26131</span></td><td id="LC26131" class="css-1dcdqdg"><code><span class="code-string"> display: none; </span></code></td></tr><tr><td id="L26132" class="css-a4x74f"><span>26132</span></td><td id="LC26132" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L26133" class="css-a4x74f"><span>26133</span></td><td id="LC26133" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26134" class="css-a4x74f"><span>26134</span></td><td id="LC26134" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26135" class="css-a4x74f"><span>26135</span></td><td id="LC26135" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-top, </span></code></td></tr><tr><td id="L26136" class="css-a4x74f"><span>26136</span></td><td id="LC26136" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-top { </span></code></td></tr><tr><td id="L26137" class="css-a4x74f"><span>26137</span></td><td id="LC26137" class="css-1dcdqdg"><code><span class="code-string"> display: none; </span></code></td></tr><tr><td id="L26138" class="css-a4x74f"><span>26138</span></td><td id="LC26138" class="css-1dcdqdg"><code><span class="code-string"> align-items: flex-start; </span></code></td></tr><tr><td id="L26139" class="css-a4x74f"><span>26139</span></td><td id="LC26139" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26140" class="css-a4x74f"><span>26140</span></td><td id="LC26140" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26141" class="css-a4x74f"><span>26141</span></td><td id="LC26141" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-middle, </span></code></td></tr><tr><td id="L26142" class="css-a4x74f"><span>26142</span></td><td id="LC26142" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-middle { </span></code></td></tr><tr><td id="L26143" class="css-a4x74f"><span>26143</span></td><td id="LC26143" class="css-1dcdqdg"><code><span class="code-string"> display: none; </span></code></td></tr><tr><td id="L26144" class="css-a4x74f"><span>26144</span></td><td id="LC26144" class="css-1dcdqdg"><code><span class="code-string"> align-items: center; </span></code></td></tr><tr><td id="L26145" class="css-a4x74f"><span>26145</span></td><td id="LC26145" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26146" class="css-a4x74f"><span>26146</span></td><td id="LC26146" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26147" class="css-a4x74f"><span>26147</span></td><td id="LC26147" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-bottom, </span></code></td></tr><tr><td id="L26148" class="css-a4x74f"><span>26148</span></td><td id="LC26148" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-bottom { </span></code></td></tr><tr><td id="L26149" class="css-a4x74f"><span>26149</span></td><td id="LC26149" class="css-1dcdqdg"><code><span class="code-string"> display: none; </span></code></td></tr><tr><td id="L26150" class="css-a4x74f"><span>26150</span></td><td id="LC26150" class="css-1dcdqdg"><code><span class="code-string"> align-items: flex-end; </span></code></td></tr><tr><td id="L26151" class="css-a4x74f"><span>26151</span></td><td id="LC26151" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26152" class="css-a4x74f"><span>26152</span></td><td id="LC26152" class="css-1dcdqdg"><code><span class="code-string">*/ </span></code></td></tr><tr><td id="L26153" class="css-a4x74f"><span>26153</span></td><td id="LC26153" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26154" class="css-a4x74f"><span>26154</span></td><td id="LC26154" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-left, </span></code></td></tr><tr><td id="L26155" class="css-a4x74f"><span>26155</span></td><td id="LC26155" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-right-corner, </span></code></td></tr><tr><td id="L26156" class="css-a4x74f"><span>26156</span></td><td id="LC26156" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-left, </span></code></td></tr><tr><td id="L26157" class="css-a4x74f"><span>26157</span></td><td id="LC26157" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-right-corner { text-align: left; } </span></code></td></tr><tr><td id="L26158" class="css-a4x74f"><span>26158</span></td><td id="LC26158" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26159" class="css-a4x74f"><span>26159</span></td><td id="LC26159" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-left-corner, </span></code></td></tr><tr><td id="L26160" class="css-a4x74f"><span>26160</span></td><td id="LC26160" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-right, </span></code></td></tr><tr><td id="L26161" class="css-a4x74f"><span>26161</span></td><td id="LC26161" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-left-corner, </span></code></td></tr><tr><td id="L26162" class="css-a4x74f"><span>26162</span></td><td id="LC26162" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-right { text-align: right; } </span></code></td></tr><tr><td id="L26163" class="css-a4x74f"><span>26163</span></td><td id="LC26163" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26164" class="css-a4x74f"><span>26164</span></td><td id="LC26164" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-top-center, </span></code></td></tr><tr><td id="L26165" class="css-a4x74f"><span>26165</span></td><td id="LC26165" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-bottom-center, </span></code></td></tr><tr><td id="L26166" class="css-a4x74f"><span>26166</span></td><td id="LC26166" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-top, </span></code></td></tr><tr><td id="L26167" class="css-a4x74f"><span>26167</span></td><td id="LC26167" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-middle, </span></code></td></tr><tr><td id="L26168" class="css-a4x74f"><span>26168</span></td><td id="LC26168" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-left-bottom, </span></code></td></tr><tr><td id="L26169" class="css-a4x74f"><span>26169</span></td><td id="LC26169" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-top, </span></code></td></tr><tr><td id="L26170" class="css-a4x74f"><span>26170</span></td><td id="LC26170" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-middle, </span></code></td></tr><tr><td id="L26171" class="css-a4x74f"><span>26171</span></td><td id="LC26171" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pagebox .pagedjs_margin-right-bottom { text-align: center; } </span></code></td></tr><tr><td id="L26172" class="css-a4x74f"><span>26172</span></td><td id="LC26172" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26173" class="css-a4x74f"><span>26173</span></td><td id="LC26173" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_margin .pagedjs_margin-content { </span></code></td></tr><tr><td id="L26174" class="css-a4x74f"><span>26174</span></td><td id="LC26174" class="css-1dcdqdg"><code><span class="code-string"> width: 100%; </span></code></td></tr><tr><td id="L26175" class="css-a4x74f"><span>26175</span></td><td id="LC26175" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26176" class="css-a4x74f"><span>26176</span></td><td id="LC26176" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26177" class="css-a4x74f"><span>26177</span></td><td id="LC26177" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_margin-left .pagedjs_margin-content::after, </span></code></td></tr><tr><td id="L26178" class="css-a4x74f"><span>26178</span></td><td id="LC26178" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_margin-top .pagedjs_margin-content::after, </span></code></td></tr><tr><td id="L26179" class="css-a4x74f"><span>26179</span></td><td id="LC26179" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_margin-right .pagedjs_margin-content::after, </span></code></td></tr><tr><td id="L26180" class="css-a4x74f"><span>26180</span></td><td id="LC26180" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages .pagedjs_margin-bottom .pagedjs_margin-content::after { </span></code></td></tr><tr><td id="L26181" class="css-a4x74f"><span>26181</span></td><td id="LC26181" class="css-1dcdqdg"><code><span class="code-string"> display: block; </span></code></td></tr><tr><td id="L26182" class="css-a4x74f"><span>26182</span></td><td id="LC26182" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26183" class="css-a4x74f"><span>26183</span></td><td id="LC26183" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26184" class="css-a4x74f"><span>26184</span></td><td id="LC26184" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to] { </span></code></td></tr><tr><td id="L26185" class="css-a4x74f"><span>26185</span></td><td id="LC26185" class="css-1dcdqdg"><code><span class="code-string"> margin-bottom: unset; </span></code></td></tr><tr><td id="L26186" class="css-a4x74f"><span>26186</span></td><td id="LC26186" class="css-1dcdqdg"><code><span class="code-string"> padding-bottom: unset; </span></code></td></tr><tr><td id="L26187" class="css-a4x74f"><span>26187</span></td><td id="LC26187" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26188" class="css-a4x74f"><span>26188</span></td><td id="LC26188" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26189" class="css-a4x74f"><span>26189</span></td><td id="LC26189" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] { </span></code></td></tr><tr><td id="L26190" class="css-a4x74f"><span>26190</span></td><td id="LC26190" class="css-1dcdqdg"><code><span class="code-string"> text-indent: unset; </span></code></td></tr><tr><td id="L26191" class="css-a4x74f"><span>26191</span></td><td id="LC26191" class="css-1dcdqdg"><code><span class="code-string"> margin-top: unset; </span></code></td></tr><tr><td id="L26192" class="css-a4x74f"><span>26192</span></td><td id="LC26192" class="css-1dcdqdg"><code><span class="code-string"> padding-top: unset; </span></code></td></tr><tr><td id="L26193" class="css-a4x74f"><span>26193</span></td><td id="LC26193" class="css-1dcdqdg"><code><span class="code-string"> initial-letter: unset; </span></code></td></tr><tr><td id="L26194" class="css-a4x74f"><span>26194</span></td><td id="LC26194" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26195" class="css-a4x74f"><span>26195</span></td><td id="LC26195" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26196" class="css-a4x74f"><span>26196</span></td><td id="LC26196" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] > *::first-letter, </span></code></td></tr><tr><td id="L26197" class="css-a4x74f"><span>26197</span></td><td id="LC26197" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]::first-letter { </span></code></td></tr><tr><td id="L26198" class="css-a4x74f"><span>26198</span></td><td id="LC26198" class="css-1dcdqdg"><code><span class="code-string"> color: unset; </span></code></td></tr><tr><td id="L26199" class="css-a4x74f"><span>26199</span></td><td id="LC26199" class="css-1dcdqdg"><code><span class="code-string"> font-size: unset; </span></code></td></tr><tr><td id="L26200" class="css-a4x74f"><span>26200</span></td><td id="LC26200" class="css-1dcdqdg"><code><span class="code-string"> font-weight: unset; </span></code></td></tr><tr><td id="L26201" class="css-a4x74f"><span>26201</span></td><td id="LC26201" class="css-1dcdqdg"><code><span class="code-string"> font-family: unset; </span></code></td></tr><tr><td id="L26202" class="css-a4x74f"><span>26202</span></td><td id="LC26202" class="css-1dcdqdg"><code><span class="code-string"> color: unset; </span></code></td></tr><tr><td id="L26203" class="css-a4x74f"><span>26203</span></td><td id="LC26203" class="css-1dcdqdg"><code><span class="code-string"> line-height: unset; </span></code></td></tr><tr><td id="L26204" class="css-a4x74f"><span>26204</span></td><td id="LC26204" class="css-1dcdqdg"><code><span class="code-string"> float: unset; </span></code></td></tr><tr><td id="L26205" class="css-a4x74f"><span>26205</span></td><td id="LC26205" class="css-1dcdqdg"><code><span class="code-string"> padding: unset; </span></code></td></tr><tr><td id="L26206" class="css-a4x74f"><span>26206</span></td><td id="LC26206" class="css-1dcdqdg"><code><span class="code-string"> margin: unset; </span></code></td></tr><tr><td id="L26207" class="css-a4x74f"><span>26207</span></td><td id="LC26207" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26208" class="css-a4x74f"><span>26208</span></td><td id="LC26208" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26209" class="css-a4x74f"><span>26209</span></td><td id="LC26209" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]:after, </span></code></td></tr><tr><td id="L26210" class="css-a4x74f"><span>26210</span></td><td id="LC26210" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]::after { </span></code></td></tr><tr><td id="L26211" class="css-a4x74f"><span>26211</span></td><td id="LC26211" class="css-1dcdqdg"><code><span class="code-string"> content: unset; </span></code></td></tr><tr><td id="L26212" class="css-a4x74f"><span>26212</span></td><td id="LC26212" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26213" class="css-a4x74f"><span>26213</span></td><td id="LC26213" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26214" class="css-a4x74f"><span>26214</span></td><td id="LC26214" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]:before, </span></code></td></tr><tr><td id="L26215" class="css-a4x74f"><span>26215</span></td><td id="LC26215" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]::before { </span></code></td></tr><tr><td id="L26216" class="css-a4x74f"><span>26216</span></td><td id="LC26216" class="css-1dcdqdg"><code><span class="code-string"> content: unset; </span></code></td></tr><tr><td id="L26217" class="css-a4x74f"><span>26217</span></td><td id="LC26217" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26218" class="css-a4x74f"><span>26218</span></td><td id="LC26218" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26219" class="css-a4x74f"><span>26219</span></td><td id="LC26219" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div li[data-split-from]:first-of-type { </span></code></td></tr><tr><td id="L26220" class="css-a4x74f"><span>26220</span></td><td id="LC26220" class="css-1dcdqdg"><code><span class="code-string"> list-style: none; </span></code></td></tr><tr><td id="L26221" class="css-a4x74f"><span>26221</span></td><td id="LC26221" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26222" class="css-a4x74f"><span>26222</span></td><td id="LC26222" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26223" class="css-a4x74f"><span>26223</span></td><td id="LC26223" class="css-1dcdqdg"><code><span class="code-string">/* </span></code></td></tr><tr><td id="L26224" class="css-a4x74f"><span>26224</span></td><td id="LC26224" class="css-1dcdqdg"><code><span class="code-string">[data-page]:not([data-split-from]), </span></code></td></tr><tr><td id="L26225" class="css-a4x74f"><span>26225</span></td><td id="LC26225" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="page"]:not([data-split-from]), </span></code></td></tr><tr><td id="L26226" class="css-a4x74f"><span>26226</span></td><td id="LC26226" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="always"]:not([data-split-from]), </span></code></td></tr><tr><td id="L26227" class="css-a4x74f"><span>26227</span></td><td id="LC26227" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="left"]:not([data-split-from]), </span></code></td></tr><tr><td id="L26228" class="css-a4x74f"><span>26228</span></td><td id="LC26228" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="right"]:not([data-split-from]), </span></code></td></tr><tr><td id="L26229" class="css-a4x74f"><span>26229</span></td><td id="LC26229" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="recto"]:not([data-split-from]), </span></code></td></tr><tr><td id="L26230" class="css-a4x74f"><span>26230</span></td><td id="LC26230" class="css-1dcdqdg"><code><span class="code-string">[data-break-before="verso"]:not([data-split-from]) </span></code></td></tr><tr><td id="L26231" class="css-a4x74f"><span>26231</span></td><td id="LC26231" class="css-1dcdqdg"><code><span class="code-string">{ </span></code></td></tr><tr><td id="L26232" class="css-a4x74f"><span>26232</span></td><td id="LC26232" class="css-1dcdqdg"><code><span class="code-string"> break-before: column; </span></code></td></tr><tr><td id="L26233" class="css-a4x74f"><span>26233</span></td><td id="LC26233" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26234" class="css-a4x74f"><span>26234</span></td><td id="LC26234" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26235" class="css-a4x74f"><span>26235</span></td><td id="LC26235" class="css-1dcdqdg"><code><span class="code-string">[data-page]:not([data-split-to]), </span></code></td></tr><tr><td id="L26236" class="css-a4x74f"><span>26236</span></td><td id="LC26236" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="page"]:not([data-split-to]), </span></code></td></tr><tr><td id="L26237" class="css-a4x74f"><span>26237</span></td><td id="LC26237" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="always"]:not([data-split-to]), </span></code></td></tr><tr><td id="L26238" class="css-a4x74f"><span>26238</span></td><td id="LC26238" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="left"]:not([data-split-to]), </span></code></td></tr><tr><td id="L26239" class="css-a4x74f"><span>26239</span></td><td id="LC26239" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="right"]:not([data-split-to]), </span></code></td></tr><tr><td id="L26240" class="css-a4x74f"><span>26240</span></td><td id="LC26240" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="recto"]:not([data-split-to]), </span></code></td></tr><tr><td id="L26241" class="css-a4x74f"><span>26241</span></td><td id="LC26241" class="css-1dcdqdg"><code><span class="code-string">[data-break-after="verso"]:not([data-split-to]) </span></code></td></tr><tr><td id="L26242" class="css-a4x74f"><span>26242</span></td><td id="LC26242" class="css-1dcdqdg"><code><span class="code-string">{ </span></code></td></tr><tr><td id="L26243" class="css-a4x74f"><span>26243</span></td><td id="LC26243" class="css-1dcdqdg"><code><span class="code-string"> break-after: column; </span></code></td></tr><tr><td id="L26244" class="css-a4x74f"><span>26244</span></td><td id="LC26244" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26245" class="css-a4x74f"><span>26245</span></td><td id="LC26245" class="css-1dcdqdg"><code><span class="code-string">*/ </span></code></td></tr><tr><td id="L26246" class="css-a4x74f"><span>26246</span></td><td id="LC26246" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26247" class="css-a4x74f"><span>26247</span></td><td id="LC26247" class="css-1dcdqdg"><code><span class="code-string">.pagedjs_clear-after::after { </span></code></td></tr><tr><td id="L26248" class="css-a4x74f"><span>26248</span></td><td id="LC26248" class="css-1dcdqdg"><code><span class="code-string"> content: none !important; </span></code></td></tr><tr><td id="L26249" class="css-a4x74f"><span>26249</span></td><td id="LC26249" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26250" class="css-a4x74f"><span>26250</span></td><td id="LC26250" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26251" class="css-a4x74f"><span>26251</span></td><td id="LC26251" class="css-1dcdqdg"><code><span class="code-string">[data-align-last-split-element='justify'] { </span></code></td></tr><tr><td id="L26252" class="css-a4x74f"><span>26252</span></td><td id="LC26252" class="css-1dcdqdg"><code><span class="code-string"> text-align-last: justify; </span></code></td></tr><tr><td id="L26253" class="css-a4x74f"><span>26253</span></td><td id="LC26253" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26254" class="css-a4x74f"><span>26254</span></td><td id="LC26254" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26255" class="css-a4x74f"><span>26255</span></td><td id="LC26255" class="css-1dcdqdg"><code><span class="code-string"> </span></code></td></tr><tr><td id="L26256" class="css-a4x74f"><span>26256</span></td><td id="LC26256" class="css-1dcdqdg"><code><span class="code-string">@media print { </span></code></td></tr><tr><td id="L26257" class="css-a4x74f"><span>26257</span></td><td id="LC26257" class="css-1dcdqdg"><code><span class="code-string"> html { </span></code></td></tr><tr><td id="L26258" class="css-a4x74f"><span>26258</span></td><td id="LC26258" class="css-1dcdqdg"><code><span class="code-string"> width: 100%; </span></code></td></tr><tr><td id="L26259" class="css-a4x74f"><span>26259</span></td><td id="LC26259" class="css-1dcdqdg"><code><span class="code-string"> height: 100%; </span></code></td></tr><tr><td id="L26260" class="css-a4x74f"><span>26260</span></td><td id="LC26260" class="css-1dcdqdg"><code><span class="code-string"> } </span></code></td></tr><tr><td id="L26261" class="css-a4x74f"><span>26261</span></td><td id="LC26261" class="css-1dcdqdg"><code><span class="code-string"> body { </span></code></td></tr><tr><td id="L26262" class="css-a4x74f"><span>26262</span></td><td id="LC26262" class="css-1dcdqdg"><code><span class="code-string"> margin: 0; </span></code></td></tr><tr><td id="L26263" class="css-a4x74f"><span>26263</span></td><td id="LC26263" class="css-1dcdqdg"><code><span class="code-string"> padding: 0; </span></code></td></tr><tr><td id="L26264" class="css-a4x74f"><span>26264</span></td><td id="LC26264" class="css-1dcdqdg"><code><span class="code-string"> width: 100% !important; </span></code></td></tr><tr><td id="L26265" class="css-a4x74f"><span>26265</span></td><td id="LC26265" class="css-1dcdqdg"><code><span class="code-string"> height: 100% !important; </span></code></td></tr><tr><td id="L26266" class="css-a4x74f"><span>26266</span></td><td id="LC26266" class="css-1dcdqdg"><code><span class="code-string"> min-width: 100%; </span></code></td></tr><tr><td id="L26267" class="css-a4x74f"><span>26267</span></td><td id="LC26267" class="css-1dcdqdg"><code><span class="code-string"> max-width: 100%; </span></code></td></tr><tr><td id="L26268" class="css-a4x74f"><span>26268</span></td><td id="LC26268" class="css-1dcdqdg"><code><span class="code-string"> min-height: 100%; </span></code></td></tr><tr><td id="L26269" class="css-a4x74f"><span>26269</span></td><td id="LC26269" class="css-1dcdqdg"><code><span class="code-string"> max-height: 100%; </span></code></td></tr><tr><td id="L26270" class="css-a4x74f"><span>26270</span></td><td id="LC26270" class="css-1dcdqdg"><code><span class="code-string"> } </span></code></td></tr><tr><td id="L26271" class="css-a4x74f"><span>26271</span></td><td id="LC26271" class="css-1dcdqdg"><code><span class="code-string"> .pagedjs_pages { </span></code></td></tr><tr><td id="L26272" class="css-a4x74f"><span>26272</span></td><td id="LC26272" class="css-1dcdqdg"><code><span class="code-string"> width: auto; </span></code></td></tr><tr><td id="L26273" class="css-a4x74f"><span>26273</span></td><td id="LC26273" class="css-1dcdqdg"><code><span class="code-string"> display: block !important; </span></code></td></tr><tr><td id="L26274" class="css-a4x74f"><span>26274</span></td><td id="LC26274" class="css-1dcdqdg"><code><span class="code-string"> transform: none !important; </span></code></td></tr><tr><td id="L26275" class="css-a4x74f"><span>26275</span></td><td id="LC26275" class="css-1dcdqdg"><code><span class="code-string"> height: 100% !important; </span></code></td></tr><tr><td id="L26276" class="css-a4x74f"><span>26276</span></td><td id="LC26276" class="css-1dcdqdg"><code><span class="code-string"> min-height: 100%; </span></code></td></tr><tr><td id="L26277" class="css-a4x74f"><span>26277</span></td><td id="LC26277" class="css-1dcdqdg"><code><span class="code-string"> max-height: 100%; </span></code></td></tr><tr><td id="L26278" class="css-a4x74f"><span>26278</span></td><td id="LC26278" class="css-1dcdqdg"><code><span class="code-string"> overflow: visible; </span></code></td></tr><tr><td id="L26279" class="css-a4x74f"><span>26279</span></td><td id="LC26279" class="css-1dcdqdg"><code><span class="code-string"> } </span></code></td></tr><tr><td id="L26280" class="css-a4x74f"><span>26280</span></td><td id="LC26280" class="css-1dcdqdg"><code><span class="code-string"> .pagedjs_page { </span></code></td></tr><tr><td id="L26281" class="css-a4x74f"><span>26281</span></td><td id="LC26281" class="css-1dcdqdg"><code><span class="code-string"> margin: 0; </span></code></td></tr><tr><td id="L26282" class="css-a4x74f"><span>26282</span></td><td id="LC26282" class="css-1dcdqdg"><code><span class="code-string"> padding: 0; </span></code></td></tr><tr><td id="L26283" class="css-a4x74f"><span>26283</span></td><td id="LC26283" class="css-1dcdqdg"><code><span class="code-string"> max-height: 100%; </span></code></td></tr><tr><td id="L26284" class="css-a4x74f"><span>26284</span></td><td id="LC26284" class="css-1dcdqdg"><code><span class="code-string"> min-height: 100%; </span></code></td></tr><tr><td id="L26285" class="css-a4x74f"><span>26285</span></td><td id="LC26285" class="css-1dcdqdg"><code><span class="code-string"> height: 100% !important; </span></code></td></tr><tr><td id="L26286" class="css-a4x74f"><span>26286</span></td><td id="LC26286" class="css-1dcdqdg"><code><span class="code-string"> page-break-after: always; </span></code></td></tr><tr><td id="L26287" class="css-a4x74f"><span>26287</span></td><td id="LC26287" class="css-1dcdqdg"><code><span class="code-string"> break-after: page; </span></code></td></tr><tr><td id="L26288" class="css-a4x74f"><span>26288</span></td><td id="LC26288" class="css-1dcdqdg"><code><span class="code-string"> } </span></code></td></tr><tr><td id="L26289" class="css-a4x74f"><span>26289</span></td><td id="LC26289" class="css-1dcdqdg"><code><span class="code-string"> .pagedjs_sheet { </span></code></td></tr><tr><td id="L26290" class="css-a4x74f"><span>26290</span></td><td id="LC26290" class="css-1dcdqdg"><code><span class="code-string"> margin: 0; </span></code></td></tr><tr><td id="L26291" class="css-a4x74f"><span>26291</span></td><td id="LC26291" class="css-1dcdqdg"><code><span class="code-string"> padding: 0; </span></code></td></tr><tr><td id="L26292" class="css-a4x74f"><span>26292</span></td><td id="LC26292" class="css-1dcdqdg"><code><span class="code-string"> max-height: 100%; </span></code></td></tr><tr><td id="L26293" class="css-a4x74f"><span>26293</span></td><td id="LC26293" class="css-1dcdqdg"><code><span class="code-string"> min-height: 100%; </span></code></td></tr><tr><td id="L26294" class="css-a4x74f"><span>26294</span></td><td id="LC26294" class="css-1dcdqdg"><code><span class="code-string"> height: 100% !important; </span></code></td></tr><tr><td id="L26295" class="css-a4x74f"><span>26295</span></td><td id="LC26295" class="css-1dcdqdg"><code><span class="code-string"> } </span></code></td></tr><tr><td id="L26296" class="css-a4x74f"><span>26296</span></td><td id="LC26296" class="css-1dcdqdg"><code><span class="code-string">} </span></code></td></tr><tr><td id="L26297" class="css-a4x74f"><span>26297</span></td><td id="LC26297" class="css-1dcdqdg"><code><span class="code-string">`</span>; </code></td></tr><tr><td id="L26298" class="css-a4x74f"><span>26298</span></td><td id="LC26298" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26299" class="css-a4x74f"><span>26299</span></td><td id="LC26299" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">request</span>(<span class="code-params">url, options={}</span>) </span>{ </code></td></tr><tr><td id="L26300" class="css-a4x74f"><span>26300</span></td><td id="LC26300" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">resolve, reject</span>) </span>{ </code></td></tr><tr><td id="L26301" class="css-a4x74f"><span>26301</span></td><td id="LC26301" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> request = <span class="code-keyword">new</span> XMLHttpRequest(); </code></td></tr><tr><td id="L26302" class="css-a4x74f"><span>26302</span></td><td id="LC26302" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26303" class="css-a4x74f"><span>26303</span></td><td id="LC26303" class="css-1dcdqdg"><code> request.open(options.method || <span class="code-string">"get"</span>, url, <span class="code-literal">true</span>); </code></td></tr><tr><td id="L26304" class="css-a4x74f"><span>26304</span></td><td id="LC26304" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26305" class="css-a4x74f"><span>26305</span></td><td id="LC26305" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i <span class="code-keyword">in</span> options.headers) { </code></td></tr><tr><td id="L26306" class="css-a4x74f"><span>26306</span></td><td id="LC26306" class="css-1dcdqdg"><code> request.setRequestHeader(i, options.headers[i]); </code></td></tr><tr><td id="L26307" class="css-a4x74f"><span>26307</span></td><td id="LC26307" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26308" class="css-a4x74f"><span>26308</span></td><td id="LC26308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26309" class="css-a4x74f"><span>26309</span></td><td id="LC26309" class="css-1dcdqdg"><code> request.withCredentials = options.credentials === <span class="code-string">"include"</span>; </code></td></tr><tr><td id="L26310" class="css-a4x74f"><span>26310</span></td><td id="LC26310" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26311" class="css-a4x74f"><span>26311</span></td><td id="LC26311" class="css-1dcdqdg"><code> request.onload = <span class="code-function"><span class="code-params">()</span> =></span> { </code></td></tr><tr><td id="L26312" class="css-a4x74f"><span>26312</span></td><td id="LC26312" class="css-1dcdqdg"><code> <span class="code-comment">// Chrome returns a status code of 0 for local files</span> </code></td></tr><tr><td id="L26313" class="css-a4x74f"><span>26313</span></td><td id="LC26313" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> status = request.status === <span class="code-number">0</span> && url.startsWith(<span class="code-string">"file://"</span>) ? <span class="code-number">200</span> : request.status; </code></td></tr><tr><td id="L26314" class="css-a4x74f"><span>26314</span></td><td id="LC26314" class="css-1dcdqdg"><code> resolve(<span class="code-keyword">new</span> Response(request.responseText, {status})); </code></td></tr><tr><td id="L26315" class="css-a4x74f"><span>26315</span></td><td id="LC26315" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26316" class="css-a4x74f"><span>26316</span></td><td id="LC26316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26317" class="css-a4x74f"><span>26317</span></td><td id="LC26317" class="css-1dcdqdg"><code> request.onerror = reject; </code></td></tr><tr><td id="L26318" class="css-a4x74f"><span>26318</span></td><td id="LC26318" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26319" class="css-a4x74f"><span>26319</span></td><td id="LC26319" class="css-1dcdqdg"><code> request.send(options.body || <span class="code-literal">null</span>); </code></td></tr><tr><td id="L26320" class="css-a4x74f"><span>26320</span></td><td id="LC26320" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26321" class="css-a4x74f"><span>26321</span></td><td id="LC26321" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26322" class="css-a4x74f"><span>26322</span></td><td id="LC26322" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26323" class="css-a4x74f"><span>26323</span></td><td id="LC26323" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Polisher</span> </span>{ </code></td></tr><tr><td id="L26324" class="css-a4x74f"><span>26324</span></td><td id="LC26324" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(setup) { </code></td></tr><tr><td id="L26325" class="css-a4x74f"><span>26325</span></td><td id="LC26325" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.sheets = []; </code></td></tr><tr><td id="L26326" class="css-a4x74f"><span>26326</span></td><td id="LC26326" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.inserted = []; </code></td></tr><tr><td id="L26327" class="css-a4x74f"><span>26327</span></td><td id="LC26327" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26328" class="css-a4x74f"><span>26328</span></td><td id="LC26328" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = {}; </code></td></tr><tr><td id="L26329" class="css-a4x74f"><span>26329</span></td><td id="LC26329" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onUrl = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26330" class="css-a4x74f"><span>26330</span></td><td id="LC26330" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtPage = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26331" class="css-a4x74f"><span>26331</span></td><td id="LC26331" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onAtMedia = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26332" class="css-a4x74f"><span>26332</span></td><td id="LC26332" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onRule = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26333" class="css-a4x74f"><span>26333</span></td><td id="LC26333" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onDeclaration = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26334" class="css-a4x74f"><span>26334</span></td><td id="LC26334" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onContent = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26335" class="css-a4x74f"><span>26335</span></td><td id="LC26335" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onSelector = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26336" class="css-a4x74f"><span>26336</span></td><td id="LC26336" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onPseudoSelector = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26337" class="css-a4x74f"><span>26337</span></td><td id="LC26337" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26338" class="css-a4x74f"><span>26338</span></td><td id="LC26338" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.onImport = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26339" class="css-a4x74f"><span>26339</span></td><td id="LC26339" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26340" class="css-a4x74f"><span>26340</span></td><td id="LC26340" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeTreeParse = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26341" class="css-a4x74f"><span>26341</span></td><td id="LC26341" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforeTreeWalk = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26342" class="css-a4x74f"><span>26342</span></td><td id="LC26342" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterTreeWalk = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L26343" class="css-a4x74f"><span>26343</span></td><td id="LC26343" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26344" class="css-a4x74f"><span>26344</span></td><td id="LC26344" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (setup !== <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L26345" class="css-a4x74f"><span>26345</span></td><td id="LC26345" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.setup(); </code></td></tr><tr><td id="L26346" class="css-a4x74f"><span>26346</span></td><td id="LC26346" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26347" class="css-a4x74f"><span>26347</span></td><td id="LC26347" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26348" class="css-a4x74f"><span>26348</span></td><td id="LC26348" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26349" class="css-a4x74f"><span>26349</span></td><td id="LC26349" class="css-1dcdqdg"><code> setup() { </code></td></tr><tr><td id="L26350" class="css-a4x74f"><span>26350</span></td><td id="LC26350" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.base = <span class="code-keyword">this</span>.insert(baseStyles); </code></td></tr><tr><td id="L26351" class="css-a4x74f"><span>26351</span></td><td id="LC26351" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleEl = <span class="code-built_in">document</span>.createElement(<span class="code-string">"style"</span>); </code></td></tr><tr><td id="L26352" class="css-a4x74f"><span>26352</span></td><td id="LC26352" class="css-1dcdqdg"><code> <span class="code-built_in">document</span>.head.appendChild(<span class="code-keyword">this</span>.styleEl); </code></td></tr><tr><td id="L26353" class="css-a4x74f"><span>26353</span></td><td id="LC26353" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = <span class="code-keyword">this</span>.styleEl.sheet; </code></td></tr><tr><td id="L26354" class="css-a4x74f"><span>26354</span></td><td id="LC26354" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.styleSheet; </code></td></tr><tr><td id="L26355" class="css-a4x74f"><span>26355</span></td><td id="LC26355" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26356" class="css-a4x74f"><span>26356</span></td><td id="LC26356" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26357" class="css-a4x74f"><span>26357</span></td><td id="LC26357" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> add() { </code></td></tr><tr><td id="L26358" class="css-a4x74f"><span>26358</span></td><td id="LC26358" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fetched = []; </code></td></tr><tr><td id="L26359" class="css-a4x74f"><span>26359</span></td><td id="LC26359" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> urls = []; </code></td></tr><tr><td id="L26360" class="css-a4x74f"><span>26360</span></td><td id="LC26360" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26361" class="css-a4x74f"><span>26361</span></td><td id="LC26361" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < <span class="code-built_in">arguments</span>.length; i++) { </code></td></tr><tr><td id="L26362" class="css-a4x74f"><span>26362</span></td><td id="LC26362" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> f; </code></td></tr><tr><td id="L26363" class="css-a4x74f"><span>26363</span></td><td id="LC26363" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26364" class="css-a4x74f"><span>26364</span></td><td id="LC26364" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> <span class="code-built_in">arguments</span>[i] === <span class="code-string">"object"</span>) { </code></td></tr><tr><td id="L26365" class="css-a4x74f"><span>26365</span></td><td id="LC26365" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> url <span class="code-keyword">in</span> <span class="code-built_in">arguments</span>[i]) { </code></td></tr><tr><td id="L26366" class="css-a4x74f"><span>26366</span></td><td id="LC26366" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> obj = <span class="code-built_in">arguments</span>[i]; </code></td></tr><tr><td id="L26367" class="css-a4x74f"><span>26367</span></td><td id="LC26367" class="css-1dcdqdg"><code> f = <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">resolve, reject</span>) </span>{ </code></td></tr><tr><td id="L26368" class="css-a4x74f"><span>26368</span></td><td id="LC26368" class="css-1dcdqdg"><code> urls.push(url); </code></td></tr><tr><td id="L26369" class="css-a4x74f"><span>26369</span></td><td id="LC26369" class="css-1dcdqdg"><code> resolve(obj[url]); </code></td></tr><tr><td id="L26370" class="css-a4x74f"><span>26370</span></td><td id="LC26370" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26371" class="css-a4x74f"><span>26371</span></td><td id="LC26371" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26372" class="css-a4x74f"><span>26372</span></td><td id="LC26372" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L26373" class="css-a4x74f"><span>26373</span></td><td id="LC26373" class="css-1dcdqdg"><code> urls.push(<span class="code-built_in">arguments</span>[i]); </code></td></tr><tr><td id="L26374" class="css-a4x74f"><span>26374</span></td><td id="LC26374" class="css-1dcdqdg"><code> f = request(<span class="code-built_in">arguments</span>[i]).then(<span class="code-function">(<span class="code-params">response</span>) =></span> { </code></td></tr><tr><td id="L26375" class="css-a4x74f"><span>26375</span></td><td id="LC26375" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> response.text(); </code></td></tr><tr><td id="L26376" class="css-a4x74f"><span>26376</span></td><td id="LC26376" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26377" class="css-a4x74f"><span>26377</span></td><td id="LC26377" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26378" class="css-a4x74f"><span>26378</span></td><td id="LC26378" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26379" class="css-a4x74f"><span>26379</span></td><td id="LC26379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26380" class="css-a4x74f"><span>26380</span></td><td id="LC26380" class="css-1dcdqdg"><code> fetched.push(f); </code></td></tr><tr><td id="L26381" class="css-a4x74f"><span>26381</span></td><td id="LC26381" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26382" class="css-a4x74f"><span>26382</span></td><td id="LC26382" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26383" class="css-a4x74f"><span>26383</span></td><td id="LC26383" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">await</span> <span class="code-built_in">Promise</span>.all(fetched) </code></td></tr><tr><td id="L26384" class="css-a4x74f"><span>26384</span></td><td id="LC26384" class="css-1dcdqdg"><code> .then(<span class="code-keyword">async</span> (originals) => { </code></td></tr><tr><td id="L26385" class="css-a4x74f"><span>26385</span></td><td id="LC26385" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> text = <span class="code-string">""</span>; </code></td></tr><tr><td id="L26386" class="css-a4x74f"><span>26386</span></td><td id="LC26386" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> index = <span class="code-number">0</span>; index < originals.length; index++) { </code></td></tr><tr><td id="L26387" class="css-a4x74f"><span>26387</span></td><td id="LC26387" class="css-1dcdqdg"><code> text = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.convertViaSheet(originals[index], urls[index]); </code></td></tr><tr><td id="L26388" class="css-a4x74f"><span>26388</span></td><td id="LC26388" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insert(text); </code></td></tr><tr><td id="L26389" class="css-a4x74f"><span>26389</span></td><td id="LC26389" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26390" class="css-a4x74f"><span>26390</span></td><td id="LC26390" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> text; </code></td></tr><tr><td id="L26391" class="css-a4x74f"><span>26391</span></td><td id="LC26391" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26392" class="css-a4x74f"><span>26392</span></td><td id="LC26392" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26393" class="css-a4x74f"><span>26393</span></td><td id="LC26393" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26394" class="css-a4x74f"><span>26394</span></td><td id="LC26394" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> convertViaSheet(cssStr, href) { </code></td></tr><tr><td id="L26395" class="css-a4x74f"><span>26395</span></td><td id="LC26395" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> sheet = <span class="code-keyword">new</span> Sheet(href, <span class="code-keyword">this</span>.hooks); </code></td></tr><tr><td id="L26396" class="css-a4x74f"><span>26396</span></td><td id="LC26396" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> sheet.parse(cssStr); </code></td></tr><tr><td id="L26397" class="css-a4x74f"><span>26397</span></td><td id="LC26397" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26398" class="css-a4x74f"><span>26398</span></td><td id="LC26398" class="css-1dcdqdg"><code> <span class="code-comment">// Insert the imported sheets first</span> </code></td></tr><tr><td id="L26399" class="css-a4x74f"><span>26399</span></td><td id="LC26399" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> url <span class="code-keyword">of</span> sheet.imported) { </code></td></tr><tr><td id="L26400" class="css-a4x74f"><span>26400</span></td><td id="LC26400" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> str = <span class="code-keyword">await</span> request(url).then(<span class="code-function">(<span class="code-params">response</span>) =></span> { </code></td></tr><tr><td id="L26401" class="css-a4x74f"><span>26401</span></td><td id="LC26401" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> response.text(); </code></td></tr><tr><td id="L26402" class="css-a4x74f"><span>26402</span></td><td id="LC26402" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26403" class="css-a4x74f"><span>26403</span></td><td id="LC26403" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> text = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.convertViaSheet(str, url); </code></td></tr><tr><td id="L26404" class="css-a4x74f"><span>26404</span></td><td id="LC26404" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insert(text); </code></td></tr><tr><td id="L26405" class="css-a4x74f"><span>26405</span></td><td id="LC26405" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26406" class="css-a4x74f"><span>26406</span></td><td id="LC26406" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26407" class="css-a4x74f"><span>26407</span></td><td id="LC26407" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.sheets.push(sheet); </code></td></tr><tr><td id="L26408" class="css-a4x74f"><span>26408</span></td><td id="LC26408" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26409" class="css-a4x74f"><span>26409</span></td><td id="LC26409" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> sheet.width !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L26410" class="css-a4x74f"><span>26410</span></td><td id="LC26410" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.width = sheet.width; </code></td></tr><tr><td id="L26411" class="css-a4x74f"><span>26411</span></td><td id="LC26411" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26412" class="css-a4x74f"><span>26412</span></td><td id="LC26412" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> sheet.height !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L26413" class="css-a4x74f"><span>26413</span></td><td id="LC26413" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.height = sheet.height; </code></td></tr><tr><td id="L26414" class="css-a4x74f"><span>26414</span></td><td id="LC26414" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26415" class="css-a4x74f"><span>26415</span></td><td id="LC26415" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> sheet.orientation !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L26416" class="css-a4x74f"><span>26416</span></td><td id="LC26416" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.orientation = sheet.orientation; </code></td></tr><tr><td id="L26417" class="css-a4x74f"><span>26417</span></td><td id="LC26417" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26418" class="css-a4x74f"><span>26418</span></td><td id="LC26418" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> sheet.toString(); </code></td></tr><tr><td id="L26419" class="css-a4x74f"><span>26419</span></td><td id="LC26419" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26420" class="css-a4x74f"><span>26420</span></td><td id="LC26420" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26421" class="css-a4x74f"><span>26421</span></td><td id="LC26421" class="css-1dcdqdg"><code> insert(text){ </code></td></tr><tr><td id="L26422" class="css-a4x74f"><span>26422</span></td><td id="LC26422" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> head = <span class="code-built_in">document</span>.querySelector(<span class="code-string">"head"</span>); </code></td></tr><tr><td id="L26423" class="css-a4x74f"><span>26423</span></td><td id="LC26423" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> style = <span class="code-built_in">document</span>.createElement(<span class="code-string">"style"</span>); </code></td></tr><tr><td id="L26424" class="css-a4x74f"><span>26424</span></td><td id="LC26424" class="css-1dcdqdg"><code> style.type = <span class="code-string">"text/css"</span>; </code></td></tr><tr><td id="L26425" class="css-a4x74f"><span>26425</span></td><td id="LC26425" class="css-1dcdqdg"><code> style.setAttribute(<span class="code-string">"data-pagedjs-inserted-styles"</span>, <span class="code-string">"true"</span>); </code></td></tr><tr><td id="L26426" class="css-a4x74f"><span>26426</span></td><td id="LC26426" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26427" class="css-a4x74f"><span>26427</span></td><td id="LC26427" class="css-1dcdqdg"><code> style.appendChild(<span class="code-built_in">document</span>.createTextNode(text)); </code></td></tr><tr><td id="L26428" class="css-a4x74f"><span>26428</span></td><td id="LC26428" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26429" class="css-a4x74f"><span>26429</span></td><td id="LC26429" class="css-1dcdqdg"><code> head.appendChild(style); </code></td></tr><tr><td id="L26430" class="css-a4x74f"><span>26430</span></td><td id="LC26430" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26431" class="css-a4x74f"><span>26431</span></td><td id="LC26431" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.inserted.push(style); </code></td></tr><tr><td id="L26432" class="css-a4x74f"><span>26432</span></td><td id="LC26432" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> style; </code></td></tr><tr><td id="L26433" class="css-a4x74f"><span>26433</span></td><td id="LC26433" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26434" class="css-a4x74f"><span>26434</span></td><td id="LC26434" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26435" class="css-a4x74f"><span>26435</span></td><td id="LC26435" class="css-1dcdqdg"><code> destroy() { </code></td></tr><tr><td id="L26436" class="css-a4x74f"><span>26436</span></td><td id="LC26436" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleEl.remove(); </code></td></tr><tr><td id="L26437" class="css-a4x74f"><span>26437</span></td><td id="LC26437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.inserted.forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L26438" class="css-a4x74f"><span>26438</span></td><td id="LC26438" class="css-1dcdqdg"><code> s.remove(); </code></td></tr><tr><td id="L26439" class="css-a4x74f"><span>26439</span></td><td id="LC26439" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26440" class="css-a4x74f"><span>26440</span></td><td id="LC26440" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.sheets = []; </code></td></tr><tr><td id="L26441" class="css-a4x74f"><span>26441</span></td><td id="LC26441" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26442" class="css-a4x74f"><span>26442</span></td><td id="LC26442" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26443" class="css-a4x74f"><span>26443</span></td><td id="LC26443" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26444" class="css-a4x74f"><span>26444</span></td><td id="LC26444" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L26445" class="css-a4x74f"><span>26445</span></td><td id="LC26445" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L26446" class="css-a4x74f"><span>26446</span></td><td id="LC26446" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hooks = <span class="code-built_in">Object</span>.assign({}, chunker && chunker.hooks, polisher && polisher.hooks, caller && caller.hooks); </code></td></tr><tr><td id="L26447" class="css-a4x74f"><span>26447</span></td><td id="LC26447" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunker = chunker; </code></td></tr><tr><td id="L26448" class="css-a4x74f"><span>26448</span></td><td id="LC26448" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.polisher = polisher; </code></td></tr><tr><td id="L26449" class="css-a4x74f"><span>26449</span></td><td id="LC26449" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.caller = caller; </code></td></tr><tr><td id="L26450" class="css-a4x74f"><span>26450</span></td><td id="LC26450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26451" class="css-a4x74f"><span>26451</span></td><td id="LC26451" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> name <span class="code-keyword">in</span> hooks) { </code></td></tr><tr><td id="L26452" class="css-a4x74f"><span>26452</span></td><td id="LC26452" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name <span class="code-keyword">in</span> <span class="code-keyword">this</span>) { </code></td></tr><tr><td id="L26453" class="css-a4x74f"><span>26453</span></td><td id="LC26453" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hook = hooks[name]; </code></td></tr><tr><td id="L26454" class="css-a4x74f"><span>26454</span></td><td id="LC26454" class="css-1dcdqdg"><code> hook.register(<span class="code-keyword">this</span>[name].bind(<span class="code-keyword">this</span>)); </code></td></tr><tr><td id="L26455" class="css-a4x74f"><span>26455</span></td><td id="LC26455" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26456" class="css-a4x74f"><span>26456</span></td><td id="LC26456" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26457" class="css-a4x74f"><span>26457</span></td><td id="LC26457" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26458" class="css-a4x74f"><span>26458</span></td><td id="LC26458" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26459" class="css-a4x74f"><span>26459</span></td><td id="LC26459" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26460" class="css-a4x74f"><span>26460</span></td><td id="LC26460" class="css-1dcdqdg"><code> eventEmitter(Handler.prototype); </code></td></tr><tr><td id="L26461" class="css-a4x74f"><span>26461</span></td><td id="LC26461" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26462" class="css-a4x74f"><span>26462</span></td><td id="LC26462" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css3-page/#page-size-prop</span> </code></td></tr><tr><td id="L26463" class="css-a4x74f"><span>26463</span></td><td id="LC26463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26464" class="css-a4x74f"><span>26464</span></td><td id="LC26464" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pageSizes = { </code></td></tr><tr><td id="L26465" class="css-a4x74f"><span>26465</span></td><td id="LC26465" class="css-1dcdqdg"><code> <span class="code-string">"A0"</span>: { </code></td></tr><tr><td id="L26466" class="css-a4x74f"><span>26466</span></td><td id="LC26466" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26467" class="css-a4x74f"><span>26467</span></td><td id="LC26467" class="css-1dcdqdg"><code> value: <span class="code-number">841</span>, </code></td></tr><tr><td id="L26468" class="css-a4x74f"><span>26468</span></td><td id="LC26468" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26469" class="css-a4x74f"><span>26469</span></td><td id="LC26469" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26470" class="css-a4x74f"><span>26470</span></td><td id="LC26470" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26471" class="css-a4x74f"><span>26471</span></td><td id="LC26471" class="css-1dcdqdg"><code> value: <span class="code-number">1189</span>, </code></td></tr><tr><td id="L26472" class="css-a4x74f"><span>26472</span></td><td id="LC26472" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26473" class="css-a4x74f"><span>26473</span></td><td id="LC26473" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26474" class="css-a4x74f"><span>26474</span></td><td id="LC26474" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26475" class="css-a4x74f"><span>26475</span></td><td id="LC26475" class="css-1dcdqdg"><code> <span class="code-string">"A1"</span>: { </code></td></tr><tr><td id="L26476" class="css-a4x74f"><span>26476</span></td><td id="LC26476" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26477" class="css-a4x74f"><span>26477</span></td><td id="LC26477" class="css-1dcdqdg"><code> value: <span class="code-number">594</span>, </code></td></tr><tr><td id="L26478" class="css-a4x74f"><span>26478</span></td><td id="LC26478" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26479" class="css-a4x74f"><span>26479</span></td><td id="LC26479" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26480" class="css-a4x74f"><span>26480</span></td><td id="LC26480" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26481" class="css-a4x74f"><span>26481</span></td><td id="LC26481" class="css-1dcdqdg"><code> value: <span class="code-number">841</span>, </code></td></tr><tr><td id="L26482" class="css-a4x74f"><span>26482</span></td><td id="LC26482" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26483" class="css-a4x74f"><span>26483</span></td><td id="LC26483" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26484" class="css-a4x74f"><span>26484</span></td><td id="LC26484" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26485" class="css-a4x74f"><span>26485</span></td><td id="LC26485" class="css-1dcdqdg"><code> <span class="code-string">"A2"</span>: { </code></td></tr><tr><td id="L26486" class="css-a4x74f"><span>26486</span></td><td id="LC26486" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26487" class="css-a4x74f"><span>26487</span></td><td id="LC26487" class="css-1dcdqdg"><code> value: <span class="code-number">420</span>, </code></td></tr><tr><td id="L26488" class="css-a4x74f"><span>26488</span></td><td id="LC26488" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26489" class="css-a4x74f"><span>26489</span></td><td id="LC26489" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26490" class="css-a4x74f"><span>26490</span></td><td id="LC26490" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26491" class="css-a4x74f"><span>26491</span></td><td id="LC26491" class="css-1dcdqdg"><code> value: <span class="code-number">594</span>, </code></td></tr><tr><td id="L26492" class="css-a4x74f"><span>26492</span></td><td id="LC26492" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26493" class="css-a4x74f"><span>26493</span></td><td id="LC26493" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26494" class="css-a4x74f"><span>26494</span></td><td id="LC26494" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26495" class="css-a4x74f"><span>26495</span></td><td id="LC26495" class="css-1dcdqdg"><code> <span class="code-string">"A3"</span>: { </code></td></tr><tr><td id="L26496" class="css-a4x74f"><span>26496</span></td><td id="LC26496" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26497" class="css-a4x74f"><span>26497</span></td><td id="LC26497" class="css-1dcdqdg"><code> value: <span class="code-number">297</span>, </code></td></tr><tr><td id="L26498" class="css-a4x74f"><span>26498</span></td><td id="LC26498" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26499" class="css-a4x74f"><span>26499</span></td><td id="LC26499" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26500" class="css-a4x74f"><span>26500</span></td><td id="LC26500" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26501" class="css-a4x74f"><span>26501</span></td><td id="LC26501" class="css-1dcdqdg"><code> value: <span class="code-number">420</span>, </code></td></tr><tr><td id="L26502" class="css-a4x74f"><span>26502</span></td><td id="LC26502" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26503" class="css-a4x74f"><span>26503</span></td><td id="LC26503" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26504" class="css-a4x74f"><span>26504</span></td><td id="LC26504" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26505" class="css-a4x74f"><span>26505</span></td><td id="LC26505" class="css-1dcdqdg"><code> <span class="code-string">"A4"</span>: { </code></td></tr><tr><td id="L26506" class="css-a4x74f"><span>26506</span></td><td id="LC26506" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26507" class="css-a4x74f"><span>26507</span></td><td id="LC26507" class="css-1dcdqdg"><code> value: <span class="code-number">210</span>, </code></td></tr><tr><td id="L26508" class="css-a4x74f"><span>26508</span></td><td id="LC26508" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26509" class="css-a4x74f"><span>26509</span></td><td id="LC26509" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26510" class="css-a4x74f"><span>26510</span></td><td id="LC26510" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26511" class="css-a4x74f"><span>26511</span></td><td id="LC26511" class="css-1dcdqdg"><code> value: <span class="code-number">297</span>, </code></td></tr><tr><td id="L26512" class="css-a4x74f"><span>26512</span></td><td id="LC26512" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26513" class="css-a4x74f"><span>26513</span></td><td id="LC26513" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26514" class="css-a4x74f"><span>26514</span></td><td id="LC26514" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26515" class="css-a4x74f"><span>26515</span></td><td id="LC26515" class="css-1dcdqdg"><code> <span class="code-string">"A5"</span>: { </code></td></tr><tr><td id="L26516" class="css-a4x74f"><span>26516</span></td><td id="LC26516" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26517" class="css-a4x74f"><span>26517</span></td><td id="LC26517" class="css-1dcdqdg"><code> value: <span class="code-number">148</span>, </code></td></tr><tr><td id="L26518" class="css-a4x74f"><span>26518</span></td><td id="LC26518" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26519" class="css-a4x74f"><span>26519</span></td><td id="LC26519" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26520" class="css-a4x74f"><span>26520</span></td><td id="LC26520" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26521" class="css-a4x74f"><span>26521</span></td><td id="LC26521" class="css-1dcdqdg"><code> value: <span class="code-number">210</span>, </code></td></tr><tr><td id="L26522" class="css-a4x74f"><span>26522</span></td><td id="LC26522" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26523" class="css-a4x74f"><span>26523</span></td><td id="LC26523" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26524" class="css-a4x74f"><span>26524</span></td><td id="LC26524" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26525" class="css-a4x74f"><span>26525</span></td><td id="LC26525" class="css-1dcdqdg"><code> <span class="code-string">"A6"</span>: { </code></td></tr><tr><td id="L26526" class="css-a4x74f"><span>26526</span></td><td id="LC26526" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26527" class="css-a4x74f"><span>26527</span></td><td id="LC26527" class="css-1dcdqdg"><code> value: <span class="code-number">105</span>, </code></td></tr><tr><td id="L26528" class="css-a4x74f"><span>26528</span></td><td id="LC26528" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26529" class="css-a4x74f"><span>26529</span></td><td id="LC26529" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26530" class="css-a4x74f"><span>26530</span></td><td id="LC26530" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26531" class="css-a4x74f"><span>26531</span></td><td id="LC26531" class="css-1dcdqdg"><code> value: <span class="code-number">148</span>, </code></td></tr><tr><td id="L26532" class="css-a4x74f"><span>26532</span></td><td id="LC26532" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26533" class="css-a4x74f"><span>26533</span></td><td id="LC26533" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26534" class="css-a4x74f"><span>26534</span></td><td id="LC26534" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26535" class="css-a4x74f"><span>26535</span></td><td id="LC26535" class="css-1dcdqdg"><code> <span class="code-string">"A7"</span>: { </code></td></tr><tr><td id="L26536" class="css-a4x74f"><span>26536</span></td><td id="LC26536" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26537" class="css-a4x74f"><span>26537</span></td><td id="LC26537" class="css-1dcdqdg"><code> value: <span class="code-number">74</span>, </code></td></tr><tr><td id="L26538" class="css-a4x74f"><span>26538</span></td><td id="LC26538" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26539" class="css-a4x74f"><span>26539</span></td><td id="LC26539" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26540" class="css-a4x74f"><span>26540</span></td><td id="LC26540" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26541" class="css-a4x74f"><span>26541</span></td><td id="LC26541" class="css-1dcdqdg"><code> value: <span class="code-number">105</span>, </code></td></tr><tr><td id="L26542" class="css-a4x74f"><span>26542</span></td><td id="LC26542" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26543" class="css-a4x74f"><span>26543</span></td><td id="LC26543" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26544" class="css-a4x74f"><span>26544</span></td><td id="LC26544" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26545" class="css-a4x74f"><span>26545</span></td><td id="LC26545" class="css-1dcdqdg"><code> <span class="code-string">"A8"</span>: { </code></td></tr><tr><td id="L26546" class="css-a4x74f"><span>26546</span></td><td id="LC26546" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26547" class="css-a4x74f"><span>26547</span></td><td id="LC26547" class="css-1dcdqdg"><code> value: <span class="code-number">52</span>, </code></td></tr><tr><td id="L26548" class="css-a4x74f"><span>26548</span></td><td id="LC26548" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26549" class="css-a4x74f"><span>26549</span></td><td id="LC26549" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26550" class="css-a4x74f"><span>26550</span></td><td id="LC26550" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26551" class="css-a4x74f"><span>26551</span></td><td id="LC26551" class="css-1dcdqdg"><code> value: <span class="code-number">74</span>, </code></td></tr><tr><td id="L26552" class="css-a4x74f"><span>26552</span></td><td id="LC26552" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26553" class="css-a4x74f"><span>26553</span></td><td id="LC26553" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26554" class="css-a4x74f"><span>26554</span></td><td id="LC26554" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26555" class="css-a4x74f"><span>26555</span></td><td id="LC26555" class="css-1dcdqdg"><code> <span class="code-string">"A9"</span>: { </code></td></tr><tr><td id="L26556" class="css-a4x74f"><span>26556</span></td><td id="LC26556" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26557" class="css-a4x74f"><span>26557</span></td><td id="LC26557" class="css-1dcdqdg"><code> value: <span class="code-number">37</span>, </code></td></tr><tr><td id="L26558" class="css-a4x74f"><span>26558</span></td><td id="LC26558" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26559" class="css-a4x74f"><span>26559</span></td><td id="LC26559" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26560" class="css-a4x74f"><span>26560</span></td><td id="LC26560" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26561" class="css-a4x74f"><span>26561</span></td><td id="LC26561" class="css-1dcdqdg"><code> value: <span class="code-number">52</span>, </code></td></tr><tr><td id="L26562" class="css-a4x74f"><span>26562</span></td><td id="LC26562" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26563" class="css-a4x74f"><span>26563</span></td><td id="LC26563" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26564" class="css-a4x74f"><span>26564</span></td><td id="LC26564" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26565" class="css-a4x74f"><span>26565</span></td><td id="LC26565" class="css-1dcdqdg"><code> <span class="code-string">"A10"</span>: { </code></td></tr><tr><td id="L26566" class="css-a4x74f"><span>26566</span></td><td id="LC26566" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26567" class="css-a4x74f"><span>26567</span></td><td id="LC26567" class="css-1dcdqdg"><code> value: <span class="code-number">26</span>, </code></td></tr><tr><td id="L26568" class="css-a4x74f"><span>26568</span></td><td id="LC26568" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26569" class="css-a4x74f"><span>26569</span></td><td id="LC26569" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26570" class="css-a4x74f"><span>26570</span></td><td id="LC26570" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26571" class="css-a4x74f"><span>26571</span></td><td id="LC26571" class="css-1dcdqdg"><code> value: <span class="code-number">37</span>, </code></td></tr><tr><td id="L26572" class="css-a4x74f"><span>26572</span></td><td id="LC26572" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26573" class="css-a4x74f"><span>26573</span></td><td id="LC26573" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26574" class="css-a4x74f"><span>26574</span></td><td id="LC26574" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26575" class="css-a4x74f"><span>26575</span></td><td id="LC26575" class="css-1dcdqdg"><code> <span class="code-string">"B4"</span>: { </code></td></tr><tr><td id="L26576" class="css-a4x74f"><span>26576</span></td><td id="LC26576" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26577" class="css-a4x74f"><span>26577</span></td><td id="LC26577" class="css-1dcdqdg"><code> value: <span class="code-number">250</span>, </code></td></tr><tr><td id="L26578" class="css-a4x74f"><span>26578</span></td><td id="LC26578" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26579" class="css-a4x74f"><span>26579</span></td><td id="LC26579" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26580" class="css-a4x74f"><span>26580</span></td><td id="LC26580" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26581" class="css-a4x74f"><span>26581</span></td><td id="LC26581" class="css-1dcdqdg"><code> value: <span class="code-number">353</span>, </code></td></tr><tr><td id="L26582" class="css-a4x74f"><span>26582</span></td><td id="LC26582" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26583" class="css-a4x74f"><span>26583</span></td><td id="LC26583" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26584" class="css-a4x74f"><span>26584</span></td><td id="LC26584" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26585" class="css-a4x74f"><span>26585</span></td><td id="LC26585" class="css-1dcdqdg"><code> <span class="code-string">"B5"</span>: { </code></td></tr><tr><td id="L26586" class="css-a4x74f"><span>26586</span></td><td id="LC26586" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26587" class="css-a4x74f"><span>26587</span></td><td id="LC26587" class="css-1dcdqdg"><code> value: <span class="code-number">176</span>, </code></td></tr><tr><td id="L26588" class="css-a4x74f"><span>26588</span></td><td id="LC26588" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26589" class="css-a4x74f"><span>26589</span></td><td id="LC26589" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26590" class="css-a4x74f"><span>26590</span></td><td id="LC26590" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26591" class="css-a4x74f"><span>26591</span></td><td id="LC26591" class="css-1dcdqdg"><code> value: <span class="code-number">250</span>, </code></td></tr><tr><td id="L26592" class="css-a4x74f"><span>26592</span></td><td id="LC26592" class="css-1dcdqdg"><code> unit: <span class="code-string">"mm"</span> </code></td></tr><tr><td id="L26593" class="css-a4x74f"><span>26593</span></td><td id="LC26593" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26594" class="css-a4x74f"><span>26594</span></td><td id="LC26594" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26595" class="css-a4x74f"><span>26595</span></td><td id="LC26595" class="css-1dcdqdg"><code> <span class="code-string">"letter"</span>: { </code></td></tr><tr><td id="L26596" class="css-a4x74f"><span>26596</span></td><td id="LC26596" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26597" class="css-a4x74f"><span>26597</span></td><td id="LC26597" class="css-1dcdqdg"><code> value: <span class="code-number">8.5</span>, </code></td></tr><tr><td id="L26598" class="css-a4x74f"><span>26598</span></td><td id="LC26598" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26599" class="css-a4x74f"><span>26599</span></td><td id="LC26599" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26600" class="css-a4x74f"><span>26600</span></td><td id="LC26600" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26601" class="css-a4x74f"><span>26601</span></td><td id="LC26601" class="css-1dcdqdg"><code> value: <span class="code-number">11</span>, </code></td></tr><tr><td id="L26602" class="css-a4x74f"><span>26602</span></td><td id="LC26602" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26603" class="css-a4x74f"><span>26603</span></td><td id="LC26603" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26604" class="css-a4x74f"><span>26604</span></td><td id="LC26604" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26605" class="css-a4x74f"><span>26605</span></td><td id="LC26605" class="css-1dcdqdg"><code> <span class="code-string">"legal"</span>: { </code></td></tr><tr><td id="L26606" class="css-a4x74f"><span>26606</span></td><td id="LC26606" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26607" class="css-a4x74f"><span>26607</span></td><td id="LC26607" class="css-1dcdqdg"><code> value: <span class="code-number">8.5</span>, </code></td></tr><tr><td id="L26608" class="css-a4x74f"><span>26608</span></td><td id="LC26608" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26609" class="css-a4x74f"><span>26609</span></td><td id="LC26609" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26610" class="css-a4x74f"><span>26610</span></td><td id="LC26610" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26611" class="css-a4x74f"><span>26611</span></td><td id="LC26611" class="css-1dcdqdg"><code> value: <span class="code-number">14</span>, </code></td></tr><tr><td id="L26612" class="css-a4x74f"><span>26612</span></td><td id="LC26612" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26613" class="css-a4x74f"><span>26613</span></td><td id="LC26613" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26614" class="css-a4x74f"><span>26614</span></td><td id="LC26614" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26615" class="css-a4x74f"><span>26615</span></td><td id="LC26615" class="css-1dcdqdg"><code> <span class="code-string">"ledger"</span>: { </code></td></tr><tr><td id="L26616" class="css-a4x74f"><span>26616</span></td><td id="LC26616" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L26617" class="css-a4x74f"><span>26617</span></td><td id="LC26617" class="css-1dcdqdg"><code> value: <span class="code-number">11</span>, </code></td></tr><tr><td id="L26618" class="css-a4x74f"><span>26618</span></td><td id="LC26618" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26619" class="css-a4x74f"><span>26619</span></td><td id="LC26619" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26620" class="css-a4x74f"><span>26620</span></td><td id="LC26620" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L26621" class="css-a4x74f"><span>26621</span></td><td id="LC26621" class="css-1dcdqdg"><code> value: <span class="code-number">17</span>, </code></td></tr><tr><td id="L26622" class="css-a4x74f"><span>26622</span></td><td id="LC26622" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L26623" class="css-a4x74f"><span>26623</span></td><td id="LC26623" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26624" class="css-a4x74f"><span>26624</span></td><td id="LC26624" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26625" class="css-a4x74f"><span>26625</span></td><td id="LC26625" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26626" class="css-a4x74f"><span>26626</span></td><td id="LC26626" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26627" class="css-a4x74f"><span>26627</span></td><td id="LC26627" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">AtPage</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L26628" class="css-a4x74f"><span>26628</span></td><td id="LC26628" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L26629" class="css-a4x74f"><span>26629</span></td><td id="LC26629" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L26630" class="css-a4x74f"><span>26630</span></td><td id="LC26630" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26631" class="css-a4x74f"><span>26631</span></td><td id="LC26631" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages = {}; </code></td></tr><tr><td id="L26632" class="css-a4x74f"><span>26632</span></td><td id="LC26632" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26633" class="css-a4x74f"><span>26633</span></td><td id="LC26633" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.width = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L26634" class="css-a4x74f"><span>26634</span></td><td id="LC26634" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.height = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L26635" class="css-a4x74f"><span>26635</span></td><td id="LC26635" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.orientation = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L26636" class="css-a4x74f"><span>26636</span></td><td id="LC26636" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.marginalia = {}; </code></td></tr><tr><td id="L26637" class="css-a4x74f"><span>26637</span></td><td id="LC26637" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26638" class="css-a4x74f"><span>26638</span></td><td id="LC26638" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26639" class="css-a4x74f"><span>26639</span></td><td id="LC26639" class="css-1dcdqdg"><code> pageModel(selector) { </code></td></tr><tr><td id="L26640" class="css-a4x74f"><span>26640</span></td><td id="LC26640" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L26641" class="css-a4x74f"><span>26641</span></td><td id="LC26641" class="css-1dcdqdg"><code> selector: selector, </code></td></tr><tr><td id="L26642" class="css-a4x74f"><span>26642</span></td><td id="LC26642" class="css-1dcdqdg"><code> name: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26643" class="css-a4x74f"><span>26643</span></td><td id="LC26643" class="css-1dcdqdg"><code> psuedo: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26644" class="css-a4x74f"><span>26644</span></td><td id="LC26644" class="css-1dcdqdg"><code> nth: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26645" class="css-a4x74f"><span>26645</span></td><td id="LC26645" class="css-1dcdqdg"><code> marginalia: {}, </code></td></tr><tr><td id="L26646" class="css-a4x74f"><span>26646</span></td><td id="LC26646" class="css-1dcdqdg"><code> width: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26647" class="css-a4x74f"><span>26647</span></td><td id="LC26647" class="css-1dcdqdg"><code> height: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26648" class="css-a4x74f"><span>26648</span></td><td id="LC26648" class="css-1dcdqdg"><code> orientation: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26649" class="css-a4x74f"><span>26649</span></td><td id="LC26649" class="css-1dcdqdg"><code> margin: { </code></td></tr><tr><td id="L26650" class="css-a4x74f"><span>26650</span></td><td id="LC26650" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26651" class="css-a4x74f"><span>26651</span></td><td id="LC26651" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26652" class="css-a4x74f"><span>26652</span></td><td id="LC26652" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26653" class="css-a4x74f"><span>26653</span></td><td id="LC26653" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26654" class="css-a4x74f"><span>26654</span></td><td id="LC26654" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26655" class="css-a4x74f"><span>26655</span></td><td id="LC26655" class="css-1dcdqdg"><code> padding: { </code></td></tr><tr><td id="L26656" class="css-a4x74f"><span>26656</span></td><td id="LC26656" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26657" class="css-a4x74f"><span>26657</span></td><td id="LC26657" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26658" class="css-a4x74f"><span>26658</span></td><td id="LC26658" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26659" class="css-a4x74f"><span>26659</span></td><td id="LC26659" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26660" class="css-a4x74f"><span>26660</span></td><td id="LC26660" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26661" class="css-a4x74f"><span>26661</span></td><td id="LC26661" class="css-1dcdqdg"><code> border: { </code></td></tr><tr><td id="L26662" class="css-a4x74f"><span>26662</span></td><td id="LC26662" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26663" class="css-a4x74f"><span>26663</span></td><td id="LC26663" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26664" class="css-a4x74f"><span>26664</span></td><td id="LC26664" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26665" class="css-a4x74f"><span>26665</span></td><td id="LC26665" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26666" class="css-a4x74f"><span>26666</span></td><td id="LC26666" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L26667" class="css-a4x74f"><span>26667</span></td><td id="LC26667" class="css-1dcdqdg"><code> backgroundOrigin: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L26668" class="css-a4x74f"><span>26668</span></td><td id="LC26668" class="css-1dcdqdg"><code> block: {}, </code></td></tr><tr><td id="L26669" class="css-a4x74f"><span>26669</span></td><td id="LC26669" class="css-1dcdqdg"><code> marks: <span class="code-literal">undefined</span> </code></td></tr><tr><td id="L26670" class="css-a4x74f"><span>26670</span></td><td id="LC26670" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26671" class="css-a4x74f"><span>26671</span></td><td id="LC26671" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26672" class="css-a4x74f"><span>26672</span></td><td id="LC26672" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26673" class="css-a4x74f"><span>26673</span></td><td id="LC26673" class="css-1dcdqdg"><code> <span class="code-comment">// Find and Remove @page rules</span> </code></td></tr><tr><td id="L26674" class="css-a4x74f"><span>26674</span></td><td id="LC26674" class="css-1dcdqdg"><code> onAtPage(node, item, list) { </code></td></tr><tr><td id="L26675" class="css-a4x74f"><span>26675</span></td><td id="LC26675" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> page, marginalia; </code></td></tr><tr><td id="L26676" class="css-a4x74f"><span>26676</span></td><td id="LC26676" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = <span class="code-string">""</span>; </code></td></tr><tr><td id="L26677" class="css-a4x74f"><span>26677</span></td><td id="LC26677" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> named, psuedo, nth; </code></td></tr><tr><td id="L26678" class="css-a4x74f"><span>26678</span></td><td id="LC26678" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> needsMerge = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L26679" class="css-a4x74f"><span>26679</span></td><td id="LC26679" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26680" class="css-a4x74f"><span>26680</span></td><td id="LC26680" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.prelude) { </code></td></tr><tr><td id="L26681" class="css-a4x74f"><span>26681</span></td><td id="LC26681" class="css-1dcdqdg"><code> named = <span class="code-keyword">this</span>.getTypeSelector(node); </code></td></tr><tr><td id="L26682" class="css-a4x74f"><span>26682</span></td><td id="LC26682" class="css-1dcdqdg"><code> psuedo = <span class="code-keyword">this</span>.getPsuedoSelector(node); </code></td></tr><tr><td id="L26683" class="css-a4x74f"><span>26683</span></td><td id="LC26683" class="css-1dcdqdg"><code> nth = <span class="code-keyword">this</span>.getNthSelector(node); </code></td></tr><tr><td id="L26684" class="css-a4x74f"><span>26684</span></td><td id="LC26684" class="css-1dcdqdg"><code> selector = lib.generate(node.prelude); </code></td></tr><tr><td id="L26685" class="css-a4x74f"><span>26685</span></td><td id="LC26685" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L26686" class="css-a4x74f"><span>26686</span></td><td id="LC26686" class="css-1dcdqdg"><code> selector = <span class="code-string">"*"</span>; </code></td></tr><tr><td id="L26687" class="css-a4x74f"><span>26687</span></td><td id="LC26687" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26688" class="css-a4x74f"><span>26688</span></td><td id="LC26688" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26689" class="css-a4x74f"><span>26689</span></td><td id="LC26689" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selector <span class="code-keyword">in</span> <span class="code-keyword">this</span>.pages) { </code></td></tr><tr><td id="L26690" class="css-a4x74f"><span>26690</span></td><td id="LC26690" class="css-1dcdqdg"><code> <span class="code-comment">// this.pages[selector] = Object.assign(this.pages[selector], page);</span> </code></td></tr><tr><td id="L26691" class="css-a4x74f"><span>26691</span></td><td id="LC26691" class="css-1dcdqdg"><code> <span class="code-comment">// console.log("after", selector, this.pages[selector]);</span> </code></td></tr><tr><td id="L26692" class="css-a4x74f"><span>26692</span></td><td id="LC26692" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26693" class="css-a4x74f"><span>26693</span></td><td id="LC26693" class="css-1dcdqdg"><code> <span class="code-comment">// this.pages[selector].added = false;</span> </code></td></tr><tr><td id="L26694" class="css-a4x74f"><span>26694</span></td><td id="LC26694" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.pages[selector]; </code></td></tr><tr><td id="L26695" class="css-a4x74f"><span>26695</span></td><td id="LC26695" class="css-1dcdqdg"><code> marginalia = <span class="code-keyword">this</span>.replaceMarginalia(node); </code></td></tr><tr><td id="L26696" class="css-a4x74f"><span>26696</span></td><td id="LC26696" class="css-1dcdqdg"><code> needsMerge = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L26697" class="css-a4x74f"><span>26697</span></td><td id="LC26697" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L26698" class="css-a4x74f"><span>26698</span></td><td id="LC26698" class="css-1dcdqdg"><code> page = <span class="code-keyword">this</span>.pageModel(selector); </code></td></tr><tr><td id="L26699" class="css-a4x74f"><span>26699</span></td><td id="LC26699" class="css-1dcdqdg"><code> marginalia = <span class="code-keyword">this</span>.replaceMarginalia(node); </code></td></tr><tr><td id="L26700" class="css-a4x74f"><span>26700</span></td><td id="LC26700" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pages[selector] = page; </code></td></tr><tr><td id="L26701" class="css-a4x74f"><span>26701</span></td><td id="LC26701" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26702" class="css-a4x74f"><span>26702</span></td><td id="LC26702" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26703" class="css-a4x74f"><span>26703</span></td><td id="LC26703" class="css-1dcdqdg"><code> page.name = named; </code></td></tr><tr><td id="L26704" class="css-a4x74f"><span>26704</span></td><td id="LC26704" class="css-1dcdqdg"><code> page.psuedo = psuedo; </code></td></tr><tr><td id="L26705" class="css-a4x74f"><span>26705</span></td><td id="LC26705" class="css-1dcdqdg"><code> page.nth = nth; </code></td></tr><tr><td id="L26706" class="css-a4x74f"><span>26706</span></td><td id="LC26706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26707" class="css-a4x74f"><span>26707</span></td><td id="LC26707" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (needsMerge) { </code></td></tr><tr><td id="L26708" class="css-a4x74f"><span>26708</span></td><td id="LC26708" class="css-1dcdqdg"><code> page.marginalia = <span class="code-built_in">Object</span>.assign(page.marginalia, marginalia); </code></td></tr><tr><td id="L26709" class="css-a4x74f"><span>26709</span></td><td id="LC26709" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L26710" class="css-a4x74f"><span>26710</span></td><td id="LC26710" class="css-1dcdqdg"><code> page.marginalia = marginalia; </code></td></tr><tr><td id="L26711" class="css-a4x74f"><span>26711</span></td><td id="LC26711" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26712" class="css-a4x74f"><span>26712</span></td><td id="LC26712" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26713" class="css-a4x74f"><span>26713</span></td><td id="LC26713" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> declarations = <span class="code-keyword">this</span>.replaceDeclarations(node); </code></td></tr><tr><td id="L26714" class="css-a4x74f"><span>26714</span></td><td id="LC26714" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26715" class="css-a4x74f"><span>26715</span></td><td id="LC26715" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.size) { </code></td></tr><tr><td id="L26716" class="css-a4x74f"><span>26716</span></td><td id="LC26716" class="css-1dcdqdg"><code> page.size = declarations.size; </code></td></tr><tr><td id="L26717" class="css-a4x74f"><span>26717</span></td><td id="LC26717" class="css-1dcdqdg"><code> page.width = declarations.size.width; </code></td></tr><tr><td id="L26718" class="css-a4x74f"><span>26718</span></td><td id="LC26718" class="css-1dcdqdg"><code> page.height = declarations.size.height; </code></td></tr><tr><td id="L26719" class="css-a4x74f"><span>26719</span></td><td id="LC26719" class="css-1dcdqdg"><code> page.orientation = declarations.size.orientation; </code></td></tr><tr><td id="L26720" class="css-a4x74f"><span>26720</span></td><td id="LC26720" class="css-1dcdqdg"><code> page.format = declarations.size.format; </code></td></tr><tr><td id="L26721" class="css-a4x74f"><span>26721</span></td><td id="LC26721" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26722" class="css-a4x74f"><span>26722</span></td><td id="LC26722" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26723" class="css-a4x74f"><span>26723</span></td><td id="LC26723" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.bleed && declarations.bleed[<span class="code-number">0</span>] != <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L26724" class="css-a4x74f"><span>26724</span></td><td id="LC26724" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (declarations.bleed.length) { </code></td></tr><tr><td id="L26725" class="css-a4x74f"><span>26725</span></td><td id="LC26725" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">4</span>: <span class="code-comment">// top right bottom left</span> </code></td></tr><tr><td id="L26726" class="css-a4x74f"><span>26726</span></td><td id="LC26726" class="css-1dcdqdg"><code> page.bleed = { </code></td></tr><tr><td id="L26727" class="css-a4x74f"><span>26727</span></td><td id="LC26727" class="css-1dcdqdg"><code> top: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26728" class="css-a4x74f"><span>26728</span></td><td id="LC26728" class="css-1dcdqdg"><code> right: declarations.bleed[<span class="code-number">1</span>], </code></td></tr><tr><td id="L26729" class="css-a4x74f"><span>26729</span></td><td id="LC26729" class="css-1dcdqdg"><code> bottom: declarations.bleed[<span class="code-number">2</span>], </code></td></tr><tr><td id="L26730" class="css-a4x74f"><span>26730</span></td><td id="LC26730" class="css-1dcdqdg"><code> left: declarations.bleed[<span class="code-number">3</span>] </code></td></tr><tr><td id="L26731" class="css-a4x74f"><span>26731</span></td><td id="LC26731" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26732" class="css-a4x74f"><span>26732</span></td><td id="LC26732" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L26733" class="css-a4x74f"><span>26733</span></td><td id="LC26733" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">3</span>: <span class="code-comment">// top right bottom right</span> </code></td></tr><tr><td id="L26734" class="css-a4x74f"><span>26734</span></td><td id="LC26734" class="css-1dcdqdg"><code> page.bleed = { </code></td></tr><tr><td id="L26735" class="css-a4x74f"><span>26735</span></td><td id="LC26735" class="css-1dcdqdg"><code> top: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26736" class="css-a4x74f"><span>26736</span></td><td id="LC26736" class="css-1dcdqdg"><code> right: declarations.bleed[<span class="code-number">1</span>], </code></td></tr><tr><td id="L26737" class="css-a4x74f"><span>26737</span></td><td id="LC26737" class="css-1dcdqdg"><code> bottom: declarations.bleed[<span class="code-number">2</span>], </code></td></tr><tr><td id="L26738" class="css-a4x74f"><span>26738</span></td><td id="LC26738" class="css-1dcdqdg"><code> left: declarations.bleed[<span class="code-number">1</span>] </code></td></tr><tr><td id="L26739" class="css-a4x74f"><span>26739</span></td><td id="LC26739" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26740" class="css-a4x74f"><span>26740</span></td><td id="LC26740" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L26741" class="css-a4x74f"><span>26741</span></td><td id="LC26741" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: <span class="code-comment">// top right top right</span> </code></td></tr><tr><td id="L26742" class="css-a4x74f"><span>26742</span></td><td id="LC26742" class="css-1dcdqdg"><code> page.bleed = { </code></td></tr><tr><td id="L26743" class="css-a4x74f"><span>26743</span></td><td id="LC26743" class="css-1dcdqdg"><code> top: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26744" class="css-a4x74f"><span>26744</span></td><td id="LC26744" class="css-1dcdqdg"><code> right: declarations.bleed[<span class="code-number">1</span>], </code></td></tr><tr><td id="L26745" class="css-a4x74f"><span>26745</span></td><td id="LC26745" class="css-1dcdqdg"><code> bottom: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26746" class="css-a4x74f"><span>26746</span></td><td id="LC26746" class="css-1dcdqdg"><code> left: declarations.bleed[<span class="code-number">1</span>] </code></td></tr><tr><td id="L26747" class="css-a4x74f"><span>26747</span></td><td id="LC26747" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26748" class="css-a4x74f"><span>26748</span></td><td id="LC26748" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L26749" class="css-a4x74f"><span>26749</span></td><td id="LC26749" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L26750" class="css-a4x74f"><span>26750</span></td><td id="LC26750" class="css-1dcdqdg"><code> page.bleed = { </code></td></tr><tr><td id="L26751" class="css-a4x74f"><span>26751</span></td><td id="LC26751" class="css-1dcdqdg"><code> top: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26752" class="css-a4x74f"><span>26752</span></td><td id="LC26752" class="css-1dcdqdg"><code> right: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26753" class="css-a4x74f"><span>26753</span></td><td id="LC26753" class="css-1dcdqdg"><code> bottom: declarations.bleed[<span class="code-number">0</span>], </code></td></tr><tr><td id="L26754" class="css-a4x74f"><span>26754</span></td><td id="LC26754" class="css-1dcdqdg"><code> left: declarations.bleed[<span class="code-number">0</span>] </code></td></tr><tr><td id="L26755" class="css-a4x74f"><span>26755</span></td><td id="LC26755" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26756" class="css-a4x74f"><span>26756</span></td><td id="LC26756" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26757" class="css-a4x74f"><span>26757</span></td><td id="LC26757" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26758" class="css-a4x74f"><span>26758</span></td><td id="LC26758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26759" class="css-a4x74f"><span>26759</span></td><td id="LC26759" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.marks) { </code></td></tr><tr><td id="L26760" class="css-a4x74f"><span>26760</span></td><td id="LC26760" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!declarations.bleed || declarations.bleed && declarations.bleed[<span class="code-number">0</span>] === <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L26761" class="css-a4x74f"><span>26761</span></td><td id="LC26761" class="css-1dcdqdg"><code> <span class="code-comment">// Spec say 6pt, but needs more space for marks</span> </code></td></tr><tr><td id="L26762" class="css-a4x74f"><span>26762</span></td><td id="LC26762" class="css-1dcdqdg"><code> page.bleed = { </code></td></tr><tr><td id="L26763" class="css-a4x74f"><span>26763</span></td><td id="LC26763" class="css-1dcdqdg"><code> top: { <span class="code-attr">value</span>: <span class="code-number">6</span>, <span class="code-attr">unit</span>: <span class="code-string">"mm"</span> }, </code></td></tr><tr><td id="L26764" class="css-a4x74f"><span>26764</span></td><td id="LC26764" class="css-1dcdqdg"><code> right: { <span class="code-attr">value</span>: <span class="code-number">6</span>, <span class="code-attr">unit</span>: <span class="code-string">"mm"</span> }, </code></td></tr><tr><td id="L26765" class="css-a4x74f"><span>26765</span></td><td id="LC26765" class="css-1dcdqdg"><code> bottom: { <span class="code-attr">value</span>: <span class="code-number">6</span>, <span class="code-attr">unit</span>: <span class="code-string">"mm"</span> }, </code></td></tr><tr><td id="L26766" class="css-a4x74f"><span>26766</span></td><td id="LC26766" class="css-1dcdqdg"><code> left: { <span class="code-attr">value</span>: <span class="code-number">6</span>, <span class="code-attr">unit</span>: <span class="code-string">"mm"</span> } </code></td></tr><tr><td id="L26767" class="css-a4x74f"><span>26767</span></td><td id="LC26767" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26768" class="css-a4x74f"><span>26768</span></td><td id="LC26768" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26769" class="css-a4x74f"><span>26769</span></td><td id="LC26769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26770" class="css-a4x74f"><span>26770</span></td><td id="LC26770" class="css-1dcdqdg"><code> page.marks = declarations.marks; </code></td></tr><tr><td id="L26771" class="css-a4x74f"><span>26771</span></td><td id="LC26771" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26772" class="css-a4x74f"><span>26772</span></td><td id="LC26772" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26773" class="css-a4x74f"><span>26773</span></td><td id="LC26773" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.margin) { </code></td></tr><tr><td id="L26774" class="css-a4x74f"><span>26774</span></td><td id="LC26774" class="css-1dcdqdg"><code> page.margin = declarations.margin; </code></td></tr><tr><td id="L26775" class="css-a4x74f"><span>26775</span></td><td id="LC26775" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26776" class="css-a4x74f"><span>26776</span></td><td id="LC26776" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.padding) { </code></td></tr><tr><td id="L26777" class="css-a4x74f"><span>26777</span></td><td id="LC26777" class="css-1dcdqdg"><code> page.padding = declarations.padding; </code></td></tr><tr><td id="L26778" class="css-a4x74f"><span>26778</span></td><td id="LC26778" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26779" class="css-a4x74f"><span>26779</span></td><td id="LC26779" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26780" class="css-a4x74f"><span>26780</span></td><td id="LC26780" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.border) { </code></td></tr><tr><td id="L26781" class="css-a4x74f"><span>26781</span></td><td id="LC26781" class="css-1dcdqdg"><code> page.border = declarations.border; </code></td></tr><tr><td id="L26782" class="css-a4x74f"><span>26782</span></td><td id="LC26782" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26783" class="css-a4x74f"><span>26783</span></td><td id="LC26783" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26784" class="css-a4x74f"><span>26784</span></td><td id="LC26784" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declarations.marks) { </code></td></tr><tr><td id="L26785" class="css-a4x74f"><span>26785</span></td><td id="LC26785" class="css-1dcdqdg"><code> page.marks = declarations.marks; </code></td></tr><tr><td id="L26786" class="css-a4x74f"><span>26786</span></td><td id="LC26786" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26787" class="css-a4x74f"><span>26787</span></td><td id="LC26787" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26788" class="css-a4x74f"><span>26788</span></td><td id="LC26788" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (needsMerge) { </code></td></tr><tr><td id="L26789" class="css-a4x74f"><span>26789</span></td><td id="LC26789" class="css-1dcdqdg"><code> page.block.children.appendList(node.block.children); </code></td></tr><tr><td id="L26790" class="css-a4x74f"><span>26790</span></td><td id="LC26790" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L26791" class="css-a4x74f"><span>26791</span></td><td id="LC26791" class="css-1dcdqdg"><code> page.block = node.block; </code></td></tr><tr><td id="L26792" class="css-a4x74f"><span>26792</span></td><td id="LC26792" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26793" class="css-a4x74f"><span>26793</span></td><td id="LC26793" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26794" class="css-a4x74f"><span>26794</span></td><td id="LC26794" class="css-1dcdqdg"><code> <span class="code-comment">// Remove the rule</span> </code></td></tr><tr><td id="L26795" class="css-a4x74f"><span>26795</span></td><td id="LC26795" class="css-1dcdqdg"><code> list.remove(item); </code></td></tr><tr><td id="L26796" class="css-a4x74f"><span>26796</span></td><td id="LC26796" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26797" class="css-a4x74f"><span>26797</span></td><td id="LC26797" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26798" class="css-a4x74f"><span>26798</span></td><td id="LC26798" class="css-1dcdqdg"><code> <span class="code-comment">/* Handled in breaks */</span> </code></td></tr><tr><td id="L26799" class="css-a4x74f"><span>26799</span></td><td id="LC26799" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L26800" class="css-a4x74f"><span>26800</span></td><td id="LC26800" class="css-1dcdqdg"><code><span class="code-comment"> afterParsed(parsed) { </span></code></td></tr><tr><td id="L26801" class="css-a4x74f"><span>26801</span></td><td id="LC26801" class="css-1dcdqdg"><code><span class="code-comment"> for (let b in this.named) { </span></code></td></tr><tr><td id="L26802" class="css-a4x74f"><span>26802</span></td><td id="LC26802" class="css-1dcdqdg"><code><span class="code-comment"> // Find elements </span></code></td></tr><tr><td id="L26803" class="css-a4x74f"><span>26803</span></td><td id="LC26803" class="css-1dcdqdg"><code><span class="code-comment"> let elements = parsed.querySelectorAll(b); </span></code></td></tr><tr><td id="L26804" class="css-a4x74f"><span>26804</span></td><td id="LC26804" class="css-1dcdqdg"><code><span class="code-comment"> // Add break data </span></code></td></tr><tr><td id="L26805" class="css-a4x74f"><span>26805</span></td><td id="LC26805" class="css-1dcdqdg"><code><span class="code-comment"> for (var i = 0; i < elements.length; i++) { </span></code></td></tr><tr><td id="L26806" class="css-a4x74f"><span>26806</span></td><td id="LC26806" class="css-1dcdqdg"><code><span class="code-comment"> elements[i].setAttribute("data-page", this.named[b]); </span></code></td></tr><tr><td id="L26807" class="css-a4x74f"><span>26807</span></td><td id="LC26807" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L26808" class="css-a4x74f"><span>26808</span></td><td id="LC26808" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L26809" class="css-a4x74f"><span>26809</span></td><td id="LC26809" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L26810" class="css-a4x74f"><span>26810</span></td><td id="LC26810" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L26811" class="css-a4x74f"><span>26811</span></td><td id="LC26811" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26812" class="css-a4x74f"><span>26812</span></td><td id="LC26812" class="css-1dcdqdg"><code> afterTreeWalk(ast, sheet) { </code></td></tr><tr><td id="L26813" class="css-a4x74f"><span>26813</span></td><td id="LC26813" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addPageClasses(<span class="code-keyword">this</span>.pages, ast, sheet); </code></td></tr><tr><td id="L26814" class="css-a4x74f"><span>26814</span></td><td id="LC26814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26815" class="css-a4x74f"><span>26815</span></td><td id="LC26815" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">"*"</span> <span class="code-keyword">in</span> <span class="code-keyword">this</span>.pages) { </code></td></tr><tr><td id="L26816" class="css-a4x74f"><span>26816</span></td><td id="LC26816" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> width = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].width; </code></td></tr><tr><td id="L26817" class="css-a4x74f"><span>26817</span></td><td id="LC26817" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> height = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].height; </code></td></tr><tr><td id="L26818" class="css-a4x74f"><span>26818</span></td><td id="LC26818" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> format = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].format; </code></td></tr><tr><td id="L26819" class="css-a4x74f"><span>26819</span></td><td id="LC26819" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> orientation = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].orientation; </code></td></tr><tr><td id="L26820" class="css-a4x74f"><span>26820</span></td><td id="LC26820" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleed = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].bleed; </code></td></tr><tr><td id="L26821" class="css-a4x74f"><span>26821</span></td><td id="LC26821" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> marks = <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].marks; </code></td></tr><tr><td id="L26822" class="css-a4x74f"><span>26822</span></td><td id="LC26822" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedverso = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L26823" class="css-a4x74f"><span>26823</span></td><td id="LC26823" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedrecto = <span class="code-literal">undefined</span>; </code></td></tr><tr><td id="L26824" class="css-a4x74f"><span>26824</span></td><td id="LC26824" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26825" class="css-a4x74f"><span>26825</span></td><td id="LC26825" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":left"</span> <span class="code-keyword">in</span> <span class="code-keyword">this</span>.pages) { </code></td></tr><tr><td id="L26826" class="css-a4x74f"><span>26826</span></td><td id="LC26826" class="css-1dcdqdg"><code> bleedverso = <span class="code-keyword">this</span>.pages[<span class="code-string">":left"</span>].bleed; </code></td></tr><tr><td id="L26827" class="css-a4x74f"><span>26827</span></td><td id="LC26827" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26828" class="css-a4x74f"><span>26828</span></td><td id="LC26828" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26829" class="css-a4x74f"><span>26829</span></td><td id="LC26829" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":right"</span> <span class="code-keyword">in</span> <span class="code-keyword">this</span>.pages) { </code></td></tr><tr><td id="L26830" class="css-a4x74f"><span>26830</span></td><td id="LC26830" class="css-1dcdqdg"><code> bleedrecto = <span class="code-keyword">this</span>.pages[<span class="code-string">":right"</span>].bleed; </code></td></tr><tr><td id="L26831" class="css-a4x74f"><span>26831</span></td><td id="LC26831" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26832" class="css-a4x74f"><span>26832</span></td><td id="LC26832" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26833" class="css-a4x74f"><span>26833</span></td><td id="LC26833" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((width && height) && </code></td></tr><tr><td id="L26834" class="css-a4x74f"><span>26834</span></td><td id="LC26834" class="css-1dcdqdg"><code> (<span class="code-keyword">this</span>.width !== width || <span class="code-keyword">this</span>.height !== height)) { </code></td></tr><tr><td id="L26835" class="css-a4x74f"><span>26835</span></td><td id="LC26835" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.width = width; </code></td></tr><tr><td id="L26836" class="css-a4x74f"><span>26836</span></td><td id="LC26836" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.height = height; </code></td></tr><tr><td id="L26837" class="css-a4x74f"><span>26837</span></td><td id="LC26837" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.format = format; </code></td></tr><tr><td id="L26838" class="css-a4x74f"><span>26838</span></td><td id="LC26838" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.orientation = orientation; </code></td></tr><tr><td id="L26839" class="css-a4x74f"><span>26839</span></td><td id="LC26839" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26840" class="css-a4x74f"><span>26840</span></td><td id="LC26840" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addRootVars(ast, width, height, orientation, bleed, bleedrecto, bleedverso, marks); </code></td></tr><tr><td id="L26841" class="css-a4x74f"><span>26841</span></td><td id="LC26841" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addRootPage(ast, <span class="code-keyword">this</span>.pages[<span class="code-string">"*"</span>].size, bleed, bleedrecto, bleedverso); </code></td></tr><tr><td id="L26842" class="css-a4x74f"><span>26842</span></td><td id="LC26842" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26843" class="css-a4x74f"><span>26843</span></td><td id="LC26843" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"size"</span>, { width, height, orientation, format, bleed }); </code></td></tr><tr><td id="L26844" class="css-a4x74f"><span>26844</span></td><td id="LC26844" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"atpages"</span>, <span class="code-keyword">this</span>.pages); </code></td></tr><tr><td id="L26845" class="css-a4x74f"><span>26845</span></td><td id="LC26845" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26846" class="css-a4x74f"><span>26846</span></td><td id="LC26846" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26847" class="css-a4x74f"><span>26847</span></td><td id="LC26847" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26848" class="css-a4x74f"><span>26848</span></td><td id="LC26848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26849" class="css-a4x74f"><span>26849</span></td><td id="LC26849" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26850" class="css-a4x74f"><span>26850</span></td><td id="LC26850" class="css-1dcdqdg"><code> getTypeSelector(ast) { </code></td></tr><tr><td id="L26851" class="css-a4x74f"><span>26851</span></td><td id="LC26851" class="css-1dcdqdg"><code> <span class="code-comment">// Find page name</span> </code></td></tr><tr><td id="L26852" class="css-a4x74f"><span>26852</span></td><td id="LC26852" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name; </code></td></tr><tr><td id="L26853" class="css-a4x74f"><span>26853</span></td><td id="LC26853" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26854" class="css-a4x74f"><span>26854</span></td><td id="LC26854" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L26855" class="css-a4x74f"><span>26855</span></td><td id="LC26855" class="css-1dcdqdg"><code> visit: <span class="code-string">"TypeSelector"</span>, </code></td></tr><tr><td id="L26856" class="css-a4x74f"><span>26856</span></td><td id="LC26856" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L26857" class="css-a4x74f"><span>26857</span></td><td id="LC26857" class="css-1dcdqdg"><code> name = node.name; </code></td></tr><tr><td id="L26858" class="css-a4x74f"><span>26858</span></td><td id="LC26858" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26859" class="css-a4x74f"><span>26859</span></td><td id="LC26859" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26860" class="css-a4x74f"><span>26860</span></td><td id="LC26860" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26861" class="css-a4x74f"><span>26861</span></td><td id="LC26861" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name; </code></td></tr><tr><td id="L26862" class="css-a4x74f"><span>26862</span></td><td id="LC26862" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26863" class="css-a4x74f"><span>26863</span></td><td id="LC26863" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26864" class="css-a4x74f"><span>26864</span></td><td id="LC26864" class="css-1dcdqdg"><code> getPsuedoSelector(ast) { </code></td></tr><tr><td id="L26865" class="css-a4x74f"><span>26865</span></td><td id="LC26865" class="css-1dcdqdg"><code> <span class="code-comment">// Find if it has :left & :right & :black & :first</span> </code></td></tr><tr><td id="L26866" class="css-a4x74f"><span>26866</span></td><td id="LC26866" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name; </code></td></tr><tr><td id="L26867" class="css-a4x74f"><span>26867</span></td><td id="LC26867" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L26868" class="css-a4x74f"><span>26868</span></td><td id="LC26868" class="css-1dcdqdg"><code> visit: <span class="code-string">"PseudoClassSelector"</span>, </code></td></tr><tr><td id="L26869" class="css-a4x74f"><span>26869</span></td><td id="LC26869" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L26870" class="css-a4x74f"><span>26870</span></td><td id="LC26870" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.name !== <span class="code-string">"nth"</span>) { </code></td></tr><tr><td id="L26871" class="css-a4x74f"><span>26871</span></td><td id="LC26871" class="css-1dcdqdg"><code> name = node.name; </code></td></tr><tr><td id="L26872" class="css-a4x74f"><span>26872</span></td><td id="LC26872" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26873" class="css-a4x74f"><span>26873</span></td><td id="LC26873" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26874" class="css-a4x74f"><span>26874</span></td><td id="LC26874" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26875" class="css-a4x74f"><span>26875</span></td><td id="LC26875" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26876" class="css-a4x74f"><span>26876</span></td><td id="LC26876" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name; </code></td></tr><tr><td id="L26877" class="css-a4x74f"><span>26877</span></td><td id="LC26877" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26878" class="css-a4x74f"><span>26878</span></td><td id="LC26878" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26879" class="css-a4x74f"><span>26879</span></td><td id="LC26879" class="css-1dcdqdg"><code> getNthSelector(ast) { </code></td></tr><tr><td id="L26880" class="css-a4x74f"><span>26880</span></td><td id="LC26880" class="css-1dcdqdg"><code> <span class="code-comment">// Find if it has :nth</span> </code></td></tr><tr><td id="L26881" class="css-a4x74f"><span>26881</span></td><td id="LC26881" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nth; </code></td></tr><tr><td id="L26882" class="css-a4x74f"><span>26882</span></td><td id="LC26882" class="css-1dcdqdg"><code> lib.walk(ast, { </code></td></tr><tr><td id="L26883" class="css-a4x74f"><span>26883</span></td><td id="LC26883" class="css-1dcdqdg"><code> visit: <span class="code-string">"PseudoClassSelector"</span>, </code></td></tr><tr><td id="L26884" class="css-a4x74f"><span>26884</span></td><td id="LC26884" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L26885" class="css-a4x74f"><span>26885</span></td><td id="LC26885" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.name === <span class="code-string">"nth"</span> && node.children) { </code></td></tr><tr><td id="L26886" class="css-a4x74f"><span>26886</span></td><td id="LC26886" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> raw = node.children.first(); </code></td></tr><tr><td id="L26887" class="css-a4x74f"><span>26887</span></td><td id="LC26887" class="css-1dcdqdg"><code> nth = raw.value; </code></td></tr><tr><td id="L26888" class="css-a4x74f"><span>26888</span></td><td id="LC26888" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26889" class="css-a4x74f"><span>26889</span></td><td id="LC26889" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26890" class="css-a4x74f"><span>26890</span></td><td id="LC26890" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26891" class="css-a4x74f"><span>26891</span></td><td id="LC26891" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26892" class="css-a4x74f"><span>26892</span></td><td id="LC26892" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> nth; </code></td></tr><tr><td id="L26893" class="css-a4x74f"><span>26893</span></td><td id="LC26893" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26894" class="css-a4x74f"><span>26894</span></td><td id="LC26894" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26895" class="css-a4x74f"><span>26895</span></td><td id="LC26895" class="css-1dcdqdg"><code> replaceMarginalia(ast) { </code></td></tr><tr><td id="L26896" class="css-a4x74f"><span>26896</span></td><td id="LC26896" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parsed = {}; </code></td></tr><tr><td id="L26897" class="css-a4x74f"><span>26897</span></td><td id="LC26897" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26898" class="css-a4x74f"><span>26898</span></td><td id="LC26898" class="css-1dcdqdg"><code> lib.walk(ast.block, { </code></td></tr><tr><td id="L26899" class="css-a4x74f"><span>26899</span></td><td id="LC26899" class="css-1dcdqdg"><code> visit: <span class="code-string">"Atrule"</span>, </code></td></tr><tr><td id="L26900" class="css-a4x74f"><span>26900</span></td><td id="LC26900" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L26901" class="css-a4x74f"><span>26901</span></td><td id="LC26901" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = node.name; </code></td></tr><tr><td id="L26902" class="css-a4x74f"><span>26902</span></td><td id="LC26902" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"top"</span>) { </code></td></tr><tr><td id="L26903" class="css-a4x74f"><span>26903</span></td><td id="LC26903" class="css-1dcdqdg"><code> name = <span class="code-string">"top-center"</span>; </code></td></tr><tr><td id="L26904" class="css-a4x74f"><span>26904</span></td><td id="LC26904" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26905" class="css-a4x74f"><span>26905</span></td><td id="LC26905" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"right"</span>) { </code></td></tr><tr><td id="L26906" class="css-a4x74f"><span>26906</span></td><td id="LC26906" class="css-1dcdqdg"><code> name = <span class="code-string">"right-middle"</span>; </code></td></tr><tr><td id="L26907" class="css-a4x74f"><span>26907</span></td><td id="LC26907" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26908" class="css-a4x74f"><span>26908</span></td><td id="LC26908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"left"</span>) { </code></td></tr><tr><td id="L26909" class="css-a4x74f"><span>26909</span></td><td id="LC26909" class="css-1dcdqdg"><code> name = <span class="code-string">"left-middle"</span>; </code></td></tr><tr><td id="L26910" class="css-a4x74f"><span>26910</span></td><td id="LC26910" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26911" class="css-a4x74f"><span>26911</span></td><td id="LC26911" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"bottom"</span>) { </code></td></tr><tr><td id="L26912" class="css-a4x74f"><span>26912</span></td><td id="LC26912" class="css-1dcdqdg"><code> name = <span class="code-string">"bottom-center"</span>; </code></td></tr><tr><td id="L26913" class="css-a4x74f"><span>26913</span></td><td id="LC26913" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26914" class="css-a4x74f"><span>26914</span></td><td id="LC26914" class="css-1dcdqdg"><code> parsed[name] = node.block; </code></td></tr><tr><td id="L26915" class="css-a4x74f"><span>26915</span></td><td id="LC26915" class="css-1dcdqdg"><code> list.remove(item); </code></td></tr><tr><td id="L26916" class="css-a4x74f"><span>26916</span></td><td id="LC26916" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26917" class="css-a4x74f"><span>26917</span></td><td id="LC26917" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26918" class="css-a4x74f"><span>26918</span></td><td id="LC26918" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26919" class="css-a4x74f"><span>26919</span></td><td id="LC26919" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> parsed; </code></td></tr><tr><td id="L26920" class="css-a4x74f"><span>26920</span></td><td id="LC26920" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26921" class="css-a4x74f"><span>26921</span></td><td id="LC26921" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26922" class="css-a4x74f"><span>26922</span></td><td id="LC26922" class="css-1dcdqdg"><code> replaceDeclarations(ast) { </code></td></tr><tr><td id="L26923" class="css-a4x74f"><span>26923</span></td><td id="LC26923" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parsed = {}; </code></td></tr><tr><td id="L26924" class="css-a4x74f"><span>26924</span></td><td id="LC26924" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26925" class="css-a4x74f"><span>26925</span></td><td id="LC26925" class="css-1dcdqdg"><code> lib.walk(ast.block, { </code></td></tr><tr><td id="L26926" class="css-a4x74f"><span>26926</span></td><td id="LC26926" class="css-1dcdqdg"><code> visit: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L26927" class="css-a4x74f"><span>26927</span></td><td id="LC26927" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">declaration, dItem, dList</span>) =></span> { </code></td></tr><tr><td id="L26928" class="css-a4x74f"><span>26928</span></td><td id="LC26928" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prop = lib.property(declaration.property).name; </code></td></tr><tr><td id="L26929" class="css-a4x74f"><span>26929</span></td><td id="LC26929" class="css-1dcdqdg"><code> <span class="code-comment">// let value = declaration.value;</span> </code></td></tr><tr><td id="L26930" class="css-a4x74f"><span>26930</span></td><td id="LC26930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26931" class="css-a4x74f"><span>26931</span></td><td id="LC26931" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prop === <span class="code-string">"marks"</span>) { </code></td></tr><tr><td id="L26932" class="css-a4x74f"><span>26932</span></td><td id="LC26932" class="css-1dcdqdg"><code> parsed.marks = []; </code></td></tr><tr><td id="L26933" class="css-a4x74f"><span>26933</span></td><td id="LC26933" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L26934" class="css-a4x74f"><span>26934</span></td><td id="LC26934" class="css-1dcdqdg"><code> visit: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L26935" class="css-a4x74f"><span>26935</span></td><td id="LC26935" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">ident</span>) =></span> { </code></td></tr><tr><td id="L26936" class="css-a4x74f"><span>26936</span></td><td id="LC26936" class="css-1dcdqdg"><code> parsed.marks.push(ident.name); </code></td></tr><tr><td id="L26937" class="css-a4x74f"><span>26937</span></td><td id="LC26937" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26938" class="css-a4x74f"><span>26938</span></td><td id="LC26938" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L26939" class="css-a4x74f"><span>26939</span></td><td id="LC26939" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26940" class="css-a4x74f"><span>26940</span></td><td id="LC26940" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop === <span class="code-string">"margin"</span>) { </code></td></tr><tr><td id="L26941" class="css-a4x74f"><span>26941</span></td><td id="LC26941" class="css-1dcdqdg"><code> parsed.margin = <span class="code-keyword">this</span>.getMargins(declaration); </code></td></tr><tr><td id="L26942" class="css-a4x74f"><span>26942</span></td><td id="LC26942" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26943" class="css-a4x74f"><span>26943</span></td><td id="LC26943" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26944" class="css-a4x74f"><span>26944</span></td><td id="LC26944" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop.indexOf(<span class="code-string">"margin-"</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L26945" class="css-a4x74f"><span>26945</span></td><td id="LC26945" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> m = prop.substring(<span class="code-string">"margin-"</span>.length); </code></td></tr><tr><td id="L26946" class="css-a4x74f"><span>26946</span></td><td id="LC26946" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parsed.margin) { </code></td></tr><tr><td id="L26947" class="css-a4x74f"><span>26947</span></td><td id="LC26947" class="css-1dcdqdg"><code> parsed.margin = { </code></td></tr><tr><td id="L26948" class="css-a4x74f"><span>26948</span></td><td id="LC26948" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26949" class="css-a4x74f"><span>26949</span></td><td id="LC26949" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26950" class="css-a4x74f"><span>26950</span></td><td id="LC26950" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26951" class="css-a4x74f"><span>26951</span></td><td id="LC26951" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26952" class="css-a4x74f"><span>26952</span></td><td id="LC26952" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26953" class="css-a4x74f"><span>26953</span></td><td id="LC26953" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26954" class="css-a4x74f"><span>26954</span></td><td id="LC26954" class="css-1dcdqdg"><code> parsed.margin[m] = declaration.value.children.first(); </code></td></tr><tr><td id="L26955" class="css-a4x74f"><span>26955</span></td><td id="LC26955" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26956" class="css-a4x74f"><span>26956</span></td><td id="LC26956" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26957" class="css-a4x74f"><span>26957</span></td><td id="LC26957" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop === <span class="code-string">"padding"</span>) { </code></td></tr><tr><td id="L26958" class="css-a4x74f"><span>26958</span></td><td id="LC26958" class="css-1dcdqdg"><code> parsed.padding = <span class="code-keyword">this</span>.getPaddings(declaration.value); </code></td></tr><tr><td id="L26959" class="css-a4x74f"><span>26959</span></td><td id="LC26959" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26960" class="css-a4x74f"><span>26960</span></td><td id="LC26960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26961" class="css-a4x74f"><span>26961</span></td><td id="LC26961" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop.indexOf(<span class="code-string">"padding-"</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L26962" class="css-a4x74f"><span>26962</span></td><td id="LC26962" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> p = prop.substring(<span class="code-string">"padding-"</span>.length); </code></td></tr><tr><td id="L26963" class="css-a4x74f"><span>26963</span></td><td id="LC26963" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parsed.padding) { </code></td></tr><tr><td id="L26964" class="css-a4x74f"><span>26964</span></td><td id="LC26964" class="css-1dcdqdg"><code> parsed.padding = { </code></td></tr><tr><td id="L26965" class="css-a4x74f"><span>26965</span></td><td id="LC26965" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26966" class="css-a4x74f"><span>26966</span></td><td id="LC26966" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26967" class="css-a4x74f"><span>26967</span></td><td id="LC26967" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26968" class="css-a4x74f"><span>26968</span></td><td id="LC26968" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26969" class="css-a4x74f"><span>26969</span></td><td id="LC26969" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26970" class="css-a4x74f"><span>26970</span></td><td id="LC26970" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26971" class="css-a4x74f"><span>26971</span></td><td id="LC26971" class="css-1dcdqdg"><code> parsed.padding[p] = declaration.value.children.first(); </code></td></tr><tr><td id="L26972" class="css-a4x74f"><span>26972</span></td><td id="LC26972" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26973" class="css-a4x74f"><span>26973</span></td><td id="LC26973" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26974" class="css-a4x74f"><span>26974</span></td><td id="LC26974" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26975" class="css-a4x74f"><span>26975</span></td><td id="LC26975" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop === <span class="code-string">"border"</span>) { </code></td></tr><tr><td id="L26976" class="css-a4x74f"><span>26976</span></td><td id="LC26976" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parsed.border) { </code></td></tr><tr><td id="L26977" class="css-a4x74f"><span>26977</span></td><td id="LC26977" class="css-1dcdqdg"><code> parsed.border = { </code></td></tr><tr><td id="L26978" class="css-a4x74f"><span>26978</span></td><td id="LC26978" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26979" class="css-a4x74f"><span>26979</span></td><td id="LC26979" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26980" class="css-a4x74f"><span>26980</span></td><td id="LC26980" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26981" class="css-a4x74f"><span>26981</span></td><td id="LC26981" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L26982" class="css-a4x74f"><span>26982</span></td><td id="LC26982" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L26983" class="css-a4x74f"><span>26983</span></td><td id="LC26983" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26984" class="css-a4x74f"><span>26984</span></td><td id="LC26984" class="css-1dcdqdg"><code> parsed.border.top = lib.generate(declaration.value); </code></td></tr><tr><td id="L26985" class="css-a4x74f"><span>26985</span></td><td id="LC26985" class="css-1dcdqdg"><code> parsed.border.right = lib.generate(declaration.value); </code></td></tr><tr><td id="L26986" class="css-a4x74f"><span>26986</span></td><td id="LC26986" class="css-1dcdqdg"><code> parsed.border.left = lib.generate(declaration.value); </code></td></tr><tr><td id="L26987" class="css-a4x74f"><span>26987</span></td><td id="LC26987" class="css-1dcdqdg"><code> parsed.border.bottom = lib.generate(declaration.value); </code></td></tr><tr><td id="L26988" class="css-a4x74f"><span>26988</span></td><td id="LC26988" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26989" class="css-a4x74f"><span>26989</span></td><td id="LC26989" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L26990" class="css-a4x74f"><span>26990</span></td><td id="LC26990" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26991" class="css-a4x74f"><span>26991</span></td><td id="LC26991" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L26992" class="css-a4x74f"><span>26992</span></td><td id="LC26992" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L26993" class="css-a4x74f"><span>26993</span></td><td id="LC26993" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop.indexOf(<span class="code-string">"border-"</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L26994" class="css-a4x74f"><span>26994</span></td><td id="LC26994" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!parsed.border) { </code></td></tr><tr><td id="L26995" class="css-a4x74f"><span>26995</span></td><td id="LC26995" class="css-1dcdqdg"><code> parsed.border = { </code></td></tr><tr><td id="L26996" class="css-a4x74f"><span>26996</span></td><td id="LC26996" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L26997" class="css-a4x74f"><span>26997</span></td><td id="LC26997" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L26998" class="css-a4x74f"><span>26998</span></td><td id="LC26998" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L26999" class="css-a4x74f"><span>26999</span></td><td id="LC26999" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L27000" class="css-a4x74f"><span>27000</span></td><td id="LC27000" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27001" class="css-a4x74f"><span>27001</span></td><td id="LC27001" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27002" class="css-a4x74f"><span>27002</span></td><td id="LC27002" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> p = prop.substring(<span class="code-string">"border-"</span>.length); </code></td></tr><tr><td id="L27003" class="css-a4x74f"><span>27003</span></td><td id="LC27003" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27004" class="css-a4x74f"><span>27004</span></td><td id="LC27004" class="css-1dcdqdg"><code> parsed.border[p] = lib.generate(declaration.value); </code></td></tr><tr><td id="L27005" class="css-a4x74f"><span>27005</span></td><td id="LC27005" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L27006" class="css-a4x74f"><span>27006</span></td><td id="LC27006" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27007" class="css-a4x74f"><span>27007</span></td><td id="LC27007" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27008" class="css-a4x74f"><span>27008</span></td><td id="LC27008" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27009" class="css-a4x74f"><span>27009</span></td><td id="LC27009" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop === <span class="code-string">"size"</span>) { </code></td></tr><tr><td id="L27010" class="css-a4x74f"><span>27010</span></td><td id="LC27010" class="css-1dcdqdg"><code> parsed.size = <span class="code-keyword">this</span>.getSize(declaration); </code></td></tr><tr><td id="L27011" class="css-a4x74f"><span>27011</span></td><td id="LC27011" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L27012" class="css-a4x74f"><span>27012</span></td><td id="LC27012" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop === <span class="code-string">"bleed"</span>) { </code></td></tr><tr><td id="L27013" class="css-a4x74f"><span>27013</span></td><td id="LC27013" class="css-1dcdqdg"><code> parsed.bleed = []; </code></td></tr><tr><td id="L27014" class="css-a4x74f"><span>27014</span></td><td id="LC27014" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27015" class="css-a4x74f"><span>27015</span></td><td id="LC27015" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27016" class="css-a4x74f"><span>27016</span></td><td id="LC27016" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">subNode</span>) =></span> { </code></td></tr><tr><td id="L27017" class="css-a4x74f"><span>27017</span></td><td id="LC27017" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (subNode.type) { </code></td></tr><tr><td id="L27018" class="css-a4x74f"><span>27018</span></td><td id="LC27018" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"String"</span>: <span class="code-comment">// bleed: "auto"</span> </code></td></tr><tr><td id="L27019" class="css-a4x74f"><span>27019</span></td><td id="LC27019" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (subNode.value.indexOf(<span class="code-string">"auto"</span>) > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L27020" class="css-a4x74f"><span>27020</span></td><td id="LC27020" class="css-1dcdqdg"><code> parsed.bleed.push(<span class="code-string">"auto"</span>); </code></td></tr><tr><td id="L27021" class="css-a4x74f"><span>27021</span></td><td id="LC27021" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27022" class="css-a4x74f"><span>27022</span></td><td id="LC27022" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27023" class="css-a4x74f"><span>27023</span></td><td id="LC27023" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Dimension"</span>: <span class="code-comment">// bleed: 1in 2in, bleed: 20px ect.</span> </code></td></tr><tr><td id="L27024" class="css-a4x74f"><span>27024</span></td><td id="LC27024" class="css-1dcdqdg"><code> parsed.bleed.push({ </code></td></tr><tr><td id="L27025" class="css-a4x74f"><span>27025</span></td><td id="LC27025" class="css-1dcdqdg"><code> value: subNode.value, </code></td></tr><tr><td id="L27026" class="css-a4x74f"><span>27026</span></td><td id="LC27026" class="css-1dcdqdg"><code> unit: subNode.unit </code></td></tr><tr><td id="L27027" class="css-a4x74f"><span>27027</span></td><td id="LC27027" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27028" class="css-a4x74f"><span>27028</span></td><td id="LC27028" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27029" class="css-a4x74f"><span>27029</span></td><td id="LC27029" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Number"</span>: </code></td></tr><tr><td id="L27030" class="css-a4x74f"><span>27030</span></td><td id="LC27030" class="css-1dcdqdg"><code> parsed.bleed.push({ </code></td></tr><tr><td id="L27031" class="css-a4x74f"><span>27031</span></td><td id="LC27031" class="css-1dcdqdg"><code> value: subNode.value, </code></td></tr><tr><td id="L27032" class="css-a4x74f"><span>27032</span></td><td id="LC27032" class="css-1dcdqdg"><code> unit: <span class="code-string">"px"</span> </code></td></tr><tr><td id="L27033" class="css-a4x74f"><span>27033</span></td><td id="LC27033" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27034" class="css-a4x74f"><span>27034</span></td><td id="LC27034" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27035" class="css-a4x74f"><span>27035</span></td><td id="LC27035" class="css-1dcdqdg"><code> <span class="code-comment">// ignore</span> </code></td></tr><tr><td id="L27036" class="css-a4x74f"><span>27036</span></td><td id="LC27036" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27037" class="css-a4x74f"><span>27037</span></td><td id="LC27037" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27038" class="css-a4x74f"><span>27038</span></td><td id="LC27038" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27039" class="css-a4x74f"><span>27039</span></td><td id="LC27039" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27040" class="css-a4x74f"><span>27040</span></td><td id="LC27040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27041" class="css-a4x74f"><span>27041</span></td><td id="LC27041" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L27042" class="css-a4x74f"><span>27042</span></td><td id="LC27042" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27043" class="css-a4x74f"><span>27043</span></td><td id="LC27043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27044" class="css-a4x74f"><span>27044</span></td><td id="LC27044" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27045" class="css-a4x74f"><span>27045</span></td><td id="LC27045" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27046" class="css-a4x74f"><span>27046</span></td><td id="LC27046" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27047" class="css-a4x74f"><span>27047</span></td><td id="LC27047" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> parsed; </code></td></tr><tr><td id="L27048" class="css-a4x74f"><span>27048</span></td><td id="LC27048" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27049" class="css-a4x74f"><span>27049</span></td><td id="LC27049" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27050" class="css-a4x74f"><span>27050</span></td><td id="LC27050" class="css-1dcdqdg"><code> getSize(declaration) { </code></td></tr><tr><td id="L27051" class="css-a4x74f"><span>27051</span></td><td id="LC27051" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> width, height, orientation, format; </code></td></tr><tr><td id="L27052" class="css-a4x74f"><span>27052</span></td><td id="LC27052" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27053" class="css-a4x74f"><span>27053</span></td><td id="LC27053" class="css-1dcdqdg"><code> <span class="code-comment">// Get size: Xmm Ymm</span> </code></td></tr><tr><td id="L27054" class="css-a4x74f"><span>27054</span></td><td id="LC27054" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27055" class="css-a4x74f"><span>27055</span></td><td id="LC27055" class="css-1dcdqdg"><code> visit: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27056" class="css-a4x74f"><span>27056</span></td><td id="LC27056" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L27057" class="css-a4x74f"><span>27057</span></td><td id="LC27057" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> { value, unit } = node; </code></td></tr><tr><td id="L27058" class="css-a4x74f"><span>27058</span></td><td id="LC27058" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> width === <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L27059" class="css-a4x74f"><span>27059</span></td><td id="LC27059" class="css-1dcdqdg"><code> width = { value, unit }; </code></td></tr><tr><td id="L27060" class="css-a4x74f"><span>27060</span></td><td id="LC27060" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> height === <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L27061" class="css-a4x74f"><span>27061</span></td><td id="LC27061" class="css-1dcdqdg"><code> height = { value, unit }; </code></td></tr><tr><td id="L27062" class="css-a4x74f"><span>27062</span></td><td id="LC27062" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27063" class="css-a4x74f"><span>27063</span></td><td id="LC27063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27064" class="css-a4x74f"><span>27064</span></td><td id="LC27064" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27065" class="css-a4x74f"><span>27065</span></td><td id="LC27065" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27066" class="css-a4x74f"><span>27066</span></td><td id="LC27066" class="css-1dcdqdg"><code> <span class="code-comment">// Get size: "A4"</span> </code></td></tr><tr><td id="L27067" class="css-a4x74f"><span>27067</span></td><td id="LC27067" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27068" class="css-a4x74f"><span>27068</span></td><td id="LC27068" class="css-1dcdqdg"><code> visit: <span class="code-string">"String"</span>, </code></td></tr><tr><td id="L27069" class="css-a4x74f"><span>27069</span></td><td id="LC27069" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L27070" class="css-a4x74f"><span>27070</span></td><td id="LC27070" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = node.value.replace(<span class="code-regexp">/["|']/g</span>, <span class="code-string">""</span>); </code></td></tr><tr><td id="L27071" class="css-a4x74f"><span>27071</span></td><td id="LC27071" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> s = pageSizes[name]; </code></td></tr><tr><td id="L27072" class="css-a4x74f"><span>27072</span></td><td id="LC27072" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (s) { </code></td></tr><tr><td id="L27073" class="css-a4x74f"><span>27073</span></td><td id="LC27073" class="css-1dcdqdg"><code> width = s.width; </code></td></tr><tr><td id="L27074" class="css-a4x74f"><span>27074</span></td><td id="LC27074" class="css-1dcdqdg"><code> height = s.height; </code></td></tr><tr><td id="L27075" class="css-a4x74f"><span>27075</span></td><td id="LC27075" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27076" class="css-a4x74f"><span>27076</span></td><td id="LC27076" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27077" class="css-a4x74f"><span>27077</span></td><td id="LC27077" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27078" class="css-a4x74f"><span>27078</span></td><td id="LC27078" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27079" class="css-a4x74f"><span>27079</span></td><td id="LC27079" class="css-1dcdqdg"><code> <span class="code-comment">// Get Format or Landscape or Portrait</span> </code></td></tr><tr><td id="L27080" class="css-a4x74f"><span>27080</span></td><td id="LC27080" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27081" class="css-a4x74f"><span>27081</span></td><td id="LC27081" class="css-1dcdqdg"><code> visit: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L27082" class="css-a4x74f"><span>27082</span></td><td id="LC27082" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L27083" class="css-a4x74f"><span>27083</span></td><td id="LC27083" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = node.name; </code></td></tr><tr><td id="L27084" class="css-a4x74f"><span>27084</span></td><td id="LC27084" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"landscape"</span> || name === <span class="code-string">"portrait"</span>) { </code></td></tr><tr><td id="L27085" class="css-a4x74f"><span>27085</span></td><td id="LC27085" class="css-1dcdqdg"><code> orientation = node.name; </code></td></tr><tr><td id="L27086" class="css-a4x74f"><span>27086</span></td><td id="LC27086" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (name !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L27087" class="css-a4x74f"><span>27087</span></td><td id="LC27087" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> s = pageSizes[name]; </code></td></tr><tr><td id="L27088" class="css-a4x74f"><span>27088</span></td><td id="LC27088" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (s) { </code></td></tr><tr><td id="L27089" class="css-a4x74f"><span>27089</span></td><td id="LC27089" class="css-1dcdqdg"><code> width = s.width; </code></td></tr><tr><td id="L27090" class="css-a4x74f"><span>27090</span></td><td id="LC27090" class="css-1dcdqdg"><code> height = s.height; </code></td></tr><tr><td id="L27091" class="css-a4x74f"><span>27091</span></td><td id="LC27091" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27092" class="css-a4x74f"><span>27092</span></td><td id="LC27092" class="css-1dcdqdg"><code> format = name; </code></td></tr><tr><td id="L27093" class="css-a4x74f"><span>27093</span></td><td id="LC27093" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27094" class="css-a4x74f"><span>27094</span></td><td id="LC27094" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27095" class="css-a4x74f"><span>27095</span></td><td id="LC27095" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27096" class="css-a4x74f"><span>27096</span></td><td id="LC27096" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27097" class="css-a4x74f"><span>27097</span></td><td id="LC27097" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L27098" class="css-a4x74f"><span>27098</span></td><td id="LC27098" class="css-1dcdqdg"><code> width, </code></td></tr><tr><td id="L27099" class="css-a4x74f"><span>27099</span></td><td id="LC27099" class="css-1dcdqdg"><code> height, </code></td></tr><tr><td id="L27100" class="css-a4x74f"><span>27100</span></td><td id="LC27100" class="css-1dcdqdg"><code> orientation, </code></td></tr><tr><td id="L27101" class="css-a4x74f"><span>27101</span></td><td id="LC27101" class="css-1dcdqdg"><code> format </code></td></tr><tr><td id="L27102" class="css-a4x74f"><span>27102</span></td><td id="LC27102" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27103" class="css-a4x74f"><span>27103</span></td><td id="LC27103" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27104" class="css-a4x74f"><span>27104</span></td><td id="LC27104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27105" class="css-a4x74f"><span>27105</span></td><td id="LC27105" class="css-1dcdqdg"><code> getMargins(declaration) { </code></td></tr><tr><td id="L27106" class="css-a4x74f"><span>27106</span></td><td id="LC27106" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> margins = []; </code></td></tr><tr><td id="L27107" class="css-a4x74f"><span>27107</span></td><td id="LC27107" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> margin = { </code></td></tr><tr><td id="L27108" class="css-a4x74f"><span>27108</span></td><td id="LC27108" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L27109" class="css-a4x74f"><span>27109</span></td><td id="LC27109" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L27110" class="css-a4x74f"><span>27110</span></td><td id="LC27110" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L27111" class="css-a4x74f"><span>27111</span></td><td id="LC27111" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L27112" class="css-a4x74f"><span>27112</span></td><td id="LC27112" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27113" class="css-a4x74f"><span>27113</span></td><td id="LC27113" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27114" class="css-a4x74f"><span>27114</span></td><td id="LC27114" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27115" class="css-a4x74f"><span>27115</span></td><td id="LC27115" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node</span>) =></span> { </code></td></tr><tr><td id="L27116" class="css-a4x74f"><span>27116</span></td><td id="LC27116" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L27117" class="css-a4x74f"><span>27117</span></td><td id="LC27117" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Dimension"</span>: <span class="code-comment">// margin: 1in 2in, margin: 20px, etc...</span> </code></td></tr><tr><td id="L27118" class="css-a4x74f"><span>27118</span></td><td id="LC27118" class="css-1dcdqdg"><code> margins.push(node); </code></td></tr><tr><td id="L27119" class="css-a4x74f"><span>27119</span></td><td id="LC27119" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27120" class="css-a4x74f"><span>27120</span></td><td id="LC27120" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Number"</span>: <span class="code-comment">// margin: 0</span> </code></td></tr><tr><td id="L27121" class="css-a4x74f"><span>27121</span></td><td id="LC27121" class="css-1dcdqdg"><code> margins.push({<span class="code-attr">value</span>: node.value, <span class="code-attr">unit</span>: <span class="code-string">"px"</span>}); </code></td></tr><tr><td id="L27122" class="css-a4x74f"><span>27122</span></td><td id="LC27122" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27123" class="css-a4x74f"><span>27123</span></td><td id="LC27123" class="css-1dcdqdg"><code> <span class="code-comment">// ignore</span> </code></td></tr><tr><td id="L27124" class="css-a4x74f"><span>27124</span></td><td id="LC27124" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27125" class="css-a4x74f"><span>27125</span></td><td id="LC27125" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27126" class="css-a4x74f"><span>27126</span></td><td id="LC27126" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27127" class="css-a4x74f"><span>27127</span></td><td id="LC27127" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27128" class="css-a4x74f"><span>27128</span></td><td id="LC27128" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (margins.length === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L27129" class="css-a4x74f"><span>27129</span></td><td id="LC27129" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> m <span class="code-keyword">in</span> margin) { </code></td></tr><tr><td id="L27130" class="css-a4x74f"><span>27130</span></td><td id="LC27130" class="css-1dcdqdg"><code> margin[m] = margins[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27131" class="css-a4x74f"><span>27131</span></td><td id="LC27131" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27132" class="css-a4x74f"><span>27132</span></td><td id="LC27132" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (margins.length === <span class="code-number">2</span>) { </code></td></tr><tr><td id="L27133" class="css-a4x74f"><span>27133</span></td><td id="LC27133" class="css-1dcdqdg"><code> margin.top = margins[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27134" class="css-a4x74f"><span>27134</span></td><td id="LC27134" class="css-1dcdqdg"><code> margin.right = margins[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27135" class="css-a4x74f"><span>27135</span></td><td id="LC27135" class="css-1dcdqdg"><code> margin.bottom = margins[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27136" class="css-a4x74f"><span>27136</span></td><td id="LC27136" class="css-1dcdqdg"><code> margin.left = margins[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27137" class="css-a4x74f"><span>27137</span></td><td id="LC27137" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (margins.length === <span class="code-number">3</span>) { </code></td></tr><tr><td id="L27138" class="css-a4x74f"><span>27138</span></td><td id="LC27138" class="css-1dcdqdg"><code> margin.top = margins[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27139" class="css-a4x74f"><span>27139</span></td><td id="LC27139" class="css-1dcdqdg"><code> margin.right = margins[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27140" class="css-a4x74f"><span>27140</span></td><td id="LC27140" class="css-1dcdqdg"><code> margin.bottom = margins[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L27141" class="css-a4x74f"><span>27141</span></td><td id="LC27141" class="css-1dcdqdg"><code> margin.left = margins[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27142" class="css-a4x74f"><span>27142</span></td><td id="LC27142" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (margins.length === <span class="code-number">4</span>) { </code></td></tr><tr><td id="L27143" class="css-a4x74f"><span>27143</span></td><td id="LC27143" class="css-1dcdqdg"><code> margin.top = margins[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27144" class="css-a4x74f"><span>27144</span></td><td id="LC27144" class="css-1dcdqdg"><code> margin.right = margins[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27145" class="css-a4x74f"><span>27145</span></td><td id="LC27145" class="css-1dcdqdg"><code> margin.bottom = margins[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L27146" class="css-a4x74f"><span>27146</span></td><td id="LC27146" class="css-1dcdqdg"><code> margin.left = margins[<span class="code-number">3</span>]; </code></td></tr><tr><td id="L27147" class="css-a4x74f"><span>27147</span></td><td id="LC27147" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27148" class="css-a4x74f"><span>27148</span></td><td id="LC27148" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27149" class="css-a4x74f"><span>27149</span></td><td id="LC27149" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> margin; </code></td></tr><tr><td id="L27150" class="css-a4x74f"><span>27150</span></td><td id="LC27150" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27151" class="css-a4x74f"><span>27151</span></td><td id="LC27151" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27152" class="css-a4x74f"><span>27152</span></td><td id="LC27152" class="css-1dcdqdg"><code> getPaddings(declaration) { </code></td></tr><tr><td id="L27153" class="css-a4x74f"><span>27153</span></td><td id="LC27153" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> paddings = []; </code></td></tr><tr><td id="L27154" class="css-a4x74f"><span>27154</span></td><td id="LC27154" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> padding = { </code></td></tr><tr><td id="L27155" class="css-a4x74f"><span>27155</span></td><td id="LC27155" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L27156" class="css-a4x74f"><span>27156</span></td><td id="LC27156" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L27157" class="css-a4x74f"><span>27157</span></td><td id="LC27157" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L27158" class="css-a4x74f"><span>27158</span></td><td id="LC27158" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L27159" class="css-a4x74f"><span>27159</span></td><td id="LC27159" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27160" class="css-a4x74f"><span>27160</span></td><td id="LC27160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27161" class="css-a4x74f"><span>27161</span></td><td id="LC27161" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L27162" class="css-a4x74f"><span>27162</span></td><td id="LC27162" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node</span>) =></span> { </code></td></tr><tr><td id="L27163" class="css-a4x74f"><span>27163</span></td><td id="LC27163" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (node.type) { </code></td></tr><tr><td id="L27164" class="css-a4x74f"><span>27164</span></td><td id="LC27164" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Dimension"</span>: <span class="code-comment">// padding: 1in 2in, padding: 20px, etc...</span> </code></td></tr><tr><td id="L27165" class="css-a4x74f"><span>27165</span></td><td id="LC27165" class="css-1dcdqdg"><code> paddings.push(node); </code></td></tr><tr><td id="L27166" class="css-a4x74f"><span>27166</span></td><td id="LC27166" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27167" class="css-a4x74f"><span>27167</span></td><td id="LC27167" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-string">"Number"</span>: <span class="code-comment">// padding: 0</span> </code></td></tr><tr><td id="L27168" class="css-a4x74f"><span>27168</span></td><td id="LC27168" class="css-1dcdqdg"><code> paddings.push({<span class="code-attr">value</span>: node.value, <span class="code-attr">unit</span>: <span class="code-string">"px"</span>}); </code></td></tr><tr><td id="L27169" class="css-a4x74f"><span>27169</span></td><td id="LC27169" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L27170" class="css-a4x74f"><span>27170</span></td><td id="LC27170" class="css-1dcdqdg"><code> <span class="code-comment">// ignore</span> </code></td></tr><tr><td id="L27171" class="css-a4x74f"><span>27171</span></td><td id="LC27171" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27172" class="css-a4x74f"><span>27172</span></td><td id="LC27172" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27173" class="css-a4x74f"><span>27173</span></td><td id="LC27173" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27174" class="css-a4x74f"><span>27174</span></td><td id="LC27174" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (paddings.length === <span class="code-number">1</span>) { </code></td></tr><tr><td id="L27175" class="css-a4x74f"><span>27175</span></td><td id="LC27175" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> p <span class="code-keyword">in</span> padding) { </code></td></tr><tr><td id="L27176" class="css-a4x74f"><span>27176</span></td><td id="LC27176" class="css-1dcdqdg"><code> padding[p] = paddings[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27177" class="css-a4x74f"><span>27177</span></td><td id="LC27177" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27178" class="css-a4x74f"><span>27178</span></td><td id="LC27178" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (paddings.length === <span class="code-number">2</span>) { </code></td></tr><tr><td id="L27179" class="css-a4x74f"><span>27179</span></td><td id="LC27179" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27180" class="css-a4x74f"><span>27180</span></td><td id="LC27180" class="css-1dcdqdg"><code> padding.top = paddings[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27181" class="css-a4x74f"><span>27181</span></td><td id="LC27181" class="css-1dcdqdg"><code> padding.right = paddings[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27182" class="css-a4x74f"><span>27182</span></td><td id="LC27182" class="css-1dcdqdg"><code> padding.bottom = paddings[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27183" class="css-a4x74f"><span>27183</span></td><td id="LC27183" class="css-1dcdqdg"><code> padding.left = paddings[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27184" class="css-a4x74f"><span>27184</span></td><td id="LC27184" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (paddings.length === <span class="code-number">3</span>) { </code></td></tr><tr><td id="L27185" class="css-a4x74f"><span>27185</span></td><td id="LC27185" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27186" class="css-a4x74f"><span>27186</span></td><td id="LC27186" class="css-1dcdqdg"><code> padding.top = paddings[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27187" class="css-a4x74f"><span>27187</span></td><td id="LC27187" class="css-1dcdqdg"><code> padding.right = paddings[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27188" class="css-a4x74f"><span>27188</span></td><td id="LC27188" class="css-1dcdqdg"><code> padding.bottom = paddings[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L27189" class="css-a4x74f"><span>27189</span></td><td id="LC27189" class="css-1dcdqdg"><code> padding.left = paddings[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27190" class="css-a4x74f"><span>27190</span></td><td id="LC27190" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (paddings.length === <span class="code-number">4</span>) { </code></td></tr><tr><td id="L27191" class="css-a4x74f"><span>27191</span></td><td id="LC27191" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27192" class="css-a4x74f"><span>27192</span></td><td id="LC27192" class="css-1dcdqdg"><code> padding.top = paddings[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L27193" class="css-a4x74f"><span>27193</span></td><td id="LC27193" class="css-1dcdqdg"><code> padding.right = paddings[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L27194" class="css-a4x74f"><span>27194</span></td><td id="LC27194" class="css-1dcdqdg"><code> padding.bottom = paddings[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L27195" class="css-a4x74f"><span>27195</span></td><td id="LC27195" class="css-1dcdqdg"><code> padding.left = paddings[<span class="code-number">3</span>]; </code></td></tr><tr><td id="L27196" class="css-a4x74f"><span>27196</span></td><td id="LC27196" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27197" class="css-a4x74f"><span>27197</span></td><td id="LC27197" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> padding; </code></td></tr><tr><td id="L27198" class="css-a4x74f"><span>27198</span></td><td id="LC27198" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27199" class="css-a4x74f"><span>27199</span></td><td id="LC27199" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27200" class="css-a4x74f"><span>27200</span></td><td id="LC27200" class="css-1dcdqdg"><code> <span class="code-comment">// get values for the border on the @page to pass them to the element with the .pagedjs_area class</span> </code></td></tr><tr><td id="L27201" class="css-a4x74f"><span>27201</span></td><td id="LC27201" class="css-1dcdqdg"><code> getBorders(declaration) { </code></td></tr><tr><td id="L27202" class="css-a4x74f"><span>27202</span></td><td id="LC27202" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> border = { </code></td></tr><tr><td id="L27203" class="css-a4x74f"><span>27203</span></td><td id="LC27203" class="css-1dcdqdg"><code> top: {}, </code></td></tr><tr><td id="L27204" class="css-a4x74f"><span>27204</span></td><td id="LC27204" class="css-1dcdqdg"><code> right: {}, </code></td></tr><tr><td id="L27205" class="css-a4x74f"><span>27205</span></td><td id="LC27205" class="css-1dcdqdg"><code> left: {}, </code></td></tr><tr><td id="L27206" class="css-a4x74f"><span>27206</span></td><td id="LC27206" class="css-1dcdqdg"><code> bottom: {} </code></td></tr><tr><td id="L27207" class="css-a4x74f"><span>27207</span></td><td id="LC27207" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27208" class="css-a4x74f"><span>27208</span></td><td id="LC27208" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27209" class="css-a4x74f"><span>27209</span></td><td id="LC27209" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.prop == <span class="code-string">"border"</span>) { </code></td></tr><tr><td id="L27210" class="css-a4x74f"><span>27210</span></td><td id="LC27210" class="css-1dcdqdg"><code> border.top = lib.generate(declaration.value); </code></td></tr><tr><td id="L27211" class="css-a4x74f"><span>27211</span></td><td id="LC27211" class="css-1dcdqdg"><code> border.right = lib.generate(declaration.value); </code></td></tr><tr><td id="L27212" class="css-a4x74f"><span>27212</span></td><td id="LC27212" class="css-1dcdqdg"><code> border.bottom = lib.generate(declaration.value); </code></td></tr><tr><td id="L27213" class="css-a4x74f"><span>27213</span></td><td id="LC27213" class="css-1dcdqdg"><code> border.left = lib.generate(declaration.value); </code></td></tr><tr><td id="L27214" class="css-a4x74f"><span>27214</span></td><td id="LC27214" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27215" class="css-a4x74f"><span>27215</span></td><td id="LC27215" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27216" class="css-a4x74f"><span>27216</span></td><td id="LC27216" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (declaration.prop == <span class="code-string">"border-top"</span>) { </code></td></tr><tr><td id="L27217" class="css-a4x74f"><span>27217</span></td><td id="LC27217" class="css-1dcdqdg"><code> border.top = lib.generate(declaration.value); </code></td></tr><tr><td id="L27218" class="css-a4x74f"><span>27218</span></td><td id="LC27218" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27219" class="css-a4x74f"><span>27219</span></td><td id="LC27219" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (declaration.prop == <span class="code-string">"border-right"</span>) { </code></td></tr><tr><td id="L27220" class="css-a4x74f"><span>27220</span></td><td id="LC27220" class="css-1dcdqdg"><code> border.right = lib.generate(declaration.value); </code></td></tr><tr><td id="L27221" class="css-a4x74f"><span>27221</span></td><td id="LC27221" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27222" class="css-a4x74f"><span>27222</span></td><td id="LC27222" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27223" class="css-a4x74f"><span>27223</span></td><td id="LC27223" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (declaration.prop == <span class="code-string">"border-bottom"</span>) { </code></td></tr><tr><td id="L27224" class="css-a4x74f"><span>27224</span></td><td id="LC27224" class="css-1dcdqdg"><code> border.bottom = lib.generate(declaration.value); </code></td></tr><tr><td id="L27225" class="css-a4x74f"><span>27225</span></td><td id="LC27225" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27226" class="css-a4x74f"><span>27226</span></td><td id="LC27226" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27227" class="css-a4x74f"><span>27227</span></td><td id="LC27227" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (declaration.prop == <span class="code-string">"border-left"</span>) { </code></td></tr><tr><td id="L27228" class="css-a4x74f"><span>27228</span></td><td id="LC27228" class="css-1dcdqdg"><code> border.left = lib.generate(declaration.value); </code></td></tr><tr><td id="L27229" class="css-a4x74f"><span>27229</span></td><td id="LC27229" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27230" class="css-a4x74f"><span>27230</span></td><td id="LC27230" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27231" class="css-a4x74f"><span>27231</span></td><td id="LC27231" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> border; </code></td></tr><tr><td id="L27232" class="css-a4x74f"><span>27232</span></td><td id="LC27232" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27233" class="css-a4x74f"><span>27233</span></td><td id="LC27233" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27234" class="css-a4x74f"><span>27234</span></td><td id="LC27234" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27235" class="css-a4x74f"><span>27235</span></td><td id="LC27235" class="css-1dcdqdg"><code> addPageClasses(pages, ast, sheet) { </code></td></tr><tr><td id="L27236" class="css-a4x74f"><span>27236</span></td><td id="LC27236" class="css-1dcdqdg"><code> <span class="code-comment">// First add * page</span> </code></td></tr><tr><td id="L27237" class="css-a4x74f"><span>27237</span></td><td id="LC27237" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">"*"</span> <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27238" class="css-a4x74f"><span>27238</span></td><td id="LC27238" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> p = <span class="code-keyword">this</span>.createPage(pages[<span class="code-string">"*"</span>], ast.children, sheet); </code></td></tr><tr><td id="L27239" class="css-a4x74f"><span>27239</span></td><td id="LC27239" class="css-1dcdqdg"><code> sheet.insertRule(p); </code></td></tr><tr><td id="L27240" class="css-a4x74f"><span>27240</span></td><td id="LC27240" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27241" class="css-a4x74f"><span>27241</span></td><td id="LC27241" class="css-1dcdqdg"><code> <span class="code-comment">// Add :left & :right</span> </code></td></tr><tr><td id="L27242" class="css-a4x74f"><span>27242</span></td><td id="LC27242" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":left"</span> <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27243" class="css-a4x74f"><span>27243</span></td><td id="LC27243" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> left = <span class="code-keyword">this</span>.createPage(pages[<span class="code-string">":left"</span>], ast.children, sheet); </code></td></tr><tr><td id="L27244" class="css-a4x74f"><span>27244</span></td><td id="LC27244" class="css-1dcdqdg"><code> sheet.insertRule(left); </code></td></tr><tr><td id="L27245" class="css-a4x74f"><span>27245</span></td><td id="LC27245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27246" class="css-a4x74f"><span>27246</span></td><td id="LC27246" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":right"</span> <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27247" class="css-a4x74f"><span>27247</span></td><td id="LC27247" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> right = <span class="code-keyword">this</span>.createPage(pages[<span class="code-string">":right"</span>], ast.children, sheet); </code></td></tr><tr><td id="L27248" class="css-a4x74f"><span>27248</span></td><td id="LC27248" class="css-1dcdqdg"><code> sheet.insertRule(right); </code></td></tr><tr><td id="L27249" class="css-a4x74f"><span>27249</span></td><td id="LC27249" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27250" class="css-a4x74f"><span>27250</span></td><td id="LC27250" class="css-1dcdqdg"><code> <span class="code-comment">// Add :first & :blank</span> </code></td></tr><tr><td id="L27251" class="css-a4x74f"><span>27251</span></td><td id="LC27251" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":first"</span> <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27252" class="css-a4x74f"><span>27252</span></td><td id="LC27252" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> first = <span class="code-keyword">this</span>.createPage(pages[<span class="code-string">":first"</span>], ast.children, sheet); </code></td></tr><tr><td id="L27253" class="css-a4x74f"><span>27253</span></td><td id="LC27253" class="css-1dcdqdg"><code> sheet.insertRule(first); </code></td></tr><tr><td id="L27254" class="css-a4x74f"><span>27254</span></td><td id="LC27254" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27255" class="css-a4x74f"><span>27255</span></td><td id="LC27255" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-string">":blank"</span> <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27256" class="css-a4x74f"><span>27256</span></td><td id="LC27256" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> blank = <span class="code-keyword">this</span>.createPage(pages[<span class="code-string">":blank"</span>], ast.children, sheet); </code></td></tr><tr><td id="L27257" class="css-a4x74f"><span>27257</span></td><td id="LC27257" class="css-1dcdqdg"><code> sheet.insertRule(blank); </code></td></tr><tr><td id="L27258" class="css-a4x74f"><span>27258</span></td><td id="LC27258" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27259" class="css-a4x74f"><span>27259</span></td><td id="LC27259" class="css-1dcdqdg"><code> <span class="code-comment">// Add nth pages</span> </code></td></tr><tr><td id="L27260" class="css-a4x74f"><span>27260</span></td><td id="LC27260" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> pg <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27261" class="css-a4x74f"><span>27261</span></td><td id="LC27261" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pages[pg].nth) { </code></td></tr><tr><td id="L27262" class="css-a4x74f"><span>27262</span></td><td id="LC27262" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nth = <span class="code-keyword">this</span>.createPage(pages[pg], ast.children, sheet); </code></td></tr><tr><td id="L27263" class="css-a4x74f"><span>27263</span></td><td id="LC27263" class="css-1dcdqdg"><code> sheet.insertRule(nth); </code></td></tr><tr><td id="L27264" class="css-a4x74f"><span>27264</span></td><td id="LC27264" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27265" class="css-a4x74f"><span>27265</span></td><td id="LC27265" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27266" class="css-a4x74f"><span>27266</span></td><td id="LC27266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27267" class="css-a4x74f"><span>27267</span></td><td id="LC27267" class="css-1dcdqdg"><code> <span class="code-comment">// Add named pages</span> </code></td></tr><tr><td id="L27268" class="css-a4x74f"><span>27268</span></td><td id="LC27268" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> pg <span class="code-keyword">in</span> pages) { </code></td></tr><tr><td id="L27269" class="css-a4x74f"><span>27269</span></td><td id="LC27269" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pages[pg].name) { </code></td></tr><tr><td id="L27270" class="css-a4x74f"><span>27270</span></td><td id="LC27270" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> named = <span class="code-keyword">this</span>.createPage(pages[pg], ast.children, sheet); </code></td></tr><tr><td id="L27271" class="css-a4x74f"><span>27271</span></td><td id="LC27271" class="css-1dcdqdg"><code> sheet.insertRule(named); </code></td></tr><tr><td id="L27272" class="css-a4x74f"><span>27272</span></td><td id="LC27272" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27273" class="css-a4x74f"><span>27273</span></td><td id="LC27273" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27274" class="css-a4x74f"><span>27274</span></td><td id="LC27274" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27275" class="css-a4x74f"><span>27275</span></td><td id="LC27275" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27276" class="css-a4x74f"><span>27276</span></td><td id="LC27276" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27277" class="css-a4x74f"><span>27277</span></td><td id="LC27277" class="css-1dcdqdg"><code> createPage(page, ruleList, sheet) { </code></td></tr><tr><td id="L27278" class="css-a4x74f"><span>27278</span></td><td id="LC27278" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27279" class="css-a4x74f"><span>27279</span></td><td id="LC27279" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = <span class="code-keyword">this</span>.selectorsForPage(page); </code></td></tr><tr><td id="L27280" class="css-a4x74f"><span>27280</span></td><td id="LC27280" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = page.block.children.copy(); </code></td></tr><tr><td id="L27281" class="css-a4x74f"><span>27281</span></td><td id="LC27281" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> block = { </code></td></tr><tr><td id="L27282" class="css-a4x74f"><span>27282</span></td><td id="LC27282" class="css-1dcdqdg"><code> type: <span class="code-string">"Block"</span>, </code></td></tr><tr><td id="L27283" class="css-a4x74f"><span>27283</span></td><td id="LC27283" class="css-1dcdqdg"><code> loc: <span class="code-number">0</span>, </code></td></tr><tr><td id="L27284" class="css-a4x74f"><span>27284</span></td><td id="LC27284" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L27285" class="css-a4x74f"><span>27285</span></td><td id="LC27285" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27286" class="css-a4x74f"><span>27286</span></td><td id="LC27286" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27287" class="css-a4x74f"><span>27287</span></td><td id="LC27287" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27288" class="css-a4x74f"><span>27288</span></td><td id="LC27288" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rule = <span class="code-keyword">this</span>.createRule(selectors, block); </code></td></tr><tr><td id="L27289" class="css-a4x74f"><span>27289</span></td><td id="LC27289" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27290" class="css-a4x74f"><span>27290</span></td><td id="LC27290" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addMarginVars(page.margin, children, children.first()); </code></td></tr><tr><td id="L27291" class="css-a4x74f"><span>27291</span></td><td id="LC27291" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addPaddingVars(page.padding, children, children.first()); </code></td></tr><tr><td id="L27292" class="css-a4x74f"><span>27292</span></td><td id="LC27292" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addBorderVars(page.border, children, children.first()); </code></td></tr><tr><td id="L27293" class="css-a4x74f"><span>27293</span></td><td id="LC27293" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27294" class="css-a4x74f"><span>27294</span></td><td id="LC27294" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27295" class="css-a4x74f"><span>27295</span></td><td id="LC27295" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.width) { </code></td></tr><tr><td id="L27296" class="css-a4x74f"><span>27296</span></td><td id="LC27296" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addDimensions(page.width, page.height, page.orientation, children, children.first()); </code></td></tr><tr><td id="L27297" class="css-a4x74f"><span>27297</span></td><td id="LC27297" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27298" class="css-a4x74f"><span>27298</span></td><td id="LC27298" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27299" class="css-a4x74f"><span>27299</span></td><td id="LC27299" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.marginalia) { </code></td></tr><tr><td id="L27300" class="css-a4x74f"><span>27300</span></td><td id="LC27300" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addMarginaliaStyles(page, ruleList, rule, sheet); </code></td></tr><tr><td id="L27301" class="css-a4x74f"><span>27301</span></td><td id="LC27301" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addMarginaliaContent(page, ruleList, rule, sheet); </code></td></tr><tr><td id="L27302" class="css-a4x74f"><span>27302</span></td><td id="LC27302" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27303" class="css-a4x74f"><span>27303</span></td><td id="LC27303" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> rule; </code></td></tr><tr><td id="L27304" class="css-a4x74f"><span>27304</span></td><td id="LC27304" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27305" class="css-a4x74f"><span>27305</span></td><td id="LC27305" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27306" class="css-a4x74f"><span>27306</span></td><td id="LC27306" class="css-1dcdqdg"><code> addMarginVars(margin, list, item) { </code></td></tr><tr><td id="L27307" class="css-a4x74f"><span>27307</span></td><td id="LC27307" class="css-1dcdqdg"><code> <span class="code-comment">// variables for margins</span> </code></td></tr><tr><td id="L27308" class="css-a4x74f"><span>27308</span></td><td id="LC27308" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> m <span class="code-keyword">in</span> margin) { </code></td></tr><tr><td id="L27309" class="css-a4x74f"><span>27309</span></td><td id="LC27309" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> margin[m].value !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L27310" class="css-a4x74f"><span>27310</span></td><td id="LC27310" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = margin[m].value + (margin[m].unit || <span class="code-string">""</span>); </code></td></tr><tr><td id="L27311" class="css-a4x74f"><span>27311</span></td><td id="LC27311" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> mVar = list.createItem({ </code></td></tr><tr><td id="L27312" class="css-a4x74f"><span>27312</span></td><td id="LC27312" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27313" class="css-a4x74f"><span>27313</span></td><td id="LC27313" class="css-1dcdqdg"><code> property: <span class="code-string">"--pagedjs-margin-"</span> + m, </code></td></tr><tr><td id="L27314" class="css-a4x74f"><span>27314</span></td><td id="LC27314" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27315" class="css-a4x74f"><span>27315</span></td><td id="LC27315" class="css-1dcdqdg"><code> type: <span class="code-string">"Raw"</span>, </code></td></tr><tr><td id="L27316" class="css-a4x74f"><span>27316</span></td><td id="LC27316" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L27317" class="css-a4x74f"><span>27317</span></td><td id="LC27317" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27318" class="css-a4x74f"><span>27318</span></td><td id="LC27318" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27319" class="css-a4x74f"><span>27319</span></td><td id="LC27319" class="css-1dcdqdg"><code> list.append(mVar, item); </code></td></tr><tr><td id="L27320" class="css-a4x74f"><span>27320</span></td><td id="LC27320" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27321" class="css-a4x74f"><span>27321</span></td><td id="LC27321" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27322" class="css-a4x74f"><span>27322</span></td><td id="LC27322" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27323" class="css-a4x74f"><span>27323</span></td><td id="LC27323" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27324" class="css-a4x74f"><span>27324</span></td><td id="LC27324" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27325" class="css-a4x74f"><span>27325</span></td><td id="LC27325" class="css-1dcdqdg"><code> addPaddingVars(padding, list, item) { </code></td></tr><tr><td id="L27326" class="css-a4x74f"><span>27326</span></td><td id="LC27326" class="css-1dcdqdg"><code> <span class="code-comment">// variables for padding</span> </code></td></tr><tr><td id="L27327" class="css-a4x74f"><span>27327</span></td><td id="LC27327" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> p <span class="code-keyword">in</span> padding) { </code></td></tr><tr><td id="L27328" class="css-a4x74f"><span>27328</span></td><td id="LC27328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27329" class="css-a4x74f"><span>27329</span></td><td id="LC27329" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> padding[p].value !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L27330" class="css-a4x74f"><span>27330</span></td><td id="LC27330" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = padding[p].value + (padding[p].unit || <span class="code-string">""</span>); </code></td></tr><tr><td id="L27331" class="css-a4x74f"><span>27331</span></td><td id="LC27331" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pVar = list.createItem({ </code></td></tr><tr><td id="L27332" class="css-a4x74f"><span>27332</span></td><td id="LC27332" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27333" class="css-a4x74f"><span>27333</span></td><td id="LC27333" class="css-1dcdqdg"><code> property: <span class="code-string">"--pagedjs-padding-"</span> + p, </code></td></tr><tr><td id="L27334" class="css-a4x74f"><span>27334</span></td><td id="LC27334" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27335" class="css-a4x74f"><span>27335</span></td><td id="LC27335" class="css-1dcdqdg"><code> type: <span class="code-string">"Raw"</span>, </code></td></tr><tr><td id="L27336" class="css-a4x74f"><span>27336</span></td><td id="LC27336" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L27337" class="css-a4x74f"><span>27337</span></td><td id="LC27337" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27338" class="css-a4x74f"><span>27338</span></td><td id="LC27338" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27339" class="css-a4x74f"><span>27339</span></td><td id="LC27339" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27340" class="css-a4x74f"><span>27340</span></td><td id="LC27340" class="css-1dcdqdg"><code> list.append(pVar, item); </code></td></tr><tr><td id="L27341" class="css-a4x74f"><span>27341</span></td><td id="LC27341" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27342" class="css-a4x74f"><span>27342</span></td><td id="LC27342" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27343" class="css-a4x74f"><span>27343</span></td><td id="LC27343" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27344" class="css-a4x74f"><span>27344</span></td><td id="LC27344" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27345" class="css-a4x74f"><span>27345</span></td><td id="LC27345" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27346" class="css-a4x74f"><span>27346</span></td><td id="LC27346" class="css-1dcdqdg"><code> addBorderVars(border, list, item) { </code></td></tr><tr><td id="L27347" class="css-a4x74f"><span>27347</span></td><td id="LC27347" class="css-1dcdqdg"><code> <span class="code-comment">// variables for borders</span> </code></td></tr><tr><td id="L27348" class="css-a4x74f"><span>27348</span></td><td id="LC27348" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> b <span class="code-keyword">in</span> border) { </code></td></tr><tr><td id="L27349" class="css-a4x74f"><span>27349</span></td><td id="LC27349" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> border[b] !== <span class="code-string">"undefined"</span>) { </code></td></tr><tr><td id="L27350" class="css-a4x74f"><span>27350</span></td><td id="LC27350" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = border[b]; </code></td></tr><tr><td id="L27351" class="css-a4x74f"><span>27351</span></td><td id="LC27351" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bVar = list.createItem({ </code></td></tr><tr><td id="L27352" class="css-a4x74f"><span>27352</span></td><td id="LC27352" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27353" class="css-a4x74f"><span>27353</span></td><td id="LC27353" class="css-1dcdqdg"><code> property: <span class="code-string">"--pagedjs-border-"</span> + b, </code></td></tr><tr><td id="L27354" class="css-a4x74f"><span>27354</span></td><td id="LC27354" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27355" class="css-a4x74f"><span>27355</span></td><td id="LC27355" class="css-1dcdqdg"><code> type: <span class="code-string">"Raw"</span>, </code></td></tr><tr><td id="L27356" class="css-a4x74f"><span>27356</span></td><td id="LC27356" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L27357" class="css-a4x74f"><span>27357</span></td><td id="LC27357" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27358" class="css-a4x74f"><span>27358</span></td><td id="LC27358" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27359" class="css-a4x74f"><span>27359</span></td><td id="LC27359" class="css-1dcdqdg"><code> list.append(bVar, item); </code></td></tr><tr><td id="L27360" class="css-a4x74f"><span>27360</span></td><td id="LC27360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27361" class="css-a4x74f"><span>27361</span></td><td id="LC27361" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27362" class="css-a4x74f"><span>27362</span></td><td id="LC27362" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27363" class="css-a4x74f"><span>27363</span></td><td id="LC27363" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27364" class="css-a4x74f"><span>27364</span></td><td id="LC27364" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27365" class="css-a4x74f"><span>27365</span></td><td id="LC27365" class="css-1dcdqdg"><code> addDimensions(width, height, orientation, list, item) { </code></td></tr><tr><td id="L27366" class="css-a4x74f"><span>27366</span></td><td id="LC27366" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthString, heightString; </code></td></tr><tr><td id="L27367" class="css-a4x74f"><span>27367</span></td><td id="LC27367" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27368" class="css-a4x74f"><span>27368</span></td><td id="LC27368" class="css-1dcdqdg"><code> widthString = CSSValueToString(width); </code></td></tr><tr><td id="L27369" class="css-a4x74f"><span>27369</span></td><td id="LC27369" class="css-1dcdqdg"><code> heightString = CSSValueToString(height); </code></td></tr><tr><td id="L27370" class="css-a4x74f"><span>27370</span></td><td id="LC27370" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27371" class="css-a4x74f"><span>27371</span></td><td id="LC27371" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (orientation && orientation !== <span class="code-string">"portrait"</span>) { </code></td></tr><tr><td id="L27372" class="css-a4x74f"><span>27372</span></td><td id="LC27372" class="css-1dcdqdg"><code> <span class="code-comment">// reverse for orientation</span> </code></td></tr><tr><td id="L27373" class="css-a4x74f"><span>27373</span></td><td id="LC27373" class="css-1dcdqdg"><code> [widthString, heightString] = [heightString, widthString]; </code></td></tr><tr><td id="L27374" class="css-a4x74f"><span>27374</span></td><td id="LC27374" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27375" class="css-a4x74f"><span>27375</span></td><td id="LC27375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27376" class="css-a4x74f"><span>27376</span></td><td id="LC27376" class="css-1dcdqdg"><code> <span class="code-comment">// width variable</span> </code></td></tr><tr><td id="L27377" class="css-a4x74f"><span>27377</span></td><td id="LC27377" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-pagebox-width"</span>, widthString); </code></td></tr><tr><td id="L27378" class="css-a4x74f"><span>27378</span></td><td id="LC27378" class="css-1dcdqdg"><code> list.appendData(wVar); </code></td></tr><tr><td id="L27379" class="css-a4x74f"><span>27379</span></td><td id="LC27379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27380" class="css-a4x74f"><span>27380</span></td><td id="LC27380" class="css-1dcdqdg"><code> <span class="code-comment">// height variable</span> </code></td></tr><tr><td id="L27381" class="css-a4x74f"><span>27381</span></td><td id="LC27381" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-pagebox-height"</span>, heightString); </code></td></tr><tr><td id="L27382" class="css-a4x74f"><span>27382</span></td><td id="LC27382" class="css-1dcdqdg"><code> list.appendData(hVar); </code></td></tr><tr><td id="L27383" class="css-a4x74f"><span>27383</span></td><td id="LC27383" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27384" class="css-a4x74f"><span>27384</span></td><td id="LC27384" class="css-1dcdqdg"><code> <span class="code-comment">// let w = this.createDimension("width", width);</span> </code></td></tr><tr><td id="L27385" class="css-a4x74f"><span>27385</span></td><td id="LC27385" class="css-1dcdqdg"><code> <span class="code-comment">// let h = this.createDimension("height", height);</span> </code></td></tr><tr><td id="L27386" class="css-a4x74f"><span>27386</span></td><td id="LC27386" class="css-1dcdqdg"><code> <span class="code-comment">// list.appendData(w);</span> </code></td></tr><tr><td id="L27387" class="css-a4x74f"><span>27387</span></td><td id="LC27387" class="css-1dcdqdg"><code> <span class="code-comment">// list.appendData(h);</span> </code></td></tr><tr><td id="L27388" class="css-a4x74f"><span>27388</span></td><td id="LC27388" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27389" class="css-a4x74f"><span>27389</span></td><td id="LC27389" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27390" class="css-a4x74f"><span>27390</span></td><td id="LC27390" class="css-1dcdqdg"><code> addMarginaliaStyles(page, list, item, sheet) { </code></td></tr><tr><td id="L27391" class="css-a4x74f"><span>27391</span></td><td id="LC27391" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> loc <span class="code-keyword">in</span> page.marginalia) { </code></td></tr><tr><td id="L27392" class="css-a4x74f"><span>27392</span></td><td id="LC27392" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> block = lib.clone(page.marginalia[loc]); </code></td></tr><tr><td id="L27393" class="css-a4x74f"><span>27393</span></td><td id="LC27393" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hasContent = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L27394" class="css-a4x74f"><span>27394</span></td><td id="LC27394" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27395" class="css-a4x74f"><span>27395</span></td><td id="LC27395" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (block.children.isEmpty()) { </code></td></tr><tr><td id="L27396" class="css-a4x74f"><span>27396</span></td><td id="LC27396" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L27397" class="css-a4x74f"><span>27397</span></td><td id="LC27397" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27398" class="css-a4x74f"><span>27398</span></td><td id="LC27398" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27399" class="css-a4x74f"><span>27399</span></td><td id="LC27399" class="css-1dcdqdg"><code> lib.walk(block, { </code></td></tr><tr><td id="L27400" class="css-a4x74f"><span>27400</span></td><td id="LC27400" class="css-1dcdqdg"><code> visit: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27401" class="css-a4x74f"><span>27401</span></td><td id="LC27401" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L27402" class="css-a4x74f"><span>27402</span></td><td id="LC27402" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.property === <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L27403" class="css-a4x74f"><span>27403</span></td><td id="LC27403" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value.children && node.value.children.first().name === <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L27404" class="css-a4x74f"><span>27404</span></td><td id="LC27404" class="css-1dcdqdg"><code> hasContent = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L27405" class="css-a4x74f"><span>27405</span></td><td id="LC27405" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L27406" class="css-a4x74f"><span>27406</span></td><td id="LC27406" class="css-1dcdqdg"><code> hasContent = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L27407" class="css-a4x74f"><span>27407</span></td><td id="LC27407" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27408" class="css-a4x74f"><span>27408</span></td><td id="LC27408" class="css-1dcdqdg"><code> list.remove(item); </code></td></tr><tr><td id="L27409" class="css-a4x74f"><span>27409</span></td><td id="LC27409" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27410" class="css-a4x74f"><span>27410</span></td><td id="LC27410" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.property === <span class="code-string">"vertical-align"</span>) { </code></td></tr><tr><td id="L27411" class="css-a4x74f"><span>27411</span></td><td id="LC27411" class="css-1dcdqdg"><code> lib.walk(node, { </code></td></tr><tr><td id="L27412" class="css-a4x74f"><span>27412</span></td><td id="LC27412" class="css-1dcdqdg"><code> visit: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L27413" class="css-a4x74f"><span>27413</span></td><td id="LC27413" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">identNode, identItem, identlist</span>) =></span> { </code></td></tr><tr><td id="L27414" class="css-a4x74f"><span>27414</span></td><td id="LC27414" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = identNode.name; </code></td></tr><tr><td id="L27415" class="css-a4x74f"><span>27415</span></td><td id="LC27415" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"top"</span>) { </code></td></tr><tr><td id="L27416" class="css-a4x74f"><span>27416</span></td><td id="LC27416" class="css-1dcdqdg"><code> identNode.name = <span class="code-string">"flex-start"</span>; </code></td></tr><tr><td id="L27417" class="css-a4x74f"><span>27417</span></td><td id="LC27417" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (name === <span class="code-string">"middle"</span>) { </code></td></tr><tr><td id="L27418" class="css-a4x74f"><span>27418</span></td><td id="LC27418" class="css-1dcdqdg"><code> identNode.name = <span class="code-string">"center"</span>; </code></td></tr><tr><td id="L27419" class="css-a4x74f"><span>27419</span></td><td id="LC27419" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (name === <span class="code-string">"bottom"</span>) { </code></td></tr><tr><td id="L27420" class="css-a4x74f"><span>27420</span></td><td id="LC27420" class="css-1dcdqdg"><code> identNode.name = <span class="code-string">"flex-end"</span>; </code></td></tr><tr><td id="L27421" class="css-a4x74f"><span>27421</span></td><td id="LC27421" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27422" class="css-a4x74f"><span>27422</span></td><td id="LC27422" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27423" class="css-a4x74f"><span>27423</span></td><td id="LC27423" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27424" class="css-a4x74f"><span>27424</span></td><td id="LC27424" class="css-1dcdqdg"><code> node.property = <span class="code-string">"align-items"</span>; </code></td></tr><tr><td id="L27425" class="css-a4x74f"><span>27425</span></td><td id="LC27425" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27426" class="css-a4x74f"><span>27426</span></td><td id="LC27426" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27427" class="css-a4x74f"><span>27427</span></td><td id="LC27427" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.property === <span class="code-string">"width"</span> && </code></td></tr><tr><td id="L27428" class="css-a4x74f"><span>27428</span></td><td id="LC27428" class="css-1dcdqdg"><code> (loc === <span class="code-string">"top-left"</span> || </code></td></tr><tr><td id="L27429" class="css-a4x74f"><span>27429</span></td><td id="LC27429" class="css-1dcdqdg"><code> loc === <span class="code-string">"top-center"</span> || </code></td></tr><tr><td id="L27430" class="css-a4x74f"><span>27430</span></td><td id="LC27430" class="css-1dcdqdg"><code> loc === <span class="code-string">"top-right"</span> || </code></td></tr><tr><td id="L27431" class="css-a4x74f"><span>27431</span></td><td id="LC27431" class="css-1dcdqdg"><code> loc === <span class="code-string">"bottom-left"</span> || </code></td></tr><tr><td id="L27432" class="css-a4x74f"><span>27432</span></td><td id="LC27432" class="css-1dcdqdg"><code> loc === <span class="code-string">"bottom-center"</span> || </code></td></tr><tr><td id="L27433" class="css-a4x74f"><span>27433</span></td><td id="LC27433" class="css-1dcdqdg"><code> loc === <span class="code-string">"bottom-right"</span>)) { </code></td></tr><tr><td id="L27434" class="css-a4x74f"><span>27434</span></td><td id="LC27434" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> c = lib.clone(node); </code></td></tr><tr><td id="L27435" class="css-a4x74f"><span>27435</span></td><td id="LC27435" class="css-1dcdqdg"><code> c.property = <span class="code-string">"max-width"</span>; </code></td></tr><tr><td id="L27436" class="css-a4x74f"><span>27436</span></td><td id="LC27436" class="css-1dcdqdg"><code> list.appendData(c); </code></td></tr><tr><td id="L27437" class="css-a4x74f"><span>27437</span></td><td id="LC27437" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27438" class="css-a4x74f"><span>27438</span></td><td id="LC27438" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27439" class="css-a4x74f"><span>27439</span></td><td id="LC27439" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.property === <span class="code-string">"height"</span> && </code></td></tr><tr><td id="L27440" class="css-a4x74f"><span>27440</span></td><td id="LC27440" class="css-1dcdqdg"><code> (loc === <span class="code-string">"left-top"</span> || </code></td></tr><tr><td id="L27441" class="css-a4x74f"><span>27441</span></td><td id="LC27441" class="css-1dcdqdg"><code> loc === <span class="code-string">"left-middle"</span> || </code></td></tr><tr><td id="L27442" class="css-a4x74f"><span>27442</span></td><td id="LC27442" class="css-1dcdqdg"><code> loc === <span class="code-string">"left-bottom"</span> || </code></td></tr><tr><td id="L27443" class="css-a4x74f"><span>27443</span></td><td id="LC27443" class="css-1dcdqdg"><code> loc === <span class="code-string">"right-top"</span> || </code></td></tr><tr><td id="L27444" class="css-a4x74f"><span>27444</span></td><td id="LC27444" class="css-1dcdqdg"><code> loc === <span class="code-string">"right-middle"</span> || </code></td></tr><tr><td id="L27445" class="css-a4x74f"><span>27445</span></td><td id="LC27445" class="css-1dcdqdg"><code> loc === <span class="code-string">"right-bottom"</span>)) { </code></td></tr><tr><td id="L27446" class="css-a4x74f"><span>27446</span></td><td id="LC27446" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> c = lib.clone(node); </code></td></tr><tr><td id="L27447" class="css-a4x74f"><span>27447</span></td><td id="LC27447" class="css-1dcdqdg"><code> c.property = <span class="code-string">"max-height"</span>; </code></td></tr><tr><td id="L27448" class="css-a4x74f"><span>27448</span></td><td id="LC27448" class="css-1dcdqdg"><code> list.appendData(c); </code></td></tr><tr><td id="L27449" class="css-a4x74f"><span>27449</span></td><td id="LC27449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27450" class="css-a4x74f"><span>27450</span></td><td id="LC27450" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27451" class="css-a4x74f"><span>27451</span></td><td id="LC27451" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27452" class="css-a4x74f"><span>27452</span></td><td id="LC27452" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27453" class="css-a4x74f"><span>27453</span></td><td id="LC27453" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> marginSelectors = <span class="code-keyword">this</span>.selectorsForPageMargin(page, loc); </code></td></tr><tr><td id="L27454" class="css-a4x74f"><span>27454</span></td><td id="LC27454" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> marginRule = <span class="code-keyword">this</span>.createRule(marginSelectors, block); </code></td></tr><tr><td id="L27455" class="css-a4x74f"><span>27455</span></td><td id="LC27455" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27456" class="css-a4x74f"><span>27456</span></td><td id="LC27456" class="css-1dcdqdg"><code> list.appendData(marginRule); </code></td></tr><tr><td id="L27457" class="css-a4x74f"><span>27457</span></td><td id="LC27457" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27458" class="css-a4x74f"><span>27458</span></td><td id="LC27458" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> sel = lib.generate({ </code></td></tr><tr><td id="L27459" class="css-a4x74f"><span>27459</span></td><td id="LC27459" class="css-1dcdqdg"><code> type: <span class="code-string">"Selector"</span>, </code></td></tr><tr><td id="L27460" class="css-a4x74f"><span>27460</span></td><td id="LC27460" class="css-1dcdqdg"><code> children: marginSelectors </code></td></tr><tr><td id="L27461" class="css-a4x74f"><span>27461</span></td><td id="LC27461" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27462" class="css-a4x74f"><span>27462</span></td><td id="LC27462" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27463" class="css-a4x74f"><span>27463</span></td><td id="LC27463" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.marginalia[sel] = { </code></td></tr><tr><td id="L27464" class="css-a4x74f"><span>27464</span></td><td id="LC27464" class="css-1dcdqdg"><code> page: page, </code></td></tr><tr><td id="L27465" class="css-a4x74f"><span>27465</span></td><td id="LC27465" class="css-1dcdqdg"><code> selector: sel, </code></td></tr><tr><td id="L27466" class="css-a4x74f"><span>27466</span></td><td id="LC27466" class="css-1dcdqdg"><code> block: page.marginalia[loc], </code></td></tr><tr><td id="L27467" class="css-a4x74f"><span>27467</span></td><td id="LC27467" class="css-1dcdqdg"><code> hasContent: hasContent </code></td></tr><tr><td id="L27468" class="css-a4x74f"><span>27468</span></td><td id="LC27468" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L27469" class="css-a4x74f"><span>27469</span></td><td id="LC27469" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27470" class="css-a4x74f"><span>27470</span></td><td id="LC27470" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27471" class="css-a4x74f"><span>27471</span></td><td id="LC27471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27472" class="css-a4x74f"><span>27472</span></td><td id="LC27472" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27473" class="css-a4x74f"><span>27473</span></td><td id="LC27473" class="css-1dcdqdg"><code> addMarginaliaContent(page, list, item, sheet) { </code></td></tr><tr><td id="L27474" class="css-a4x74f"><span>27474</span></td><td id="LC27474" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displayNone; </code></td></tr><tr><td id="L27475" class="css-a4x74f"><span>27475</span></td><td id="LC27475" class="css-1dcdqdg"><code> <span class="code-comment">// Just content</span> </code></td></tr><tr><td id="L27476" class="css-a4x74f"><span>27476</span></td><td id="LC27476" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> loc <span class="code-keyword">in</span> page.marginalia) { </code></td></tr><tr><td id="L27477" class="css-a4x74f"><span>27477</span></td><td id="LC27477" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> content = lib.clone(page.marginalia[loc]); </code></td></tr><tr><td id="L27478" class="css-a4x74f"><span>27478</span></td><td id="LC27478" class="css-1dcdqdg"><code> lib.walk(content, { </code></td></tr><tr><td id="L27479" class="css-a4x74f"><span>27479</span></td><td id="LC27479" class="css-1dcdqdg"><code> visit: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27480" class="css-a4x74f"><span>27480</span></td><td id="LC27480" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L27481" class="css-a4x74f"><span>27481</span></td><td id="LC27481" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.property !== <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L27482" class="css-a4x74f"><span>27482</span></td><td id="LC27482" class="css-1dcdqdg"><code> list.remove(item); </code></td></tr><tr><td id="L27483" class="css-a4x74f"><span>27483</span></td><td id="LC27483" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27484" class="css-a4x74f"><span>27484</span></td><td id="LC27484" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27485" class="css-a4x74f"><span>27485</span></td><td id="LC27485" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.value.children && node.value.children.first().name === <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L27486" class="css-a4x74f"><span>27486</span></td><td id="LC27486" class="css-1dcdqdg"><code> displayNone = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L27487" class="css-a4x74f"><span>27487</span></td><td id="LC27487" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27488" class="css-a4x74f"><span>27488</span></td><td id="LC27488" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27489" class="css-a4x74f"><span>27489</span></td><td id="LC27489" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27490" class="css-a4x74f"><span>27490</span></td><td id="LC27490" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27491" class="css-a4x74f"><span>27491</span></td><td id="LC27491" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (content.children.isEmpty()) { </code></td></tr><tr><td id="L27492" class="css-a4x74f"><span>27492</span></td><td id="LC27492" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L27493" class="css-a4x74f"><span>27493</span></td><td id="LC27493" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27494" class="css-a4x74f"><span>27494</span></td><td id="LC27494" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27495" class="css-a4x74f"><span>27495</span></td><td id="LC27495" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displaySelectors = <span class="code-keyword">this</span>.selectorsForPageMargin(page, loc); </code></td></tr><tr><td id="L27496" class="css-a4x74f"><span>27496</span></td><td id="LC27496" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displayDeclaration; </code></td></tr><tr><td id="L27497" class="css-a4x74f"><span>27497</span></td><td id="LC27497" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27498" class="css-a4x74f"><span>27498</span></td><td id="LC27498" class="css-1dcdqdg"><code> displaySelectors.insertData({ </code></td></tr><tr><td id="L27499" class="css-a4x74f"><span>27499</span></td><td id="LC27499" class="css-1dcdqdg"><code> type: <span class="code-string">"Combinator"</span>, </code></td></tr><tr><td id="L27500" class="css-a4x74f"><span>27500</span></td><td id="LC27500" class="css-1dcdqdg"><code> name: <span class="code-string">">"</span> </code></td></tr><tr><td id="L27501" class="css-a4x74f"><span>27501</span></td><td id="LC27501" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27502" class="css-a4x74f"><span>27502</span></td><td id="LC27502" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27503" class="css-a4x74f"><span>27503</span></td><td id="LC27503" class="css-1dcdqdg"><code> displaySelectors.insertData({ </code></td></tr><tr><td id="L27504" class="css-a4x74f"><span>27504</span></td><td id="LC27504" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L27505" class="css-a4x74f"><span>27505</span></td><td id="LC27505" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_margin-content"</span> </code></td></tr><tr><td id="L27506" class="css-a4x74f"><span>27506</span></td><td id="LC27506" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27507" class="css-a4x74f"><span>27507</span></td><td id="LC27507" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27508" class="css-a4x74f"><span>27508</span></td><td id="LC27508" class="css-1dcdqdg"><code> displaySelectors.insertData({ </code></td></tr><tr><td id="L27509" class="css-a4x74f"><span>27509</span></td><td id="LC27509" class="css-1dcdqdg"><code> type: <span class="code-string">"Combinator"</span>, </code></td></tr><tr><td id="L27510" class="css-a4x74f"><span>27510</span></td><td id="LC27510" class="css-1dcdqdg"><code> name: <span class="code-string">">"</span> </code></td></tr><tr><td id="L27511" class="css-a4x74f"><span>27511</span></td><td id="LC27511" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27512" class="css-a4x74f"><span>27512</span></td><td id="LC27512" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27513" class="css-a4x74f"><span>27513</span></td><td id="LC27513" class="css-1dcdqdg"><code> displaySelectors.insertData({ </code></td></tr><tr><td id="L27514" class="css-a4x74f"><span>27514</span></td><td id="LC27514" class="css-1dcdqdg"><code> type: <span class="code-string">"TypeSelector"</span>, </code></td></tr><tr><td id="L27515" class="css-a4x74f"><span>27515</span></td><td id="LC27515" class="css-1dcdqdg"><code> name: <span class="code-string">"*"</span> </code></td></tr><tr><td id="L27516" class="css-a4x74f"><span>27516</span></td><td id="LC27516" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27517" class="css-a4x74f"><span>27517</span></td><td id="LC27517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27518" class="css-a4x74f"><span>27518</span></td><td id="LC27518" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (displayNone) { </code></td></tr><tr><td id="L27519" class="css-a4x74f"><span>27519</span></td><td id="LC27519" class="css-1dcdqdg"><code> displayDeclaration = <span class="code-keyword">this</span>.createDeclaration(<span class="code-string">"display"</span>, <span class="code-string">"none"</span>); </code></td></tr><tr><td id="L27520" class="css-a4x74f"><span>27520</span></td><td id="LC27520" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L27521" class="css-a4x74f"><span>27521</span></td><td id="LC27521" class="css-1dcdqdg"><code> displayDeclaration = <span class="code-keyword">this</span>.createDeclaration(<span class="code-string">"display"</span>, <span class="code-string">"block"</span>); </code></td></tr><tr><td id="L27522" class="css-a4x74f"><span>27522</span></td><td id="LC27522" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27523" class="css-a4x74f"><span>27523</span></td><td id="LC27523" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27524" class="css-a4x74f"><span>27524</span></td><td id="LC27524" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displayRule = <span class="code-keyword">this</span>.createRule(displaySelectors, [displayDeclaration]); </code></td></tr><tr><td id="L27525" class="css-a4x74f"><span>27525</span></td><td id="LC27525" class="css-1dcdqdg"><code> sheet.insertRule(displayRule); </code></td></tr><tr><td id="L27526" class="css-a4x74f"><span>27526</span></td><td id="LC27526" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27527" class="css-a4x74f"><span>27527</span></td><td id="LC27527" class="css-1dcdqdg"><code> <span class="code-comment">// insert content rule</span> </code></td></tr><tr><td id="L27528" class="css-a4x74f"><span>27528</span></td><td id="LC27528" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> contentSelectors = <span class="code-keyword">this</span>.selectorsForPageMargin(page, loc); </code></td></tr><tr><td id="L27529" class="css-a4x74f"><span>27529</span></td><td id="LC27529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27530" class="css-a4x74f"><span>27530</span></td><td id="LC27530" class="css-1dcdqdg"><code> contentSelectors.insertData({ </code></td></tr><tr><td id="L27531" class="css-a4x74f"><span>27531</span></td><td id="LC27531" class="css-1dcdqdg"><code> type: <span class="code-string">"Combinator"</span>, </code></td></tr><tr><td id="L27532" class="css-a4x74f"><span>27532</span></td><td id="LC27532" class="css-1dcdqdg"><code> name: <span class="code-string">">"</span> </code></td></tr><tr><td id="L27533" class="css-a4x74f"><span>27533</span></td><td id="LC27533" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27534" class="css-a4x74f"><span>27534</span></td><td id="LC27534" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27535" class="css-a4x74f"><span>27535</span></td><td id="LC27535" class="css-1dcdqdg"><code> contentSelectors.insertData({ </code></td></tr><tr><td id="L27536" class="css-a4x74f"><span>27536</span></td><td id="LC27536" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L27537" class="css-a4x74f"><span>27537</span></td><td id="LC27537" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_margin-content"</span> </code></td></tr><tr><td id="L27538" class="css-a4x74f"><span>27538</span></td><td id="LC27538" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27539" class="css-a4x74f"><span>27539</span></td><td id="LC27539" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27540" class="css-a4x74f"><span>27540</span></td><td id="LC27540" class="css-1dcdqdg"><code> contentSelectors.insertData({ </code></td></tr><tr><td id="L27541" class="css-a4x74f"><span>27541</span></td><td id="LC27541" class="css-1dcdqdg"><code> type: <span class="code-string">"PseudoElementSelector"</span>, </code></td></tr><tr><td id="L27542" class="css-a4x74f"><span>27542</span></td><td id="LC27542" class="css-1dcdqdg"><code> name: <span class="code-string">"after"</span>, </code></td></tr><tr><td id="L27543" class="css-a4x74f"><span>27543</span></td><td id="LC27543" class="css-1dcdqdg"><code> children: <span class="code-literal">null</span> </code></td></tr><tr><td id="L27544" class="css-a4x74f"><span>27544</span></td><td id="LC27544" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27545" class="css-a4x74f"><span>27545</span></td><td id="LC27545" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27546" class="css-a4x74f"><span>27546</span></td><td id="LC27546" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> contentRule = <span class="code-keyword">this</span>.createRule(contentSelectors, content); </code></td></tr><tr><td id="L27547" class="css-a4x74f"><span>27547</span></td><td id="LC27547" class="css-1dcdqdg"><code> sheet.insertRule(contentRule); </code></td></tr><tr><td id="L27548" class="css-a4x74f"><span>27548</span></td><td id="LC27548" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27549" class="css-a4x74f"><span>27549</span></td><td id="LC27549" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27550" class="css-a4x74f"><span>27550</span></td><td id="LC27550" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27551" class="css-a4x74f"><span>27551</span></td><td id="LC27551" class="css-1dcdqdg"><code> addRootVars(ast, width, height, orientation, bleed, bleedrecto, bleedverso, marks) { </code></td></tr><tr><td id="L27552" class="css-a4x74f"><span>27552</span></td><td id="LC27552" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rules = []; </code></td></tr><tr><td id="L27553" class="css-a4x74f"><span>27553</span></td><td id="LC27553" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27554" class="css-a4x74f"><span>27554</span></td><td id="LC27554" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L27555" class="css-a4x74f"><span>27555</span></td><td id="LC27555" class="css-1dcdqdg"><code> type: <span class="code-string">"PseudoClassSelector"</span>, </code></td></tr><tr><td id="L27556" class="css-a4x74f"><span>27556</span></td><td id="LC27556" class="css-1dcdqdg"><code> name: <span class="code-string">"root"</span>, </code></td></tr><tr><td id="L27557" class="css-a4x74f"><span>27557</span></td><td id="LC27557" class="css-1dcdqdg"><code> children: <span class="code-literal">null</span> </code></td></tr><tr><td id="L27558" class="css-a4x74f"><span>27558</span></td><td id="LC27558" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27559" class="css-a4x74f"><span>27559</span></td><td id="LC27559" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27560" class="css-a4x74f"><span>27560</span></td><td id="LC27560" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthString, heightString; </code></td></tr><tr><td id="L27561" class="css-a4x74f"><span>27561</span></td><td id="LC27561" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthStringRight, heightStringRight; </code></td></tr><tr><td id="L27562" class="css-a4x74f"><span>27562</span></td><td id="LC27562" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthStringLeft, heightStringLeft; </code></td></tr><tr><td id="L27563" class="css-a4x74f"><span>27563</span></td><td id="LC27563" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27564" class="css-a4x74f"><span>27564</span></td><td id="LC27564" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!bleed) { </code></td></tr><tr><td id="L27565" class="css-a4x74f"><span>27565</span></td><td id="LC27565" class="css-1dcdqdg"><code> widthString = CSSValueToString(width); </code></td></tr><tr><td id="L27566" class="css-a4x74f"><span>27566</span></td><td id="LC27566" class="css-1dcdqdg"><code> heightString = CSSValueToString(height); </code></td></tr><tr><td id="L27567" class="css-a4x74f"><span>27567</span></td><td id="LC27567" class="css-1dcdqdg"><code> widthStringRight = CSSValueToString(width); </code></td></tr><tr><td id="L27568" class="css-a4x74f"><span>27568</span></td><td id="LC27568" class="css-1dcdqdg"><code> heightStringRight = CSSValueToString(height); </code></td></tr><tr><td id="L27569" class="css-a4x74f"><span>27569</span></td><td id="LC27569" class="css-1dcdqdg"><code> widthStringLeft = CSSValueToString(width); </code></td></tr><tr><td id="L27570" class="css-a4x74f"><span>27570</span></td><td id="LC27570" class="css-1dcdqdg"><code> heightStringLeft = CSSValueToString(height); </code></td></tr><tr><td id="L27571" class="css-a4x74f"><span>27571</span></td><td id="LC27571" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L27572" class="css-a4x74f"><span>27572</span></td><td id="LC27572" class="css-1dcdqdg"><code> widthString = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(width)}</span> + <span class="code-subst">${CSSValueToString(bleed.left)}</span> + <span class="code-subst">${CSSValueToString(bleed.right)}</span> )`</span>; </code></td></tr><tr><td id="L27573" class="css-a4x74f"><span>27573</span></td><td id="LC27573" class="css-1dcdqdg"><code> heightString = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(height)}</span> + <span class="code-subst">${CSSValueToString(bleed.top)}</span> + <span class="code-subst">${CSSValueToString(bleed.bottom)}</span> )`</span>; </code></td></tr><tr><td id="L27574" class="css-a4x74f"><span>27574</span></td><td id="LC27574" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27575" class="css-a4x74f"><span>27575</span></td><td id="LC27575" class="css-1dcdqdg"><code> widthStringRight = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(width)}</span> + <span class="code-subst">${CSSValueToString(bleed.left)}</span> + <span class="code-subst">${CSSValueToString(bleed.right)}</span> )`</span>; </code></td></tr><tr><td id="L27576" class="css-a4x74f"><span>27576</span></td><td id="LC27576" class="css-1dcdqdg"><code> heightStringRight = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(height)}</span> + <span class="code-subst">${CSSValueToString(bleed.top)}</span> + <span class="code-subst">${CSSValueToString(bleed.bottom)}</span> )`</span>; </code></td></tr><tr><td id="L27577" class="css-a4x74f"><span>27577</span></td><td id="LC27577" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27578" class="css-a4x74f"><span>27578</span></td><td id="LC27578" class="css-1dcdqdg"><code> widthStringLeft = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(width)}</span> + <span class="code-subst">${CSSValueToString(bleed.left)}</span> + <span class="code-subst">${CSSValueToString(bleed.right)}</span> )`</span>; </code></td></tr><tr><td id="L27579" class="css-a4x74f"><span>27579</span></td><td id="LC27579" class="css-1dcdqdg"><code> heightStringLeft = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(height)}</span> + <span class="code-subst">${CSSValueToString(bleed.top)}</span> + <span class="code-subst">${CSSValueToString(bleed.bottom)}</span> )`</span>; </code></td></tr><tr><td id="L27580" class="css-a4x74f"><span>27580</span></td><td id="LC27580" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27581" class="css-a4x74f"><span>27581</span></td><td id="LC27581" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedTop = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-top"</span>, CSSValueToString(bleed.top)); </code></td></tr><tr><td id="L27582" class="css-a4x74f"><span>27582</span></td><td id="LC27582" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedRight = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right"</span>, CSSValueToString(bleed.right)); </code></td></tr><tr><td id="L27583" class="css-a4x74f"><span>27583</span></td><td id="LC27583" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedBottom = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-bottom"</span>, CSSValueToString(bleed.bottom)); </code></td></tr><tr><td id="L27584" class="css-a4x74f"><span>27584</span></td><td id="LC27584" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedLeft = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left"</span>, CSSValueToString(bleed.left)); </code></td></tr><tr><td id="L27585" class="css-a4x74f"><span>27585</span></td><td id="LC27585" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27586" class="css-a4x74f"><span>27586</span></td><td id="LC27586" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedTopRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-top"</span>, CSSValueToString(bleed.top)); </code></td></tr><tr><td id="L27587" class="css-a4x74f"><span>27587</span></td><td id="LC27587" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedRightRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-right"</span>, CSSValueToString(bleed.right)); </code></td></tr><tr><td id="L27588" class="css-a4x74f"><span>27588</span></td><td id="LC27588" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedBottomRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-bottom"</span>, CSSValueToString(bleed.bottom)); </code></td></tr><tr><td id="L27589" class="css-a4x74f"><span>27589</span></td><td id="LC27589" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedLeftRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-left"</span>, CSSValueToString(bleed.left)); </code></td></tr><tr><td id="L27590" class="css-a4x74f"><span>27590</span></td><td id="LC27590" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27591" class="css-a4x74f"><span>27591</span></td><td id="LC27591" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedTopVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-top"</span>, CSSValueToString(bleed.top)); </code></td></tr><tr><td id="L27592" class="css-a4x74f"><span>27592</span></td><td id="LC27592" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedRightVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-right"</span>, CSSValueToString(bleed.right)); </code></td></tr><tr><td id="L27593" class="css-a4x74f"><span>27593</span></td><td id="LC27593" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedBottomVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-bottom"</span>, CSSValueToString(bleed.bottom)); </code></td></tr><tr><td id="L27594" class="css-a4x74f"><span>27594</span></td><td id="LC27594" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bleedLeftVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-left"</span>, CSSValueToString(bleed.left)); </code></td></tr><tr><td id="L27595" class="css-a4x74f"><span>27595</span></td><td id="LC27595" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27596" class="css-a4x74f"><span>27596</span></td><td id="LC27596" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bleedrecto) { </code></td></tr><tr><td id="L27597" class="css-a4x74f"><span>27597</span></td><td id="LC27597" class="css-1dcdqdg"><code> bleedTopRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-top"</span>, CSSValueToString(bleedrecto.top)); </code></td></tr><tr><td id="L27598" class="css-a4x74f"><span>27598</span></td><td id="LC27598" class="css-1dcdqdg"><code> bleedRightRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-right"</span>, CSSValueToString(bleedrecto.right)); </code></td></tr><tr><td id="L27599" class="css-a4x74f"><span>27599</span></td><td id="LC27599" class="css-1dcdqdg"><code> bleedBottomRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-bottom"</span>, CSSValueToString(bleedrecto.bottom)); </code></td></tr><tr><td id="L27600" class="css-a4x74f"><span>27600</span></td><td id="LC27600" class="css-1dcdqdg"><code> bleedLeftRecto = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-right-left"</span>, CSSValueToString(bleedrecto.left)); </code></td></tr><tr><td id="L27601" class="css-a4x74f"><span>27601</span></td><td id="LC27601" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27602" class="css-a4x74f"><span>27602</span></td><td id="LC27602" class="css-1dcdqdg"><code> widthStringRight = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(width)}</span> + <span class="code-subst">${CSSValueToString(bleedrecto.left)}</span> + <span class="code-subst">${CSSValueToString(bleedrecto.right)}</span> )`</span>; </code></td></tr><tr><td id="L27603" class="css-a4x74f"><span>27603</span></td><td id="LC27603" class="css-1dcdqdg"><code> heightStringRight = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(height)}</span> + <span class="code-subst">${CSSValueToString(bleedrecto.top)}</span> + <span class="code-subst">${CSSValueToString(bleedrecto.bottom)}</span> )`</span>; </code></td></tr><tr><td id="L27604" class="css-a4x74f"><span>27604</span></td><td id="LC27604" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27605" class="css-a4x74f"><span>27605</span></td><td id="LC27605" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bleedverso) { </code></td></tr><tr><td id="L27606" class="css-a4x74f"><span>27606</span></td><td id="LC27606" class="css-1dcdqdg"><code> bleedTopVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-top"</span>, CSSValueToString(bleedverso.top)); </code></td></tr><tr><td id="L27607" class="css-a4x74f"><span>27607</span></td><td id="LC27607" class="css-1dcdqdg"><code> bleedRightVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-right"</span>, CSSValueToString(bleedverso.right)); </code></td></tr><tr><td id="L27608" class="css-a4x74f"><span>27608</span></td><td id="LC27608" class="css-1dcdqdg"><code> bleedBottomVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-bottom"</span>, CSSValueToString(bleedverso.bottom)); </code></td></tr><tr><td id="L27609" class="css-a4x74f"><span>27609</span></td><td id="LC27609" class="css-1dcdqdg"><code> bleedLeftVerso = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-bleed-left-left"</span>, CSSValueToString(bleedverso.left)); </code></td></tr><tr><td id="L27610" class="css-a4x74f"><span>27610</span></td><td id="LC27610" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27611" class="css-a4x74f"><span>27611</span></td><td id="LC27611" class="css-1dcdqdg"><code> widthStringLeft = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(width)}</span> + <span class="code-subst">${CSSValueToString(bleedverso.left)}</span> + <span class="code-subst">${CSSValueToString(bleedverso.right)}</span> )`</span>; </code></td></tr><tr><td id="L27612" class="css-a4x74f"><span>27612</span></td><td id="LC27612" class="css-1dcdqdg"><code> heightStringLeft = <span class="code-string">`calc( <span class="code-subst">${CSSValueToString(height)}</span> + <span class="code-subst">${CSSValueToString(bleedverso.top)}</span> + <span class="code-subst">${CSSValueToString(bleedverso.bottom)}</span> )`</span>; </code></td></tr><tr><td id="L27613" class="css-a4x74f"><span>27613</span></td><td id="LC27613" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27614" class="css-a4x74f"><span>27614</span></td><td id="LC27614" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27615" class="css-a4x74f"><span>27615</span></td><td id="LC27615" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pageWidthVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-width"</span>, CSSValueToString(width)); </code></td></tr><tr><td id="L27616" class="css-a4x74f"><span>27616</span></td><td id="LC27616" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pageHeightVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-height"</span>, CSSValueToString(height)); </code></td></tr><tr><td id="L27617" class="css-a4x74f"><span>27617</span></td><td id="LC27617" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27618" class="css-a4x74f"><span>27618</span></td><td id="LC27618" class="css-1dcdqdg"><code> rules.push( </code></td></tr><tr><td id="L27619" class="css-a4x74f"><span>27619</span></td><td id="LC27619" class="css-1dcdqdg"><code> bleedTop, </code></td></tr><tr><td id="L27620" class="css-a4x74f"><span>27620</span></td><td id="LC27620" class="css-1dcdqdg"><code> bleedRight, </code></td></tr><tr><td id="L27621" class="css-a4x74f"><span>27621</span></td><td id="LC27621" class="css-1dcdqdg"><code> bleedBottom, </code></td></tr><tr><td id="L27622" class="css-a4x74f"><span>27622</span></td><td id="LC27622" class="css-1dcdqdg"><code> bleedLeft, </code></td></tr><tr><td id="L27623" class="css-a4x74f"><span>27623</span></td><td id="LC27623" class="css-1dcdqdg"><code> bleedTopRecto, </code></td></tr><tr><td id="L27624" class="css-a4x74f"><span>27624</span></td><td id="LC27624" class="css-1dcdqdg"><code> bleedRightRecto, </code></td></tr><tr><td id="L27625" class="css-a4x74f"><span>27625</span></td><td id="LC27625" class="css-1dcdqdg"><code> bleedBottomRecto, </code></td></tr><tr><td id="L27626" class="css-a4x74f"><span>27626</span></td><td id="LC27626" class="css-1dcdqdg"><code> bleedLeftRecto, </code></td></tr><tr><td id="L27627" class="css-a4x74f"><span>27627</span></td><td id="LC27627" class="css-1dcdqdg"><code> bleedTopVerso, </code></td></tr><tr><td id="L27628" class="css-a4x74f"><span>27628</span></td><td id="LC27628" class="css-1dcdqdg"><code> bleedRightVerso, </code></td></tr><tr><td id="L27629" class="css-a4x74f"><span>27629</span></td><td id="LC27629" class="css-1dcdqdg"><code> bleedBottomVerso, </code></td></tr><tr><td id="L27630" class="css-a4x74f"><span>27630</span></td><td id="LC27630" class="css-1dcdqdg"><code> bleedLeftVerso, </code></td></tr><tr><td id="L27631" class="css-a4x74f"><span>27631</span></td><td id="LC27631" class="css-1dcdqdg"><code> pageWidthVar, </code></td></tr><tr><td id="L27632" class="css-a4x74f"><span>27632</span></td><td id="LC27632" class="css-1dcdqdg"><code> pageHeightVar </code></td></tr><tr><td id="L27633" class="css-a4x74f"><span>27633</span></td><td id="LC27633" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L27634" class="css-a4x74f"><span>27634</span></td><td id="LC27634" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27635" class="css-a4x74f"><span>27635</span></td><td id="LC27635" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27636" class="css-a4x74f"><span>27636</span></td><td id="LC27636" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (marks) { </code></td></tr><tr><td id="L27637" class="css-a4x74f"><span>27637</span></td><td id="LC27637" class="css-1dcdqdg"><code> marks.forEach(<span class="code-function">(<span class="code-params">mark</span>) =></span> { </code></td></tr><tr><td id="L27638" class="css-a4x74f"><span>27638</span></td><td id="LC27638" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> markDisplay = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-mark-"</span> + mark + <span class="code-string">"-display"</span>, <span class="code-string">"block"</span>); </code></td></tr><tr><td id="L27639" class="css-a4x74f"><span>27639</span></td><td id="LC27639" class="css-1dcdqdg"><code> rules.push(markDisplay); </code></td></tr><tr><td id="L27640" class="css-a4x74f"><span>27640</span></td><td id="LC27640" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27641" class="css-a4x74f"><span>27641</span></td><td id="LC27641" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27642" class="css-a4x74f"><span>27642</span></td><td id="LC27642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27643" class="css-a4x74f"><span>27643</span></td><td id="LC27643" class="css-1dcdqdg"><code> <span class="code-comment">// orientation variable</span> </code></td></tr><tr><td id="L27644" class="css-a4x74f"><span>27644</span></td><td id="LC27644" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (orientation) { </code></td></tr><tr><td id="L27645" class="css-a4x74f"><span>27645</span></td><td id="LC27645" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> oVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-orientation"</span>, orientation); </code></td></tr><tr><td id="L27646" class="css-a4x74f"><span>27646</span></td><td id="LC27646" class="css-1dcdqdg"><code> rules.push(oVar); </code></td></tr><tr><td id="L27647" class="css-a4x74f"><span>27647</span></td><td id="LC27647" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27648" class="css-a4x74f"><span>27648</span></td><td id="LC27648" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (orientation !== <span class="code-string">"portrait"</span>) { </code></td></tr><tr><td id="L27649" class="css-a4x74f"><span>27649</span></td><td id="LC27649" class="css-1dcdqdg"><code> <span class="code-comment">// reverse for orientation</span> </code></td></tr><tr><td id="L27650" class="css-a4x74f"><span>27650</span></td><td id="LC27650" class="css-1dcdqdg"><code> [widthString, heightString] = [heightString, widthString]; </code></td></tr><tr><td id="L27651" class="css-a4x74f"><span>27651</span></td><td id="LC27651" class="css-1dcdqdg"><code> [widthStringRight, heightStringRight] = [heightStringRight, widthStringRight]; </code></td></tr><tr><td id="L27652" class="css-a4x74f"><span>27652</span></td><td id="LC27652" class="css-1dcdqdg"><code> [widthStringLeft, heightStringLeft] = [heightStringLeft, widthStringLeft]; </code></td></tr><tr><td id="L27653" class="css-a4x74f"><span>27653</span></td><td id="LC27653" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27654" class="css-a4x74f"><span>27654</span></td><td id="LC27654" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27655" class="css-a4x74f"><span>27655</span></td><td id="LC27655" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27656" class="css-a4x74f"><span>27656</span></td><td id="LC27656" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-width"</span>, widthString); </code></td></tr><tr><td id="L27657" class="css-a4x74f"><span>27657</span></td><td id="LC27657" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hVar = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-height"</span>, heightString); </code></td></tr><tr><td id="L27658" class="css-a4x74f"><span>27658</span></td><td id="LC27658" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27659" class="css-a4x74f"><span>27659</span></td><td id="LC27659" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wVarR = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-width-right"</span>, widthStringRight); </code></td></tr><tr><td id="L27660" class="css-a4x74f"><span>27660</span></td><td id="LC27660" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hVarR = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-height-right"</span>, heightStringRight); </code></td></tr><tr><td id="L27661" class="css-a4x74f"><span>27661</span></td><td id="LC27661" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27662" class="css-a4x74f"><span>27662</span></td><td id="LC27662" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> wVarL = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-width-left"</span>, widthStringLeft); </code></td></tr><tr><td id="L27663" class="css-a4x74f"><span>27663</span></td><td id="LC27663" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hVarL = <span class="code-keyword">this</span>.createVariable(<span class="code-string">"--pagedjs-height-left"</span>, heightStringLeft); </code></td></tr><tr><td id="L27664" class="css-a4x74f"><span>27664</span></td><td id="LC27664" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27665" class="css-a4x74f"><span>27665</span></td><td id="LC27665" class="css-1dcdqdg"><code> rules.push(wVar, hVar, wVarR, hVarR, wVarL, hVarL); </code></td></tr><tr><td id="L27666" class="css-a4x74f"><span>27666</span></td><td id="LC27666" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27667" class="css-a4x74f"><span>27667</span></td><td id="LC27667" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rule = <span class="code-keyword">this</span>.createRule(selectors, rules); </code></td></tr><tr><td id="L27668" class="css-a4x74f"><span>27668</span></td><td id="LC27668" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27669" class="css-a4x74f"><span>27669</span></td><td id="LC27669" class="css-1dcdqdg"><code> ast.children.appendData(rule); </code></td></tr><tr><td id="L27670" class="css-a4x74f"><span>27670</span></td><td id="LC27670" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27671" class="css-a4x74f"><span>27671</span></td><td id="LC27671" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27672" class="css-a4x74f"><span>27672</span></td><td id="LC27672" class="css-1dcdqdg"><code> <span class="code-comment">/* </span></code></td></tr><tr><td id="L27673" class="css-a4x74f"><span>27673</span></td><td id="LC27673" class="css-1dcdqdg"><code><span class="code-comment"> @page { </span></code></td></tr><tr><td id="L27674" class="css-a4x74f"><span>27674</span></td><td id="LC27674" class="css-1dcdqdg"><code><span class="code-comment"> size: var(--pagedjs-width) var(--pagedjs-height); </span></code></td></tr><tr><td id="L27675" class="css-a4x74f"><span>27675</span></td><td id="LC27675" class="css-1dcdqdg"><code><span class="code-comment"> margin: 0; </span></code></td></tr><tr><td id="L27676" class="css-a4x74f"><span>27676</span></td><td id="LC27676" class="css-1dcdqdg"><code><span class="code-comment"> padding: 0; </span></code></td></tr><tr><td id="L27677" class="css-a4x74f"><span>27677</span></td><td id="LC27677" class="css-1dcdqdg"><code><span class="code-comment"> } </span></code></td></tr><tr><td id="L27678" class="css-a4x74f"><span>27678</span></td><td id="LC27678" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L27679" class="css-a4x74f"><span>27679</span></td><td id="LC27679" class="css-1dcdqdg"><code> addRootPage(ast, size, bleed, bleedrecto, bleedverso) { </code></td></tr><tr><td id="L27680" class="css-a4x74f"><span>27680</span></td><td id="LC27680" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> { width, height, orientation, format } = size; </code></td></tr><tr><td id="L27681" class="css-a4x74f"><span>27681</span></td><td id="LC27681" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27682" class="css-a4x74f"><span>27682</span></td><td id="LC27682" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> childrenLeft = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27683" class="css-a4x74f"><span>27683</span></td><td id="LC27683" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> childrenRight = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27684" class="css-a4x74f"><span>27684</span></td><td id="LC27684" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dimensions = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27685" class="css-a4x74f"><span>27685</span></td><td id="LC27685" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dimensionsLeft = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27686" class="css-a4x74f"><span>27686</span></td><td id="LC27686" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dimensionsRight = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27687" class="css-a4x74f"><span>27687</span></td><td id="LC27687" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27688" class="css-a4x74f"><span>27688</span></td><td id="LC27688" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bleed) { </code></td></tr><tr><td id="L27689" class="css-a4x74f"><span>27689</span></td><td id="LC27689" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthCalculations = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27690" class="css-a4x74f"><span>27690</span></td><td id="LC27690" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> heightCalculations = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27691" class="css-a4x74f"><span>27691</span></td><td id="LC27691" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27692" class="css-a4x74f"><span>27692</span></td><td id="LC27692" class="css-1dcdqdg"><code> <span class="code-comment">// width</span> </code></td></tr><tr><td id="L27693" class="css-a4x74f"><span>27693</span></td><td id="LC27693" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27694" class="css-a4x74f"><span>27694</span></td><td id="LC27694" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27695" class="css-a4x74f"><span>27695</span></td><td id="LC27695" class="css-1dcdqdg"><code> unit: width.unit, </code></td></tr><tr><td id="L27696" class="css-a4x74f"><span>27696</span></td><td id="LC27696" class="css-1dcdqdg"><code> value: width.value </code></td></tr><tr><td id="L27697" class="css-a4x74f"><span>27697</span></td><td id="LC27697" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27698" class="css-a4x74f"><span>27698</span></td><td id="LC27698" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27699" class="css-a4x74f"><span>27699</span></td><td id="LC27699" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27700" class="css-a4x74f"><span>27700</span></td><td id="LC27700" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27701" class="css-a4x74f"><span>27701</span></td><td id="LC27701" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27702" class="css-a4x74f"><span>27702</span></td><td id="LC27702" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27703" class="css-a4x74f"><span>27703</span></td><td id="LC27703" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27704" class="css-a4x74f"><span>27704</span></td><td id="LC27704" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27705" class="css-a4x74f"><span>27705</span></td><td id="LC27705" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27706" class="css-a4x74f"><span>27706</span></td><td id="LC27706" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27707" class="css-a4x74f"><span>27707</span></td><td id="LC27707" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27708" class="css-a4x74f"><span>27708</span></td><td id="LC27708" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27709" class="css-a4x74f"><span>27709</span></td><td id="LC27709" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27710" class="css-a4x74f"><span>27710</span></td><td id="LC27710" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27711" class="css-a4x74f"><span>27711</span></td><td id="LC27711" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27712" class="css-a4x74f"><span>27712</span></td><td id="LC27712" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27713" class="css-a4x74f"><span>27713</span></td><td id="LC27713" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27714" class="css-a4x74f"><span>27714</span></td><td id="LC27714" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27715" class="css-a4x74f"><span>27715</span></td><td id="LC27715" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27716" class="css-a4x74f"><span>27716</span></td><td id="LC27716" class="css-1dcdqdg"><code> unit: bleed.left.unit, </code></td></tr><tr><td id="L27717" class="css-a4x74f"><span>27717</span></td><td id="LC27717" class="css-1dcdqdg"><code> value: bleed.left.value </code></td></tr><tr><td id="L27718" class="css-a4x74f"><span>27718</span></td><td id="LC27718" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27719" class="css-a4x74f"><span>27719</span></td><td id="LC27719" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27720" class="css-a4x74f"><span>27720</span></td><td id="LC27720" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27721" class="css-a4x74f"><span>27721</span></td><td id="LC27721" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27722" class="css-a4x74f"><span>27722</span></td><td id="LC27722" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27723" class="css-a4x74f"><span>27723</span></td><td id="LC27723" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27724" class="css-a4x74f"><span>27724</span></td><td id="LC27724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27725" class="css-a4x74f"><span>27725</span></td><td id="LC27725" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27726" class="css-a4x74f"><span>27726</span></td><td id="LC27726" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27727" class="css-a4x74f"><span>27727</span></td><td id="LC27727" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27728" class="css-a4x74f"><span>27728</span></td><td id="LC27728" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27729" class="css-a4x74f"><span>27729</span></td><td id="LC27729" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27730" class="css-a4x74f"><span>27730</span></td><td id="LC27730" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27731" class="css-a4x74f"><span>27731</span></td><td id="LC27731" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27732" class="css-a4x74f"><span>27732</span></td><td id="LC27732" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27733" class="css-a4x74f"><span>27733</span></td><td id="LC27733" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27734" class="css-a4x74f"><span>27734</span></td><td id="LC27734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27735" class="css-a4x74f"><span>27735</span></td><td id="LC27735" class="css-1dcdqdg"><code> widthCalculations.appendData({ </code></td></tr><tr><td id="L27736" class="css-a4x74f"><span>27736</span></td><td id="LC27736" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27737" class="css-a4x74f"><span>27737</span></td><td id="LC27737" class="css-1dcdqdg"><code> unit: bleed.right.unit, </code></td></tr><tr><td id="L27738" class="css-a4x74f"><span>27738</span></td><td id="LC27738" class="css-1dcdqdg"><code> value: bleed.right.value </code></td></tr><tr><td id="L27739" class="css-a4x74f"><span>27739</span></td><td id="LC27739" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27740" class="css-a4x74f"><span>27740</span></td><td id="LC27740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27741" class="css-a4x74f"><span>27741</span></td><td id="LC27741" class="css-1dcdqdg"><code> <span class="code-comment">// height</span> </code></td></tr><tr><td id="L27742" class="css-a4x74f"><span>27742</span></td><td id="LC27742" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27743" class="css-a4x74f"><span>27743</span></td><td id="LC27743" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27744" class="css-a4x74f"><span>27744</span></td><td id="LC27744" class="css-1dcdqdg"><code> unit: height.unit, </code></td></tr><tr><td id="L27745" class="css-a4x74f"><span>27745</span></td><td id="LC27745" class="css-1dcdqdg"><code> value: height.value </code></td></tr><tr><td id="L27746" class="css-a4x74f"><span>27746</span></td><td id="LC27746" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27747" class="css-a4x74f"><span>27747</span></td><td id="LC27747" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27748" class="css-a4x74f"><span>27748</span></td><td id="LC27748" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27749" class="css-a4x74f"><span>27749</span></td><td id="LC27749" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27750" class="css-a4x74f"><span>27750</span></td><td id="LC27750" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27751" class="css-a4x74f"><span>27751</span></td><td id="LC27751" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27752" class="css-a4x74f"><span>27752</span></td><td id="LC27752" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27753" class="css-a4x74f"><span>27753</span></td><td id="LC27753" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27754" class="css-a4x74f"><span>27754</span></td><td id="LC27754" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27755" class="css-a4x74f"><span>27755</span></td><td id="LC27755" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27756" class="css-a4x74f"><span>27756</span></td><td id="LC27756" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27757" class="css-a4x74f"><span>27757</span></td><td id="LC27757" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27758" class="css-a4x74f"><span>27758</span></td><td id="LC27758" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27759" class="css-a4x74f"><span>27759</span></td><td id="LC27759" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27760" class="css-a4x74f"><span>27760</span></td><td id="LC27760" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27761" class="css-a4x74f"><span>27761</span></td><td id="LC27761" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27762" class="css-a4x74f"><span>27762</span></td><td id="LC27762" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27763" class="css-a4x74f"><span>27763</span></td><td id="LC27763" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27764" class="css-a4x74f"><span>27764</span></td><td id="LC27764" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27765" class="css-a4x74f"><span>27765</span></td><td id="LC27765" class="css-1dcdqdg"><code> unit: bleed.top.unit, </code></td></tr><tr><td id="L27766" class="css-a4x74f"><span>27766</span></td><td id="LC27766" class="css-1dcdqdg"><code> value: bleed.top.value </code></td></tr><tr><td id="L27767" class="css-a4x74f"><span>27767</span></td><td id="LC27767" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27768" class="css-a4x74f"><span>27768</span></td><td id="LC27768" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27769" class="css-a4x74f"><span>27769</span></td><td id="LC27769" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27770" class="css-a4x74f"><span>27770</span></td><td id="LC27770" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27771" class="css-a4x74f"><span>27771</span></td><td id="LC27771" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27772" class="css-a4x74f"><span>27772</span></td><td id="LC27772" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27773" class="css-a4x74f"><span>27773</span></td><td id="LC27773" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27774" class="css-a4x74f"><span>27774</span></td><td id="LC27774" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27775" class="css-a4x74f"><span>27775</span></td><td id="LC27775" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27776" class="css-a4x74f"><span>27776</span></td><td id="LC27776" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27777" class="css-a4x74f"><span>27777</span></td><td id="LC27777" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27778" class="css-a4x74f"><span>27778</span></td><td id="LC27778" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27779" class="css-a4x74f"><span>27779</span></td><td id="LC27779" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27780" class="css-a4x74f"><span>27780</span></td><td id="LC27780" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27781" class="css-a4x74f"><span>27781</span></td><td id="LC27781" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27782" class="css-a4x74f"><span>27782</span></td><td id="LC27782" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27783" class="css-a4x74f"><span>27783</span></td><td id="LC27783" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27784" class="css-a4x74f"><span>27784</span></td><td id="LC27784" class="css-1dcdqdg"><code> heightCalculations.appendData({ </code></td></tr><tr><td id="L27785" class="css-a4x74f"><span>27785</span></td><td id="LC27785" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27786" class="css-a4x74f"><span>27786</span></td><td id="LC27786" class="css-1dcdqdg"><code> unit: bleed.bottom.unit, </code></td></tr><tr><td id="L27787" class="css-a4x74f"><span>27787</span></td><td id="LC27787" class="css-1dcdqdg"><code> value: bleed.bottom.value </code></td></tr><tr><td id="L27788" class="css-a4x74f"><span>27788</span></td><td id="LC27788" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27789" class="css-a4x74f"><span>27789</span></td><td id="LC27789" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27790" class="css-a4x74f"><span>27790</span></td><td id="LC27790" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27791" class="css-a4x74f"><span>27791</span></td><td id="LC27791" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L27792" class="css-a4x74f"><span>27792</span></td><td id="LC27792" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L27793" class="css-a4x74f"><span>27793</span></td><td id="LC27793" class="css-1dcdqdg"><code> children: widthCalculations </code></td></tr><tr><td id="L27794" class="css-a4x74f"><span>27794</span></td><td id="LC27794" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27795" class="css-a4x74f"><span>27795</span></td><td id="LC27795" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27796" class="css-a4x74f"><span>27796</span></td><td id="LC27796" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27797" class="css-a4x74f"><span>27797</span></td><td id="LC27797" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27798" class="css-a4x74f"><span>27798</span></td><td id="LC27798" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27799" class="css-a4x74f"><span>27799</span></td><td id="LC27799" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27800" class="css-a4x74f"><span>27800</span></td><td id="LC27800" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27801" class="css-a4x74f"><span>27801</span></td><td id="LC27801" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27802" class="css-a4x74f"><span>27802</span></td><td id="LC27802" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L27803" class="css-a4x74f"><span>27803</span></td><td id="LC27803" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L27804" class="css-a4x74f"><span>27804</span></td><td id="LC27804" class="css-1dcdqdg"><code> children: heightCalculations </code></td></tr><tr><td id="L27805" class="css-a4x74f"><span>27805</span></td><td id="LC27805" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27806" class="css-a4x74f"><span>27806</span></td><td id="LC27806" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27807" class="css-a4x74f"><span>27807</span></td><td id="LC27807" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (format) { </code></td></tr><tr><td id="L27808" class="css-a4x74f"><span>27808</span></td><td id="LC27808" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27809" class="css-a4x74f"><span>27809</span></td><td id="LC27809" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L27810" class="css-a4x74f"><span>27810</span></td><td id="LC27810" class="css-1dcdqdg"><code> name: format </code></td></tr><tr><td id="L27811" class="css-a4x74f"><span>27811</span></td><td id="LC27811" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27812" class="css-a4x74f"><span>27812</span></td><td id="LC27812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27813" class="css-a4x74f"><span>27813</span></td><td id="LC27813" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (orientation) { </code></td></tr><tr><td id="L27814" class="css-a4x74f"><span>27814</span></td><td id="LC27814" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27815" class="css-a4x74f"><span>27815</span></td><td id="LC27815" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27816" class="css-a4x74f"><span>27816</span></td><td id="LC27816" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27817" class="css-a4x74f"><span>27817</span></td><td id="LC27817" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27818" class="css-a4x74f"><span>27818</span></td><td id="LC27818" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27819" class="css-a4x74f"><span>27819</span></td><td id="LC27819" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27820" class="css-a4x74f"><span>27820</span></td><td id="LC27820" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L27821" class="css-a4x74f"><span>27821</span></td><td id="LC27821" class="css-1dcdqdg"><code> name: orientation </code></td></tr><tr><td id="L27822" class="css-a4x74f"><span>27822</span></td><td id="LC27822" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27823" class="css-a4x74f"><span>27823</span></td><td id="LC27823" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27824" class="css-a4x74f"><span>27824</span></td><td id="LC27824" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L27825" class="css-a4x74f"><span>27825</span></td><td id="LC27825" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27826" class="css-a4x74f"><span>27826</span></td><td id="LC27826" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27827" class="css-a4x74f"><span>27827</span></td><td id="LC27827" class="css-1dcdqdg"><code> unit: width.unit, </code></td></tr><tr><td id="L27828" class="css-a4x74f"><span>27828</span></td><td id="LC27828" class="css-1dcdqdg"><code> value: width.value </code></td></tr><tr><td id="L27829" class="css-a4x74f"><span>27829</span></td><td id="LC27829" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27830" class="css-a4x74f"><span>27830</span></td><td id="LC27830" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27831" class="css-a4x74f"><span>27831</span></td><td id="LC27831" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27832" class="css-a4x74f"><span>27832</span></td><td id="LC27832" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27833" class="css-a4x74f"><span>27833</span></td><td id="LC27833" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27834" class="css-a4x74f"><span>27834</span></td><td id="LC27834" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27835" class="css-a4x74f"><span>27835</span></td><td id="LC27835" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27836" class="css-a4x74f"><span>27836</span></td><td id="LC27836" class="css-1dcdqdg"><code> dimensions.appendData({ </code></td></tr><tr><td id="L27837" class="css-a4x74f"><span>27837</span></td><td id="LC27837" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27838" class="css-a4x74f"><span>27838</span></td><td id="LC27838" class="css-1dcdqdg"><code> unit: height.unit, </code></td></tr><tr><td id="L27839" class="css-a4x74f"><span>27839</span></td><td id="LC27839" class="css-1dcdqdg"><code> value: height.value </code></td></tr><tr><td id="L27840" class="css-a4x74f"><span>27840</span></td><td id="LC27840" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27841" class="css-a4x74f"><span>27841</span></td><td id="LC27841" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27842" class="css-a4x74f"><span>27842</span></td><td id="LC27842" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27843" class="css-a4x74f"><span>27843</span></td><td id="LC27843" class="css-1dcdqdg"><code> children.appendData({ </code></td></tr><tr><td id="L27844" class="css-a4x74f"><span>27844</span></td><td id="LC27844" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27845" class="css-a4x74f"><span>27845</span></td><td id="LC27845" class="css-1dcdqdg"><code> property: <span class="code-string">"size"</span>, </code></td></tr><tr><td id="L27846" class="css-a4x74f"><span>27846</span></td><td id="LC27846" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27847" class="css-a4x74f"><span>27847</span></td><td id="LC27847" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27848" class="css-a4x74f"><span>27848</span></td><td id="LC27848" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L27849" class="css-a4x74f"><span>27849</span></td><td id="LC27849" class="css-1dcdqdg"><code> children: dimensions </code></td></tr><tr><td id="L27850" class="css-a4x74f"><span>27850</span></td><td id="LC27850" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27851" class="css-a4x74f"><span>27851</span></td><td id="LC27851" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27852" class="css-a4x74f"><span>27852</span></td><td id="LC27852" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27853" class="css-a4x74f"><span>27853</span></td><td id="LC27853" class="css-1dcdqdg"><code> children.appendData({ </code></td></tr><tr><td id="L27854" class="css-a4x74f"><span>27854</span></td><td id="LC27854" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27855" class="css-a4x74f"><span>27855</span></td><td id="LC27855" class="css-1dcdqdg"><code> property: <span class="code-string">"margin"</span>, </code></td></tr><tr><td id="L27856" class="css-a4x74f"><span>27856</span></td><td id="LC27856" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27857" class="css-a4x74f"><span>27857</span></td><td id="LC27857" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27858" class="css-a4x74f"><span>27858</span></td><td id="LC27858" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L27859" class="css-a4x74f"><span>27859</span></td><td id="LC27859" class="css-1dcdqdg"><code> children: [{ </code></td></tr><tr><td id="L27860" class="css-a4x74f"><span>27860</span></td><td id="LC27860" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27861" class="css-a4x74f"><span>27861</span></td><td id="LC27861" class="css-1dcdqdg"><code> unit: <span class="code-string">"px"</span>, </code></td></tr><tr><td id="L27862" class="css-a4x74f"><span>27862</span></td><td id="LC27862" class="css-1dcdqdg"><code> value: <span class="code-number">0</span> </code></td></tr><tr><td id="L27863" class="css-a4x74f"><span>27863</span></td><td id="LC27863" class="css-1dcdqdg"><code> }] </code></td></tr><tr><td id="L27864" class="css-a4x74f"><span>27864</span></td><td id="LC27864" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27865" class="css-a4x74f"><span>27865</span></td><td id="LC27865" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27866" class="css-a4x74f"><span>27866</span></td><td id="LC27866" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27867" class="css-a4x74f"><span>27867</span></td><td id="LC27867" class="css-1dcdqdg"><code> children.appendData({ </code></td></tr><tr><td id="L27868" class="css-a4x74f"><span>27868</span></td><td id="LC27868" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27869" class="css-a4x74f"><span>27869</span></td><td id="LC27869" class="css-1dcdqdg"><code> property: <span class="code-string">"padding"</span>, </code></td></tr><tr><td id="L27870" class="css-a4x74f"><span>27870</span></td><td id="LC27870" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27871" class="css-a4x74f"><span>27871</span></td><td id="LC27871" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27872" class="css-a4x74f"><span>27872</span></td><td id="LC27872" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L27873" class="css-a4x74f"><span>27873</span></td><td id="LC27873" class="css-1dcdqdg"><code> children: [{ </code></td></tr><tr><td id="L27874" class="css-a4x74f"><span>27874</span></td><td id="LC27874" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27875" class="css-a4x74f"><span>27875</span></td><td id="LC27875" class="css-1dcdqdg"><code> unit: <span class="code-string">"px"</span>, </code></td></tr><tr><td id="L27876" class="css-a4x74f"><span>27876</span></td><td id="LC27876" class="css-1dcdqdg"><code> value: <span class="code-number">0</span> </code></td></tr><tr><td id="L27877" class="css-a4x74f"><span>27877</span></td><td id="LC27877" class="css-1dcdqdg"><code> }] </code></td></tr><tr><td id="L27878" class="css-a4x74f"><span>27878</span></td><td id="LC27878" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27879" class="css-a4x74f"><span>27879</span></td><td id="LC27879" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27880" class="css-a4x74f"><span>27880</span></td><td id="LC27880" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27881" class="css-a4x74f"><span>27881</span></td><td id="LC27881" class="css-1dcdqdg"><code> children.appendData({ </code></td></tr><tr><td id="L27882" class="css-a4x74f"><span>27882</span></td><td id="LC27882" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L27883" class="css-a4x74f"><span>27883</span></td><td id="LC27883" class="css-1dcdqdg"><code> property: <span class="code-string">"padding"</span>, </code></td></tr><tr><td id="L27884" class="css-a4x74f"><span>27884</span></td><td id="LC27884" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27885" class="css-a4x74f"><span>27885</span></td><td id="LC27885" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L27886" class="css-a4x74f"><span>27886</span></td><td id="LC27886" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L27887" class="css-a4x74f"><span>27887</span></td><td id="LC27887" class="css-1dcdqdg"><code> children: [{ </code></td></tr><tr><td id="L27888" class="css-a4x74f"><span>27888</span></td><td id="LC27888" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27889" class="css-a4x74f"><span>27889</span></td><td id="LC27889" class="css-1dcdqdg"><code> unit: <span class="code-string">"px"</span>, </code></td></tr><tr><td id="L27890" class="css-a4x74f"><span>27890</span></td><td id="LC27890" class="css-1dcdqdg"><code> value: <span class="code-number">0</span> </code></td></tr><tr><td id="L27891" class="css-a4x74f"><span>27891</span></td><td id="LC27891" class="css-1dcdqdg"><code> }] </code></td></tr><tr><td id="L27892" class="css-a4x74f"><span>27892</span></td><td id="LC27892" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27893" class="css-a4x74f"><span>27893</span></td><td id="LC27893" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27894" class="css-a4x74f"><span>27894</span></td><td id="LC27894" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27895" class="css-a4x74f"><span>27895</span></td><td id="LC27895" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rule = ast.children.createItem({ </code></td></tr><tr><td id="L27896" class="css-a4x74f"><span>27896</span></td><td id="LC27896" class="css-1dcdqdg"><code> type: <span class="code-string">"Atrule"</span>, </code></td></tr><tr><td id="L27897" class="css-a4x74f"><span>27897</span></td><td id="LC27897" class="css-1dcdqdg"><code> prelude: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27898" class="css-a4x74f"><span>27898</span></td><td id="LC27898" class="css-1dcdqdg"><code> name: <span class="code-string">"page"</span>, </code></td></tr><tr><td id="L27899" class="css-a4x74f"><span>27899</span></td><td id="LC27899" class="css-1dcdqdg"><code> block: { </code></td></tr><tr><td id="L27900" class="css-a4x74f"><span>27900</span></td><td id="LC27900" class="css-1dcdqdg"><code> type: <span class="code-string">"Block"</span>, </code></td></tr><tr><td id="L27901" class="css-a4x74f"><span>27901</span></td><td id="LC27901" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L27902" class="css-a4x74f"><span>27902</span></td><td id="LC27902" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L27903" class="css-a4x74f"><span>27903</span></td><td id="LC27903" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L27904" class="css-a4x74f"><span>27904</span></td><td id="LC27904" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27905" class="css-a4x74f"><span>27905</span></td><td id="LC27905" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27906" class="css-a4x74f"><span>27906</span></td><td id="LC27906" class="css-1dcdqdg"><code> ast.children.append(rule); </code></td></tr><tr><td id="L27907" class="css-a4x74f"><span>27907</span></td><td id="LC27907" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27908" class="css-a4x74f"><span>27908</span></td><td id="LC27908" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bleedverso) { </code></td></tr><tr><td id="L27909" class="css-a4x74f"><span>27909</span></td><td id="LC27909" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthCalculationsLeft = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27910" class="css-a4x74f"><span>27910</span></td><td id="LC27910" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> heightCalculationsLeft = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L27911" class="css-a4x74f"><span>27911</span></td><td id="LC27911" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27912" class="css-a4x74f"><span>27912</span></td><td id="LC27912" class="css-1dcdqdg"><code> <span class="code-comment">// width</span> </code></td></tr><tr><td id="L27913" class="css-a4x74f"><span>27913</span></td><td id="LC27913" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27914" class="css-a4x74f"><span>27914</span></td><td id="LC27914" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27915" class="css-a4x74f"><span>27915</span></td><td id="LC27915" class="css-1dcdqdg"><code> unit: width.unit, </code></td></tr><tr><td id="L27916" class="css-a4x74f"><span>27916</span></td><td id="LC27916" class="css-1dcdqdg"><code> value: width.value </code></td></tr><tr><td id="L27917" class="css-a4x74f"><span>27917</span></td><td id="LC27917" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27918" class="css-a4x74f"><span>27918</span></td><td id="LC27918" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27919" class="css-a4x74f"><span>27919</span></td><td id="LC27919" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27920" class="css-a4x74f"><span>27920</span></td><td id="LC27920" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27921" class="css-a4x74f"><span>27921</span></td><td id="LC27921" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27922" class="css-a4x74f"><span>27922</span></td><td id="LC27922" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27923" class="css-a4x74f"><span>27923</span></td><td id="LC27923" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27924" class="css-a4x74f"><span>27924</span></td><td id="LC27924" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27925" class="css-a4x74f"><span>27925</span></td><td id="LC27925" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27926" class="css-a4x74f"><span>27926</span></td><td id="LC27926" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27927" class="css-a4x74f"><span>27927</span></td><td id="LC27927" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27928" class="css-a4x74f"><span>27928</span></td><td id="LC27928" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27929" class="css-a4x74f"><span>27929</span></td><td id="LC27929" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27930" class="css-a4x74f"><span>27930</span></td><td id="LC27930" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27931" class="css-a4x74f"><span>27931</span></td><td id="LC27931" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27932" class="css-a4x74f"><span>27932</span></td><td id="LC27932" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27933" class="css-a4x74f"><span>27933</span></td><td id="LC27933" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27934" class="css-a4x74f"><span>27934</span></td><td id="LC27934" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27935" class="css-a4x74f"><span>27935</span></td><td id="LC27935" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27936" class="css-a4x74f"><span>27936</span></td><td id="LC27936" class="css-1dcdqdg"><code> unit: bleedverso.left.unit, </code></td></tr><tr><td id="L27937" class="css-a4x74f"><span>27937</span></td><td id="LC27937" class="css-1dcdqdg"><code> value: bleedverso.left.value </code></td></tr><tr><td id="L27938" class="css-a4x74f"><span>27938</span></td><td id="LC27938" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27939" class="css-a4x74f"><span>27939</span></td><td id="LC27939" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27940" class="css-a4x74f"><span>27940</span></td><td id="LC27940" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27941" class="css-a4x74f"><span>27941</span></td><td id="LC27941" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27942" class="css-a4x74f"><span>27942</span></td><td id="LC27942" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27943" class="css-a4x74f"><span>27943</span></td><td id="LC27943" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27944" class="css-a4x74f"><span>27944</span></td><td id="LC27944" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27945" class="css-a4x74f"><span>27945</span></td><td id="LC27945" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27946" class="css-a4x74f"><span>27946</span></td><td id="LC27946" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27947" class="css-a4x74f"><span>27947</span></td><td id="LC27947" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27948" class="css-a4x74f"><span>27948</span></td><td id="LC27948" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27949" class="css-a4x74f"><span>27949</span></td><td id="LC27949" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27950" class="css-a4x74f"><span>27950</span></td><td id="LC27950" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27951" class="css-a4x74f"><span>27951</span></td><td id="LC27951" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27952" class="css-a4x74f"><span>27952</span></td><td id="LC27952" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27953" class="css-a4x74f"><span>27953</span></td><td id="LC27953" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27954" class="css-a4x74f"><span>27954</span></td><td id="LC27954" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27955" class="css-a4x74f"><span>27955</span></td><td id="LC27955" class="css-1dcdqdg"><code> widthCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27956" class="css-a4x74f"><span>27956</span></td><td id="LC27956" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27957" class="css-a4x74f"><span>27957</span></td><td id="LC27957" class="css-1dcdqdg"><code> unit: bleedverso.right.unit, </code></td></tr><tr><td id="L27958" class="css-a4x74f"><span>27958</span></td><td id="LC27958" class="css-1dcdqdg"><code> value: bleedverso.right.value </code></td></tr><tr><td id="L27959" class="css-a4x74f"><span>27959</span></td><td id="LC27959" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27960" class="css-a4x74f"><span>27960</span></td><td id="LC27960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27961" class="css-a4x74f"><span>27961</span></td><td id="LC27961" class="css-1dcdqdg"><code> <span class="code-comment">// height</span> </code></td></tr><tr><td id="L27962" class="css-a4x74f"><span>27962</span></td><td id="LC27962" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27963" class="css-a4x74f"><span>27963</span></td><td id="LC27963" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27964" class="css-a4x74f"><span>27964</span></td><td id="LC27964" class="css-1dcdqdg"><code> unit: height.unit, </code></td></tr><tr><td id="L27965" class="css-a4x74f"><span>27965</span></td><td id="LC27965" class="css-1dcdqdg"><code> value: height.value </code></td></tr><tr><td id="L27966" class="css-a4x74f"><span>27966</span></td><td id="LC27966" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27967" class="css-a4x74f"><span>27967</span></td><td id="LC27967" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27968" class="css-a4x74f"><span>27968</span></td><td id="LC27968" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27969" class="css-a4x74f"><span>27969</span></td><td id="LC27969" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27970" class="css-a4x74f"><span>27970</span></td><td id="LC27970" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27971" class="css-a4x74f"><span>27971</span></td><td id="LC27971" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27972" class="css-a4x74f"><span>27972</span></td><td id="LC27972" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27973" class="css-a4x74f"><span>27973</span></td><td id="LC27973" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27974" class="css-a4x74f"><span>27974</span></td><td id="LC27974" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27975" class="css-a4x74f"><span>27975</span></td><td id="LC27975" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27976" class="css-a4x74f"><span>27976</span></td><td id="LC27976" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27977" class="css-a4x74f"><span>27977</span></td><td id="LC27977" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27978" class="css-a4x74f"><span>27978</span></td><td id="LC27978" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27979" class="css-a4x74f"><span>27979</span></td><td id="LC27979" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27980" class="css-a4x74f"><span>27980</span></td><td id="LC27980" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27981" class="css-a4x74f"><span>27981</span></td><td id="LC27981" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27982" class="css-a4x74f"><span>27982</span></td><td id="LC27982" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27983" class="css-a4x74f"><span>27983</span></td><td id="LC27983" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27984" class="css-a4x74f"><span>27984</span></td><td id="LC27984" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L27985" class="css-a4x74f"><span>27985</span></td><td id="LC27985" class="css-1dcdqdg"><code> unit: bleedverso.top.unit, </code></td></tr><tr><td id="L27986" class="css-a4x74f"><span>27986</span></td><td id="LC27986" class="css-1dcdqdg"><code> value: bleedverso.top.value </code></td></tr><tr><td id="L27987" class="css-a4x74f"><span>27987</span></td><td id="LC27987" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27988" class="css-a4x74f"><span>27988</span></td><td id="LC27988" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27989" class="css-a4x74f"><span>27989</span></td><td id="LC27989" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27990" class="css-a4x74f"><span>27990</span></td><td id="LC27990" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L27991" class="css-a4x74f"><span>27991</span></td><td id="LC27991" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L27992" class="css-a4x74f"><span>27992</span></td><td id="LC27992" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27993" class="css-a4x74f"><span>27993</span></td><td id="LC27993" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27994" class="css-a4x74f"><span>27994</span></td><td id="LC27994" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L27995" class="css-a4x74f"><span>27995</span></td><td id="LC27995" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L27996" class="css-a4x74f"><span>27996</span></td><td id="LC27996" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L27997" class="css-a4x74f"><span>27997</span></td><td id="LC27997" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L27998" class="css-a4x74f"><span>27998</span></td><td id="LC27998" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L27999" class="css-a4x74f"><span>27999</span></td><td id="LC27999" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L28000" class="css-a4x74f"><span>28000</span></td><td id="LC28000" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28001" class="css-a4x74f"><span>28001</span></td><td id="LC28001" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28002" class="css-a4x74f"><span>28002</span></td><td id="LC28002" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28003" class="css-a4x74f"><span>28003</span></td><td id="LC28003" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28004" class="css-a4x74f"><span>28004</span></td><td id="LC28004" class="css-1dcdqdg"><code> heightCalculationsLeft.appendData({ </code></td></tr><tr><td id="L28005" class="css-a4x74f"><span>28005</span></td><td id="LC28005" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28006" class="css-a4x74f"><span>28006</span></td><td id="LC28006" class="css-1dcdqdg"><code> unit: bleedverso.bottom.unit, </code></td></tr><tr><td id="L28007" class="css-a4x74f"><span>28007</span></td><td id="LC28007" class="css-1dcdqdg"><code> value: bleedverso.bottom.value </code></td></tr><tr><td id="L28008" class="css-a4x74f"><span>28008</span></td><td id="LC28008" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28009" class="css-a4x74f"><span>28009</span></td><td id="LC28009" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28010" class="css-a4x74f"><span>28010</span></td><td id="LC28010" class="css-1dcdqdg"><code> dimensionsLeft.appendData({ </code></td></tr><tr><td id="L28011" class="css-a4x74f"><span>28011</span></td><td id="LC28011" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L28012" class="css-a4x74f"><span>28012</span></td><td id="LC28012" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L28013" class="css-a4x74f"><span>28013</span></td><td id="LC28013" class="css-1dcdqdg"><code> children: widthCalculationsLeft </code></td></tr><tr><td id="L28014" class="css-a4x74f"><span>28014</span></td><td id="LC28014" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28015" class="css-a4x74f"><span>28015</span></td><td id="LC28015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28016" class="css-a4x74f"><span>28016</span></td><td id="LC28016" class="css-1dcdqdg"><code> dimensionsLeft.appendData({ </code></td></tr><tr><td id="L28017" class="css-a4x74f"><span>28017</span></td><td id="LC28017" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28018" class="css-a4x74f"><span>28018</span></td><td id="LC28018" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28019" class="css-a4x74f"><span>28019</span></td><td id="LC28019" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28020" class="css-a4x74f"><span>28020</span></td><td id="LC28020" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28021" class="css-a4x74f"><span>28021</span></td><td id="LC28021" class="css-1dcdqdg"><code> dimensionsLeft.appendData({ </code></td></tr><tr><td id="L28022" class="css-a4x74f"><span>28022</span></td><td id="LC28022" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L28023" class="css-a4x74f"><span>28023</span></td><td id="LC28023" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L28024" class="css-a4x74f"><span>28024</span></td><td id="LC28024" class="css-1dcdqdg"><code> children: heightCalculationsLeft </code></td></tr><tr><td id="L28025" class="css-a4x74f"><span>28025</span></td><td id="LC28025" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28026" class="css-a4x74f"><span>28026</span></td><td id="LC28026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28027" class="css-a4x74f"><span>28027</span></td><td id="LC28027" class="css-1dcdqdg"><code> childrenLeft.appendData({ </code></td></tr><tr><td id="L28028" class="css-a4x74f"><span>28028</span></td><td id="LC28028" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28029" class="css-a4x74f"><span>28029</span></td><td id="LC28029" class="css-1dcdqdg"><code> property: <span class="code-string">"size"</span>, </code></td></tr><tr><td id="L28030" class="css-a4x74f"><span>28030</span></td><td id="LC28030" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28031" class="css-a4x74f"><span>28031</span></td><td id="LC28031" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28032" class="css-a4x74f"><span>28032</span></td><td id="LC28032" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L28033" class="css-a4x74f"><span>28033</span></td><td id="LC28033" class="css-1dcdqdg"><code> children: dimensionsLeft </code></td></tr><tr><td id="L28034" class="css-a4x74f"><span>28034</span></td><td id="LC28034" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28035" class="css-a4x74f"><span>28035</span></td><td id="LC28035" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28036" class="css-a4x74f"><span>28036</span></td><td id="LC28036" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28037" class="css-a4x74f"><span>28037</span></td><td id="LC28037" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> ruleLeft = ast.children.createItem({ </code></td></tr><tr><td id="L28038" class="css-a4x74f"><span>28038</span></td><td id="LC28038" class="css-1dcdqdg"><code> type: <span class="code-string">"Atrule"</span>, </code></td></tr><tr><td id="L28039" class="css-a4x74f"><span>28039</span></td><td id="LC28039" class="css-1dcdqdg"><code> prelude: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28040" class="css-a4x74f"><span>28040</span></td><td id="LC28040" class="css-1dcdqdg"><code> name: <span class="code-string">"page :left"</span>, </code></td></tr><tr><td id="L28041" class="css-a4x74f"><span>28041</span></td><td id="LC28041" class="css-1dcdqdg"><code> block: { </code></td></tr><tr><td id="L28042" class="css-a4x74f"><span>28042</span></td><td id="LC28042" class="css-1dcdqdg"><code> type: <span class="code-string">"Block"</span>, </code></td></tr><tr><td id="L28043" class="css-a4x74f"><span>28043</span></td><td id="LC28043" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28044" class="css-a4x74f"><span>28044</span></td><td id="LC28044" class="css-1dcdqdg"><code> children: childrenLeft </code></td></tr><tr><td id="L28045" class="css-a4x74f"><span>28045</span></td><td id="LC28045" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28046" class="css-a4x74f"><span>28046</span></td><td id="LC28046" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28047" class="css-a4x74f"><span>28047</span></td><td id="LC28047" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28048" class="css-a4x74f"><span>28048</span></td><td id="LC28048" class="css-1dcdqdg"><code> ast.children.append(ruleLeft); </code></td></tr><tr><td id="L28049" class="css-a4x74f"><span>28049</span></td><td id="LC28049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28050" class="css-a4x74f"><span>28050</span></td><td id="LC28050" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28051" class="css-a4x74f"><span>28051</span></td><td id="LC28051" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28052" class="css-a4x74f"><span>28052</span></td><td id="LC28052" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bleedrecto) { </code></td></tr><tr><td id="L28053" class="css-a4x74f"><span>28053</span></td><td id="LC28053" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> widthCalculationsRight = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28054" class="css-a4x74f"><span>28054</span></td><td id="LC28054" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> heightCalculationsRight = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28055" class="css-a4x74f"><span>28055</span></td><td id="LC28055" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28056" class="css-a4x74f"><span>28056</span></td><td id="LC28056" class="css-1dcdqdg"><code> <span class="code-comment">// width</span> </code></td></tr><tr><td id="L28057" class="css-a4x74f"><span>28057</span></td><td id="LC28057" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28058" class="css-a4x74f"><span>28058</span></td><td id="LC28058" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28059" class="css-a4x74f"><span>28059</span></td><td id="LC28059" class="css-1dcdqdg"><code> unit: width.unit, </code></td></tr><tr><td id="L28060" class="css-a4x74f"><span>28060</span></td><td id="LC28060" class="css-1dcdqdg"><code> value: width.value </code></td></tr><tr><td id="L28061" class="css-a4x74f"><span>28061</span></td><td id="LC28061" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28062" class="css-a4x74f"><span>28062</span></td><td id="LC28062" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28063" class="css-a4x74f"><span>28063</span></td><td id="LC28063" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28064" class="css-a4x74f"><span>28064</span></td><td id="LC28064" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28065" class="css-a4x74f"><span>28065</span></td><td id="LC28065" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28066" class="css-a4x74f"><span>28066</span></td><td id="LC28066" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28067" class="css-a4x74f"><span>28067</span></td><td id="LC28067" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28068" class="css-a4x74f"><span>28068</span></td><td id="LC28068" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28069" class="css-a4x74f"><span>28069</span></td><td id="LC28069" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L28070" class="css-a4x74f"><span>28070</span></td><td id="LC28070" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L28071" class="css-a4x74f"><span>28071</span></td><td id="LC28071" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28072" class="css-a4x74f"><span>28072</span></td><td id="LC28072" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28073" class="css-a4x74f"><span>28073</span></td><td id="LC28073" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28074" class="css-a4x74f"><span>28074</span></td><td id="LC28074" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28075" class="css-a4x74f"><span>28075</span></td><td id="LC28075" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28076" class="css-a4x74f"><span>28076</span></td><td id="LC28076" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28077" class="css-a4x74f"><span>28077</span></td><td id="LC28077" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28078" class="css-a4x74f"><span>28078</span></td><td id="LC28078" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28079" class="css-a4x74f"><span>28079</span></td><td id="LC28079" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28080" class="css-a4x74f"><span>28080</span></td><td id="LC28080" class="css-1dcdqdg"><code> unit: bleedrecto.left.unit, </code></td></tr><tr><td id="L28081" class="css-a4x74f"><span>28081</span></td><td id="LC28081" class="css-1dcdqdg"><code> value: bleedrecto.left.value </code></td></tr><tr><td id="L28082" class="css-a4x74f"><span>28082</span></td><td id="LC28082" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28083" class="css-a4x74f"><span>28083</span></td><td id="LC28083" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28084" class="css-a4x74f"><span>28084</span></td><td id="LC28084" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28085" class="css-a4x74f"><span>28085</span></td><td id="LC28085" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28086" class="css-a4x74f"><span>28086</span></td><td id="LC28086" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28087" class="css-a4x74f"><span>28087</span></td><td id="LC28087" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28088" class="css-a4x74f"><span>28088</span></td><td id="LC28088" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28089" class="css-a4x74f"><span>28089</span></td><td id="LC28089" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28090" class="css-a4x74f"><span>28090</span></td><td id="LC28090" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L28091" class="css-a4x74f"><span>28091</span></td><td id="LC28091" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L28092" class="css-a4x74f"><span>28092</span></td><td id="LC28092" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28093" class="css-a4x74f"><span>28093</span></td><td id="LC28093" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28094" class="css-a4x74f"><span>28094</span></td><td id="LC28094" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28095" class="css-a4x74f"><span>28095</span></td><td id="LC28095" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28096" class="css-a4x74f"><span>28096</span></td><td id="LC28096" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28097" class="css-a4x74f"><span>28097</span></td><td id="LC28097" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28098" class="css-a4x74f"><span>28098</span></td><td id="LC28098" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28099" class="css-a4x74f"><span>28099</span></td><td id="LC28099" class="css-1dcdqdg"><code> widthCalculationsRight.appendData({ </code></td></tr><tr><td id="L28100" class="css-a4x74f"><span>28100</span></td><td id="LC28100" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28101" class="css-a4x74f"><span>28101</span></td><td id="LC28101" class="css-1dcdqdg"><code> unit: bleedrecto.right.unit, </code></td></tr><tr><td id="L28102" class="css-a4x74f"><span>28102</span></td><td id="LC28102" class="css-1dcdqdg"><code> value: bleedrecto.right.value </code></td></tr><tr><td id="L28103" class="css-a4x74f"><span>28103</span></td><td id="LC28103" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28104" class="css-a4x74f"><span>28104</span></td><td id="LC28104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28105" class="css-a4x74f"><span>28105</span></td><td id="LC28105" class="css-1dcdqdg"><code> <span class="code-comment">// height</span> </code></td></tr><tr><td id="L28106" class="css-a4x74f"><span>28106</span></td><td id="LC28106" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28107" class="css-a4x74f"><span>28107</span></td><td id="LC28107" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28108" class="css-a4x74f"><span>28108</span></td><td id="LC28108" class="css-1dcdqdg"><code> unit: height.unit, </code></td></tr><tr><td id="L28109" class="css-a4x74f"><span>28109</span></td><td id="LC28109" class="css-1dcdqdg"><code> value: height.value </code></td></tr><tr><td id="L28110" class="css-a4x74f"><span>28110</span></td><td id="LC28110" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28111" class="css-a4x74f"><span>28111</span></td><td id="LC28111" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28112" class="css-a4x74f"><span>28112</span></td><td id="LC28112" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28113" class="css-a4x74f"><span>28113</span></td><td id="LC28113" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28114" class="css-a4x74f"><span>28114</span></td><td id="LC28114" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28115" class="css-a4x74f"><span>28115</span></td><td id="LC28115" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28116" class="css-a4x74f"><span>28116</span></td><td id="LC28116" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28117" class="css-a4x74f"><span>28117</span></td><td id="LC28117" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28118" class="css-a4x74f"><span>28118</span></td><td id="LC28118" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L28119" class="css-a4x74f"><span>28119</span></td><td id="LC28119" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L28120" class="css-a4x74f"><span>28120</span></td><td id="LC28120" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28121" class="css-a4x74f"><span>28121</span></td><td id="LC28121" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28122" class="css-a4x74f"><span>28122</span></td><td id="LC28122" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28123" class="css-a4x74f"><span>28123</span></td><td id="LC28123" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28124" class="css-a4x74f"><span>28124</span></td><td id="LC28124" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28125" class="css-a4x74f"><span>28125</span></td><td id="LC28125" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28126" class="css-a4x74f"><span>28126</span></td><td id="LC28126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28127" class="css-a4x74f"><span>28127</span></td><td id="LC28127" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28128" class="css-a4x74f"><span>28128</span></td><td id="LC28128" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28129" class="css-a4x74f"><span>28129</span></td><td id="LC28129" class="css-1dcdqdg"><code> unit: bleedrecto.top.unit, </code></td></tr><tr><td id="L28130" class="css-a4x74f"><span>28130</span></td><td id="LC28130" class="css-1dcdqdg"><code> value: bleedrecto.top.value </code></td></tr><tr><td id="L28131" class="css-a4x74f"><span>28131</span></td><td id="LC28131" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28132" class="css-a4x74f"><span>28132</span></td><td id="LC28132" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28133" class="css-a4x74f"><span>28133</span></td><td id="LC28133" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28134" class="css-a4x74f"><span>28134</span></td><td id="LC28134" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28135" class="css-a4x74f"><span>28135</span></td><td id="LC28135" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28136" class="css-a4x74f"><span>28136</span></td><td id="LC28136" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28137" class="css-a4x74f"><span>28137</span></td><td id="LC28137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28138" class="css-a4x74f"><span>28138</span></td><td id="LC28138" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28139" class="css-a4x74f"><span>28139</span></td><td id="LC28139" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L28140" class="css-a4x74f"><span>28140</span></td><td id="LC28140" class="css-1dcdqdg"><code> value: <span class="code-string">"+"</span> </code></td></tr><tr><td id="L28141" class="css-a4x74f"><span>28141</span></td><td id="LC28141" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28142" class="css-a4x74f"><span>28142</span></td><td id="LC28142" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28143" class="css-a4x74f"><span>28143</span></td><td id="LC28143" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28144" class="css-a4x74f"><span>28144</span></td><td id="LC28144" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28145" class="css-a4x74f"><span>28145</span></td><td id="LC28145" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28146" class="css-a4x74f"><span>28146</span></td><td id="LC28146" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28147" class="css-a4x74f"><span>28147</span></td><td id="LC28147" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28148" class="css-a4x74f"><span>28148</span></td><td id="LC28148" class="css-1dcdqdg"><code> heightCalculationsRight.appendData({ </code></td></tr><tr><td id="L28149" class="css-a4x74f"><span>28149</span></td><td id="LC28149" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28150" class="css-a4x74f"><span>28150</span></td><td id="LC28150" class="css-1dcdqdg"><code> unit: bleedrecto.bottom.unit, </code></td></tr><tr><td id="L28151" class="css-a4x74f"><span>28151</span></td><td id="LC28151" class="css-1dcdqdg"><code> value: bleedrecto.bottom.value </code></td></tr><tr><td id="L28152" class="css-a4x74f"><span>28152</span></td><td id="LC28152" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28153" class="css-a4x74f"><span>28153</span></td><td id="LC28153" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28154" class="css-a4x74f"><span>28154</span></td><td id="LC28154" class="css-1dcdqdg"><code> dimensionsRight.appendData({ </code></td></tr><tr><td id="L28155" class="css-a4x74f"><span>28155</span></td><td id="LC28155" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L28156" class="css-a4x74f"><span>28156</span></td><td id="LC28156" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L28157" class="css-a4x74f"><span>28157</span></td><td id="LC28157" class="css-1dcdqdg"><code> children: widthCalculationsRight </code></td></tr><tr><td id="L28158" class="css-a4x74f"><span>28158</span></td><td id="LC28158" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28159" class="css-a4x74f"><span>28159</span></td><td id="LC28159" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28160" class="css-a4x74f"><span>28160</span></td><td id="LC28160" class="css-1dcdqdg"><code> dimensionsRight.appendData({ </code></td></tr><tr><td id="L28161" class="css-a4x74f"><span>28161</span></td><td id="LC28161" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28162" class="css-a4x74f"><span>28162</span></td><td id="LC28162" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28163" class="css-a4x74f"><span>28163</span></td><td id="LC28163" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28164" class="css-a4x74f"><span>28164</span></td><td id="LC28164" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28165" class="css-a4x74f"><span>28165</span></td><td id="LC28165" class="css-1dcdqdg"><code> dimensionsRight.appendData({ </code></td></tr><tr><td id="L28166" class="css-a4x74f"><span>28166</span></td><td id="LC28166" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L28167" class="css-a4x74f"><span>28167</span></td><td id="LC28167" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L28168" class="css-a4x74f"><span>28168</span></td><td id="LC28168" class="css-1dcdqdg"><code> children: heightCalculationsRight </code></td></tr><tr><td id="L28169" class="css-a4x74f"><span>28169</span></td><td id="LC28169" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28170" class="css-a4x74f"><span>28170</span></td><td id="LC28170" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28171" class="css-a4x74f"><span>28171</span></td><td id="LC28171" class="css-1dcdqdg"><code> childrenRight.appendData({ </code></td></tr><tr><td id="L28172" class="css-a4x74f"><span>28172</span></td><td id="LC28172" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28173" class="css-a4x74f"><span>28173</span></td><td id="LC28173" class="css-1dcdqdg"><code> property: <span class="code-string">"size"</span>, </code></td></tr><tr><td id="L28174" class="css-a4x74f"><span>28174</span></td><td id="LC28174" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28175" class="css-a4x74f"><span>28175</span></td><td id="LC28175" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28176" class="css-a4x74f"><span>28176</span></td><td id="LC28176" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L28177" class="css-a4x74f"><span>28177</span></td><td id="LC28177" class="css-1dcdqdg"><code> children: dimensionsRight </code></td></tr><tr><td id="L28178" class="css-a4x74f"><span>28178</span></td><td id="LC28178" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28179" class="css-a4x74f"><span>28179</span></td><td id="LC28179" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28180" class="css-a4x74f"><span>28180</span></td><td id="LC28180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28181" class="css-a4x74f"><span>28181</span></td><td id="LC28181" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> ruleRight = ast.children.createItem({ </code></td></tr><tr><td id="L28182" class="css-a4x74f"><span>28182</span></td><td id="LC28182" class="css-1dcdqdg"><code> type: <span class="code-string">"Atrule"</span>, </code></td></tr><tr><td id="L28183" class="css-a4x74f"><span>28183</span></td><td id="LC28183" class="css-1dcdqdg"><code> prelude: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28184" class="css-a4x74f"><span>28184</span></td><td id="LC28184" class="css-1dcdqdg"><code> name: <span class="code-string">"page :right"</span>, </code></td></tr><tr><td id="L28185" class="css-a4x74f"><span>28185</span></td><td id="LC28185" class="css-1dcdqdg"><code> block: { </code></td></tr><tr><td id="L28186" class="css-a4x74f"><span>28186</span></td><td id="LC28186" class="css-1dcdqdg"><code> type: <span class="code-string">"Block"</span>, </code></td></tr><tr><td id="L28187" class="css-a4x74f"><span>28187</span></td><td id="LC28187" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28188" class="css-a4x74f"><span>28188</span></td><td id="LC28188" class="css-1dcdqdg"><code> children: childrenRight </code></td></tr><tr><td id="L28189" class="css-a4x74f"><span>28189</span></td><td id="LC28189" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28190" class="css-a4x74f"><span>28190</span></td><td id="LC28190" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28191" class="css-a4x74f"><span>28191</span></td><td id="LC28191" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28192" class="css-a4x74f"><span>28192</span></td><td id="LC28192" class="css-1dcdqdg"><code> ast.children.append(ruleRight); </code></td></tr><tr><td id="L28193" class="css-a4x74f"><span>28193</span></td><td id="LC28193" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28194" class="css-a4x74f"><span>28194</span></td><td id="LC28194" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28195" class="css-a4x74f"><span>28195</span></td><td id="LC28195" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28196" class="css-a4x74f"><span>28196</span></td><td id="LC28196" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28197" class="css-a4x74f"><span>28197</span></td><td id="LC28197" class="css-1dcdqdg"><code> getNth(nth) { </code></td></tr><tr><td id="L28198" class="css-a4x74f"><span>28198</span></td><td id="LC28198" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> n = nth.indexOf(<span class="code-string">"n"</span>); </code></td></tr><tr><td id="L28199" class="css-a4x74f"><span>28199</span></td><td id="LC28199" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> plus = nth.indexOf(<span class="code-string">"+"</span>); </code></td></tr><tr><td id="L28200" class="css-a4x74f"><span>28200</span></td><td id="LC28200" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> splitN = nth.split(<span class="code-string">"n"</span>); </code></td></tr><tr><td id="L28201" class="css-a4x74f"><span>28201</span></td><td id="LC28201" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> splitP = nth.split(<span class="code-string">"+"</span>); </code></td></tr><tr><td id="L28202" class="css-a4x74f"><span>28202</span></td><td id="LC28202" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> a = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L28203" class="css-a4x74f"><span>28203</span></td><td id="LC28203" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> b = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L28204" class="css-a4x74f"><span>28204</span></td><td id="LC28204" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (n > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L28205" class="css-a4x74f"><span>28205</span></td><td id="LC28205" class="css-1dcdqdg"><code> a = splitN[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L28206" class="css-a4x74f"><span>28206</span></td><td id="LC28206" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (plus > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L28207" class="css-a4x74f"><span>28207</span></td><td id="LC28207" class="css-1dcdqdg"><code> b = splitP[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L28208" class="css-a4x74f"><span>28208</span></td><td id="LC28208" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28209" class="css-a4x74f"><span>28209</span></td><td id="LC28209" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28210" class="css-a4x74f"><span>28210</span></td><td id="LC28210" class="css-1dcdqdg"><code> b = nth; </code></td></tr><tr><td id="L28211" class="css-a4x74f"><span>28211</span></td><td id="LC28211" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28212" class="css-a4x74f"><span>28212</span></td><td id="LC28212" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28213" class="css-a4x74f"><span>28213</span></td><td id="LC28213" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28214" class="css-a4x74f"><span>28214</span></td><td id="LC28214" class="css-1dcdqdg"><code> type: <span class="code-string">"Nth"</span>, </code></td></tr><tr><td id="L28215" class="css-a4x74f"><span>28215</span></td><td id="LC28215" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28216" class="css-a4x74f"><span>28216</span></td><td id="LC28216" class="css-1dcdqdg"><code> selector: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28217" class="css-a4x74f"><span>28217</span></td><td id="LC28217" class="css-1dcdqdg"><code> nth: { </code></td></tr><tr><td id="L28218" class="css-a4x74f"><span>28218</span></td><td id="LC28218" class="css-1dcdqdg"><code> type: <span class="code-string">"AnPlusB"</span>, </code></td></tr><tr><td id="L28219" class="css-a4x74f"><span>28219</span></td><td id="LC28219" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28220" class="css-a4x74f"><span>28220</span></td><td id="LC28220" class="css-1dcdqdg"><code> a: a, </code></td></tr><tr><td id="L28221" class="css-a4x74f"><span>28221</span></td><td id="LC28221" class="css-1dcdqdg"><code> b: b </code></td></tr><tr><td id="L28222" class="css-a4x74f"><span>28222</span></td><td id="LC28222" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28223" class="css-a4x74f"><span>28223</span></td><td id="LC28223" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28224" class="css-a4x74f"><span>28224</span></td><td id="LC28224" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28225" class="css-a4x74f"><span>28225</span></td><td id="LC28225" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28226" class="css-a4x74f"><span>28226</span></td><td id="LC28226" class="css-1dcdqdg"><code> addPageAttributes(page, start, pages) { </code></td></tr><tr><td id="L28227" class="css-a4x74f"><span>28227</span></td><td id="LC28227" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> named = start.dataset.page; </code></td></tr><tr><td id="L28228" class="css-a4x74f"><span>28228</span></td><td id="LC28228" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28229" class="css-a4x74f"><span>28229</span></td><td id="LC28229" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (named) { </code></td></tr><tr><td id="L28230" class="css-a4x74f"><span>28230</span></td><td id="LC28230" class="css-1dcdqdg"><code> page.name = named; </code></td></tr><tr><td id="L28231" class="css-a4x74f"><span>28231</span></td><td id="LC28231" class="css-1dcdqdg"><code> page.element.classList.add(<span class="code-string">"pagedjs_named_page"</span>); </code></td></tr><tr><td id="L28232" class="css-a4x74f"><span>28232</span></td><td id="LC28232" class="css-1dcdqdg"><code> page.element.classList.add(<span class="code-string">"pagedjs_"</span> + named + <span class="code-string">"_page"</span>); </code></td></tr><tr><td id="L28233" class="css-a4x74f"><span>28233</span></td><td id="LC28233" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28234" class="css-a4x74f"><span>28234</span></td><td id="LC28234" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!start.dataset.splitFrom) { </code></td></tr><tr><td id="L28235" class="css-a4x74f"><span>28235</span></td><td id="LC28235" class="css-1dcdqdg"><code> page.element.classList.add(<span class="code-string">"pagedjs_"</span> + named + <span class="code-string">"_first_page"</span>); </code></td></tr><tr><td id="L28236" class="css-a4x74f"><span>28236</span></td><td id="LC28236" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28237" class="css-a4x74f"><span>28237</span></td><td id="LC28237" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28238" class="css-a4x74f"><span>28238</span></td><td id="LC28238" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28239" class="css-a4x74f"><span>28239</span></td><td id="LC28239" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28240" class="css-a4x74f"><span>28240</span></td><td id="LC28240" class="css-1dcdqdg"><code> getStartElement(content, breakToken) { </code></td></tr><tr><td id="L28241" class="css-a4x74f"><span>28241</span></td><td id="LC28241" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> node = breakToken && breakToken.node; </code></td></tr><tr><td id="L28242" class="css-a4x74f"><span>28242</span></td><td id="LC28242" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28243" class="css-a4x74f"><span>28243</span></td><td id="LC28243" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!content && !breakToken) { </code></td></tr><tr><td id="L28244" class="css-a4x74f"><span>28244</span></td><td id="LC28244" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L28245" class="css-a4x74f"><span>28245</span></td><td id="LC28245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28246" class="css-a4x74f"><span>28246</span></td><td id="LC28246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28247" class="css-a4x74f"><span>28247</span></td><td id="LC28247" class="css-1dcdqdg"><code> <span class="code-comment">// No break</span> </code></td></tr><tr><td id="L28248" class="css-a4x74f"><span>28248</span></td><td id="LC28248" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!node) { </code></td></tr><tr><td id="L28249" class="css-a4x74f"><span>28249</span></td><td id="LC28249" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> content.children[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L28250" class="css-a4x74f"><span>28250</span></td><td id="LC28250" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28251" class="css-a4x74f"><span>28251</span></td><td id="LC28251" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28252" class="css-a4x74f"><span>28252</span></td><td id="LC28252" class="css-1dcdqdg"><code> <span class="code-comment">// Top level element</span> </code></td></tr><tr><td id="L28253" class="css-a4x74f"><span>28253</span></td><td id="LC28253" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.nodeType === <span class="code-number">1</span> && node.parentNode.nodeType === <span class="code-number">11</span>) { </code></td></tr><tr><td id="L28254" class="css-a4x74f"><span>28254</span></td><td id="LC28254" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L28255" class="css-a4x74f"><span>28255</span></td><td id="LC28255" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28256" class="css-a4x74f"><span>28256</span></td><td id="LC28256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28257" class="css-a4x74f"><span>28257</span></td><td id="LC28257" class="css-1dcdqdg"><code> <span class="code-comment">// Named page</span> </code></td></tr><tr><td id="L28258" class="css-a4x74f"><span>28258</span></td><td id="LC28258" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.nodeType === <span class="code-number">1</span> && node.dataset.page) { </code></td></tr><tr><td id="L28259" class="css-a4x74f"><span>28259</span></td><td id="LC28259" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> node; </code></td></tr><tr><td id="L28260" class="css-a4x74f"><span>28260</span></td><td id="LC28260" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28261" class="css-a4x74f"><span>28261</span></td><td id="LC28261" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28262" class="css-a4x74f"><span>28262</span></td><td id="LC28262" class="css-1dcdqdg"><code> <span class="code-comment">// Get top level Named parent</span> </code></td></tr><tr><td id="L28263" class="css-a4x74f"><span>28263</span></td><td id="LC28263" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> fragment = rebuildAncestors(node); </code></td></tr><tr><td id="L28264" class="css-a4x74f"><span>28264</span></td><td id="LC28264" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pages = fragment.querySelectorAll(<span class="code-string">"[data-page]"</span>); </code></td></tr><tr><td id="L28265" class="css-a4x74f"><span>28265</span></td><td id="LC28265" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28266" class="css-a4x74f"><span>28266</span></td><td id="LC28266" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pages.length) { </code></td></tr><tr><td id="L28267" class="css-a4x74f"><span>28267</span></td><td id="LC28267" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pages[pages.length - <span class="code-number">1</span>]; </code></td></tr><tr><td id="L28268" class="css-a4x74f"><span>28268</span></td><td id="LC28268" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28269" class="css-a4x74f"><span>28269</span></td><td id="LC28269" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> fragment.children[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L28270" class="css-a4x74f"><span>28270</span></td><td id="LC28270" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28271" class="css-a4x74f"><span>28271</span></td><td id="LC28271" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28272" class="css-a4x74f"><span>28272</span></td><td id="LC28272" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28273" class="css-a4x74f"><span>28273</span></td><td id="LC28273" class="css-1dcdqdg"><code> beforePageLayout(page, contents, breakToken, chunker) { </code></td></tr><tr><td id="L28274" class="css-a4x74f"><span>28274</span></td><td id="LC28274" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> start = <span class="code-keyword">this</span>.getStartElement(contents, breakToken); </code></td></tr><tr><td id="L28275" class="css-a4x74f"><span>28275</span></td><td id="LC28275" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (start) { </code></td></tr><tr><td id="L28276" class="css-a4x74f"><span>28276</span></td><td id="LC28276" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addPageAttributes(page, start, chunker.pages); </code></td></tr><tr><td id="L28277" class="css-a4x74f"><span>28277</span></td><td id="LC28277" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28278" class="css-a4x74f"><span>28278</span></td><td id="LC28278" class="css-1dcdqdg"><code> <span class="code-comment">// page.element.querySelector('.paged_area').style.color = red;</span> </code></td></tr><tr><td id="L28279" class="css-a4x74f"><span>28279</span></td><td id="LC28279" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28280" class="css-a4x74f"><span>28280</span></td><td id="LC28280" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28281" class="css-a4x74f"><span>28281</span></td><td id="LC28281" class="css-1dcdqdg"><code> afterPageLayout(fragment, page, breakToken, chunker) { </code></td></tr><tr><td id="L28282" class="css-a4x74f"><span>28282</span></td><td id="LC28282" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> m <span class="code-keyword">in</span> <span class="code-keyword">this</span>.marginalia) { </code></td></tr><tr><td id="L28283" class="css-a4x74f"><span>28283</span></td><td id="LC28283" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> margin = <span class="code-keyword">this</span>.marginalia[m]; </code></td></tr><tr><td id="L28284" class="css-a4x74f"><span>28284</span></td><td id="LC28284" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> sels = m.split(<span class="code-string">" "</span>); </code></td></tr><tr><td id="L28285" class="css-a4x74f"><span>28285</span></td><td id="LC28285" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28286" class="css-a4x74f"><span>28286</span></td><td id="LC28286" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> content; </code></td></tr><tr><td id="L28287" class="css-a4x74f"><span>28287</span></td><td id="LC28287" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.element.matches(sels[<span class="code-number">0</span>]) && margin.hasContent) { </code></td></tr><tr><td id="L28288" class="css-a4x74f"><span>28288</span></td><td id="LC28288" class="css-1dcdqdg"><code> content = page.element.querySelector(sels[<span class="code-number">1</span>]); </code></td></tr><tr><td id="L28289" class="css-a4x74f"><span>28289</span></td><td id="LC28289" class="css-1dcdqdg"><code> content.classList.add(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28290" class="css-a4x74f"><span>28290</span></td><td id="LC28290" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28291" class="css-a4x74f"><span>28291</span></td><td id="LC28291" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28292" class="css-a4x74f"><span>28292</span></td><td id="LC28292" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28293" class="css-a4x74f"><span>28293</span></td><td id="LC28293" class="css-1dcdqdg"><code> <span class="code-comment">// check center</span> </code></td></tr><tr><td id="L28294" class="css-a4x74f"><span>28294</span></td><td id="LC28294" class="css-1dcdqdg"><code> [<span class="code-string">"top"</span>, <span class="code-string">"bottom"</span>].forEach(<span class="code-function">(<span class="code-params">loc</span>) =></span> { </code></td></tr><tr><td id="L28295" class="css-a4x74f"><span>28295</span></td><td id="LC28295" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> marginGroup = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc); </code></td></tr><tr><td id="L28296" class="css-a4x74f"><span>28296</span></td><td id="LC28296" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> center = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-center"</span>); </code></td></tr><tr><td id="L28297" class="css-a4x74f"><span>28297</span></td><td id="LC28297" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> left = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-left"</span>); </code></td></tr><tr><td id="L28298" class="css-a4x74f"><span>28298</span></td><td id="LC28298" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> right = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-right"</span>); </code></td></tr><tr><td id="L28299" class="css-a4x74f"><span>28299</span></td><td id="LC28299" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28300" class="css-a4x74f"><span>28300</span></td><td id="LC28300" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> centerContent = center.classList.contains(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28301" class="css-a4x74f"><span>28301</span></td><td id="LC28301" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> leftContent = left.classList.contains(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28302" class="css-a4x74f"><span>28302</span></td><td id="LC28302" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rightContent = right.classList.contains(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28303" class="css-a4x74f"><span>28303</span></td><td id="LC28303" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> centerWidth, leftWidth, rightWidth; </code></td></tr><tr><td id="L28304" class="css-a4x74f"><span>28304</span></td><td id="LC28304" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28305" class="css-a4x74f"><span>28305</span></td><td id="LC28305" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftContent) { </code></td></tr><tr><td id="L28306" class="css-a4x74f"><span>28306</span></td><td id="LC28306" class="css-1dcdqdg"><code> leftWidth = <span class="code-built_in">window</span>.getComputedStyle(left)[<span class="code-string">"max-width"</span>]; </code></td></tr><tr><td id="L28307" class="css-a4x74f"><span>28307</span></td><td id="LC28307" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28308" class="css-a4x74f"><span>28308</span></td><td id="LC28308" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28309" class="css-a4x74f"><span>28309</span></td><td id="LC28309" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightContent) { </code></td></tr><tr><td id="L28310" class="css-a4x74f"><span>28310</span></td><td id="LC28310" class="css-1dcdqdg"><code> rightWidth = <span class="code-built_in">window</span>.getComputedStyle(right)[<span class="code-string">"max-width"</span>]; </code></td></tr><tr><td id="L28311" class="css-a4x74f"><span>28311</span></td><td id="LC28311" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28312" class="css-a4x74f"><span>28312</span></td><td id="LC28312" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28313" class="css-a4x74f"><span>28313</span></td><td id="LC28313" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28314" class="css-a4x74f"><span>28314</span></td><td id="LC28314" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (centerContent) { </code></td></tr><tr><td id="L28315" class="css-a4x74f"><span>28315</span></td><td id="LC28315" class="css-1dcdqdg"><code> centerWidth = <span class="code-built_in">window</span>.getComputedStyle(center)[<span class="code-string">"max-width"</span>]; </code></td></tr><tr><td id="L28316" class="css-a4x74f"><span>28316</span></td><td id="LC28316" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28317" class="css-a4x74f"><span>28317</span></td><td id="LC28317" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (centerWidth === <span class="code-string">"none"</span> || centerWidth === <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28318" class="css-a4x74f"><span>28318</span></td><td id="LC28318" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!leftContent && !rightContent) { </code></td></tr><tr><td id="L28319" class="css-a4x74f"><span>28319</span></td><td id="LC28319" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"0 1fr 0"</span>; </code></td></tr><tr><td id="L28320" class="css-a4x74f"><span>28320</span></td><td id="LC28320" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (leftContent) { </code></td></tr><tr><td id="L28321" class="css-a4x74f"><span>28321</span></td><td id="LC28321" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!rightContent) { </code></td></tr><tr><td id="L28322" class="css-a4x74f"><span>28322</span></td><td id="LC28322" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftWidth !== <span class="code-string">"none"</span> && leftWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28323" class="css-a4x74f"><span>28323</span></td><td id="LC28323" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" 1fr "</span> + leftWidth; </code></td></tr><tr><td id="L28324" class="css-a4x74f"><span>28324</span></td><td id="LC28324" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28325" class="css-a4x74f"><span>28325</span></td><td id="LC28325" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"auto auto 1fr"</span>; </code></td></tr><tr><td id="L28326" class="css-a4x74f"><span>28326</span></td><td id="LC28326" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28327" class="css-a4x74f"><span>28327</span></td><td id="LC28327" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28328" class="css-a4x74f"><span>28328</span></td><td id="LC28328" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> leftOuterWidth = left.offsetWidth; </code></td></tr><tr><td id="L28329" class="css-a4x74f"><span>28329</span></td><td id="LC28329" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> centerOuterWidth = center.offsetWidth; </code></td></tr><tr><td id="L28330" class="css-a4x74f"><span>28330</span></td><td id="LC28330" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> outerwidths = leftOuterWidth + centerOuterWidth; </code></td></tr><tr><td id="L28331" class="css-a4x74f"><span>28331</span></td><td id="LC28331" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newcenterWidth = centerOuterWidth * <span class="code-number">100</span> / outerwidths; </code></td></tr><tr><td id="L28332" class="css-a4x74f"><span>28332</span></td><td id="LC28332" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"minmax(16.66%, 1fr) minmax(33%, "</span> + newcenterWidth + <span class="code-string">"%) minmax(16.66%, 1fr)"</span>; </code></td></tr><tr><td id="L28333" class="css-a4x74f"><span>28333</span></td><td id="LC28333" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28334" class="css-a4x74f"><span>28334</span></td><td id="LC28334" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28335" class="css-a4x74f"><span>28335</span></td><td id="LC28335" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28336" class="css-a4x74f"><span>28336</span></td><td id="LC28336" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28337" class="css-a4x74f"><span>28337</span></td><td id="LC28337" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftWidth !== <span class="code-string">"none"</span> && leftWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28338" class="css-a4x74f"><span>28338</span></td><td id="LC28338" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28339" class="css-a4x74f"><span>28339</span></td><td id="LC28339" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" 1fr "</span> + rightWidth; </code></td></tr><tr><td id="L28340" class="css-a4x74f"><span>28340</span></td><td id="LC28340" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28341" class="css-a4x74f"><span>28341</span></td><td id="LC28341" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" 1fr "</span> + leftWidth; </code></td></tr><tr><td id="L28342" class="css-a4x74f"><span>28342</span></td><td id="LC28342" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28343" class="css-a4x74f"><span>28343</span></td><td id="LC28343" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28344" class="css-a4x74f"><span>28344</span></td><td id="LC28344" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28345" class="css-a4x74f"><span>28345</span></td><td id="LC28345" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = rightWidth + <span class="code-string">" 1fr "</span> + rightWidth; </code></td></tr><tr><td id="L28346" class="css-a4x74f"><span>28346</span></td><td id="LC28346" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28347" class="css-a4x74f"><span>28347</span></td><td id="LC28347" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"auto auto 1fr"</span>; </code></td></tr><tr><td id="L28348" class="css-a4x74f"><span>28348</span></td><td id="LC28348" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28349" class="css-a4x74f"><span>28349</span></td><td id="LC28349" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28350" class="css-a4x74f"><span>28350</span></td><td id="LC28350" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28351" class="css-a4x74f"><span>28351</span></td><td id="LC28351" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> leftOuterWidth = left.offsetWidth; </code></td></tr><tr><td id="L28352" class="css-a4x74f"><span>28352</span></td><td id="LC28352" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> centerOuterWidth = center.offsetWidth; </code></td></tr><tr><td id="L28353" class="css-a4x74f"><span>28353</span></td><td id="LC28353" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rightOuterWidth = right.offsetWidth; </code></td></tr><tr><td id="L28354" class="css-a4x74f"><span>28354</span></td><td id="LC28354" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> outerwidths = leftOuterWidth + centerOuterWidth + rightOuterWidth; </code></td></tr><tr><td id="L28355" class="css-a4x74f"><span>28355</span></td><td id="LC28355" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newcenterWidth = centerOuterWidth * <span class="code-number">100</span> / outerwidths; </code></td></tr><tr><td id="L28356" class="css-a4x74f"><span>28356</span></td><td id="LC28356" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (newcenterWidth > <span class="code-number">40</span>) { </code></td></tr><tr><td id="L28357" class="css-a4x74f"><span>28357</span></td><td id="LC28357" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"minmax(16.66%, 1fr) minmax(33%, "</span> + newcenterWidth + <span class="code-string">"%) minmax(16.66%, 1fr)"</span>; </code></td></tr><tr><td id="L28358" class="css-a4x74f"><span>28358</span></td><td id="LC28358" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28359" class="css-a4x74f"><span>28359</span></td><td id="LC28359" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"repeat(3, 1fr)"</span>; </code></td></tr><tr><td id="L28360" class="css-a4x74f"><span>28360</span></td><td id="LC28360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28361" class="css-a4x74f"><span>28361</span></td><td id="LC28361" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28362" class="css-a4x74f"><span>28362</span></td><td id="LC28362" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28363" class="css-a4x74f"><span>28363</span></td><td id="LC28363" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28364" class="css-a4x74f"><span>28364</span></td><td id="LC28364" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28365" class="css-a4x74f"><span>28365</span></td><td id="LC28365" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28366" class="css-a4x74f"><span>28366</span></td><td id="LC28366" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28367" class="css-a4x74f"><span>28367</span></td><td id="LC28367" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28368" class="css-a4x74f"><span>28368</span></td><td id="LC28368" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28369" class="css-a4x74f"><span>28369</span></td><td id="LC28369" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = rightWidth + <span class="code-string">" 1fr "</span> + rightWidth; </code></td></tr><tr><td id="L28370" class="css-a4x74f"><span>28370</span></td><td id="LC28370" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28371" class="css-a4x74f"><span>28371</span></td><td id="LC28371" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"auto auto 1fr"</span>; </code></td></tr><tr><td id="L28372" class="css-a4x74f"><span>28372</span></td><td id="LC28372" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28373" class="css-a4x74f"><span>28373</span></td><td id="LC28373" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28374" class="css-a4x74f"><span>28374</span></td><td id="LC28374" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rightOuterWidth = right.offsetWidth; </code></td></tr><tr><td id="L28375" class="css-a4x74f"><span>28375</span></td><td id="LC28375" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> centerOuterWidth = center.offsetWidth; </code></td></tr><tr><td id="L28376" class="css-a4x74f"><span>28376</span></td><td id="LC28376" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> outerwidths = rightOuterWidth + centerOuterWidth; </code></td></tr><tr><td id="L28377" class="css-a4x74f"><span>28377</span></td><td id="LC28377" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newcenterWidth = centerOuterWidth * <span class="code-number">100</span> / outerwidths; </code></td></tr><tr><td id="L28378" class="css-a4x74f"><span>28378</span></td><td id="LC28378" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"minmax(16.66%, 1fr) minmax(33%, "</span> + newcenterWidth + <span class="code-string">"%) minmax(16.66%, 1fr)"</span>; </code></td></tr><tr><td id="L28379" class="css-a4x74f"><span>28379</span></td><td id="LC28379" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28380" class="css-a4x74f"><span>28380</span></td><td id="LC28380" class="css-1dcdqdg"><code> center.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28381" class="css-a4x74f"><span>28381</span></td><td id="LC28381" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28382" class="css-a4x74f"><span>28382</span></td><td id="LC28382" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28383" class="css-a4x74f"><span>28383</span></td><td id="LC28383" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (centerWidth !== <span class="code-string">"none"</span> && centerWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28384" class="css-a4x74f"><span>28384</span></td><td id="LC28384" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftContent && leftWidth !== <span class="code-string">"none"</span> && leftWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28385" class="css-a4x74f"><span>28385</span></td><td id="LC28385" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" "</span> + centerWidth + <span class="code-string">" 1fr"</span>; </code></td></tr><tr><td id="L28386" class="css-a4x74f"><span>28386</span></td><td id="LC28386" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (rightContent && rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28387" class="css-a4x74f"><span>28387</span></td><td id="LC28387" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"1fr "</span> + centerWidth + <span class="code-string">" "</span> + rightWidth; </code></td></tr><tr><td id="L28388" class="css-a4x74f"><span>28388</span></td><td id="LC28388" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28389" class="css-a4x74f"><span>28389</span></td><td id="LC28389" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"1fr "</span> + centerWidth + <span class="code-string">" 1fr"</span>; </code></td></tr><tr><td id="L28390" class="css-a4x74f"><span>28390</span></td><td id="LC28390" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28391" class="css-a4x74f"><span>28391</span></td><td id="LC28391" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28392" class="css-a4x74f"><span>28392</span></td><td id="LC28392" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28393" class="css-a4x74f"><span>28393</span></td><td id="LC28393" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28394" class="css-a4x74f"><span>28394</span></td><td id="LC28394" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28395" class="css-a4x74f"><span>28395</span></td><td id="LC28395" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftContent) { </code></td></tr><tr><td id="L28396" class="css-a4x74f"><span>28396</span></td><td id="LC28396" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!rightContent) { </code></td></tr><tr><td id="L28397" class="css-a4x74f"><span>28397</span></td><td id="LC28397" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"1fr 0 0"</span>; </code></td></tr><tr><td id="L28398" class="css-a4x74f"><span>28398</span></td><td id="LC28398" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28399" class="css-a4x74f"><span>28399</span></td><td id="LC28399" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (leftWidth !== <span class="code-string">"none"</span> && leftWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28400" class="css-a4x74f"><span>28400</span></td><td id="LC28400" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28401" class="css-a4x74f"><span>28401</span></td><td id="LC28401" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" 1fr "</span> + rightWidth; </code></td></tr><tr><td id="L28402" class="css-a4x74f"><span>28402</span></td><td id="LC28402" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28403" class="css-a4x74f"><span>28403</span></td><td id="LC28403" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = leftWidth + <span class="code-string">" 0 1fr"</span>; </code></td></tr><tr><td id="L28404" class="css-a4x74f"><span>28404</span></td><td id="LC28404" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28405" class="css-a4x74f"><span>28405</span></td><td id="LC28405" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28406" class="css-a4x74f"><span>28406</span></td><td id="LC28406" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28407" class="css-a4x74f"><span>28407</span></td><td id="LC28407" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"1fr 0 "</span> + rightWidth; </code></td></tr><tr><td id="L28408" class="css-a4x74f"><span>28408</span></td><td id="LC28408" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28409" class="css-a4x74f"><span>28409</span></td><td id="LC28409" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"auto 1fr auto"</span>; </code></td></tr><tr><td id="L28410" class="css-a4x74f"><span>28410</span></td><td id="LC28410" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28411" class="css-a4x74f"><span>28411</span></td><td id="LC28411" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"nowrap"</span>; </code></td></tr><tr><td id="L28412" class="css-a4x74f"><span>28412</span></td><td id="LC28412" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> leftOuterWidth = left.offsetWidth; </code></td></tr><tr><td id="L28413" class="css-a4x74f"><span>28413</span></td><td id="LC28413" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rightOuterWidth = right.offsetWidth; </code></td></tr><tr><td id="L28414" class="css-a4x74f"><span>28414</span></td><td id="LC28414" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> outerwidths = leftOuterWidth + rightOuterWidth; </code></td></tr><tr><td id="L28415" class="css-a4x74f"><span>28415</span></td><td id="LC28415" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> newLeftWidth = leftOuterWidth * <span class="code-number">100</span> / outerwidths; </code></td></tr><tr><td id="L28416" class="css-a4x74f"><span>28416</span></td><td id="LC28416" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"minmax(16.66%, "</span> + newLeftWidth + <span class="code-string">"%) 0 1fr"</span>; </code></td></tr><tr><td id="L28417" class="css-a4x74f"><span>28417</span></td><td id="LC28417" class="css-1dcdqdg"><code> left.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28418" class="css-a4x74f"><span>28418</span></td><td id="LC28418" class="css-1dcdqdg"><code> right.style[<span class="code-string">"white-space"</span>] = <span class="code-string">"normal"</span>; </code></td></tr><tr><td id="L28419" class="css-a4x74f"><span>28419</span></td><td id="LC28419" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28420" class="css-a4x74f"><span>28420</span></td><td id="LC28420" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28421" class="css-a4x74f"><span>28421</span></td><td id="LC28421" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28422" class="css-a4x74f"><span>28422</span></td><td id="LC28422" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28423" class="css-a4x74f"><span>28423</span></td><td id="LC28423" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rightWidth !== <span class="code-string">"none"</span> && rightWidth !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28424" class="css-a4x74f"><span>28424</span></td><td id="LC28424" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"1fr 0 "</span> + rightWidth; </code></td></tr><tr><td id="L28425" class="css-a4x74f"><span>28425</span></td><td id="LC28425" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28426" class="css-a4x74f"><span>28426</span></td><td id="LC28426" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-columns"</span>] = <span class="code-string">"0 0 1fr"</span>; </code></td></tr><tr><td id="L28427" class="css-a4x74f"><span>28427</span></td><td id="LC28427" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28428" class="css-a4x74f"><span>28428</span></td><td id="LC28428" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28429" class="css-a4x74f"><span>28429</span></td><td id="LC28429" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28430" class="css-a4x74f"><span>28430</span></td><td id="LC28430" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28431" class="css-a4x74f"><span>28431</span></td><td id="LC28431" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28432" class="css-a4x74f"><span>28432</span></td><td id="LC28432" class="css-1dcdqdg"><code> <span class="code-comment">// check middle</span> </code></td></tr><tr><td id="L28433" class="css-a4x74f"><span>28433</span></td><td id="LC28433" class="css-1dcdqdg"><code> [<span class="code-string">"left"</span>, <span class="code-string">"right"</span>].forEach(<span class="code-function">(<span class="code-params">loc</span>) =></span> { </code></td></tr><tr><td id="L28434" class="css-a4x74f"><span>28434</span></td><td id="LC28434" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> middle = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-middle.hasContent"</span>); </code></td></tr><tr><td id="L28435" class="css-a4x74f"><span>28435</span></td><td id="LC28435" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> marginGroup = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc); </code></td></tr><tr><td id="L28436" class="css-a4x74f"><span>28436</span></td><td id="LC28436" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> top = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-top"</span>); </code></td></tr><tr><td id="L28437" class="css-a4x74f"><span>28437</span></td><td id="LC28437" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bottom = page.element.querySelector(<span class="code-string">".pagedjs_margin-"</span> + loc + <span class="code-string">"-bottom"</span>); </code></td></tr><tr><td id="L28438" class="css-a4x74f"><span>28438</span></td><td id="LC28438" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> topContent = top.classList.contains(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28439" class="css-a4x74f"><span>28439</span></td><td id="LC28439" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> bottomContent = bottom.classList.contains(<span class="code-string">"hasContent"</span>); </code></td></tr><tr><td id="L28440" class="css-a4x74f"><span>28440</span></td><td id="LC28440" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> middleHeight, topHeight, bottomHeight; </code></td></tr><tr><td id="L28441" class="css-a4x74f"><span>28441</span></td><td id="LC28441" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28442" class="css-a4x74f"><span>28442</span></td><td id="LC28442" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topContent) { </code></td></tr><tr><td id="L28443" class="css-a4x74f"><span>28443</span></td><td id="LC28443" class="css-1dcdqdg"><code> topHeight = <span class="code-built_in">window</span>.getComputedStyle(top)[<span class="code-string">"max-height"</span>]; </code></td></tr><tr><td id="L28444" class="css-a4x74f"><span>28444</span></td><td id="LC28444" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28445" class="css-a4x74f"><span>28445</span></td><td id="LC28445" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28446" class="css-a4x74f"><span>28446</span></td><td id="LC28446" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomContent) { </code></td></tr><tr><td id="L28447" class="css-a4x74f"><span>28447</span></td><td id="LC28447" class="css-1dcdqdg"><code> bottomHeight = <span class="code-built_in">window</span>.getComputedStyle(bottom)[<span class="code-string">"max-height"</span>]; </code></td></tr><tr><td id="L28448" class="css-a4x74f"><span>28448</span></td><td id="LC28448" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28449" class="css-a4x74f"><span>28449</span></td><td id="LC28449" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28450" class="css-a4x74f"><span>28450</span></td><td id="LC28450" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (middle) { </code></td></tr><tr><td id="L28451" class="css-a4x74f"><span>28451</span></td><td id="LC28451" class="css-1dcdqdg"><code> middleHeight = <span class="code-built_in">window</span>.getComputedStyle(middle)[<span class="code-string">"max-height"</span>]; </code></td></tr><tr><td id="L28452" class="css-a4x74f"><span>28452</span></td><td id="LC28452" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28453" class="css-a4x74f"><span>28453</span></td><td id="LC28453" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (middleHeight === <span class="code-string">"none"</span> || middleHeight === <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28454" class="css-a4x74f"><span>28454</span></td><td id="LC28454" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!topContent && !bottomContent) { </code></td></tr><tr><td id="L28455" class="css-a4x74f"><span>28455</span></td><td id="LC28455" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"0 1fr 0"</span>; </code></td></tr><tr><td id="L28456" class="css-a4x74f"><span>28456</span></td><td id="LC28456" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (topContent) { </code></td></tr><tr><td id="L28457" class="css-a4x74f"><span>28457</span></td><td id="LC28457" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!bottomContent) { </code></td></tr><tr><td id="L28458" class="css-a4x74f"><span>28458</span></td><td id="LC28458" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topHeight !== <span class="code-string">"none"</span> && topHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28459" class="css-a4x74f"><span>28459</span></td><td id="LC28459" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" calc(100% - "</span> + topHeight + <span class="code-string">"*2) "</span> + topHeight; </code></td></tr><tr><td id="L28460" class="css-a4x74f"><span>28460</span></td><td id="LC28460" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28461" class="css-a4x74f"><span>28461</span></td><td id="LC28461" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28462" class="css-a4x74f"><span>28462</span></td><td id="LC28462" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topHeight !== <span class="code-string">"none"</span> && topHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28463" class="css-a4x74f"><span>28463</span></td><td id="LC28463" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28464" class="css-a4x74f"><span>28464</span></td><td id="LC28464" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" calc(100% - "</span> + topHeight + <span class="code-string">" - "</span> + bottomHeight + <span class="code-string">") "</span> + bottomHeight; </code></td></tr><tr><td id="L28465" class="css-a4x74f"><span>28465</span></td><td id="LC28465" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28466" class="css-a4x74f"><span>28466</span></td><td id="LC28466" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" calc(100% - "</span> + topHeight + <span class="code-string">"*2) "</span> + topHeight; </code></td></tr><tr><td id="L28467" class="css-a4x74f"><span>28467</span></td><td id="LC28467" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28468" class="css-a4x74f"><span>28468</span></td><td id="LC28468" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28469" class="css-a4x74f"><span>28469</span></td><td id="LC28469" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28470" class="css-a4x74f"><span>28470</span></td><td id="LC28470" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = bottomHeight + <span class="code-string">" calc(100% - "</span> + bottomHeight + <span class="code-string">"*2) "</span> + bottomHeight; </code></td></tr><tr><td id="L28471" class="css-a4x74f"><span>28471</span></td><td id="LC28471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28472" class="css-a4x74f"><span>28472</span></td><td id="LC28472" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28473" class="css-a4x74f"><span>28473</span></td><td id="LC28473" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28474" class="css-a4x74f"><span>28474</span></td><td id="LC28474" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28475" class="css-a4x74f"><span>28475</span></td><td id="LC28475" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28476" class="css-a4x74f"><span>28476</span></td><td id="LC28476" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = bottomHeight + <span class="code-string">" calc(100% - "</span> + bottomHeight + <span class="code-string">"*2) "</span> + bottomHeight; </code></td></tr><tr><td id="L28477" class="css-a4x74f"><span>28477</span></td><td id="LC28477" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28478" class="css-a4x74f"><span>28478</span></td><td id="LC28478" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28479" class="css-a4x74f"><span>28479</span></td><td id="LC28479" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28480" class="css-a4x74f"><span>28480</span></td><td id="LC28480" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topContent && topHeight !== <span class="code-string">"none"</span> && topHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28481" class="css-a4x74f"><span>28481</span></td><td id="LC28481" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" "</span> + middleHeight + <span class="code-string">" calc(100% - ("</span> + topHeight + <span class="code-string">" + "</span> + middleHeight + <span class="code-string">"))"</span>; </code></td></tr><tr><td id="L28482" class="css-a4x74f"><span>28482</span></td><td id="LC28482" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (bottomContent && bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28483" class="css-a4x74f"><span>28483</span></td><td id="LC28483" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"1fr "</span> + middleHeight + <span class="code-string">" "</span> + bottomHeight; </code></td></tr><tr><td id="L28484" class="css-a4x74f"><span>28484</span></td><td id="LC28484" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28485" class="css-a4x74f"><span>28485</span></td><td id="LC28485" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"calc((100% - "</span> + middleHeight + <span class="code-string">")/2) "</span> + middleHeight + <span class="code-string">" calc((100% - "</span> + middleHeight + <span class="code-string">")/2)"</span>; </code></td></tr><tr><td id="L28486" class="css-a4x74f"><span>28486</span></td><td id="LC28486" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28487" class="css-a4x74f"><span>28487</span></td><td id="LC28487" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28488" class="css-a4x74f"><span>28488</span></td><td id="LC28488" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28489" class="css-a4x74f"><span>28489</span></td><td id="LC28489" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28490" class="css-a4x74f"><span>28490</span></td><td id="LC28490" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28491" class="css-a4x74f"><span>28491</span></td><td id="LC28491" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topContent) { </code></td></tr><tr><td id="L28492" class="css-a4x74f"><span>28492</span></td><td id="LC28492" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!bottomContent) { </code></td></tr><tr><td id="L28493" class="css-a4x74f"><span>28493</span></td><td id="LC28493" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"1fr 0 0"</span>; </code></td></tr><tr><td id="L28494" class="css-a4x74f"><span>28494</span></td><td id="LC28494" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28495" class="css-a4x74f"><span>28495</span></td><td id="LC28495" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (topHeight !== <span class="code-string">"none"</span> && topHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28496" class="css-a4x74f"><span>28496</span></td><td id="LC28496" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28497" class="css-a4x74f"><span>28497</span></td><td id="LC28497" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" 1fr "</span> + bottomHeight; </code></td></tr><tr><td id="L28498" class="css-a4x74f"><span>28498</span></td><td id="LC28498" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28499" class="css-a4x74f"><span>28499</span></td><td id="LC28499" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = topHeight + <span class="code-string">" 0 1fr"</span>; </code></td></tr><tr><td id="L28500" class="css-a4x74f"><span>28500</span></td><td id="LC28500" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28501" class="css-a4x74f"><span>28501</span></td><td id="LC28501" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28502" class="css-a4x74f"><span>28502</span></td><td id="LC28502" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28503" class="css-a4x74f"><span>28503</span></td><td id="LC28503" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"1fr 0 "</span> + bottomHeight; </code></td></tr><tr><td id="L28504" class="css-a4x74f"><span>28504</span></td><td id="LC28504" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28505" class="css-a4x74f"><span>28505</span></td><td id="LC28505" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"1fr 0 1fr"</span>; </code></td></tr><tr><td id="L28506" class="css-a4x74f"><span>28506</span></td><td id="LC28506" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28507" class="css-a4x74f"><span>28507</span></td><td id="LC28507" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28508" class="css-a4x74f"><span>28508</span></td><td id="LC28508" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28509" class="css-a4x74f"><span>28509</span></td><td id="LC28509" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28510" class="css-a4x74f"><span>28510</span></td><td id="LC28510" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (bottomHeight !== <span class="code-string">"none"</span> && bottomHeight !== <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28511" class="css-a4x74f"><span>28511</span></td><td id="LC28511" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"1fr 0 "</span> + bottomHeight; </code></td></tr><tr><td id="L28512" class="css-a4x74f"><span>28512</span></td><td id="LC28512" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28513" class="css-a4x74f"><span>28513</span></td><td id="LC28513" class="css-1dcdqdg"><code> marginGroup.style[<span class="code-string">"grid-template-rows"</span>] = <span class="code-string">"0 0 1fr"</span>; </code></td></tr><tr><td id="L28514" class="css-a4x74f"><span>28514</span></td><td id="LC28514" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28515" class="css-a4x74f"><span>28515</span></td><td id="LC28515" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28516" class="css-a4x74f"><span>28516</span></td><td id="LC28516" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28517" class="css-a4x74f"><span>28517</span></td><td id="LC28517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28518" class="css-a4x74f"><span>28518</span></td><td id="LC28518" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28519" class="css-a4x74f"><span>28519</span></td><td id="LC28519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28520" class="css-a4x74f"><span>28520</span></td><td id="LC28520" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28521" class="css-a4x74f"><span>28521</span></td><td id="LC28521" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28522" class="css-a4x74f"><span>28522</span></td><td id="LC28522" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28523" class="css-a4x74f"><span>28523</span></td><td id="LC28523" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28524" class="css-a4x74f"><span>28524</span></td><td id="LC28524" class="css-1dcdqdg"><code> <span class="code-comment">// CSS Tree Helpers</span> </code></td></tr><tr><td id="L28525" class="css-a4x74f"><span>28525</span></td><td id="LC28525" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28526" class="css-a4x74f"><span>28526</span></td><td id="LC28526" class="css-1dcdqdg"><code> selectorsForPage(page) { </code></td></tr><tr><td id="L28527" class="css-a4x74f"><span>28527</span></td><td id="LC28527" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nthlist; </code></td></tr><tr><td id="L28528" class="css-a4x74f"><span>28528</span></td><td id="LC28528" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nth; </code></td></tr><tr><td id="L28529" class="css-a4x74f"><span>28529</span></td><td id="LC28529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28530" class="css-a4x74f"><span>28530</span></td><td id="LC28530" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28531" class="css-a4x74f"><span>28531</span></td><td id="LC28531" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28532" class="css-a4x74f"><span>28532</span></td><td id="LC28532" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28533" class="css-a4x74f"><span>28533</span></td><td id="LC28533" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28534" class="css-a4x74f"><span>28534</span></td><td id="LC28534" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_page"</span> </code></td></tr><tr><td id="L28535" class="css-a4x74f"><span>28535</span></td><td id="LC28535" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28536" class="css-a4x74f"><span>28536</span></td><td id="LC28536" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28537" class="css-a4x74f"><span>28537</span></td><td id="LC28537" class="css-1dcdqdg"><code> <span class="code-comment">// Named page</span> </code></td></tr><tr><td id="L28538" class="css-a4x74f"><span>28538</span></td><td id="LC28538" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.name) { </code></td></tr><tr><td id="L28539" class="css-a4x74f"><span>28539</span></td><td id="LC28539" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28540" class="css-a4x74f"><span>28540</span></td><td id="LC28540" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28541" class="css-a4x74f"><span>28541</span></td><td id="LC28541" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_named_page"</span> </code></td></tr><tr><td id="L28542" class="css-a4x74f"><span>28542</span></td><td id="LC28542" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28543" class="css-a4x74f"><span>28543</span></td><td id="LC28543" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28544" class="css-a4x74f"><span>28544</span></td><td id="LC28544" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28545" class="css-a4x74f"><span>28545</span></td><td id="LC28545" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28546" class="css-a4x74f"><span>28546</span></td><td id="LC28546" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_"</span> + page.name + <span class="code-string">"_page"</span> </code></td></tr><tr><td id="L28547" class="css-a4x74f"><span>28547</span></td><td id="LC28547" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28548" class="css-a4x74f"><span>28548</span></td><td id="LC28548" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28549" class="css-a4x74f"><span>28549</span></td><td id="LC28549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28550" class="css-a4x74f"><span>28550</span></td><td id="LC28550" class="css-1dcdqdg"><code> <span class="code-comment">// PsuedoSelector</span> </code></td></tr><tr><td id="L28551" class="css-a4x74f"><span>28551</span></td><td id="LC28551" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.psuedo && !(page.name && page.psuedo === <span class="code-string">"first"</span>)) { </code></td></tr><tr><td id="L28552" class="css-a4x74f"><span>28552</span></td><td id="LC28552" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28553" class="css-a4x74f"><span>28553</span></td><td id="LC28553" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28554" class="css-a4x74f"><span>28554</span></td><td id="LC28554" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_"</span> + page.psuedo + <span class="code-string">"_page"</span> </code></td></tr><tr><td id="L28555" class="css-a4x74f"><span>28555</span></td><td id="LC28555" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28556" class="css-a4x74f"><span>28556</span></td><td id="LC28556" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28557" class="css-a4x74f"><span>28557</span></td><td id="LC28557" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28558" class="css-a4x74f"><span>28558</span></td><td id="LC28558" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.name && page.psuedo === <span class="code-string">"first"</span>) { </code></td></tr><tr><td id="L28559" class="css-a4x74f"><span>28559</span></td><td id="LC28559" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28560" class="css-a4x74f"><span>28560</span></td><td id="LC28560" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28561" class="css-a4x74f"><span>28561</span></td><td id="LC28561" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_"</span> + page.name + <span class="code-string">"_"</span> + page.psuedo + <span class="code-string">"_page"</span> </code></td></tr><tr><td id="L28562" class="css-a4x74f"><span>28562</span></td><td id="LC28562" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28563" class="css-a4x74f"><span>28563</span></td><td id="LC28563" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28564" class="css-a4x74f"><span>28564</span></td><td id="LC28564" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28565" class="css-a4x74f"><span>28565</span></td><td id="LC28565" class="css-1dcdqdg"><code> <span class="code-comment">// Nth</span> </code></td></tr><tr><td id="L28566" class="css-a4x74f"><span>28566</span></td><td id="LC28566" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (page.nth) { </code></td></tr><tr><td id="L28567" class="css-a4x74f"><span>28567</span></td><td id="LC28567" class="css-1dcdqdg"><code> nthlist = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28568" class="css-a4x74f"><span>28568</span></td><td id="LC28568" class="css-1dcdqdg"><code> nth = <span class="code-keyword">this</span>.getNth(page.nth); </code></td></tr><tr><td id="L28569" class="css-a4x74f"><span>28569</span></td><td id="LC28569" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28570" class="css-a4x74f"><span>28570</span></td><td id="LC28570" class="css-1dcdqdg"><code> nthlist.insertData(nth); </code></td></tr><tr><td id="L28571" class="css-a4x74f"><span>28571</span></td><td id="LC28571" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28572" class="css-a4x74f"><span>28572</span></td><td id="LC28572" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28573" class="css-a4x74f"><span>28573</span></td><td id="LC28573" class="css-1dcdqdg"><code> type: <span class="code-string">"PseudoClassSelector"</span>, </code></td></tr><tr><td id="L28574" class="css-a4x74f"><span>28574</span></td><td id="LC28574" class="css-1dcdqdg"><code> name: <span class="code-string">"nth-of-type"</span>, </code></td></tr><tr><td id="L28575" class="css-a4x74f"><span>28575</span></td><td id="LC28575" class="css-1dcdqdg"><code> children: nthlist </code></td></tr><tr><td id="L28576" class="css-a4x74f"><span>28576</span></td><td id="LC28576" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28577" class="css-a4x74f"><span>28577</span></td><td id="LC28577" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28578" class="css-a4x74f"><span>28578</span></td><td id="LC28578" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28579" class="css-a4x74f"><span>28579</span></td><td id="LC28579" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> selectors; </code></td></tr><tr><td id="L28580" class="css-a4x74f"><span>28580</span></td><td id="LC28580" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28581" class="css-a4x74f"><span>28581</span></td><td id="LC28581" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28582" class="css-a4x74f"><span>28582</span></td><td id="LC28582" class="css-1dcdqdg"><code> selectorsForPageMargin(page, margin) { </code></td></tr><tr><td id="L28583" class="css-a4x74f"><span>28583</span></td><td id="LC28583" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = <span class="code-keyword">this</span>.selectorsForPage(page); </code></td></tr><tr><td id="L28584" class="css-a4x74f"><span>28584</span></td><td id="LC28584" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28585" class="css-a4x74f"><span>28585</span></td><td id="LC28585" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28586" class="css-a4x74f"><span>28586</span></td><td id="LC28586" class="css-1dcdqdg"><code> type: <span class="code-string">"Combinator"</span>, </code></td></tr><tr><td id="L28587" class="css-a4x74f"><span>28587</span></td><td id="LC28587" class="css-1dcdqdg"><code> name: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28588" class="css-a4x74f"><span>28588</span></td><td id="LC28588" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28589" class="css-a4x74f"><span>28589</span></td><td id="LC28589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28590" class="css-a4x74f"><span>28590</span></td><td id="LC28590" class="css-1dcdqdg"><code> selectors.insertData({ </code></td></tr><tr><td id="L28591" class="css-a4x74f"><span>28591</span></td><td id="LC28591" class="css-1dcdqdg"><code> type: <span class="code-string">"ClassSelector"</span>, </code></td></tr><tr><td id="L28592" class="css-a4x74f"><span>28592</span></td><td id="LC28592" class="css-1dcdqdg"><code> name: <span class="code-string">"pagedjs_margin-"</span> + margin </code></td></tr><tr><td id="L28593" class="css-a4x74f"><span>28593</span></td><td id="LC28593" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28594" class="css-a4x74f"><span>28594</span></td><td id="LC28594" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28595" class="css-a4x74f"><span>28595</span></td><td id="LC28595" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> selectors; </code></td></tr><tr><td id="L28596" class="css-a4x74f"><span>28596</span></td><td id="LC28596" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28597" class="css-a4x74f"><span>28597</span></td><td id="LC28597" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28598" class="css-a4x74f"><span>28598</span></td><td id="LC28598" class="css-1dcdqdg"><code> createDeclaration(property, value, important) { </code></td></tr><tr><td id="L28599" class="css-a4x74f"><span>28599</span></td><td id="LC28599" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28600" class="css-a4x74f"><span>28600</span></td><td id="LC28600" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28601" class="css-a4x74f"><span>28601</span></td><td id="LC28601" class="css-1dcdqdg"><code> children.insertData({ </code></td></tr><tr><td id="L28602" class="css-a4x74f"><span>28602</span></td><td id="LC28602" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L28603" class="css-a4x74f"><span>28603</span></td><td id="LC28603" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28604" class="css-a4x74f"><span>28604</span></td><td id="LC28604" class="css-1dcdqdg"><code> name: value </code></td></tr><tr><td id="L28605" class="css-a4x74f"><span>28605</span></td><td id="LC28605" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28606" class="css-a4x74f"><span>28606</span></td><td id="LC28606" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28607" class="css-a4x74f"><span>28607</span></td><td id="LC28607" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28608" class="css-a4x74f"><span>28608</span></td><td id="LC28608" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28609" class="css-a4x74f"><span>28609</span></td><td id="LC28609" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28610" class="css-a4x74f"><span>28610</span></td><td id="LC28610" class="css-1dcdqdg"><code> important: important, </code></td></tr><tr><td id="L28611" class="css-a4x74f"><span>28611</span></td><td id="LC28611" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28612" class="css-a4x74f"><span>28612</span></td><td id="LC28612" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28613" class="css-a4x74f"><span>28613</span></td><td id="LC28613" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L28614" class="css-a4x74f"><span>28614</span></td><td id="LC28614" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28615" class="css-a4x74f"><span>28615</span></td><td id="LC28615" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L28616" class="css-a4x74f"><span>28616</span></td><td id="LC28616" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28617" class="css-a4x74f"><span>28617</span></td><td id="LC28617" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28618" class="css-a4x74f"><span>28618</span></td><td id="LC28618" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28619" class="css-a4x74f"><span>28619</span></td><td id="LC28619" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28620" class="css-a4x74f"><span>28620</span></td><td id="LC28620" class="css-1dcdqdg"><code> createVariable(property, value) { </code></td></tr><tr><td id="L28621" class="css-a4x74f"><span>28621</span></td><td id="LC28621" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28622" class="css-a4x74f"><span>28622</span></td><td id="LC28622" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28623" class="css-a4x74f"><span>28623</span></td><td id="LC28623" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28624" class="css-a4x74f"><span>28624</span></td><td id="LC28624" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28625" class="css-a4x74f"><span>28625</span></td><td id="LC28625" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28626" class="css-a4x74f"><span>28626</span></td><td id="LC28626" class="css-1dcdqdg"><code> type: <span class="code-string">"Raw"</span>, </code></td></tr><tr><td id="L28627" class="css-a4x74f"><span>28627</span></td><td id="LC28627" class="css-1dcdqdg"><code> value: value </code></td></tr><tr><td id="L28628" class="css-a4x74f"><span>28628</span></td><td id="LC28628" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28629" class="css-a4x74f"><span>28629</span></td><td id="LC28629" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28630" class="css-a4x74f"><span>28630</span></td><td id="LC28630" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28631" class="css-a4x74f"><span>28631</span></td><td id="LC28631" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28632" class="css-a4x74f"><span>28632</span></td><td id="LC28632" class="css-1dcdqdg"><code> createCalculatedDimension(property, items, important, operator = <span class="code-string">"+"</span>) { </code></td></tr><tr><td id="L28633" class="css-a4x74f"><span>28633</span></td><td id="LC28633" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28634" class="css-a4x74f"><span>28634</span></td><td id="LC28634" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> calculations = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28635" class="css-a4x74f"><span>28635</span></td><td id="LC28635" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28636" class="css-a4x74f"><span>28636</span></td><td id="LC28636" class="css-1dcdqdg"><code> items.forEach(<span class="code-function">(<span class="code-params">item, index</span>) =></span> { </code></td></tr><tr><td id="L28637" class="css-a4x74f"><span>28637</span></td><td id="LC28637" class="css-1dcdqdg"><code> calculations.appendData({ </code></td></tr><tr><td id="L28638" class="css-a4x74f"><span>28638</span></td><td id="LC28638" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28639" class="css-a4x74f"><span>28639</span></td><td id="LC28639" class="css-1dcdqdg"><code> unit: item.unit, </code></td></tr><tr><td id="L28640" class="css-a4x74f"><span>28640</span></td><td id="LC28640" class="css-1dcdqdg"><code> value: item.value </code></td></tr><tr><td id="L28641" class="css-a4x74f"><span>28641</span></td><td id="LC28641" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28642" class="css-a4x74f"><span>28642</span></td><td id="LC28642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28643" class="css-a4x74f"><span>28643</span></td><td id="LC28643" class="css-1dcdqdg"><code> calculations.appendData({ </code></td></tr><tr><td id="L28644" class="css-a4x74f"><span>28644</span></td><td id="LC28644" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28645" class="css-a4x74f"><span>28645</span></td><td id="LC28645" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28646" class="css-a4x74f"><span>28646</span></td><td id="LC28646" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28647" class="css-a4x74f"><span>28647</span></td><td id="LC28647" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28648" class="css-a4x74f"><span>28648</span></td><td id="LC28648" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index + <span class="code-number">1</span> < items.length) { </code></td></tr><tr><td id="L28649" class="css-a4x74f"><span>28649</span></td><td id="LC28649" class="css-1dcdqdg"><code> calculations.appendData({ </code></td></tr><tr><td id="L28650" class="css-a4x74f"><span>28650</span></td><td id="LC28650" class="css-1dcdqdg"><code> type: <span class="code-string">"Operator"</span>, </code></td></tr><tr><td id="L28651" class="css-a4x74f"><span>28651</span></td><td id="LC28651" class="css-1dcdqdg"><code> value: operator </code></td></tr><tr><td id="L28652" class="css-a4x74f"><span>28652</span></td><td id="LC28652" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28653" class="css-a4x74f"><span>28653</span></td><td id="LC28653" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28654" class="css-a4x74f"><span>28654</span></td><td id="LC28654" class="css-1dcdqdg"><code> calculations.appendData({ </code></td></tr><tr><td id="L28655" class="css-a4x74f"><span>28655</span></td><td id="LC28655" class="css-1dcdqdg"><code> type: <span class="code-string">"WhiteSpace"</span>, </code></td></tr><tr><td id="L28656" class="css-a4x74f"><span>28656</span></td><td id="LC28656" class="css-1dcdqdg"><code> value: <span class="code-string">" "</span> </code></td></tr><tr><td id="L28657" class="css-a4x74f"><span>28657</span></td><td id="LC28657" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28658" class="css-a4x74f"><span>28658</span></td><td id="LC28658" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28659" class="css-a4x74f"><span>28659</span></td><td id="LC28659" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28660" class="css-a4x74f"><span>28660</span></td><td id="LC28660" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28661" class="css-a4x74f"><span>28661</span></td><td id="LC28661" class="css-1dcdqdg"><code> children.insertData({ </code></td></tr><tr><td id="L28662" class="css-a4x74f"><span>28662</span></td><td id="LC28662" class="css-1dcdqdg"><code> type: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L28663" class="css-a4x74f"><span>28663</span></td><td id="LC28663" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28664" class="css-a4x74f"><span>28664</span></td><td id="LC28664" class="css-1dcdqdg"><code> name: <span class="code-string">"calc"</span>, </code></td></tr><tr><td id="L28665" class="css-a4x74f"><span>28665</span></td><td id="LC28665" class="css-1dcdqdg"><code> children: calculations </code></td></tr><tr><td id="L28666" class="css-a4x74f"><span>28666</span></td><td id="LC28666" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28667" class="css-a4x74f"><span>28667</span></td><td id="LC28667" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28668" class="css-a4x74f"><span>28668</span></td><td id="LC28668" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28669" class="css-a4x74f"><span>28669</span></td><td id="LC28669" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28670" class="css-a4x74f"><span>28670</span></td><td id="LC28670" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28671" class="css-a4x74f"><span>28671</span></td><td id="LC28671" class="css-1dcdqdg"><code> important: important, </code></td></tr><tr><td id="L28672" class="css-a4x74f"><span>28672</span></td><td id="LC28672" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28673" class="css-a4x74f"><span>28673</span></td><td id="LC28673" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28674" class="css-a4x74f"><span>28674</span></td><td id="LC28674" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L28675" class="css-a4x74f"><span>28675</span></td><td id="LC28675" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28676" class="css-a4x74f"><span>28676</span></td><td id="LC28676" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L28677" class="css-a4x74f"><span>28677</span></td><td id="LC28677" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28678" class="css-a4x74f"><span>28678</span></td><td id="LC28678" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28679" class="css-a4x74f"><span>28679</span></td><td id="LC28679" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28680" class="css-a4x74f"><span>28680</span></td><td id="LC28680" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28681" class="css-a4x74f"><span>28681</span></td><td id="LC28681" class="css-1dcdqdg"><code> createDimension(property, cssValue, important) { </code></td></tr><tr><td id="L28682" class="css-a4x74f"><span>28682</span></td><td id="LC28682" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28683" class="css-a4x74f"><span>28683</span></td><td id="LC28683" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28684" class="css-a4x74f"><span>28684</span></td><td id="LC28684" class="css-1dcdqdg"><code> children.insertData({ </code></td></tr><tr><td id="L28685" class="css-a4x74f"><span>28685</span></td><td id="LC28685" class="css-1dcdqdg"><code> type: <span class="code-string">"Dimension"</span>, </code></td></tr><tr><td id="L28686" class="css-a4x74f"><span>28686</span></td><td id="LC28686" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28687" class="css-a4x74f"><span>28687</span></td><td id="LC28687" class="css-1dcdqdg"><code> value: cssValue.value, </code></td></tr><tr><td id="L28688" class="css-a4x74f"><span>28688</span></td><td id="LC28688" class="css-1dcdqdg"><code> unit: cssValue.unit </code></td></tr><tr><td id="L28689" class="css-a4x74f"><span>28689</span></td><td id="LC28689" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28690" class="css-a4x74f"><span>28690</span></td><td id="LC28690" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28691" class="css-a4x74f"><span>28691</span></td><td id="LC28691" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28692" class="css-a4x74f"><span>28692</span></td><td id="LC28692" class="css-1dcdqdg"><code> type: <span class="code-string">"Declaration"</span>, </code></td></tr><tr><td id="L28693" class="css-a4x74f"><span>28693</span></td><td id="LC28693" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28694" class="css-a4x74f"><span>28694</span></td><td id="LC28694" class="css-1dcdqdg"><code> important: important, </code></td></tr><tr><td id="L28695" class="css-a4x74f"><span>28695</span></td><td id="LC28695" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28696" class="css-a4x74f"><span>28696</span></td><td id="LC28696" class="css-1dcdqdg"><code> value: { </code></td></tr><tr><td id="L28697" class="css-a4x74f"><span>28697</span></td><td id="LC28697" class="css-1dcdqdg"><code> type: <span class="code-string">"Value"</span>, </code></td></tr><tr><td id="L28698" class="css-a4x74f"><span>28698</span></td><td id="LC28698" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28699" class="css-a4x74f"><span>28699</span></td><td id="LC28699" class="css-1dcdqdg"><code> children: children </code></td></tr><tr><td id="L28700" class="css-a4x74f"><span>28700</span></td><td id="LC28700" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28701" class="css-a4x74f"><span>28701</span></td><td id="LC28701" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28702" class="css-a4x74f"><span>28702</span></td><td id="LC28702" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28703" class="css-a4x74f"><span>28703</span></td><td id="LC28703" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28704" class="css-a4x74f"><span>28704</span></td><td id="LC28704" class="css-1dcdqdg"><code> createBlock(declarations) { </code></td></tr><tr><td id="L28705" class="css-a4x74f"><span>28705</span></td><td id="LC28705" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> block = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28706" class="css-a4x74f"><span>28706</span></td><td id="LC28706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28707" class="css-a4x74f"><span>28707</span></td><td id="LC28707" class="css-1dcdqdg"><code> declarations.forEach(<span class="code-function">(<span class="code-params">declaration</span>) =></span> { </code></td></tr><tr><td id="L28708" class="css-a4x74f"><span>28708</span></td><td id="LC28708" class="css-1dcdqdg"><code> block.insertData(declaration); </code></td></tr><tr><td id="L28709" class="css-a4x74f"><span>28709</span></td><td id="LC28709" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28710" class="css-a4x74f"><span>28710</span></td><td id="LC28710" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28711" class="css-a4x74f"><span>28711</span></td><td id="LC28711" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28712" class="css-a4x74f"><span>28712</span></td><td id="LC28712" class="css-1dcdqdg"><code> type: <span class="code-string">"Block"</span>, </code></td></tr><tr><td id="L28713" class="css-a4x74f"><span>28713</span></td><td id="LC28713" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L28714" class="css-a4x74f"><span>28714</span></td><td id="LC28714" class="css-1dcdqdg"><code> children: block </code></td></tr><tr><td id="L28715" class="css-a4x74f"><span>28715</span></td><td id="LC28715" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28716" class="css-a4x74f"><span>28716</span></td><td id="LC28716" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28717" class="css-a4x74f"><span>28717</span></td><td id="LC28717" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28718" class="css-a4x74f"><span>28718</span></td><td id="LC28718" class="css-1dcdqdg"><code> createRule(selectors, block) { </code></td></tr><tr><td id="L28719" class="css-a4x74f"><span>28719</span></td><td id="LC28719" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectorList = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28720" class="css-a4x74f"><span>28720</span></td><td id="LC28720" class="css-1dcdqdg"><code> selectorList.insertData({ </code></td></tr><tr><td id="L28721" class="css-a4x74f"><span>28721</span></td><td id="LC28721" class="css-1dcdqdg"><code> type: <span class="code-string">"Selector"</span>, </code></td></tr><tr><td id="L28722" class="css-a4x74f"><span>28722</span></td><td id="LC28722" class="css-1dcdqdg"><code> children: selectors </code></td></tr><tr><td id="L28723" class="css-a4x74f"><span>28723</span></td><td id="LC28723" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28724" class="css-a4x74f"><span>28724</span></td><td id="LC28724" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28725" class="css-a4x74f"><span>28725</span></td><td id="LC28725" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">Array</span>.isArray(block)) { </code></td></tr><tr><td id="L28726" class="css-a4x74f"><span>28726</span></td><td id="LC28726" class="css-1dcdqdg"><code> block = <span class="code-keyword">this</span>.createBlock(block); </code></td></tr><tr><td id="L28727" class="css-a4x74f"><span>28727</span></td><td id="LC28727" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28728" class="css-a4x74f"><span>28728</span></td><td id="LC28728" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28729" class="css-a4x74f"><span>28729</span></td><td id="LC28729" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { </code></td></tr><tr><td id="L28730" class="css-a4x74f"><span>28730</span></td><td id="LC28730" class="css-1dcdqdg"><code> type: <span class="code-string">"Rule"</span>, </code></td></tr><tr><td id="L28731" class="css-a4x74f"><span>28731</span></td><td id="LC28731" class="css-1dcdqdg"><code> prelude: { </code></td></tr><tr><td id="L28732" class="css-a4x74f"><span>28732</span></td><td id="LC28732" class="css-1dcdqdg"><code> type: <span class="code-string">"SelectorList"</span>, </code></td></tr><tr><td id="L28733" class="css-a4x74f"><span>28733</span></td><td id="LC28733" class="css-1dcdqdg"><code> children: selectorList </code></td></tr><tr><td id="L28734" class="css-a4x74f"><span>28734</span></td><td id="LC28734" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L28735" class="css-a4x74f"><span>28735</span></td><td id="LC28735" class="css-1dcdqdg"><code> block: block </code></td></tr><tr><td id="L28736" class="css-a4x74f"><span>28736</span></td><td id="LC28736" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28737" class="css-a4x74f"><span>28737</span></td><td id="LC28737" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28738" class="css-a4x74f"><span>28738</span></td><td id="LC28738" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28739" class="css-a4x74f"><span>28739</span></td><td id="LC28739" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28740" class="css-a4x74f"><span>28740</span></td><td id="LC28740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28741" class="css-a4x74f"><span>28741</span></td><td id="LC28741" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Breaks</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L28742" class="css-a4x74f"><span>28742</span></td><td id="LC28742" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L28743" class="css-a4x74f"><span>28743</span></td><td id="LC28743" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L28744" class="css-a4x74f"><span>28744</span></td><td id="LC28744" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28745" class="css-a4x74f"><span>28745</span></td><td id="LC28745" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breaks = {}; </code></td></tr><tr><td id="L28746" class="css-a4x74f"><span>28746</span></td><td id="LC28746" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28747" class="css-a4x74f"><span>28747</span></td><td id="LC28747" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28748" class="css-a4x74f"><span>28748</span></td><td id="LC28748" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L28749" class="css-a4x74f"><span>28749</span></td><td id="LC28749" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> property = declaration.property; </code></td></tr><tr><td id="L28750" class="css-a4x74f"><span>28750</span></td><td id="LC28750" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28751" class="css-a4x74f"><span>28751</span></td><td id="LC28751" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property === <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L28752" class="css-a4x74f"><span>28752</span></td><td id="LC28752" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> children = declaration.value.children.first(); </code></td></tr><tr><td id="L28753" class="css-a4x74f"><span>28753</span></td><td id="LC28753" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = children.name; </code></td></tr><tr><td id="L28754" class="css-a4x74f"><span>28754</span></td><td id="LC28754" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L28755" class="css-a4x74f"><span>28755</span></td><td id="LC28755" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = value; </code></td></tr><tr><td id="L28756" class="css-a4x74f"><span>28756</span></td><td id="LC28756" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28757" class="css-a4x74f"><span>28757</span></td><td id="LC28757" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breaker = { </code></td></tr><tr><td id="L28758" class="css-a4x74f"><span>28758</span></td><td id="LC28758" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28759" class="css-a4x74f"><span>28759</span></td><td id="LC28759" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L28760" class="css-a4x74f"><span>28760</span></td><td id="LC28760" class="css-1dcdqdg"><code> selector: selector, </code></td></tr><tr><td id="L28761" class="css-a4x74f"><span>28761</span></td><td id="LC28761" class="css-1dcdqdg"><code> name: name </code></td></tr><tr><td id="L28762" class="css-a4x74f"><span>28762</span></td><td id="LC28762" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28763" class="css-a4x74f"><span>28763</span></td><td id="LC28763" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28764" class="css-a4x74f"><span>28764</span></td><td id="LC28764" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L28765" class="css-a4x74f"><span>28765</span></td><td id="LC28765" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.breaks[s]) { </code></td></tr><tr><td id="L28766" class="css-a4x74f"><span>28766</span></td><td id="LC28766" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breaks[s] = [breaker]; </code></td></tr><tr><td id="L28767" class="css-a4x74f"><span>28767</span></td><td id="LC28767" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28768" class="css-a4x74f"><span>28768</span></td><td id="LC28768" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breaks[s].push(breaker); </code></td></tr><tr><td id="L28769" class="css-a4x74f"><span>28769</span></td><td id="LC28769" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28770" class="css-a4x74f"><span>28770</span></td><td id="LC28770" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28771" class="css-a4x74f"><span>28771</span></td><td id="LC28771" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28772" class="css-a4x74f"><span>28772</span></td><td id="LC28772" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L28773" class="css-a4x74f"><span>28773</span></td><td id="LC28773" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28774" class="css-a4x74f"><span>28774</span></td><td id="LC28774" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28775" class="css-a4x74f"><span>28775</span></td><td id="LC28775" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property === <span class="code-string">"break-before"</span> || </code></td></tr><tr><td id="L28776" class="css-a4x74f"><span>28776</span></td><td id="LC28776" class="css-1dcdqdg"><code> property === <span class="code-string">"break-after"</span> || </code></td></tr><tr><td id="L28777" class="css-a4x74f"><span>28777</span></td><td id="LC28777" class="css-1dcdqdg"><code> property === <span class="code-string">"page-break-before"</span> || </code></td></tr><tr><td id="L28778" class="css-a4x74f"><span>28778</span></td><td id="LC28778" class="css-1dcdqdg"><code> property === <span class="code-string">"page-break-after"</span> </code></td></tr><tr><td id="L28779" class="css-a4x74f"><span>28779</span></td><td id="LC28779" class="css-1dcdqdg"><code> ) { </code></td></tr><tr><td id="L28780" class="css-a4x74f"><span>28780</span></td><td id="LC28780" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> child = declaration.value.children.first(); </code></td></tr><tr><td id="L28781" class="css-a4x74f"><span>28781</span></td><td id="LC28781" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = child.name; </code></td></tr><tr><td id="L28782" class="css-a4x74f"><span>28782</span></td><td id="LC28782" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L28783" class="css-a4x74f"><span>28783</span></td><td id="LC28783" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28784" class="css-a4x74f"><span>28784</span></td><td id="LC28784" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property === <span class="code-string">"page-break-before"</span>) { </code></td></tr><tr><td id="L28785" class="css-a4x74f"><span>28785</span></td><td id="LC28785" class="css-1dcdqdg"><code> property = <span class="code-string">"break-before"</span>; </code></td></tr><tr><td id="L28786" class="css-a4x74f"><span>28786</span></td><td id="LC28786" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (property === <span class="code-string">"page-break-after"</span>) { </code></td></tr><tr><td id="L28787" class="css-a4x74f"><span>28787</span></td><td id="LC28787" class="css-1dcdqdg"><code> property = <span class="code-string">"break-after"</span>; </code></td></tr><tr><td id="L28788" class="css-a4x74f"><span>28788</span></td><td id="LC28788" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28789" class="css-a4x74f"><span>28789</span></td><td id="LC28789" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28790" class="css-a4x74f"><span>28790</span></td><td id="LC28790" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> breaker = { </code></td></tr><tr><td id="L28791" class="css-a4x74f"><span>28791</span></td><td id="LC28791" class="css-1dcdqdg"><code> property: property, </code></td></tr><tr><td id="L28792" class="css-a4x74f"><span>28792</span></td><td id="LC28792" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L28793" class="css-a4x74f"><span>28793</span></td><td id="LC28793" class="css-1dcdqdg"><code> selector: selector </code></td></tr><tr><td id="L28794" class="css-a4x74f"><span>28794</span></td><td id="LC28794" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L28795" class="css-a4x74f"><span>28795</span></td><td id="LC28795" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28796" class="css-a4x74f"><span>28796</span></td><td id="LC28796" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L28797" class="css-a4x74f"><span>28797</span></td><td id="LC28797" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.breaks[s]) { </code></td></tr><tr><td id="L28798" class="css-a4x74f"><span>28798</span></td><td id="LC28798" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breaks[s] = [breaker]; </code></td></tr><tr><td id="L28799" class="css-a4x74f"><span>28799</span></td><td id="LC28799" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28800" class="css-a4x74f"><span>28800</span></td><td id="LC28800" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.breaks[s].push(breaker); </code></td></tr><tr><td id="L28801" class="css-a4x74f"><span>28801</span></td><td id="LC28801" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28802" class="css-a4x74f"><span>28802</span></td><td id="LC28802" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28803" class="css-a4x74f"><span>28803</span></td><td id="LC28803" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28804" class="css-a4x74f"><span>28804</span></td><td id="LC28804" class="css-1dcdqdg"><code> <span class="code-comment">// Remove from CSS -- handle right / left in module</span> </code></td></tr><tr><td id="L28805" class="css-a4x74f"><span>28805</span></td><td id="LC28805" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L28806" class="css-a4x74f"><span>28806</span></td><td id="LC28806" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28807" class="css-a4x74f"><span>28807</span></td><td id="LC28807" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28808" class="css-a4x74f"><span>28808</span></td><td id="LC28808" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28809" class="css-a4x74f"><span>28809</span></td><td id="LC28809" class="css-1dcdqdg"><code> afterParsed(parsed) { </code></td></tr><tr><td id="L28810" class="css-a4x74f"><span>28810</span></td><td id="LC28810" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processBreaks(parsed, <span class="code-keyword">this</span>.breaks); </code></td></tr><tr><td id="L28811" class="css-a4x74f"><span>28811</span></td><td id="LC28811" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28812" class="css-a4x74f"><span>28812</span></td><td id="LC28812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28813" class="css-a4x74f"><span>28813</span></td><td id="LC28813" class="css-1dcdqdg"><code> processBreaks(parsed, breaks) { </code></td></tr><tr><td id="L28814" class="css-a4x74f"><span>28814</span></td><td id="LC28814" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> b <span class="code-keyword">in</span> breaks) { </code></td></tr><tr><td id="L28815" class="css-a4x74f"><span>28815</span></td><td id="LC28815" class="css-1dcdqdg"><code> <span class="code-comment">// Find elements</span> </code></td></tr><tr><td id="L28816" class="css-a4x74f"><span>28816</span></td><td id="LC28816" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> elements = parsed.querySelectorAll(b); </code></td></tr><tr><td id="L28817" class="css-a4x74f"><span>28817</span></td><td id="LC28817" class="css-1dcdqdg"><code> <span class="code-comment">// Add break data</span> </code></td></tr><tr><td id="L28818" class="css-a4x74f"><span>28818</span></td><td id="LC28818" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < elements.length; i++) { </code></td></tr><tr><td id="L28819" class="css-a4x74f"><span>28819</span></td><td id="LC28819" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> prop <span class="code-keyword">of</span> breaks[b]) { </code></td></tr><tr><td id="L28820" class="css-a4x74f"><span>28820</span></td><td id="LC28820" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28821" class="css-a4x74f"><span>28821</span></td><td id="LC28821" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prop.property === <span class="code-string">"break-after"</span>) { </code></td></tr><tr><td id="L28822" class="css-a4x74f"><span>28822</span></td><td id="LC28822" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nodeAfter = displayedElementAfter(elements[i], parsed); </code></td></tr><tr><td id="L28823" class="css-a4x74f"><span>28823</span></td><td id="LC28823" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28824" class="css-a4x74f"><span>28824</span></td><td id="LC28824" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-break-after"</span>, prop.value); </code></td></tr><tr><td id="L28825" class="css-a4x74f"><span>28825</span></td><td id="LC28825" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28826" class="css-a4x74f"><span>28826</span></td><td id="LC28826" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nodeAfter) { </code></td></tr><tr><td id="L28827" class="css-a4x74f"><span>28827</span></td><td id="LC28827" class="css-1dcdqdg"><code> nodeAfter.setAttribute(<span class="code-string">"data-previous-break-after"</span>, prop.value); </code></td></tr><tr><td id="L28828" class="css-a4x74f"><span>28828</span></td><td id="LC28828" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28829" class="css-a4x74f"><span>28829</span></td><td id="LC28829" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop.property === <span class="code-string">"break-before"</span>) { </code></td></tr><tr><td id="L28830" class="css-a4x74f"><span>28830</span></td><td id="LC28830" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nodeBefore = displayedElementBefore(elements[i], parsed); </code></td></tr><tr><td id="L28831" class="css-a4x74f"><span>28831</span></td><td id="LC28831" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28832" class="css-a4x74f"><span>28832</span></td><td id="LC28832" class="css-1dcdqdg"><code> <span class="code-comment">// Breaks are only allowed between siblings, not between a box and its container.</span> </code></td></tr><tr><td id="L28833" class="css-a4x74f"><span>28833</span></td><td id="LC28833" class="css-1dcdqdg"><code> <span class="code-comment">// If we cannot find a node before we should not break!</span> </code></td></tr><tr><td id="L28834" class="css-a4x74f"><span>28834</span></td><td id="LC28834" class="css-1dcdqdg"><code> <span class="code-comment">// https://drafts.csswg.org/css-break-3/#break-propagation</span> </code></td></tr><tr><td id="L28835" class="css-a4x74f"><span>28835</span></td><td id="LC28835" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nodeBefore) { </code></td></tr><tr><td id="L28836" class="css-a4x74f"><span>28836</span></td><td id="LC28836" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prop.value === <span class="code-string">"page"</span> && needsPageBreak(elements[i], nodeBefore)) { </code></td></tr><tr><td id="L28837" class="css-a4x74f"><span>28837</span></td><td id="LC28837" class="css-1dcdqdg"><code> <span class="code-comment">// we ignore this explicit page break because an implicit page break is already needed</span> </code></td></tr><tr><td id="L28838" class="css-a4x74f"><span>28838</span></td><td id="LC28838" class="css-1dcdqdg"><code> <span class="code-keyword">continue</span>; </code></td></tr><tr><td id="L28839" class="css-a4x74f"><span>28839</span></td><td id="LC28839" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28840" class="css-a4x74f"><span>28840</span></td><td id="LC28840" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-break-before"</span>, prop.value); </code></td></tr><tr><td id="L28841" class="css-a4x74f"><span>28841</span></td><td id="LC28841" class="css-1dcdqdg"><code> nodeBefore.setAttribute(<span class="code-string">"data-next-break-before"</span>, prop.value); </code></td></tr><tr><td id="L28842" class="css-a4x74f"><span>28842</span></td><td id="LC28842" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28843" class="css-a4x74f"><span>28843</span></td><td id="LC28843" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (prop.property === <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L28844" class="css-a4x74f"><span>28844</span></td><td id="LC28844" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-page"</span>, prop.value); </code></td></tr><tr><td id="L28845" class="css-a4x74f"><span>28845</span></td><td id="LC28845" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28846" class="css-a4x74f"><span>28846</span></td><td id="LC28846" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> nodeAfter = displayedElementAfter(elements[i], parsed); </code></td></tr><tr><td id="L28847" class="css-a4x74f"><span>28847</span></td><td id="LC28847" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28848" class="css-a4x74f"><span>28848</span></td><td id="LC28848" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nodeAfter) { </code></td></tr><tr><td id="L28849" class="css-a4x74f"><span>28849</span></td><td id="LC28849" class="css-1dcdqdg"><code> nodeAfter.setAttribute(<span class="code-string">"data-after-page"</span>, prop.value); </code></td></tr><tr><td id="L28850" class="css-a4x74f"><span>28850</span></td><td id="LC28850" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28851" class="css-a4x74f"><span>28851</span></td><td id="LC28851" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28852" class="css-a4x74f"><span>28852</span></td><td id="LC28852" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-"</span> + prop.property, prop.value); </code></td></tr><tr><td id="L28853" class="css-a4x74f"><span>28853</span></td><td id="LC28853" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28854" class="css-a4x74f"><span>28854</span></td><td id="LC28854" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28855" class="css-a4x74f"><span>28855</span></td><td id="LC28855" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28856" class="css-a4x74f"><span>28856</span></td><td id="LC28856" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28857" class="css-a4x74f"><span>28857</span></td><td id="LC28857" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28858" class="css-a4x74f"><span>28858</span></td><td id="LC28858" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28859" class="css-a4x74f"><span>28859</span></td><td id="LC28859" class="css-1dcdqdg"><code> mergeBreaks(pageBreaks, newBreaks) { </code></td></tr><tr><td id="L28860" class="css-a4x74f"><span>28860</span></td><td id="LC28860" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> b <span class="code-keyword">in</span> newBreaks) { </code></td></tr><tr><td id="L28861" class="css-a4x74f"><span>28861</span></td><td id="LC28861" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (b <span class="code-keyword">in</span> pageBreaks) { </code></td></tr><tr><td id="L28862" class="css-a4x74f"><span>28862</span></td><td id="LC28862" class="css-1dcdqdg"><code> pageBreaks[b] = pageBreaks[b].concat(newBreaks[b]); </code></td></tr><tr><td id="L28863" class="css-a4x74f"><span>28863</span></td><td id="LC28863" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28864" class="css-a4x74f"><span>28864</span></td><td id="LC28864" class="css-1dcdqdg"><code> pageBreaks[b] = newBreaks[b]; </code></td></tr><tr><td id="L28865" class="css-a4x74f"><span>28865</span></td><td id="LC28865" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28866" class="css-a4x74f"><span>28866</span></td><td id="LC28866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28867" class="css-a4x74f"><span>28867</span></td><td id="LC28867" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pageBreaks; </code></td></tr><tr><td id="L28868" class="css-a4x74f"><span>28868</span></td><td id="LC28868" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28869" class="css-a4x74f"><span>28869</span></td><td id="LC28869" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28870" class="css-a4x74f"><span>28870</span></td><td id="LC28870" class="css-1dcdqdg"><code> addBreakAttributes(pageElement, page) { </code></td></tr><tr><td id="L28871" class="css-a4x74f"><span>28871</span></td><td id="LC28871" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> before = pageElement.querySelector(<span class="code-string">"[data-break-before]"</span>); </code></td></tr><tr><td id="L28872" class="css-a4x74f"><span>28872</span></td><td id="LC28872" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> after = pageElement.querySelector(<span class="code-string">"[data-break-after]"</span>); </code></td></tr><tr><td id="L28873" class="css-a4x74f"><span>28873</span></td><td id="LC28873" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> previousBreakAfter = pageElement.querySelector(<span class="code-string">"[data-previous-break-after]"</span>); </code></td></tr><tr><td id="L28874" class="css-a4x74f"><span>28874</span></td><td id="LC28874" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28875" class="css-a4x74f"><span>28875</span></td><td id="LC28875" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before) { </code></td></tr><tr><td id="L28876" class="css-a4x74f"><span>28876</span></td><td id="LC28876" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (before.dataset.splitFrom) { </code></td></tr><tr><td id="L28877" class="css-a4x74f"><span>28877</span></td><td id="LC28877" class="css-1dcdqdg"><code> page.splitFrom = before.dataset.splitFrom; </code></td></tr><tr><td id="L28878" class="css-a4x74f"><span>28878</span></td><td id="LC28878" class="css-1dcdqdg"><code> pageElement.setAttribute(<span class="code-string">"data-split-from"</span>, before.dataset.splitFrom); </code></td></tr><tr><td id="L28879" class="css-a4x74f"><span>28879</span></td><td id="LC28879" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (before.dataset.breakBefore && before.dataset.breakBefore !== <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L28880" class="css-a4x74f"><span>28880</span></td><td id="LC28880" class="css-1dcdqdg"><code> page.breakBefore = before.dataset.breakBefore; </code></td></tr><tr><td id="L28881" class="css-a4x74f"><span>28881</span></td><td id="LC28881" class="css-1dcdqdg"><code> pageElement.setAttribute(<span class="code-string">"data-break-before"</span>, before.dataset.breakBefore); </code></td></tr><tr><td id="L28882" class="css-a4x74f"><span>28882</span></td><td id="LC28882" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28883" class="css-a4x74f"><span>28883</span></td><td id="LC28883" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28884" class="css-a4x74f"><span>28884</span></td><td id="LC28884" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28885" class="css-a4x74f"><span>28885</span></td><td id="LC28885" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (after && after.dataset) { </code></td></tr><tr><td id="L28886" class="css-a4x74f"><span>28886</span></td><td id="LC28886" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (after.dataset.splitTo) { </code></td></tr><tr><td id="L28887" class="css-a4x74f"><span>28887</span></td><td id="LC28887" class="css-1dcdqdg"><code> page.splitTo = after.dataset.splitTo; </code></td></tr><tr><td id="L28888" class="css-a4x74f"><span>28888</span></td><td id="LC28888" class="css-1dcdqdg"><code> pageElement.setAttribute(<span class="code-string">"data-split-to"</span>, after.dataset.splitTo); </code></td></tr><tr><td id="L28889" class="css-a4x74f"><span>28889</span></td><td id="LC28889" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (after.dataset.breakAfter && after.dataset.breakAfter !== <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L28890" class="css-a4x74f"><span>28890</span></td><td id="LC28890" class="css-1dcdqdg"><code> page.breakAfter = after.dataset.breakAfter; </code></td></tr><tr><td id="L28891" class="css-a4x74f"><span>28891</span></td><td id="LC28891" class="css-1dcdqdg"><code> pageElement.setAttribute(<span class="code-string">"data-break-after"</span>, after.dataset.breakAfter); </code></td></tr><tr><td id="L28892" class="css-a4x74f"><span>28892</span></td><td id="LC28892" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28893" class="css-a4x74f"><span>28893</span></td><td id="LC28893" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28894" class="css-a4x74f"><span>28894</span></td><td id="LC28894" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28895" class="css-a4x74f"><span>28895</span></td><td id="LC28895" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (previousBreakAfter && previousBreakAfter.dataset) { </code></td></tr><tr><td id="L28896" class="css-a4x74f"><span>28896</span></td><td id="LC28896" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (previousBreakAfter.dataset.previousBreakAfter && previousBreakAfter.dataset.previousBreakAfter !== <span class="code-string">"avoid"</span>) { </code></td></tr><tr><td id="L28897" class="css-a4x74f"><span>28897</span></td><td id="LC28897" class="css-1dcdqdg"><code> page.previousBreakAfter = previousBreakAfter.dataset.previousBreakAfter; </code></td></tr><tr><td id="L28898" class="css-a4x74f"><span>28898</span></td><td id="LC28898" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28899" class="css-a4x74f"><span>28899</span></td><td id="LC28899" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28900" class="css-a4x74f"><span>28900</span></td><td id="LC28900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28901" class="css-a4x74f"><span>28901</span></td><td id="LC28901" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28902" class="css-a4x74f"><span>28902</span></td><td id="LC28902" class="css-1dcdqdg"><code> afterPageLayout(pageElement, page) { </code></td></tr><tr><td id="L28903" class="css-a4x74f"><span>28903</span></td><td id="LC28903" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addBreakAttributes(pageElement, page); </code></td></tr><tr><td id="L28904" class="css-a4x74f"><span>28904</span></td><td id="LC28904" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28905" class="css-a4x74f"><span>28905</span></td><td id="LC28905" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28906" class="css-a4x74f"><span>28906</span></td><td id="LC28906" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28907" class="css-a4x74f"><span>28907</span></td><td id="LC28907" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">PrintMedia</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L28908" class="css-a4x74f"><span>28908</span></td><td id="LC28908" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L28909" class="css-a4x74f"><span>28909</span></td><td id="LC28909" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L28910" class="css-a4x74f"><span>28910</span></td><td id="LC28910" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28911" class="css-a4x74f"><span>28911</span></td><td id="LC28911" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28912" class="css-a4x74f"><span>28912</span></td><td id="LC28912" class="css-1dcdqdg"><code> onAtMedia(node, item, list) { </code></td></tr><tr><td id="L28913" class="css-a4x74f"><span>28913</span></td><td id="LC28913" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> media = <span class="code-keyword">this</span>.getMediaName(node); </code></td></tr><tr><td id="L28914" class="css-a4x74f"><span>28914</span></td><td id="LC28914" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rules; </code></td></tr><tr><td id="L28915" class="css-a4x74f"><span>28915</span></td><td id="LC28915" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28916" class="css-a4x74f"><span>28916</span></td><td id="LC28916" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (media === <span class="code-string">"print"</span>) { </code></td></tr><tr><td id="L28917" class="css-a4x74f"><span>28917</span></td><td id="LC28917" class="css-1dcdqdg"><code> rules = node.block.children; </code></td></tr><tr><td id="L28918" class="css-a4x74f"><span>28918</span></td><td id="LC28918" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28919" class="css-a4x74f"><span>28919</span></td><td id="LC28919" class="css-1dcdqdg"><code> <span class="code-comment">// Remove rules from the @media block</span> </code></td></tr><tr><td id="L28920" class="css-a4x74f"><span>28920</span></td><td id="LC28920" class="css-1dcdqdg"><code> node.block.children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L28921" class="css-a4x74f"><span>28921</span></td><td id="LC28921" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28922" class="css-a4x74f"><span>28922</span></td><td id="LC28922" class="css-1dcdqdg"><code> <span class="code-comment">// Append rules to the end of main rules list</span> </code></td></tr><tr><td id="L28923" class="css-a4x74f"><span>28923</span></td><td id="LC28923" class="css-1dcdqdg"><code> list.appendList(rules); </code></td></tr><tr><td id="L28924" class="css-a4x74f"><span>28924</span></td><td id="LC28924" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28925" class="css-a4x74f"><span>28925</span></td><td id="LC28925" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28926" class="css-a4x74f"><span>28926</span></td><td id="LC28926" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28927" class="css-a4x74f"><span>28927</span></td><td id="LC28927" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28928" class="css-a4x74f"><span>28928</span></td><td id="LC28928" class="css-1dcdqdg"><code> getMediaName(node) { </code></td></tr><tr><td id="L28929" class="css-a4x74f"><span>28929</span></td><td id="LC28929" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> media = <span class="code-string">""</span>; </code></td></tr><tr><td id="L28930" class="css-a4x74f"><span>28930</span></td><td id="LC28930" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28931" class="css-a4x74f"><span>28931</span></td><td id="LC28931" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> node.prelude === <span class="code-string">"undefined"</span> || </code></td></tr><tr><td id="L28932" class="css-a4x74f"><span>28932</span></td><td id="LC28932" class="css-1dcdqdg"><code> node.prelude.type !== <span class="code-string">"AtrulePrelude"</span> ) { </code></td></tr><tr><td id="L28933" class="css-a4x74f"><span>28933</span></td><td id="LC28933" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L28934" class="css-a4x74f"><span>28934</span></td><td id="LC28934" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28935" class="css-a4x74f"><span>28935</span></td><td id="LC28935" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28936" class="css-a4x74f"><span>28936</span></td><td id="LC28936" class="css-1dcdqdg"><code> lib.walk(node.prelude, { </code></td></tr><tr><td id="L28937" class="css-a4x74f"><span>28937</span></td><td id="LC28937" class="css-1dcdqdg"><code> visit: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L28938" class="css-a4x74f"><span>28938</span></td><td id="LC28938" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">identNode, iItem, iList</span>) =></span> { </code></td></tr><tr><td id="L28939" class="css-a4x74f"><span>28939</span></td><td id="LC28939" class="css-1dcdqdg"><code> media = identNode.name; </code></td></tr><tr><td id="L28940" class="css-a4x74f"><span>28940</span></td><td id="LC28940" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28941" class="css-a4x74f"><span>28941</span></td><td id="LC28941" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28942" class="css-a4x74f"><span>28942</span></td><td id="LC28942" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> media; </code></td></tr><tr><td id="L28943" class="css-a4x74f"><span>28943</span></td><td id="LC28943" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28944" class="css-a4x74f"><span>28944</span></td><td id="LC28944" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28945" class="css-a4x74f"><span>28945</span></td><td id="LC28945" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28946" class="css-a4x74f"><span>28946</span></td><td id="LC28946" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28947" class="css-a4x74f"><span>28947</span></td><td id="LC28947" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28948" class="css-a4x74f"><span>28948</span></td><td id="LC28948" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Splits</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L28949" class="css-a4x74f"><span>28949</span></td><td id="LC28949" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L28950" class="css-a4x74f"><span>28950</span></td><td id="LC28950" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L28951" class="css-a4x74f"><span>28951</span></td><td id="LC28951" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28952" class="css-a4x74f"><span>28952</span></td><td id="LC28952" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28953" class="css-a4x74f"><span>28953</span></td><td id="LC28953" class="css-1dcdqdg"><code> afterPageLayout(pageElement, page, breakToken, chunker) { </code></td></tr><tr><td id="L28954" class="css-a4x74f"><span>28954</span></td><td id="LC28954" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> splits = <span class="code-built_in">Array</span>.from(pageElement.querySelectorAll(<span class="code-string">"[data-split-from]"</span>)); </code></td></tr><tr><td id="L28955" class="css-a4x74f"><span>28955</span></td><td id="LC28955" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pages = pageElement.parentNode; </code></td></tr><tr><td id="L28956" class="css-a4x74f"><span>28956</span></td><td id="LC28956" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> index = <span class="code-built_in">Array</span>.prototype.indexOf.call(pages.children, pageElement); </code></td></tr><tr><td id="L28957" class="css-a4x74f"><span>28957</span></td><td id="LC28957" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> prevPage; </code></td></tr><tr><td id="L28958" class="css-a4x74f"><span>28958</span></td><td id="LC28958" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28959" class="css-a4x74f"><span>28959</span></td><td id="LC28959" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L28960" class="css-a4x74f"><span>28960</span></td><td id="LC28960" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L28961" class="css-a4x74f"><span>28961</span></td><td id="LC28961" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28962" class="css-a4x74f"><span>28962</span></td><td id="LC28962" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28963" class="css-a4x74f"><span>28963</span></td><td id="LC28963" class="css-1dcdqdg"><code> prevPage = pages.children[index - <span class="code-number">1</span>]; </code></td></tr><tr><td id="L28964" class="css-a4x74f"><span>28964</span></td><td id="LC28964" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28965" class="css-a4x74f"><span>28965</span></td><td id="LC28965" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> <span class="code-keyword">from</span>; <span class="code-comment">// Capture the last from element</span> </code></td></tr><tr><td id="L28966" class="css-a4x74f"><span>28966</span></td><td id="LC28966" class="css-1dcdqdg"><code> splits.forEach(<span class="code-function">(<span class="code-params">split</span>) =></span> { </code></td></tr><tr><td id="L28967" class="css-a4x74f"><span>28967</span></td><td id="LC28967" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> ref = split.dataset.ref; </code></td></tr><tr><td id="L28968" class="css-a4x74f"><span>28968</span></td><td id="LC28968" class="css-1dcdqdg"><code> <span class="code-keyword">from</span> = prevPage.querySelector(<span class="code-string">"[data-ref='"</span>+ ref +<span class="code-string">"']:not([data-split-to])"</span>); </code></td></tr><tr><td id="L28969" class="css-a4x74f"><span>28969</span></td><td id="LC28969" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28970" class="css-a4x74f"><span>28970</span></td><td id="LC28970" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">from</span>) { </code></td></tr><tr><td id="L28971" class="css-a4x74f"><span>28971</span></td><td id="LC28971" class="css-1dcdqdg"><code> <span class="code-keyword">from</span>.dataset.splitTo = ref; </code></td></tr><tr><td id="L28972" class="css-a4x74f"><span>28972</span></td><td id="LC28972" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28973" class="css-a4x74f"><span>28973</span></td><td id="LC28973" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">from</span>.dataset.splitFrom) { </code></td></tr><tr><td id="L28974" class="css-a4x74f"><span>28974</span></td><td id="LC28974" class="css-1dcdqdg"><code> <span class="code-keyword">from</span>.dataset.splitOriginal = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L28975" class="css-a4x74f"><span>28975</span></td><td id="LC28975" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28976" class="css-a4x74f"><span>28976</span></td><td id="LC28976" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28977" class="css-a4x74f"><span>28977</span></td><td id="LC28977" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L28978" class="css-a4x74f"><span>28978</span></td><td id="LC28978" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28979" class="css-a4x74f"><span>28979</span></td><td id="LC28979" class="css-1dcdqdg"><code> <span class="code-comment">// Fix alignment on the deepest split element</span> </code></td></tr><tr><td id="L28980" class="css-a4x74f"><span>28980</span></td><td id="LC28980" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">from</span>) { </code></td></tr><tr><td id="L28981" class="css-a4x74f"><span>28981</span></td><td id="LC28981" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.handleAlignment(<span class="code-keyword">from</span>); </code></td></tr><tr><td id="L28982" class="css-a4x74f"><span>28982</span></td><td id="LC28982" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28983" class="css-a4x74f"><span>28983</span></td><td id="LC28983" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28984" class="css-a4x74f"><span>28984</span></td><td id="LC28984" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28985" class="css-a4x74f"><span>28985</span></td><td id="LC28985" class="css-1dcdqdg"><code> handleAlignment(node) { </code></td></tr><tr><td id="L28986" class="css-a4x74f"><span>28986</span></td><td id="LC28986" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> styles = <span class="code-built_in">window</span>.getComputedStyle(node); </code></td></tr><tr><td id="L28987" class="css-a4x74f"><span>28987</span></td><td id="LC28987" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> align = styles[<span class="code-string">"text-align"</span>]; </code></td></tr><tr><td id="L28988" class="css-a4x74f"><span>28988</span></td><td id="LC28988" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> alignLast = styles[<span class="code-string">"text-align-last"</span>]; </code></td></tr><tr><td id="L28989" class="css-a4x74f"><span>28989</span></td><td id="LC28989" class="css-1dcdqdg"><code> node.dataset.lastSplitElement = <span class="code-string">"true"</span>; </code></td></tr><tr><td id="L28990" class="css-a4x74f"><span>28990</span></td><td id="LC28990" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (align === <span class="code-string">"justify"</span> && alignLast === <span class="code-string">"auto"</span>) { </code></td></tr><tr><td id="L28991" class="css-a4x74f"><span>28991</span></td><td id="LC28991" class="css-1dcdqdg"><code> node.dataset.alignLastSplitElement = <span class="code-string">"justify"</span>; </code></td></tr><tr><td id="L28992" class="css-a4x74f"><span>28992</span></td><td id="LC28992" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L28993" class="css-a4x74f"><span>28993</span></td><td id="LC28993" class="css-1dcdqdg"><code> node.dataset.alignLastSplitElement = alignLast; </code></td></tr><tr><td id="L28994" class="css-a4x74f"><span>28994</span></td><td id="LC28994" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28995" class="css-a4x74f"><span>28995</span></td><td id="LC28995" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28996" class="css-a4x74f"><span>28996</span></td><td id="LC28996" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28997" class="css-a4x74f"><span>28997</span></td><td id="LC28997" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L28998" class="css-a4x74f"><span>28998</span></td><td id="LC28998" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L28999" class="css-a4x74f"><span>28999</span></td><td id="LC28999" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Counters</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29000" class="css-a4x74f"><span>29000</span></td><td id="LC29000" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29001" class="css-a4x74f"><span>29001</span></td><td id="LC29001" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29002" class="css-a4x74f"><span>29002</span></td><td id="LC29002" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29003" class="css-a4x74f"><span>29003</span></td><td id="LC29003" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29004" class="css-a4x74f"><span>29004</span></td><td id="LC29004" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.counters = {}; </code></td></tr><tr><td id="L29005" class="css-a4x74f"><span>29005</span></td><td id="LC29005" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.resetCountersMap = <span class="code-keyword">new</span> <span class="code-built_in">Map</span>(); </code></td></tr><tr><td id="L29006" class="css-a4x74f"><span>29006</span></td><td id="LC29006" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29007" class="css-a4x74f"><span>29007</span></td><td id="LC29007" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29008" class="css-a4x74f"><span>29008</span></td><td id="LC29008" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L29009" class="css-a4x74f"><span>29009</span></td><td id="LC29009" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> property = declaration.property; </code></td></tr><tr><td id="L29010" class="css-a4x74f"><span>29010</span></td><td id="LC29010" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29011" class="css-a4x74f"><span>29011</span></td><td id="LC29011" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property === <span class="code-string">"counter-increment"</span>) { </code></td></tr><tr><td id="L29012" class="css-a4x74f"><span>29012</span></td><td id="LC29012" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> inc = <span class="code-keyword">this</span>.handleIncrement(declaration, rule); </code></td></tr><tr><td id="L29013" class="css-a4x74f"><span>29013</span></td><td id="LC29013" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (inc) { </code></td></tr><tr><td id="L29014" class="css-a4x74f"><span>29014</span></td><td id="LC29014" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L29015" class="css-a4x74f"><span>29015</span></td><td id="LC29015" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29016" class="css-a4x74f"><span>29016</span></td><td id="LC29016" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (property === <span class="code-string">"counter-reset"</span>) { </code></td></tr><tr><td id="L29017" class="css-a4x74f"><span>29017</span></td><td id="LC29017" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> reset = <span class="code-keyword">this</span>.handleReset(declaration, rule); </code></td></tr><tr><td id="L29018" class="css-a4x74f"><span>29018</span></td><td id="LC29018" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (reset) { </code></td></tr><tr><td id="L29019" class="css-a4x74f"><span>29019</span></td><td id="LC29019" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L29020" class="css-a4x74f"><span>29020</span></td><td id="LC29020" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29021" class="css-a4x74f"><span>29021</span></td><td id="LC29021" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29022" class="css-a4x74f"><span>29022</span></td><td id="LC29022" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29023" class="css-a4x74f"><span>29023</span></td><td id="LC29023" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29024" class="css-a4x74f"><span>29024</span></td><td id="LC29024" class="css-1dcdqdg"><code> onContent(funcNode, fItem, fList, declaration, rule) { </code></td></tr><tr><td id="L29025" class="css-a4x74f"><span>29025</span></td><td id="LC29025" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (funcNode.name === <span class="code-string">"counter"</span>) ; </code></td></tr><tr><td id="L29026" class="css-a4x74f"><span>29026</span></td><td id="LC29026" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29027" class="css-a4x74f"><span>29027</span></td><td id="LC29027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29028" class="css-a4x74f"><span>29028</span></td><td id="LC29028" class="css-1dcdqdg"><code> afterParsed(parsed) { </code></td></tr><tr><td id="L29029" class="css-a4x74f"><span>29029</span></td><td id="LC29029" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processCounters(parsed, <span class="code-keyword">this</span>.counters); </code></td></tr><tr><td id="L29030" class="css-a4x74f"><span>29030</span></td><td id="LC29030" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.scopeCounters(<span class="code-keyword">this</span>.counters); </code></td></tr><tr><td id="L29031" class="css-a4x74f"><span>29031</span></td><td id="LC29031" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29032" class="css-a4x74f"><span>29032</span></td><td id="LC29032" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29033" class="css-a4x74f"><span>29033</span></td><td id="LC29033" class="css-1dcdqdg"><code> addCounter(name) { </code></td></tr><tr><td id="L29034" class="css-a4x74f"><span>29034</span></td><td id="LC29034" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name <span class="code-keyword">in</span> <span class="code-keyword">this</span>.counters) { </code></td></tr><tr><td id="L29035" class="css-a4x74f"><span>29035</span></td><td id="LC29035" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.counters[name]; </code></td></tr><tr><td id="L29036" class="css-a4x74f"><span>29036</span></td><td id="LC29036" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29037" class="css-a4x74f"><span>29037</span></td><td id="LC29037" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29038" class="css-a4x74f"><span>29038</span></td><td id="LC29038" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.counters[name] = { </code></td></tr><tr><td id="L29039" class="css-a4x74f"><span>29039</span></td><td id="LC29039" class="css-1dcdqdg"><code> name: name, </code></td></tr><tr><td id="L29040" class="css-a4x74f"><span>29040</span></td><td id="LC29040" class="css-1dcdqdg"><code> increments: {}, </code></td></tr><tr><td id="L29041" class="css-a4x74f"><span>29041</span></td><td id="LC29041" class="css-1dcdqdg"><code> resets: {} </code></td></tr><tr><td id="L29042" class="css-a4x74f"><span>29042</span></td><td id="LC29042" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29043" class="css-a4x74f"><span>29043</span></td><td id="LC29043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29044" class="css-a4x74f"><span>29044</span></td><td id="LC29044" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.counters[name]; </code></td></tr><tr><td id="L29045" class="css-a4x74f"><span>29045</span></td><td id="LC29045" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29046" class="css-a4x74f"><span>29046</span></td><td id="LC29046" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29047" class="css-a4x74f"><span>29047</span></td><td id="LC29047" class="css-1dcdqdg"><code> handleIncrement(declaration, rule) { </code></td></tr><tr><td id="L29048" class="css-a4x74f"><span>29048</span></td><td id="LC29048" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> identifier = declaration.value.children.first(); </code></td></tr><tr><td id="L29049" class="css-a4x74f"><span>29049</span></td><td id="LC29049" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> number = declaration.value.children.getSize() > <span class="code-number">1</span> ? declaration.value.children.last().value : <span class="code-number">1</span>; </code></td></tr><tr><td id="L29050" class="css-a4x74f"><span>29050</span></td><td id="LC29050" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> name = identifier && identifier.name; </code></td></tr><tr><td id="L29051" class="css-a4x74f"><span>29051</span></td><td id="LC29051" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29052" class="css-a4x74f"><span>29052</span></td><td id="LC29052" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-string">"page"</span> || name.indexOf(<span class="code-string">"target-counter-"</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L29053" class="css-a4x74f"><span>29053</span></td><td id="LC29053" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29054" class="css-a4x74f"><span>29054</span></td><td id="LC29054" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29055" class="css-a4x74f"><span>29055</span></td><td id="LC29055" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29056" class="css-a4x74f"><span>29056</span></td><td id="LC29056" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29057" class="css-a4x74f"><span>29057</span></td><td id="LC29057" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29058" class="css-a4x74f"><span>29058</span></td><td id="LC29058" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> counter; </code></td></tr><tr><td id="L29059" class="css-a4x74f"><span>29059</span></td><td id="LC29059" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!(name <span class="code-keyword">in</span> <span class="code-keyword">this</span>.counters)) { </code></td></tr><tr><td id="L29060" class="css-a4x74f"><span>29060</span></td><td id="LC29060" class="css-1dcdqdg"><code> counter = <span class="code-keyword">this</span>.addCounter(name); </code></td></tr><tr><td id="L29061" class="css-a4x74f"><span>29061</span></td><td id="LC29061" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29062" class="css-a4x74f"><span>29062</span></td><td id="LC29062" class="css-1dcdqdg"><code> counter = <span class="code-keyword">this</span>.counters[name]; </code></td></tr><tr><td id="L29063" class="css-a4x74f"><span>29063</span></td><td id="LC29063" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29064" class="css-a4x74f"><span>29064</span></td><td id="LC29064" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29065" class="css-a4x74f"><span>29065</span></td><td id="LC29065" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> counter.increments[selector] = { </code></td></tr><tr><td id="L29066" class="css-a4x74f"><span>29066</span></td><td id="LC29066" class="css-1dcdqdg"><code> selector: selector, </code></td></tr><tr><td id="L29067" class="css-a4x74f"><span>29067</span></td><td id="LC29067" class="css-1dcdqdg"><code> number </code></td></tr><tr><td id="L29068" class="css-a4x74f"><span>29068</span></td><td id="LC29068" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29069" class="css-a4x74f"><span>29069</span></td><td id="LC29069" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29070" class="css-a4x74f"><span>29070</span></td><td id="LC29070" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29071" class="css-a4x74f"><span>29071</span></td><td id="LC29071" class="css-1dcdqdg"><code> handleReset(declaration, rule) { </code></td></tr><tr><td id="L29072" class="css-a4x74f"><span>29072</span></td><td id="LC29072" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> identifier = declaration.value.children.first(); </code></td></tr><tr><td id="L29073" class="css-a4x74f"><span>29073</span></td><td id="LC29073" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> number = declaration.value.children.getSize() > <span class="code-number">1</span> </code></td></tr><tr><td id="L29074" class="css-a4x74f"><span>29074</span></td><td id="LC29074" class="css-1dcdqdg"><code> && declaration.value.children.last().value; </code></td></tr><tr><td id="L29075" class="css-a4x74f"><span>29075</span></td><td id="LC29075" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> name = identifier && identifier.name; </code></td></tr><tr><td id="L29076" class="css-a4x74f"><span>29076</span></td><td id="LC29076" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29077" class="css-a4x74f"><span>29077</span></td><td id="LC29077" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> counter; </code></td></tr><tr><td id="L29078" class="css-a4x74f"><span>29078</span></td><td id="LC29078" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29079" class="css-a4x74f"><span>29079</span></td><td id="LC29079" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!(name <span class="code-keyword">in</span> <span class="code-keyword">this</span>.counters)) { </code></td></tr><tr><td id="L29080" class="css-a4x74f"><span>29080</span></td><td id="LC29080" class="css-1dcdqdg"><code> counter = <span class="code-keyword">this</span>.addCounter(name); </code></td></tr><tr><td id="L29081" class="css-a4x74f"><span>29081</span></td><td id="LC29081" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29082" class="css-a4x74f"><span>29082</span></td><td id="LC29082" class="css-1dcdqdg"><code> counter = <span class="code-keyword">this</span>.counters[name]; </code></td></tr><tr><td id="L29083" class="css-a4x74f"><span>29083</span></td><td id="LC29083" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29084" class="css-a4x74f"><span>29084</span></td><td id="LC29084" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29085" class="css-a4x74f"><span>29085</span></td><td id="LC29085" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> counter.resets[selector] = { </code></td></tr><tr><td id="L29086" class="css-a4x74f"><span>29086</span></td><td id="LC29086" class="css-1dcdqdg"><code> selector: selector, </code></td></tr><tr><td id="L29087" class="css-a4x74f"><span>29087</span></td><td id="LC29087" class="css-1dcdqdg"><code> number: number || <span class="code-number">0</span> </code></td></tr><tr><td id="L29088" class="css-a4x74f"><span>29088</span></td><td id="LC29088" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29089" class="css-a4x74f"><span>29089</span></td><td id="LC29089" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29090" class="css-a4x74f"><span>29090</span></td><td id="LC29090" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29091" class="css-a4x74f"><span>29091</span></td><td id="LC29091" class="css-1dcdqdg"><code> processCounters(parsed, counters) { </code></td></tr><tr><td id="L29092" class="css-a4x74f"><span>29092</span></td><td id="LC29092" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> counter; </code></td></tr><tr><td id="L29093" class="css-a4x74f"><span>29093</span></td><td id="LC29093" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> c <span class="code-keyword">in</span> counters) { </code></td></tr><tr><td id="L29094" class="css-a4x74f"><span>29094</span></td><td id="LC29094" class="css-1dcdqdg"><code> counter = <span class="code-keyword">this</span>.counters[c]; </code></td></tr><tr><td id="L29095" class="css-a4x74f"><span>29095</span></td><td id="LC29095" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processCounterIncrements(parsed, counter); </code></td></tr><tr><td id="L29096" class="css-a4x74f"><span>29096</span></td><td id="LC29096" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processCounterResets(parsed, counter); </code></td></tr><tr><td id="L29097" class="css-a4x74f"><span>29097</span></td><td id="LC29097" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (c !== <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L29098" class="css-a4x74f"><span>29098</span></td><td id="LC29098" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addCounterValues(parsed, counter); </code></td></tr><tr><td id="L29099" class="css-a4x74f"><span>29099</span></td><td id="LC29099" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29100" class="css-a4x74f"><span>29100</span></td><td id="LC29100" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29101" class="css-a4x74f"><span>29101</span></td><td id="LC29101" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29102" class="css-a4x74f"><span>29102</span></td><td id="LC29102" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29103" class="css-a4x74f"><span>29103</span></td><td id="LC29103" class="css-1dcdqdg"><code> scopeCounters(counters) { </code></td></tr><tr><td id="L29104" class="css-a4x74f"><span>29104</span></td><td id="LC29104" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> countersArray = []; </code></td></tr><tr><td id="L29105" class="css-a4x74f"><span>29105</span></td><td id="LC29105" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> c <span class="code-keyword">in</span> counters) { </code></td></tr><tr><td id="L29106" class="css-a4x74f"><span>29106</span></td><td id="LC29106" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(c !== <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L29107" class="css-a4x74f"><span>29107</span></td><td id="LC29107" class="css-1dcdqdg"><code> countersArray.push(<span class="code-string">`<span class="code-subst">${counters[c].name}</span> 0`</span>); </code></td></tr><tr><td id="L29108" class="css-a4x74f"><span>29108</span></td><td id="LC29108" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29109" class="css-a4x74f"><span>29109</span></td><td id="LC29109" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29110" class="css-a4x74f"><span>29110</span></td><td id="LC29110" class="css-1dcdqdg"><code> <span class="code-comment">// Add to pages to allow cross page scope</span> </code></td></tr><tr><td id="L29111" class="css-a4x74f"><span>29111</span></td><td id="LC29111" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insertRule(<span class="code-string">`.pagedjs_pages { counter-reset: <span class="code-subst">${countersArray.join(<span class="code-string">" "</span>)}</span> page 0 pages var(--pagedjs-page-count)}`</span>); </code></td></tr><tr><td id="L29112" class="css-a4x74f"><span>29112</span></td><td id="LC29112" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29113" class="css-a4x74f"><span>29113</span></td><td id="LC29113" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29114" class="css-a4x74f"><span>29114</span></td><td id="LC29114" class="css-1dcdqdg"><code> insertRule(rule) { </code></td></tr><tr><td id="L29115" class="css-a4x74f"><span>29115</span></td><td id="LC29115" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(rule, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29116" class="css-a4x74f"><span>29116</span></td><td id="LC29116" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29117" class="css-a4x74f"><span>29117</span></td><td id="LC29117" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29118" class="css-a4x74f"><span>29118</span></td><td id="LC29118" class="css-1dcdqdg"><code> processCounterIncrements(parsed, counter) { </code></td></tr><tr><td id="L29119" class="css-a4x74f"><span>29119</span></td><td id="LC29119" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> increment; </code></td></tr><tr><td id="L29120" class="css-a4x74f"><span>29120</span></td><td id="LC29120" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> inc <span class="code-keyword">in</span> counter.increments) { </code></td></tr><tr><td id="L29121" class="css-a4x74f"><span>29121</span></td><td id="LC29121" class="css-1dcdqdg"><code> increment = counter.increments[inc]; </code></td></tr><tr><td id="L29122" class="css-a4x74f"><span>29122</span></td><td id="LC29122" class="css-1dcdqdg"><code> <span class="code-comment">// Find elements for increments</span> </code></td></tr><tr><td id="L29123" class="css-a4x74f"><span>29123</span></td><td id="LC29123" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> incrementElements = parsed.querySelectorAll(increment.selector); </code></td></tr><tr><td id="L29124" class="css-a4x74f"><span>29124</span></td><td id="LC29124" class="css-1dcdqdg"><code> <span class="code-comment">// Add counter data</span> </code></td></tr><tr><td id="L29125" class="css-a4x74f"><span>29125</span></td><td id="LC29125" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < incrementElements.length; i++) { </code></td></tr><tr><td id="L29126" class="css-a4x74f"><span>29126</span></td><td id="LC29126" class="css-1dcdqdg"><code> incrementElements[i].setAttribute(<span class="code-string">"data-counter-"</span>+ counter.name +<span class="code-string">"-increment"</span>, increment.number); </code></td></tr><tr><td id="L29127" class="css-a4x74f"><span>29127</span></td><td id="LC29127" class="css-1dcdqdg"><code> incrementElements[i].setAttribute(<span class="code-string">"data-counter-increment"</span>, counter.name); </code></td></tr><tr><td id="L29128" class="css-a4x74f"><span>29128</span></td><td id="LC29128" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29129" class="css-a4x74f"><span>29129</span></td><td id="LC29129" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29130" class="css-a4x74f"><span>29130</span></td><td id="LC29130" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29131" class="css-a4x74f"><span>29131</span></td><td id="LC29131" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29132" class="css-a4x74f"><span>29132</span></td><td id="LC29132" class="css-1dcdqdg"><code> processCounterResets(parsed, counter) { </code></td></tr><tr><td id="L29133" class="css-a4x74f"><span>29133</span></td><td id="LC29133" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> reset; </code></td></tr><tr><td id="L29134" class="css-a4x74f"><span>29134</span></td><td id="LC29134" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> r <span class="code-keyword">in</span> counter.resets) { </code></td></tr><tr><td id="L29135" class="css-a4x74f"><span>29135</span></td><td id="LC29135" class="css-1dcdqdg"><code> reset = counter.resets[r]; </code></td></tr><tr><td id="L29136" class="css-a4x74f"><span>29136</span></td><td id="LC29136" class="css-1dcdqdg"><code> <span class="code-comment">// Find elements for resets</span> </code></td></tr><tr><td id="L29137" class="css-a4x74f"><span>29137</span></td><td id="LC29137" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> resetElements = parsed.querySelectorAll(reset.selector); </code></td></tr><tr><td id="L29138" class="css-a4x74f"><span>29138</span></td><td id="LC29138" class="css-1dcdqdg"><code> <span class="code-comment">// Add counter data</span> </code></td></tr><tr><td id="L29139" class="css-a4x74f"><span>29139</span></td><td id="LC29139" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < resetElements.length; i++) { </code></td></tr><tr><td id="L29140" class="css-a4x74f"><span>29140</span></td><td id="LC29140" class="css-1dcdqdg"><code> resetElements[i].setAttribute(<span class="code-string">"data-counter-"</span>+ counter.name +<span class="code-string">"-reset"</span>, reset.number); </code></td></tr><tr><td id="L29141" class="css-a4x74f"><span>29141</span></td><td id="LC29141" class="css-1dcdqdg"><code> resetElements[i].setAttribute(<span class="code-string">"data-counter-reset"</span>, counter.name); </code></td></tr><tr><td id="L29142" class="css-a4x74f"><span>29142</span></td><td id="LC29142" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29143" class="css-a4x74f"><span>29143</span></td><td id="LC29143" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29144" class="css-a4x74f"><span>29144</span></td><td id="LC29144" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29145" class="css-a4x74f"><span>29145</span></td><td id="LC29145" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29146" class="css-a4x74f"><span>29146</span></td><td id="LC29146" class="css-1dcdqdg"><code> addCounterValues(parsed, counter) { </code></td></tr><tr><td id="L29147" class="css-a4x74f"><span>29147</span></td><td id="LC29147" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> counterName = counter.name; </code></td></tr><tr><td id="L29148" class="css-a4x74f"><span>29148</span></td><td id="LC29148" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> elements = parsed.querySelectorAll(<span class="code-string">"[data-counter-"</span>+ counterName +<span class="code-string">"-reset], [data-counter-"</span>+ counterName +<span class="code-string">"-increment]"</span>); </code></td></tr><tr><td id="L29149" class="css-a4x74f"><span>29149</span></td><td id="LC29149" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29150" class="css-a4x74f"><span>29150</span></td><td id="LC29150" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> count = <span class="code-number">0</span>; </code></td></tr><tr><td id="L29151" class="css-a4x74f"><span>29151</span></td><td id="LC29151" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element; </code></td></tr><tr><td id="L29152" class="css-a4x74f"><span>29152</span></td><td id="LC29152" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> increment, reset; </code></td></tr><tr><td id="L29153" class="css-a4x74f"><span>29153</span></td><td id="LC29153" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> resetValue, incrementValue, resetDelta; </code></td></tr><tr><td id="L29154" class="css-a4x74f"><span>29154</span></td><td id="LC29154" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> incrementArray; </code></td></tr><tr><td id="L29155" class="css-a4x74f"><span>29155</span></td><td id="LC29155" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29156" class="css-a4x74f"><span>29156</span></td><td id="LC29156" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < elements.length; i++) { </code></td></tr><tr><td id="L29157" class="css-a4x74f"><span>29157</span></td><td id="LC29157" class="css-1dcdqdg"><code> element = elements[i]; </code></td></tr><tr><td id="L29158" class="css-a4x74f"><span>29158</span></td><td id="LC29158" class="css-1dcdqdg"><code> resetDelta = <span class="code-number">0</span>; </code></td></tr><tr><td id="L29159" class="css-a4x74f"><span>29159</span></td><td id="LC29159" class="css-1dcdqdg"><code> incrementArray = []; </code></td></tr><tr><td id="L29160" class="css-a4x74f"><span>29160</span></td><td id="LC29160" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29161" class="css-a4x74f"><span>29161</span></td><td id="LC29161" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element.hasAttribute(<span class="code-string">"data-counter-"</span>+ counterName +<span class="code-string">"-reset"</span>)) { </code></td></tr><tr><td id="L29162" class="css-a4x74f"><span>29162</span></td><td id="LC29162" class="css-1dcdqdg"><code> reset = element.getAttribute(<span class="code-string">"data-counter-"</span>+ counterName +<span class="code-string">"-reset"</span>); </code></td></tr><tr><td id="L29163" class="css-a4x74f"><span>29163</span></td><td id="LC29163" class="css-1dcdqdg"><code> resetValue = <span class="code-built_in">parseInt</span>(reset); </code></td></tr><tr><td id="L29164" class="css-a4x74f"><span>29164</span></td><td id="LC29164" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29165" class="css-a4x74f"><span>29165</span></td><td id="LC29165" class="css-1dcdqdg"><code> <span class="code-comment">// Use negative increment value inplace of reset</span> </code></td></tr><tr><td id="L29166" class="css-a4x74f"><span>29166</span></td><td id="LC29166" class="css-1dcdqdg"><code> resetDelta = resetValue - count; </code></td></tr><tr><td id="L29167" class="css-a4x74f"><span>29167</span></td><td id="LC29167" class="css-1dcdqdg"><code> incrementArray.push(<span class="code-string">`<span class="code-subst">${counterName}</span> <span class="code-subst">${resetDelta}</span>`</span>); </code></td></tr><tr><td id="L29168" class="css-a4x74f"><span>29168</span></td><td id="LC29168" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29169" class="css-a4x74f"><span>29169</span></td><td id="LC29169" class="css-1dcdqdg"><code> count = resetValue; </code></td></tr><tr><td id="L29170" class="css-a4x74f"><span>29170</span></td><td id="LC29170" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29171" class="css-a4x74f"><span>29171</span></td><td id="LC29171" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29172" class="css-a4x74f"><span>29172</span></td><td id="LC29172" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element.hasAttribute(<span class="code-string">"data-counter-"</span>+ counterName +<span class="code-string">"-increment"</span>)) { </code></td></tr><tr><td id="L29173" class="css-a4x74f"><span>29173</span></td><td id="LC29173" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29174" class="css-a4x74f"><span>29174</span></td><td id="LC29174" class="css-1dcdqdg"><code> increment = element.getAttribute(<span class="code-string">"data-counter-"</span>+ counterName +<span class="code-string">"-increment"</span>); </code></td></tr><tr><td id="L29175" class="css-a4x74f"><span>29175</span></td><td id="LC29175" class="css-1dcdqdg"><code> incrementValue = <span class="code-built_in">parseInt</span>(increment); </code></td></tr><tr><td id="L29176" class="css-a4x74f"><span>29176</span></td><td id="LC29176" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29177" class="css-a4x74f"><span>29177</span></td><td id="LC29177" class="css-1dcdqdg"><code> count += incrementValue; </code></td></tr><tr><td id="L29178" class="css-a4x74f"><span>29178</span></td><td id="LC29178" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29179" class="css-a4x74f"><span>29179</span></td><td id="LC29179" class="css-1dcdqdg"><code> element.setAttribute(<span class="code-string">"data-counter-"</span>+counterName+<span class="code-string">"-value"</span>, count); </code></td></tr><tr><td id="L29180" class="css-a4x74f"><span>29180</span></td><td id="LC29180" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29181" class="css-a4x74f"><span>29181</span></td><td id="LC29181" class="css-1dcdqdg"><code> incrementArray.push(<span class="code-string">`<span class="code-subst">${counterName}</span> <span class="code-subst">${incrementValue}</span>`</span>); </code></td></tr><tr><td id="L29182" class="css-a4x74f"><span>29182</span></td><td id="LC29182" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29183" class="css-a4x74f"><span>29183</span></td><td id="LC29183" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29184" class="css-a4x74f"><span>29184</span></td><td id="LC29184" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (incrementArray.length > <span class="code-number">0</span>) { </code></td></tr><tr><td id="L29185" class="css-a4x74f"><span>29185</span></td><td id="LC29185" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.incrementCounterForElement(element, incrementArray); </code></td></tr><tr><td id="L29186" class="css-a4x74f"><span>29186</span></td><td id="LC29186" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29187" class="css-a4x74f"><span>29187</span></td><td id="LC29187" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29188" class="css-a4x74f"><span>29188</span></td><td id="LC29188" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29189" class="css-a4x74f"><span>29189</span></td><td id="LC29189" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29190" class="css-a4x74f"><span>29190</span></td><td id="LC29190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29191" class="css-a4x74f"><span>29191</span></td><td id="LC29191" class="css-1dcdqdg"><code> incrementCounterForElement(element, incrementArray) { </code></td></tr><tr><td id="L29192" class="css-a4x74f"><span>29192</span></td><td id="LC29192" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!element || !incrementArray || incrementArray.length === <span class="code-number">0</span>) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29193" class="css-a4x74f"><span>29193</span></td><td id="LC29193" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29194" class="css-a4x74f"><span>29194</span></td><td id="LC29194" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> ref = element.dataset.ref; </code></td></tr><tr><td id="L29195" class="css-a4x74f"><span>29195</span></td><td id="LC29195" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> prevIncrements = <span class="code-built_in">Array</span>.from(<span class="code-keyword">this</span>.styleSheet.cssRules).filter(<span class="code-function">(<span class="code-params">rule</span>) =></span> { </code></td></tr><tr><td id="L29196" class="css-a4x74f"><span>29196</span></td><td id="LC29196" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> rule.selectorText === <span class="code-string">`[data-ref="<span class="code-subst">${element.dataset.ref}</span>"]:not([data-split-from])`</span> </code></td></tr><tr><td id="L29197" class="css-a4x74f"><span>29197</span></td><td id="LC29197" class="css-1dcdqdg"><code> && rule.style[<span class="code-number">0</span>] === <span class="code-string">"counter-increment"</span>; </code></td></tr><tr><td id="L29198" class="css-a4x74f"><span>29198</span></td><td id="LC29198" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29199" class="css-a4x74f"><span>29199</span></td><td id="LC29199" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29200" class="css-a4x74f"><span>29200</span></td><td id="LC29200" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> increments = []; </code></td></tr><tr><td id="L29201" class="css-a4x74f"><span>29201</span></td><td id="LC29201" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> styleRule <span class="code-keyword">of</span> prevIncrements) { </code></td></tr><tr><td id="L29202" class="css-a4x74f"><span>29202</span></td><td id="LC29202" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> values = styleRule.style.counterIncrement.split(<span class="code-string">" "</span>); </code></td></tr><tr><td id="L29203" class="css-a4x74f"><span>29203</span></td><td id="LC29203" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < values.length; i+=<span class="code-number">2</span>) { </code></td></tr><tr><td id="L29204" class="css-a4x74f"><span>29204</span></td><td id="LC29204" class="css-1dcdqdg"><code> increments.push(values[i] + <span class="code-string">" "</span> + values[i+<span class="code-number">1</span>]); </code></td></tr><tr><td id="L29205" class="css-a4x74f"><span>29205</span></td><td id="LC29205" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29206" class="css-a4x74f"><span>29206</span></td><td id="LC29206" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29207" class="css-a4x74f"><span>29207</span></td><td id="LC29207" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29208" class="css-a4x74f"><span>29208</span></td><td id="LC29208" class="css-1dcdqdg"><code> <span class="code-built_in">Array</span>.prototype.push.apply(increments, incrementArray); </code></td></tr><tr><td id="L29209" class="css-a4x74f"><span>29209</span></td><td id="LC29209" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29210" class="css-a4x74f"><span>29210</span></td><td id="LC29210" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insertRule(<span class="code-string">`[data-ref="<span class="code-subst">${ref}</span>"]:not([data-split-from]) { counter-increment: <span class="code-subst">${increments.join(<span class="code-string">" "</span>)}</span> }`</span>); </code></td></tr><tr><td id="L29211" class="css-a4x74f"><span>29211</span></td><td id="LC29211" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29212" class="css-a4x74f"><span>29212</span></td><td id="LC29212" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29213" class="css-a4x74f"><span>29213</span></td><td id="LC29213" class="css-1dcdqdg"><code> afterPageLayout(pageElement, page) { </code></td></tr><tr><td id="L29214" class="css-a4x74f"><span>29214</span></td><td id="LC29214" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pgreset = pageElement.querySelectorAll(<span class="code-string">"[data-counter-page-reset]"</span>); </code></td></tr><tr><td id="L29215" class="css-a4x74f"><span>29215</span></td><td id="LC29215" class="css-1dcdqdg"><code> pgreset.forEach(<span class="code-function">(<span class="code-params">reset</span>) =></span> { </code></td></tr><tr><td id="L29216" class="css-a4x74f"><span>29216</span></td><td id="LC29216" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> ref = reset.dataset && reset.dataset.ref; </code></td></tr><tr><td id="L29217" class="css-a4x74f"><span>29217</span></td><td id="LC29217" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (ref && <span class="code-keyword">this</span>.resetCountersMap.has(ref)) ; <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29218" class="css-a4x74f"><span>29218</span></td><td id="LC29218" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (ref) { </code></td></tr><tr><td id="L29219" class="css-a4x74f"><span>29219</span></td><td id="LC29219" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.resetCountersMap.set(ref, <span class="code-string">""</span>); </code></td></tr><tr><td id="L29220" class="css-a4x74f"><span>29220</span></td><td id="LC29220" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29221" class="css-a4x74f"><span>29221</span></td><td id="LC29221" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = reset.dataset.counterPageReset; </code></td></tr><tr><td id="L29222" class="css-a4x74f"><span>29222</span></td><td id="LC29222" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(<span class="code-string">`[data-page-number="<span class="code-subst">${pageElement.dataset.pageNumber}</span>"] { counter-increment: none; counter-reset: page <span class="code-subst">${value}</span>; }`</span>, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29223" class="css-a4x74f"><span>29223</span></td><td id="LC29223" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29224" class="css-a4x74f"><span>29224</span></td><td id="LC29224" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29225" class="css-a4x74f"><span>29225</span></td><td id="LC29225" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29226" class="css-a4x74f"><span>29226</span></td><td id="LC29226" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29227" class="css-a4x74f"><span>29227</span></td><td id="LC29227" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29228" class="css-a4x74f"><span>29228</span></td><td id="LC29228" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29229" class="css-a4x74f"><span>29229</span></td><td id="LC29229" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Lists</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29230" class="css-a4x74f"><span>29230</span></td><td id="LC29230" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29231" class="css-a4x74f"><span>29231</span></td><td id="LC29231" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29232" class="css-a4x74f"><span>29232</span></td><td id="LC29232" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29233" class="css-a4x74f"><span>29233</span></td><td id="LC29233" class="css-1dcdqdg"><code> afterParsed(content) { </code></td></tr><tr><td id="L29234" class="css-a4x74f"><span>29234</span></td><td id="LC29234" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> orderedLists = content.querySelectorAll(<span class="code-string">"ol"</span>); </code></td></tr><tr><td id="L29235" class="css-a4x74f"><span>29235</span></td><td id="LC29235" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29236" class="css-a4x74f"><span>29236</span></td><td id="LC29236" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> list <span class="code-keyword">of</span> orderedLists) { </code></td></tr><tr><td id="L29237" class="css-a4x74f"><span>29237</span></td><td id="LC29237" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.addDataNumbers(list); </code></td></tr><tr><td id="L29238" class="css-a4x74f"><span>29238</span></td><td id="LC29238" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29239" class="css-a4x74f"><span>29239</span></td><td id="LC29239" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29240" class="css-a4x74f"><span>29240</span></td><td id="LC29240" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29241" class="css-a4x74f"><span>29241</span></td><td id="LC29241" class="css-1dcdqdg"><code> afterPageLayout(pageElement, page, breakToken, chunker) { </code></td></tr><tr><td id="L29242" class="css-a4x74f"><span>29242</span></td><td id="LC29242" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> orderedLists = pageElement.getElementsByTagName(<span class="code-string">"ol"</span>); </code></td></tr><tr><td id="L29243" class="css-a4x74f"><span>29243</span></td><td id="LC29243" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> list <span class="code-keyword">of</span> orderedLists) { </code></td></tr><tr><td id="L29244" class="css-a4x74f"><span>29244</span></td><td id="LC29244" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (list.hasChildNodes()) { </code></td></tr><tr><td id="L29245" class="css-a4x74f"><span>29245</span></td><td id="LC29245" class="css-1dcdqdg"><code> list.start = list.firstElementChild.dataset.itemNum; </code></td></tr><tr><td id="L29246" class="css-a4x74f"><span>29246</span></td><td id="LC29246" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29247" class="css-a4x74f"><span>29247</span></td><td id="LC29247" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29248" class="css-a4x74f"><span>29248</span></td><td id="LC29248" class="css-1dcdqdg"><code> list.parentNode.removeChild(list); </code></td></tr><tr><td id="L29249" class="css-a4x74f"><span>29249</span></td><td id="LC29249" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29250" class="css-a4x74f"><span>29250</span></td><td id="LC29250" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29251" class="css-a4x74f"><span>29251</span></td><td id="LC29251" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29252" class="css-a4x74f"><span>29252</span></td><td id="LC29252" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29253" class="css-a4x74f"><span>29253</span></td><td id="LC29253" class="css-1dcdqdg"><code> addDataNumbers(list) { </code></td></tr><tr><td id="L29254" class="css-a4x74f"><span>29254</span></td><td id="LC29254" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> start = <span class="code-number">1</span>; </code></td></tr><tr><td id="L29255" class="css-a4x74f"><span>29255</span></td><td id="LC29255" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (list.hasAttribute(<span class="code-string">"start"</span>)) { </code></td></tr><tr><td id="L29256" class="css-a4x74f"><span>29256</span></td><td id="LC29256" class="css-1dcdqdg"><code> start = <span class="code-built_in">parseInt</span>(list.getAttribute(<span class="code-string">"start"</span>), <span class="code-number">10</span>); </code></td></tr><tr><td id="L29257" class="css-a4x74f"><span>29257</span></td><td id="LC29257" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">isNaN</span>(start)) { </code></td></tr><tr><td id="L29258" class="css-a4x74f"><span>29258</span></td><td id="LC29258" class="css-1dcdqdg"><code> start = <span class="code-number">1</span>; </code></td></tr><tr><td id="L29259" class="css-a4x74f"><span>29259</span></td><td id="LC29259" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29260" class="css-a4x74f"><span>29260</span></td><td id="LC29260" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29261" class="css-a4x74f"><span>29261</span></td><td id="LC29261" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> items = list.children; </code></td></tr><tr><td id="L29262" class="css-a4x74f"><span>29262</span></td><td id="LC29262" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < items.length; i++) { </code></td></tr><tr><td id="L29263" class="css-a4x74f"><span>29263</span></td><td id="LC29263" class="css-1dcdqdg"><code> items[i].setAttribute(<span class="code-string">"data-item-num"</span>, i + start); </code></td></tr><tr><td id="L29264" class="css-a4x74f"><span>29264</span></td><td id="LC29264" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29265" class="css-a4x74f"><span>29265</span></td><td id="LC29265" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29266" class="css-a4x74f"><span>29266</span></td><td id="LC29266" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29267" class="css-a4x74f"><span>29267</span></td><td id="LC29267" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29268" class="css-a4x74f"><span>29268</span></td><td id="LC29268" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29269" class="css-a4x74f"><span>29269</span></td><td id="LC29269" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">PositionFixed</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29270" class="css-a4x74f"><span>29270</span></td><td id="LC29270" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29271" class="css-a4x74f"><span>29271</span></td><td id="LC29271" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29272" class="css-a4x74f"><span>29272</span></td><td id="LC29272" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29273" class="css-a4x74f"><span>29273</span></td><td id="LC29273" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElementsSelector = []; </code></td></tr><tr><td id="L29274" class="css-a4x74f"><span>29274</span></td><td id="LC29274" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElements = []; </code></td></tr><tr><td id="L29275" class="css-a4x74f"><span>29275</span></td><td id="LC29275" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29276" class="css-a4x74f"><span>29276</span></td><td id="LC29276" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29277" class="css-a4x74f"><span>29277</span></td><td id="LC29277" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L29278" class="css-a4x74f"><span>29278</span></td><td id="LC29278" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"position"</span> && declaration.value.children.first().name === <span class="code-string">"fixed"</span>) { </code></td></tr><tr><td id="L29279" class="css-a4x74f"><span>29279</span></td><td id="LC29279" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29280" class="css-a4x74f"><span>29280</span></td><td id="LC29280" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElementsSelector.push(selector); </code></td></tr><tr><td id="L29281" class="css-a4x74f"><span>29281</span></td><td id="LC29281" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L29282" class="css-a4x74f"><span>29282</span></td><td id="LC29282" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29283" class="css-a4x74f"><span>29283</span></td><td id="LC29283" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29284" class="css-a4x74f"><span>29284</span></td><td id="LC29284" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29285" class="css-a4x74f"><span>29285</span></td><td id="LC29285" class="css-1dcdqdg"><code> afterParsed(fragment) { </code></td></tr><tr><td id="L29286" class="css-a4x74f"><span>29286</span></td><td id="LC29286" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElementsSelector.forEach(<span class="code-function"><span class="code-params">fixedEl</span> =></span> { </code></td></tr><tr><td id="L29287" class="css-a4x74f"><span>29287</span></td><td id="LC29287" class="css-1dcdqdg"><code> fragment.querySelectorAll(<span class="code-string">`<span class="code-subst">${fixedEl}</span>`</span>).forEach(<span class="code-function"><span class="code-params">el</span> =></span> { </code></td></tr><tr><td id="L29288" class="css-a4x74f"><span>29288</span></td><td id="LC29288" class="css-1dcdqdg"><code> el.style.setProperty(<span class="code-string">"position"</span>, <span class="code-string">"absolute"</span>); </code></td></tr><tr><td id="L29289" class="css-a4x74f"><span>29289</span></td><td id="LC29289" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElements.push(el); </code></td></tr><tr><td id="L29290" class="css-a4x74f"><span>29290</span></td><td id="LC29290" class="css-1dcdqdg"><code> el.remove(); </code></td></tr><tr><td id="L29291" class="css-a4x74f"><span>29291</span></td><td id="LC29291" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29292" class="css-a4x74f"><span>29292</span></td><td id="LC29292" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29293" class="css-a4x74f"><span>29293</span></td><td id="LC29293" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29294" class="css-a4x74f"><span>29294</span></td><td id="LC29294" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29295" class="css-a4x74f"><span>29295</span></td><td id="LC29295" class="css-1dcdqdg"><code> afterPageLayout(pageElement, page, breakToken) { </code></td></tr><tr><td id="L29296" class="css-a4x74f"><span>29296</span></td><td id="LC29296" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.fixedElements.forEach(<span class="code-function"><span class="code-params">el</span> =></span> { </code></td></tr><tr><td id="L29297" class="css-a4x74f"><span>29297</span></td><td id="LC29297" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> clone = el.cloneNode(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L29298" class="css-a4x74f"><span>29298</span></td><td id="LC29298" class="css-1dcdqdg"><code> pageElement.querySelector(<span class="code-string">".pagedjs_pagebox"</span>).insertAdjacentElement(<span class="code-string">"afterbegin"</span>, clone); </code></td></tr><tr><td id="L29299" class="css-a4x74f"><span>29299</span></td><td id="LC29299" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29300" class="css-a4x74f"><span>29300</span></td><td id="LC29300" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29301" class="css-a4x74f"><span>29301</span></td><td id="LC29301" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29302" class="css-a4x74f"><span>29302</span></td><td id="LC29302" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29303" class="css-a4x74f"><span>29303</span></td><td id="LC29303" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">PageCounterIncrement</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29304" class="css-a4x74f"><span>29304</span></td><td id="LC29304" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29305" class="css-a4x74f"><span>29305</span></td><td id="LC29305" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29306" class="css-a4x74f"><span>29306</span></td><td id="LC29306" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29307" class="css-a4x74f"><span>29307</span></td><td id="LC29307" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29308" class="css-a4x74f"><span>29308</span></td><td id="LC29308" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageCounter = { </code></td></tr><tr><td id="L29309" class="css-a4x74f"><span>29309</span></td><td id="LC29309" class="css-1dcdqdg"><code> name: <span class="code-string">"page"</span>, </code></td></tr><tr><td id="L29310" class="css-a4x74f"><span>29310</span></td><td id="LC29310" class="css-1dcdqdg"><code> increments: {}, </code></td></tr><tr><td id="L29311" class="css-a4x74f"><span>29311</span></td><td id="LC29311" class="css-1dcdqdg"><code> resets: {} </code></td></tr><tr><td id="L29312" class="css-a4x74f"><span>29312</span></td><td id="LC29312" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29313" class="css-a4x74f"><span>29313</span></td><td id="LC29313" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29314" class="css-a4x74f"><span>29314</span></td><td id="LC29314" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29315" class="css-a4x74f"><span>29315</span></td><td id="LC29315" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L29316" class="css-a4x74f"><span>29316</span></td><td id="LC29316" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> property = declaration.property; </code></td></tr><tr><td id="L29317" class="css-a4x74f"><span>29317</span></td><td id="LC29317" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29318" class="css-a4x74f"><span>29318</span></td><td id="LC29318" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (property === <span class="code-string">"counter-increment"</span>) { </code></td></tr><tr><td id="L29319" class="css-a4x74f"><span>29319</span></td><td id="LC29319" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> inc = <span class="code-keyword">this</span>.handleIncrement(declaration, rule); </code></td></tr><tr><td id="L29320" class="css-a4x74f"><span>29320</span></td><td id="LC29320" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (inc) { </code></td></tr><tr><td id="L29321" class="css-a4x74f"><span>29321</span></td><td id="LC29321" class="css-1dcdqdg"><code> dList.remove(dItem); </code></td></tr><tr><td id="L29322" class="css-a4x74f"><span>29322</span></td><td id="LC29322" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29323" class="css-a4x74f"><span>29323</span></td><td id="LC29323" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29324" class="css-a4x74f"><span>29324</span></td><td id="LC29324" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29325" class="css-a4x74f"><span>29325</span></td><td id="LC29325" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29326" class="css-a4x74f"><span>29326</span></td><td id="LC29326" class="css-1dcdqdg"><code> afterParsed(_) { </code></td></tr><tr><td id="L29327" class="css-a4x74f"><span>29327</span></td><td id="LC29327" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">const</span> inc <span class="code-keyword">in</span> <span class="code-keyword">this</span>.pageCounter.increments) { </code></td></tr><tr><td id="L29328" class="css-a4x74f"><span>29328</span></td><td id="LC29328" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> increment = <span class="code-keyword">this</span>.pageCounter.increments[inc]; </code></td></tr><tr><td id="L29329" class="css-a4x74f"><span>29329</span></td><td id="LC29329" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.insertRule(<span class="code-string">`<span class="code-subst">${increment.selector}</span> { --pagedjs-page-counter-increment: <span class="code-subst">${increment.number}</span> }`</span>); </code></td></tr><tr><td id="L29330" class="css-a4x74f"><span>29330</span></td><td id="LC29330" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29331" class="css-a4x74f"><span>29331</span></td><td id="LC29331" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29332" class="css-a4x74f"><span>29332</span></td><td id="LC29332" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29333" class="css-a4x74f"><span>29333</span></td><td id="LC29333" class="css-1dcdqdg"><code> handleIncrement(declaration, rule) { </code></td></tr><tr><td id="L29334" class="css-a4x74f"><span>29334</span></td><td id="LC29334" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> identifier = declaration.value.children.first(); </code></td></tr><tr><td id="L29335" class="css-a4x74f"><span>29335</span></td><td id="LC29335" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> number = declaration.value.children.getSize() > <span class="code-number">1</span> ? declaration.value.children.last().value : <span class="code-number">1</span>; </code></td></tr><tr><td id="L29336" class="css-a4x74f"><span>29336</span></td><td id="LC29336" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> name = identifier && identifier.name; </code></td></tr><tr><td id="L29337" class="css-a4x74f"><span>29337</span></td><td id="LC29337" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29338" class="css-a4x74f"><span>29338</span></td><td id="LC29338" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name.indexOf(<span class="code-string">"target-counter-"</span>) === <span class="code-number">0</span>) { </code></td></tr><tr><td id="L29339" class="css-a4x74f"><span>29339</span></td><td id="LC29339" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29340" class="css-a4x74f"><span>29340</span></td><td id="LC29340" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29341" class="css-a4x74f"><span>29341</span></td><td id="LC29341" class="css-1dcdqdg"><code> <span class="code-comment">// A counter named page is automatically created and incremented by 1 on every page of the document,</span> </code></td></tr><tr><td id="L29342" class="css-a4x74f"><span>29342</span></td><td id="LC29342" class="css-1dcdqdg"><code> <span class="code-comment">// unless the counter-increment property in the page context explicitly specifies a different increment for the page counter.</span> </code></td></tr><tr><td id="L29343" class="css-a4x74f"><span>29343</span></td><td id="LC29343" class="css-1dcdqdg"><code> <span class="code-comment">// https://www.w3.org/TR/css-page-3/#page-based-counters</span> </code></td></tr><tr><td id="L29344" class="css-a4x74f"><span>29344</span></td><td id="LC29344" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name !== <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L29345" class="css-a4x74f"><span>29345</span></td><td id="LC29345" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29346" class="css-a4x74f"><span>29346</span></td><td id="LC29346" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29347" class="css-a4x74f"><span>29347</span></td><td id="LC29347" class="css-1dcdqdg"><code> <span class="code-comment">// the counter-increment property is not defined on the page context (i.e. @page rule), ignoring...</span> </code></td></tr><tr><td id="L29348" class="css-a4x74f"><span>29348</span></td><td id="LC29348" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (rule.ruleNode.name === <span class="code-string">"page"</span> && rule.ruleNode.type === <span class="code-string">"Atrule"</span>) { </code></td></tr><tr><td id="L29349" class="css-a4x74f"><span>29349</span></td><td id="LC29349" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29350" class="css-a4x74f"><span>29350</span></td><td id="LC29350" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29351" class="css-a4x74f"><span>29351</span></td><td id="LC29351" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29352" class="css-a4x74f"><span>29352</span></td><td id="LC29352" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.pageCounter.increments[selector] = { </code></td></tr><tr><td id="L29353" class="css-a4x74f"><span>29353</span></td><td id="LC29353" class="css-1dcdqdg"><code> selector: selector, </code></td></tr><tr><td id="L29354" class="css-a4x74f"><span>29354</span></td><td id="LC29354" class="css-1dcdqdg"><code> number </code></td></tr><tr><td id="L29355" class="css-a4x74f"><span>29355</span></td><td id="LC29355" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29356" class="css-a4x74f"><span>29356</span></td><td id="LC29356" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29357" class="css-a4x74f"><span>29357</span></td><td id="LC29357" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29358" class="css-a4x74f"><span>29358</span></td><td id="LC29358" class="css-1dcdqdg"><code> insertRule(rule) { </code></td></tr><tr><td id="L29359" class="css-a4x74f"><span>29359</span></td><td id="LC29359" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(rule, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29360" class="css-a4x74f"><span>29360</span></td><td id="LC29360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29361" class="css-a4x74f"><span>29361</span></td><td id="LC29361" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29362" class="css-a4x74f"><span>29362</span></td><td id="LC29362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29363" class="css-a4x74f"><span>29363</span></td><td id="LC29363" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">NthOfType</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29364" class="css-a4x74f"><span>29364</span></td><td id="LC29364" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29365" class="css-a4x74f"><span>29365</span></td><td id="LC29365" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29366" class="css-a4x74f"><span>29366</span></td><td id="LC29366" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29367" class="css-a4x74f"><span>29367</span></td><td id="LC29367" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29368" class="css-a4x74f"><span>29368</span></td><td id="LC29368" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors = {}; </code></td></tr><tr><td id="L29369" class="css-a4x74f"><span>29369</span></td><td id="LC29369" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29370" class="css-a4x74f"><span>29370</span></td><td id="LC29370" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29371" class="css-a4x74f"><span>29371</span></td><td id="LC29371" class="css-1dcdqdg"><code> onRule(ruleNode, ruleItem, rulelist) { </code></td></tr><tr><td id="L29372" class="css-a4x74f"><span>29372</span></td><td id="LC29372" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(ruleNode.prelude); </code></td></tr><tr><td id="L29373" class="css-a4x74f"><span>29373</span></td><td id="LC29373" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selector.match(<span class="code-regexp">/:(first|last|nth)-of-type/</span>)) { </code></td></tr><tr><td id="L29374" class="css-a4x74f"><span>29374</span></td><td id="LC29374" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29375" class="css-a4x74f"><span>29375</span></td><td id="LC29375" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> declarations = lib.generate(ruleNode.block); </code></td></tr><tr><td id="L29376" class="css-a4x74f"><span>29376</span></td><td id="LC29376" class="css-1dcdqdg"><code> declarations = declarations.replace(<span class="code-regexp">/[{}]/g</span>,<span class="code-string">""</span>); </code></td></tr><tr><td id="L29377" class="css-a4x74f"><span>29377</span></td><td id="LC29377" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29378" class="css-a4x74f"><span>29378</span></td><td id="LC29378" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> uuid = <span class="code-string">"nth-of-type-"</span> + UUID(); </code></td></tr><tr><td id="L29379" class="css-a4x74f"><span>29379</span></td><td id="LC29379" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29380" class="css-a4x74f"><span>29380</span></td><td id="LC29380" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L29381" class="css-a4x74f"><span>29381</span></td><td id="LC29381" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.selectors[s]) { </code></td></tr><tr><td id="L29382" class="css-a4x74f"><span>29382</span></td><td id="LC29382" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors[s] = [uuid, declarations]; </code></td></tr><tr><td id="L29383" class="css-a4x74f"><span>29383</span></td><td id="LC29383" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29384" class="css-a4x74f"><span>29384</span></td><td id="LC29384" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors[s][<span class="code-number">1</span>] = <span class="code-string">`<span class="code-subst">${<span class="code-keyword">this</span>.selectors[s][<span class="code-number">1</span>]}</span>;<span class="code-subst">${declarations}</span>`</span> ; </code></td></tr><tr><td id="L29385" class="css-a4x74f"><span>29385</span></td><td id="LC29385" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29386" class="css-a4x74f"><span>29386</span></td><td id="LC29386" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29387" class="css-a4x74f"><span>29387</span></td><td id="LC29387" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29388" class="css-a4x74f"><span>29388</span></td><td id="LC29388" class="css-1dcdqdg"><code> rulelist.remove(ruleItem); </code></td></tr><tr><td id="L29389" class="css-a4x74f"><span>29389</span></td><td id="LC29389" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29390" class="css-a4x74f"><span>29390</span></td><td id="LC29390" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29391" class="css-a4x74f"><span>29391</span></td><td id="LC29391" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29392" class="css-a4x74f"><span>29392</span></td><td id="LC29392" class="css-1dcdqdg"><code> afterParsed(parsed) { </code></td></tr><tr><td id="L29393" class="css-a4x74f"><span>29393</span></td><td id="LC29393" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processSelectors(parsed, <span class="code-keyword">this</span>.selectors); </code></td></tr><tr><td id="L29394" class="css-a4x74f"><span>29394</span></td><td id="LC29394" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29395" class="css-a4x74f"><span>29395</span></td><td id="LC29395" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29396" class="css-a4x74f"><span>29396</span></td><td id="LC29396" class="css-1dcdqdg"><code> processSelectors(parsed, selectors) { </code></td></tr><tr><td id="L29397" class="css-a4x74f"><span>29397</span></td><td id="LC29397" class="css-1dcdqdg"><code> <span class="code-comment">// add the new attributes to matching elements</span> </code></td></tr><tr><td id="L29398" class="css-a4x74f"><span>29398</span></td><td id="LC29398" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> s <span class="code-keyword">in</span> selectors) { </code></td></tr><tr><td id="L29399" class="css-a4x74f"><span>29399</span></td><td id="LC29399" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> elements = parsed.querySelectorAll(s); </code></td></tr><tr><td id="L29400" class="css-a4x74f"><span>29400</span></td><td id="LC29400" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29401" class="css-a4x74f"><span>29401</span></td><td id="LC29401" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < elements.length; i++) { </code></td></tr><tr><td id="L29402" class="css-a4x74f"><span>29402</span></td><td id="LC29402" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dataNthOfType = elements[i].getAttribute(<span class="code-string">"data-nth-of-type"</span>); </code></td></tr><tr><td id="L29403" class="css-a4x74f"><span>29403</span></td><td id="LC29403" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29404" class="css-a4x74f"><span>29404</span></td><td id="LC29404" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (dataNthOfType && dataNthOfType != <span class="code-string">""</span>) { </code></td></tr><tr><td id="L29405" class="css-a4x74f"><span>29405</span></td><td id="LC29405" class="css-1dcdqdg"><code> dataNthOfType = <span class="code-string">`<span class="code-subst">${dataNthOfType}</span>,<span class="code-subst">${selectors[s][<span class="code-number">0</span>]}</span>`</span>; </code></td></tr><tr><td id="L29406" class="css-a4x74f"><span>29406</span></td><td id="LC29406" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-nth-of-type"</span>, dataNthOfType); </code></td></tr><tr><td id="L29407" class="css-a4x74f"><span>29407</span></td><td id="LC29407" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29408" class="css-a4x74f"><span>29408</span></td><td id="LC29408" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-nth-of-type"</span>, selectors[s][<span class="code-number">0</span>]); </code></td></tr><tr><td id="L29409" class="css-a4x74f"><span>29409</span></td><td id="LC29409" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29410" class="css-a4x74f"><span>29410</span></td><td id="LC29410" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29411" class="css-a4x74f"><span>29411</span></td><td id="LC29411" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29412" class="css-a4x74f"><span>29412</span></td><td id="LC29412" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rule = <span class="code-string">`*[data-nth-of-type*='<span class="code-subst">${selectors[s][<span class="code-number">0</span>]}</span>'] { <span class="code-subst">${selectors[s][<span class="code-number">1</span>]}</span>; }`</span>; </code></td></tr><tr><td id="L29413" class="css-a4x74f"><span>29413</span></td><td id="LC29413" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(rule, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29414" class="css-a4x74f"><span>29414</span></td><td id="LC29414" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29415" class="css-a4x74f"><span>29415</span></td><td id="LC29415" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29416" class="css-a4x74f"><span>29416</span></td><td id="LC29416" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29417" class="css-a4x74f"><span>29417</span></td><td id="LC29417" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29418" class="css-a4x74f"><span>29418</span></td><td id="LC29418" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Following</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29419" class="css-a4x74f"><span>29419</span></td><td id="LC29419" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29420" class="css-a4x74f"><span>29420</span></td><td id="LC29420" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29421" class="css-a4x74f"><span>29421</span></td><td id="LC29421" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29422" class="css-a4x74f"><span>29422</span></td><td id="LC29422" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29423" class="css-a4x74f"><span>29423</span></td><td id="LC29423" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors = {}; </code></td></tr><tr><td id="L29424" class="css-a4x74f"><span>29424</span></td><td id="LC29424" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29425" class="css-a4x74f"><span>29425</span></td><td id="LC29425" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29426" class="css-a4x74f"><span>29426</span></td><td id="LC29426" class="css-1dcdqdg"><code> onRule(ruleNode, ruleItem, rulelist) { </code></td></tr><tr><td id="L29427" class="css-a4x74f"><span>29427</span></td><td id="LC29427" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(ruleNode.prelude); </code></td></tr><tr><td id="L29428" class="css-a4x74f"><span>29428</span></td><td id="LC29428" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selector.match(<span class="code-regexp">/\+/</span>)) { </code></td></tr><tr><td id="L29429" class="css-a4x74f"><span>29429</span></td><td id="LC29429" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29430" class="css-a4x74f"><span>29430</span></td><td id="LC29430" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> declarations = lib.generate(ruleNode.block); </code></td></tr><tr><td id="L29431" class="css-a4x74f"><span>29431</span></td><td id="LC29431" class="css-1dcdqdg"><code> declarations = declarations.replace(<span class="code-regexp">/[{}]/g</span>,<span class="code-string">""</span>); </code></td></tr><tr><td id="L29432" class="css-a4x74f"><span>29432</span></td><td id="LC29432" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29433" class="css-a4x74f"><span>29433</span></td><td id="LC29433" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> uuid = <span class="code-string">"following-"</span> + UUID(); </code></td></tr><tr><td id="L29434" class="css-a4x74f"><span>29434</span></td><td id="LC29434" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29435" class="css-a4x74f"><span>29435</span></td><td id="LC29435" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L29436" class="css-a4x74f"><span>29436</span></td><td id="LC29436" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span>.selectors[s]) { </code></td></tr><tr><td id="L29437" class="css-a4x74f"><span>29437</span></td><td id="LC29437" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors[s] = [uuid, declarations]; </code></td></tr><tr><td id="L29438" class="css-a4x74f"><span>29438</span></td><td id="LC29438" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29439" class="css-a4x74f"><span>29439</span></td><td id="LC29439" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selectors[s][<span class="code-number">1</span>] = <span class="code-string">`<span class="code-subst">${<span class="code-keyword">this</span>.selectors[s][<span class="code-number">1</span>]}</span>;<span class="code-subst">${declarations}</span>`</span> ; </code></td></tr><tr><td id="L29440" class="css-a4x74f"><span>29440</span></td><td id="LC29440" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29441" class="css-a4x74f"><span>29441</span></td><td id="LC29441" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29442" class="css-a4x74f"><span>29442</span></td><td id="LC29442" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29443" class="css-a4x74f"><span>29443</span></td><td id="LC29443" class="css-1dcdqdg"><code> rulelist.remove(ruleItem); </code></td></tr><tr><td id="L29444" class="css-a4x74f"><span>29444</span></td><td id="LC29444" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29445" class="css-a4x74f"><span>29445</span></td><td id="LC29445" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29446" class="css-a4x74f"><span>29446</span></td><td id="LC29446" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29447" class="css-a4x74f"><span>29447</span></td><td id="LC29447" class="css-1dcdqdg"><code> afterParsed(parsed) { </code></td></tr><tr><td id="L29448" class="css-a4x74f"><span>29448</span></td><td id="LC29448" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.processSelectors(parsed, <span class="code-keyword">this</span>.selectors); </code></td></tr><tr><td id="L29449" class="css-a4x74f"><span>29449</span></td><td id="LC29449" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29450" class="css-a4x74f"><span>29450</span></td><td id="LC29450" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29451" class="css-a4x74f"><span>29451</span></td><td id="LC29451" class="css-1dcdqdg"><code> processSelectors(parsed, selectors) { </code></td></tr><tr><td id="L29452" class="css-a4x74f"><span>29452</span></td><td id="LC29452" class="css-1dcdqdg"><code> <span class="code-comment">// add the new attributes to matching elements</span> </code></td></tr><tr><td id="L29453" class="css-a4x74f"><span>29453</span></td><td id="LC29453" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> s <span class="code-keyword">in</span> selectors) { </code></td></tr><tr><td id="L29454" class="css-a4x74f"><span>29454</span></td><td id="LC29454" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> elements = parsed.querySelectorAll(s); </code></td></tr><tr><td id="L29455" class="css-a4x74f"><span>29455</span></td><td id="LC29455" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29456" class="css-a4x74f"><span>29456</span></td><td id="LC29456" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < elements.length; i++) { </code></td></tr><tr><td id="L29457" class="css-a4x74f"><span>29457</span></td><td id="LC29457" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> dataFollowing = elements[i].getAttribute(<span class="code-string">"data-following"</span>); </code></td></tr><tr><td id="L29458" class="css-a4x74f"><span>29458</span></td><td id="LC29458" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29459" class="css-a4x74f"><span>29459</span></td><td id="LC29459" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (dataFollowing && dataFollowing != <span class="code-string">""</span>) { </code></td></tr><tr><td id="L29460" class="css-a4x74f"><span>29460</span></td><td id="LC29460" class="css-1dcdqdg"><code> dataFollowing = <span class="code-string">`<span class="code-subst">${dataFollowing}</span>,<span class="code-subst">${selectors[s][<span class="code-number">0</span>]}</span>`</span>; </code></td></tr><tr><td id="L29461" class="css-a4x74f"><span>29461</span></td><td id="LC29461" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-following"</span>, dataFollowing); </code></td></tr><tr><td id="L29462" class="css-a4x74f"><span>29462</span></td><td id="LC29462" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29463" class="css-a4x74f"><span>29463</span></td><td id="LC29463" class="css-1dcdqdg"><code> elements[i].setAttribute(<span class="code-string">"data-following"</span>, selectors[s][<span class="code-number">0</span>]); </code></td></tr><tr><td id="L29464" class="css-a4x74f"><span>29464</span></td><td id="LC29464" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29465" class="css-a4x74f"><span>29465</span></td><td id="LC29465" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29466" class="css-a4x74f"><span>29466</span></td><td id="LC29466" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29467" class="css-a4x74f"><span>29467</span></td><td id="LC29467" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> rule = <span class="code-string">`*[data-following*='<span class="code-subst">${selectors[s][<span class="code-number">0</span>]}</span>'] { <span class="code-subst">${selectors[s][<span class="code-number">1</span>]}</span>; }`</span>; </code></td></tr><tr><td id="L29468" class="css-a4x74f"><span>29468</span></td><td id="LC29468" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(rule, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29469" class="css-a4x74f"><span>29469</span></td><td id="LC29469" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29470" class="css-a4x74f"><span>29470</span></td><td id="LC29470" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29471" class="css-a4x74f"><span>29471</span></td><td id="LC29471" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29472" class="css-a4x74f"><span>29472</span></td><td id="LC29472" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29473" class="css-a4x74f"><span>29473</span></td><td id="LC29473" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pagedMediaHandlers = [ </code></td></tr><tr><td id="L29474" class="css-a4x74f"><span>29474</span></td><td id="LC29474" class="css-1dcdqdg"><code> AtPage, </code></td></tr><tr><td id="L29475" class="css-a4x74f"><span>29475</span></td><td id="LC29475" class="css-1dcdqdg"><code> Breaks, </code></td></tr><tr><td id="L29476" class="css-a4x74f"><span>29476</span></td><td id="LC29476" class="css-1dcdqdg"><code> PrintMedia, </code></td></tr><tr><td id="L29477" class="css-a4x74f"><span>29477</span></td><td id="LC29477" class="css-1dcdqdg"><code> Splits, </code></td></tr><tr><td id="L29478" class="css-a4x74f"><span>29478</span></td><td id="LC29478" class="css-1dcdqdg"><code> Counters, </code></td></tr><tr><td id="L29479" class="css-a4x74f"><span>29479</span></td><td id="LC29479" class="css-1dcdqdg"><code> Lists, </code></td></tr><tr><td id="L29480" class="css-a4x74f"><span>29480</span></td><td id="LC29480" class="css-1dcdqdg"><code> PositionFixed, </code></td></tr><tr><td id="L29481" class="css-a4x74f"><span>29481</span></td><td id="LC29481" class="css-1dcdqdg"><code> PageCounterIncrement, </code></td></tr><tr><td id="L29482" class="css-a4x74f"><span>29482</span></td><td id="LC29482" class="css-1dcdqdg"><code> NthOfType, </code></td></tr><tr><td id="L29483" class="css-a4x74f"><span>29483</span></td><td id="LC29483" class="css-1dcdqdg"><code> Following </code></td></tr><tr><td id="L29484" class="css-a4x74f"><span>29484</span></td><td id="LC29484" class="css-1dcdqdg"><code> ]; </code></td></tr><tr><td id="L29485" class="css-a4x74f"><span>29485</span></td><td id="LC29485" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29486" class="css-a4x74f"><span>29486</span></td><td id="LC29486" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">RunningHeaders</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29487" class="css-a4x74f"><span>29487</span></td><td id="LC29487" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29488" class="css-a4x74f"><span>29488</span></td><td id="LC29488" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29489" class="css-a4x74f"><span>29489</span></td><td id="LC29489" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29490" class="css-a4x74f"><span>29490</span></td><td id="LC29490" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.runningSelectors = {}; </code></td></tr><tr><td id="L29491" class="css-a4x74f"><span>29491</span></td><td id="LC29491" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.elements = {}; </code></td></tr><tr><td id="L29492" class="css-a4x74f"><span>29492</span></td><td id="LC29492" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29493" class="css-a4x74f"><span>29493</span></td><td id="LC29493" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29494" class="css-a4x74f"><span>29494</span></td><td id="LC29494" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L29495" class="css-a4x74f"><span>29495</span></td><td id="LC29495" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"position"</span>) { </code></td></tr><tr><td id="L29496" class="css-a4x74f"><span>29496</span></td><td id="LC29496" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29497" class="css-a4x74f"><span>29497</span></td><td id="LC29497" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> identifier = declaration.value.children.first().name; </code></td></tr><tr><td id="L29498" class="css-a4x74f"><span>29498</span></td><td id="LC29498" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29499" class="css-a4x74f"><span>29499</span></td><td id="LC29499" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (identifier === <span class="code-string">"running"</span>) { </code></td></tr><tr><td id="L29500" class="css-a4x74f"><span>29500</span></td><td id="LC29500" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value; </code></td></tr><tr><td id="L29501" class="css-a4x74f"><span>29501</span></td><td id="LC29501" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L29502" class="css-a4x74f"><span>29502</span></td><td id="LC29502" class="css-1dcdqdg"><code> visit: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L29503" class="css-a4x74f"><span>29503</span></td><td id="LC29503" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L29504" class="css-a4x74f"><span>29504</span></td><td id="LC29504" class="css-1dcdqdg"><code> value = node.children.first().name; </code></td></tr><tr><td id="L29505" class="css-a4x74f"><span>29505</span></td><td id="LC29505" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29506" class="css-a4x74f"><span>29506</span></td><td id="LC29506" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29507" class="css-a4x74f"><span>29507</span></td><td id="LC29507" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29508" class="css-a4x74f"><span>29508</span></td><td id="LC29508" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.runningSelectors[value] = { </code></td></tr><tr><td id="L29509" class="css-a4x74f"><span>29509</span></td><td id="LC29509" class="css-1dcdqdg"><code> identifier: identifier, </code></td></tr><tr><td id="L29510" class="css-a4x74f"><span>29510</span></td><td id="LC29510" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L29511" class="css-a4x74f"><span>29511</span></td><td id="LC29511" class="css-1dcdqdg"><code> selector: selector </code></td></tr><tr><td id="L29512" class="css-a4x74f"><span>29512</span></td><td id="LC29512" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29513" class="css-a4x74f"><span>29513</span></td><td id="LC29513" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29514" class="css-a4x74f"><span>29514</span></td><td id="LC29514" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29515" class="css-a4x74f"><span>29515</span></td><td id="LC29515" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29516" class="css-a4x74f"><span>29516</span></td><td id="LC29516" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L29517" class="css-a4x74f"><span>29517</span></td><td id="LC29517" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29518" class="css-a4x74f"><span>29518</span></td><td id="LC29518" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L29519" class="css-a4x74f"><span>29519</span></td><td id="LC29519" class="css-1dcdqdg"><code> visit: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L29520" class="css-a4x74f"><span>29520</span></td><td id="LC29520" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">funcNode, fItem, fList</span>) =></span> { </code></td></tr><tr><td id="L29521" class="css-a4x74f"><span>29521</span></td><td id="LC29521" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29522" class="css-a4x74f"><span>29522</span></td><td id="LC29522" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (funcNode.name.indexOf(<span class="code-string">"element"</span>) > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L29523" class="css-a4x74f"><span>29523</span></td><td id="LC29523" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29524" class="css-a4x74f"><span>29524</span></td><td id="LC29524" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29525" class="css-a4x74f"><span>29525</span></td><td id="LC29525" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29526" class="css-a4x74f"><span>29526</span></td><td id="LC29526" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> func = funcNode.name; </code></td></tr><tr><td id="L29527" class="css-a4x74f"><span>29527</span></td><td id="LC29527" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29528" class="css-a4x74f"><span>29528</span></td><td id="LC29528" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = funcNode.children.first().name; </code></td></tr><tr><td id="L29529" class="css-a4x74f"><span>29529</span></td><td id="LC29529" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29530" class="css-a4x74f"><span>29530</span></td><td id="LC29530" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> args = [value]; </code></td></tr><tr><td id="L29531" class="css-a4x74f"><span>29531</span></td><td id="LC29531" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29532" class="css-a4x74f"><span>29532</span></td><td id="LC29532" class="css-1dcdqdg"><code> <span class="code-comment">// we only handle first for now</span> </code></td></tr><tr><td id="L29533" class="css-a4x74f"><span>29533</span></td><td id="LC29533" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> style = <span class="code-string">"first"</span>; </code></td></tr><tr><td id="L29534" class="css-a4x74f"><span>29534</span></td><td id="LC29534" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29535" class="css-a4x74f"><span>29535</span></td><td id="LC29535" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L29536" class="css-a4x74f"><span>29536</span></td><td id="LC29536" class="css-1dcdqdg"><code> <span class="code-comment">// remove before / after</span> </code></td></tr><tr><td id="L29537" class="css-a4x74f"><span>29537</span></td><td id="LC29537" class="css-1dcdqdg"><code> s = s.replace(<span class="code-regexp">/::after|::before/</span>, <span class="code-string">""</span>); </code></td></tr><tr><td id="L29538" class="css-a4x74f"><span>29538</span></td><td id="LC29538" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29539" class="css-a4x74f"><span>29539</span></td><td id="LC29539" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.elements[s] = { </code></td></tr><tr><td id="L29540" class="css-a4x74f"><span>29540</span></td><td id="LC29540" class="css-1dcdqdg"><code> func: func, </code></td></tr><tr><td id="L29541" class="css-a4x74f"><span>29541</span></td><td id="LC29541" class="css-1dcdqdg"><code> args: args, </code></td></tr><tr><td id="L29542" class="css-a4x74f"><span>29542</span></td><td id="LC29542" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L29543" class="css-a4x74f"><span>29543</span></td><td id="LC29543" class="css-1dcdqdg"><code> style: style , </code></td></tr><tr><td id="L29544" class="css-a4x74f"><span>29544</span></td><td id="LC29544" class="css-1dcdqdg"><code> selector: s, </code></td></tr><tr><td id="L29545" class="css-a4x74f"><span>29545</span></td><td id="LC29545" class="css-1dcdqdg"><code> fullSelector: selector </code></td></tr><tr><td id="L29546" class="css-a4x74f"><span>29546</span></td><td id="LC29546" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29547" class="css-a4x74f"><span>29547</span></td><td id="LC29547" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29548" class="css-a4x74f"><span>29548</span></td><td id="LC29548" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29549" class="css-a4x74f"><span>29549</span></td><td id="LC29549" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29550" class="css-a4x74f"><span>29550</span></td><td id="LC29550" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29551" class="css-a4x74f"><span>29551</span></td><td id="LC29551" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29552" class="css-a4x74f"><span>29552</span></td><td id="LC29552" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29553" class="css-a4x74f"><span>29553</span></td><td id="LC29553" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29554" class="css-a4x74f"><span>29554</span></td><td id="LC29554" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29555" class="css-a4x74f"><span>29555</span></td><td id="LC29555" class="css-1dcdqdg"><code> afterParsed(fragment) { </code></td></tr><tr><td id="L29556" class="css-a4x74f"><span>29556</span></td><td id="LC29556" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> name <span class="code-keyword">of</span> <span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>.runningSelectors)) { </code></td></tr><tr><td id="L29557" class="css-a4x74f"><span>29557</span></td><td id="LC29557" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> <span class="code-keyword">set</span> = this.runningSelectors[name]; </code></td></tr><tr><td id="L29558" class="css-a4x74f"><span>29558</span></td><td id="LC29558" class="css-1dcdqdg"><code> let selected = Array.from(fragment.querySelectorAll(<span class="code-keyword">set</span>.selector)); </code></td></tr><tr><td id="L29559" class="css-a4x74f"><span>29559</span></td><td id="LC29559" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29560" class="css-a4x74f"><span>29560</span></td><td id="LC29560" class="css-1dcdqdg"><code> if (<span class="code-keyword">set</span>.identifier === "running") { </code></td></tr><tr><td id="L29561" class="css-a4x74f"><span>29561</span></td><td id="LC29561" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> header <span class="code-keyword">of</span> selected) { </code></td></tr><tr><td id="L29562" class="css-a4x74f"><span>29562</span></td><td id="LC29562" class="css-1dcdqdg"><code> header.style.display = <span class="code-string">"none"</span>; </code></td></tr><tr><td id="L29563" class="css-a4x74f"><span>29563</span></td><td id="LC29563" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29564" class="css-a4x74f"><span>29564</span></td><td id="LC29564" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29565" class="css-a4x74f"><span>29565</span></td><td id="LC29565" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29566" class="css-a4x74f"><span>29566</span></td><td id="LC29566" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29567" class="css-a4x74f"><span>29567</span></td><td id="LC29567" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29568" class="css-a4x74f"><span>29568</span></td><td id="LC29568" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29569" class="css-a4x74f"><span>29569</span></td><td id="LC29569" class="css-1dcdqdg"><code> afterPageLayout(fragment) { </code></td></tr><tr><td id="L29570" class="css-a4x74f"><span>29570</span></td><td id="LC29570" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> name <span class="code-keyword">of</span> <span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>.runningSelectors)) { </code></td></tr><tr><td id="L29571" class="css-a4x74f"><span>29571</span></td><td id="LC29571" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> <span class="code-keyword">set</span> = this.runningSelectors[name]; </code></td></tr><tr><td id="L29572" class="css-a4x74f"><span>29572</span></td><td id="LC29572" class="css-1dcdqdg"><code> let selected = fragment.querySelector(<span class="code-keyword">set</span>.selector); </code></td></tr><tr><td id="L29573" class="css-a4x74f"><span>29573</span></td><td id="LC29573" class="css-1dcdqdg"><code> if (selected) { </code></td></tr><tr><td id="L29574" class="css-a4x74f"><span>29574</span></td><td id="LC29574" class="css-1dcdqdg"><code> <span class="code-comment">// let cssVar;</span> </code></td></tr><tr><td id="L29575" class="css-a4x74f"><span>29575</span></td><td id="LC29575" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">set</span>.identifier === "running") { </code></td></tr><tr><td id="L29576" class="css-a4x74f"><span>29576</span></td><td id="LC29576" class="css-1dcdqdg"><code> <span class="code-comment">// cssVar = selected.textContent.replace(/\\([\s\S])|(["|'])/g,"\\$1$2");</span> </code></td></tr><tr><td id="L29577" class="css-a4x74f"><span>29577</span></td><td id="LC29577" class="css-1dcdqdg"><code> <span class="code-comment">// this.styleSheet.insertRule(`:root { --string-${name}: "${cssVar}"; }`, this.styleSheet.cssRules.length);</span> </code></td></tr><tr><td id="L29578" class="css-a4x74f"><span>29578</span></td><td id="LC29578" class="css-1dcdqdg"><code> <span class="code-comment">// fragment.style.setProperty(`--string-${name}`, `"${cssVar}"`);</span> </code></td></tr><tr><td id="L29579" class="css-a4x74f"><span>29579</span></td><td id="LC29579" class="css-1dcdqdg"><code> <span class="code-keyword">set</span>.first = selected; </code></td></tr><tr><td id="L29580" class="css-a4x74f"><span>29580</span></td><td id="LC29580" class="css-1dcdqdg"><code> } else { </code></td></tr><tr><td id="L29581" class="css-a4x74f"><span>29581</span></td><td id="LC29581" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-keyword">set</span>.value + "needs css replacement"); </code></td></tr><tr><td id="L29582" class="css-a4x74f"><span>29582</span></td><td id="LC29582" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29583" class="css-a4x74f"><span>29583</span></td><td id="LC29583" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29584" class="css-a4x74f"><span>29584</span></td><td id="LC29584" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29585" class="css-a4x74f"><span>29585</span></td><td id="LC29585" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29586" class="css-a4x74f"><span>29586</span></td><td id="LC29586" class="css-1dcdqdg"><code> // move elements </code></td></tr><tr><td id="L29587" class="css-a4x74f"><span>29587</span></td><td id="LC29587" class="css-1dcdqdg"><code> if (!this.orderedSelectors) { </code></td></tr><tr><td id="L29588" class="css-a4x74f"><span>29588</span></td><td id="LC29588" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.orderedSelectors = <span class="code-keyword">this</span>.orderSelectors(<span class="code-keyword">this</span>.elements); </code></td></tr><tr><td id="L29589" class="css-a4x74f"><span>29589</span></td><td id="LC29589" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29590" class="css-a4x74f"><span>29590</span></td><td id="LC29590" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29591" class="css-a4x74f"><span>29591</span></td><td id="LC29591" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> selector <span class="code-keyword">of</span> <span class="code-keyword">this</span>.orderedSelectors) { </code></td></tr><tr><td id="L29592" class="css-a4x74f"><span>29592</span></td><td id="LC29592" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selector) { </code></td></tr><tr><td id="L29593" class="css-a4x74f"><span>29593</span></td><td id="LC29593" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29594" class="css-a4x74f"><span>29594</span></td><td id="LC29594" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> el = <span class="code-keyword">this</span>.elements[selector]; </code></td></tr><tr><td id="L29595" class="css-a4x74f"><span>29595</span></td><td id="LC29595" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selected = fragment.querySelector(selector); </code></td></tr><tr><td id="L29596" class="css-a4x74f"><span>29596</span></td><td id="LC29596" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (selected) { </code></td></tr><tr><td id="L29597" class="css-a4x74f"><span>29597</span></td><td id="LC29597" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> running = <span class="code-keyword">this</span>.runningSelectors[el.args[<span class="code-number">0</span>]]; </code></td></tr><tr><td id="L29598" class="css-a4x74f"><span>29598</span></td><td id="LC29598" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (running && running.first) { </code></td></tr><tr><td id="L29599" class="css-a4x74f"><span>29599</span></td><td id="LC29599" class="css-1dcdqdg"><code> selected.innerHTML = <span class="code-string">""</span>; <span class="code-comment">// Clear node</span> </code></td></tr><tr><td id="L29600" class="css-a4x74f"><span>29600</span></td><td id="LC29600" class="css-1dcdqdg"><code> <span class="code-comment">// selected.classList.add("pagedjs_clear-after"); // Clear ::after</span> </code></td></tr><tr><td id="L29601" class="css-a4x74f"><span>29601</span></td><td id="LC29601" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> clone = running.first.cloneNode(<span class="code-literal">true</span>); </code></td></tr><tr><td id="L29602" class="css-a4x74f"><span>29602</span></td><td id="LC29602" class="css-1dcdqdg"><code> clone.style.display = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L29603" class="css-a4x74f"><span>29603</span></td><td id="LC29603" class="css-1dcdqdg"><code> selected.appendChild(clone); </code></td></tr><tr><td id="L29604" class="css-a4x74f"><span>29604</span></td><td id="LC29604" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29605" class="css-a4x74f"><span>29605</span></td><td id="LC29605" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29606" class="css-a4x74f"><span>29606</span></td><td id="LC29606" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29607" class="css-a4x74f"><span>29607</span></td><td id="LC29607" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29608" class="css-a4x74f"><span>29608</span></td><td id="LC29608" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29609" class="css-a4x74f"><span>29609</span></td><td id="LC29609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29610" class="css-a4x74f"><span>29610</span></td><td id="LC29610" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L29611" class="css-a4x74f"><span>29611</span></td><td id="LC29611" class="css-1dcdqdg"><code><span class="code-comment"> * Assign a weight to @page selector classes </span></code></td></tr><tr><td id="L29612" class="css-a4x74f"><span>29612</span></td><td id="LC29612" class="css-1dcdqdg"><code><span class="code-comment"> * 1) page </span></code></td></tr><tr><td id="L29613" class="css-a4x74f"><span>29613</span></td><td id="LC29613" class="css-1dcdqdg"><code><span class="code-comment"> * 2) left & right </span></code></td></tr><tr><td id="L29614" class="css-a4x74f"><span>29614</span></td><td id="LC29614" class="css-1dcdqdg"><code><span class="code-comment"> * 3) blank </span></code></td></tr><tr><td id="L29615" class="css-a4x74f"><span>29615</span></td><td id="LC29615" class="css-1dcdqdg"><code><span class="code-comment"> * 4) first & nth </span></code></td></tr><tr><td id="L29616" class="css-a4x74f"><span>29616</span></td><td id="LC29616" class="css-1dcdqdg"><code><span class="code-comment"> * 5) named page </span></code></td></tr><tr><td id="L29617" class="css-a4x74f"><span>29617</span></td><td id="LC29617" class="css-1dcdqdg"><code><span class="code-comment"> * 6) named left & right </span></code></td></tr><tr><td id="L29618" class="css-a4x74f"><span>29618</span></td><td id="LC29618" class="css-1dcdqdg"><code><span class="code-comment"> * 7) named first & nth </span></code></td></tr><tr><td id="L29619" class="css-a4x74f"><span>29619</span></td><td id="LC29619" class="css-1dcdqdg"><code><span class="code-comment"> * @param {string} [s] selector string </span></code></td></tr><tr><td id="L29620" class="css-a4x74f"><span>29620</span></td><td id="LC29620" class="css-1dcdqdg"><code><span class="code-comment"> * @return {int} weight </span></code></td></tr><tr><td id="L29621" class="css-a4x74f"><span>29621</span></td><td id="LC29621" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L29622" class="css-a4x74f"><span>29622</span></td><td id="LC29622" class="css-1dcdqdg"><code> pageWeight(s) { </code></td></tr><tr><td id="L29623" class="css-a4x74f"><span>29623</span></td><td id="LC29623" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> weight = <span class="code-number">1</span>; </code></td></tr><tr><td id="L29624" class="css-a4x74f"><span>29624</span></td><td id="LC29624" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = s.split(<span class="code-string">" "</span>); </code></td></tr><tr><td id="L29625" class="css-a4x74f"><span>29625</span></td><td id="LC29625" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parts = selector.length && selector[<span class="code-number">0</span>].split(<span class="code-string">"."</span>); </code></td></tr><tr><td id="L29626" class="css-a4x74f"><span>29626</span></td><td id="LC29626" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29627" class="css-a4x74f"><span>29627</span></td><td id="LC29627" class="css-1dcdqdg"><code> parts.shift(); <span class="code-comment">// remove empty first part</span> </code></td></tr><tr><td id="L29628" class="css-a4x74f"><span>29628</span></td><td id="LC29628" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29629" class="css-a4x74f"><span>29629</span></td><td id="LC29629" class="css-1dcdqdg"><code> <span class="code-keyword">switch</span> (parts.length) { </code></td></tr><tr><td id="L29630" class="css-a4x74f"><span>29630</span></td><td id="LC29630" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">4</span>: </code></td></tr><tr><td id="L29631" class="css-a4x74f"><span>29631</span></td><td id="LC29631" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parts[<span class="code-number">3</span>] === <span class="code-string">"pagedjs_first_page"</span>) { </code></td></tr><tr><td id="L29632" class="css-a4x74f"><span>29632</span></td><td id="LC29632" class="css-1dcdqdg"><code> weight = <span class="code-number">7</span>; </code></td></tr><tr><td id="L29633" class="css-a4x74f"><span>29633</span></td><td id="LC29633" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (parts[<span class="code-number">3</span>] === <span class="code-string">"pagedjs_left_page"</span> || parts[<span class="code-number">3</span>] === <span class="code-string">"pagedjs_right_page"</span>) { </code></td></tr><tr><td id="L29634" class="css-a4x74f"><span>29634</span></td><td id="LC29634" class="css-1dcdqdg"><code> weight = <span class="code-number">6</span>; </code></td></tr><tr><td id="L29635" class="css-a4x74f"><span>29635</span></td><td id="LC29635" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29636" class="css-a4x74f"><span>29636</span></td><td id="LC29636" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L29637" class="css-a4x74f"><span>29637</span></td><td id="LC29637" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">3</span>: </code></td></tr><tr><td id="L29638" class="css-a4x74f"><span>29638</span></td><td id="LC29638" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parts[<span class="code-number">1</span>] === <span class="code-string">"pagedjs_named_page"</span>) { </code></td></tr><tr><td id="L29639" class="css-a4x74f"><span>29639</span></td><td id="LC29639" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parts[<span class="code-number">2</span>].indexOf(<span class="code-string">":nth-of-type"</span>) > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L29640" class="css-a4x74f"><span>29640</span></td><td id="LC29640" class="css-1dcdqdg"><code> weight = <span class="code-number">7</span>; </code></td></tr><tr><td id="L29641" class="css-a4x74f"><span>29641</span></td><td id="LC29641" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29642" class="css-a4x74f"><span>29642</span></td><td id="LC29642" class="css-1dcdqdg"><code> weight = <span class="code-number">5</span>; </code></td></tr><tr><td id="L29643" class="css-a4x74f"><span>29643</span></td><td id="LC29643" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29644" class="css-a4x74f"><span>29644</span></td><td id="LC29644" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29645" class="css-a4x74f"><span>29645</span></td><td id="LC29645" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L29646" class="css-a4x74f"><span>29646</span></td><td id="LC29646" class="css-1dcdqdg"><code> <span class="code-keyword">case</span> <span class="code-number">2</span>: </code></td></tr><tr><td id="L29647" class="css-a4x74f"><span>29647</span></td><td id="LC29647" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parts[<span class="code-number">1</span>] === <span class="code-string">"pagedjs_first_page"</span>) { </code></td></tr><tr><td id="L29648" class="css-a4x74f"><span>29648</span></td><td id="LC29648" class="css-1dcdqdg"><code> weight = <span class="code-number">4</span>; </code></td></tr><tr><td id="L29649" class="css-a4x74f"><span>29649</span></td><td id="LC29649" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (parts[<span class="code-number">1</span>] === <span class="code-string">"pagedjs_blank_page"</span>) { </code></td></tr><tr><td id="L29650" class="css-a4x74f"><span>29650</span></td><td id="LC29650" class="css-1dcdqdg"><code> weight = <span class="code-number">3</span>; </code></td></tr><tr><td id="L29651" class="css-a4x74f"><span>29651</span></td><td id="LC29651" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (parts[<span class="code-number">1</span>] === <span class="code-string">"pagedjs_left_page"</span> || parts[<span class="code-number">1</span>] === <span class="code-string">"pagedjs_right_page"</span>) { </code></td></tr><tr><td id="L29652" class="css-a4x74f"><span>29652</span></td><td id="LC29652" class="css-1dcdqdg"><code> weight = <span class="code-number">2</span>; </code></td></tr><tr><td id="L29653" class="css-a4x74f"><span>29653</span></td><td id="LC29653" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29654" class="css-a4x74f"><span>29654</span></td><td id="LC29654" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L29655" class="css-a4x74f"><span>29655</span></td><td id="LC29655" class="css-1dcdqdg"><code> <span class="code-keyword">default</span>: </code></td></tr><tr><td id="L29656" class="css-a4x74f"><span>29656</span></td><td id="LC29656" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (parts[<span class="code-number">0</span>].indexOf(<span class="code-string">":nth-of-type"</span>) > <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L29657" class="css-a4x74f"><span>29657</span></td><td id="LC29657" class="css-1dcdqdg"><code> weight = <span class="code-number">4</span>; </code></td></tr><tr><td id="L29658" class="css-a4x74f"><span>29658</span></td><td id="LC29658" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29659" class="css-a4x74f"><span>29659</span></td><td id="LC29659" class="css-1dcdqdg"><code> weight = <span class="code-number">1</span>; </code></td></tr><tr><td id="L29660" class="css-a4x74f"><span>29660</span></td><td id="LC29660" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29661" class="css-a4x74f"><span>29661</span></td><td id="LC29661" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29662" class="css-a4x74f"><span>29662</span></td><td id="LC29662" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29663" class="css-a4x74f"><span>29663</span></td><td id="LC29663" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> weight; </code></td></tr><tr><td id="L29664" class="css-a4x74f"><span>29664</span></td><td id="LC29664" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29665" class="css-a4x74f"><span>29665</span></td><td id="LC29665" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29666" class="css-a4x74f"><span>29666</span></td><td id="LC29666" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L29667" class="css-a4x74f"><span>29667</span></td><td id="LC29667" class="css-1dcdqdg"><code><span class="code-comment"> * Orders the selectors based on weight </span></code></td></tr><tr><td id="L29668" class="css-a4x74f"><span>29668</span></td><td id="LC29668" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L29669" class="css-a4x74f"><span>29669</span></td><td id="LC29669" class="css-1dcdqdg"><code><span class="code-comment"> * Does not try to deduplicate base on specifity of the selector </span></code></td></tr><tr><td id="L29670" class="css-a4x74f"><span>29670</span></td><td id="LC29670" class="css-1dcdqdg"><code><span class="code-comment"> * Previous matched selector will just be overwritten </span></code></td></tr><tr><td id="L29671" class="css-a4x74f"><span>29671</span></td><td id="LC29671" class="css-1dcdqdg"><code><span class="code-comment"> * @param {obj} [obj] selectors object </span></code></td></tr><tr><td id="L29672" class="css-a4x74f"><span>29672</span></td><td id="LC29672" class="css-1dcdqdg"><code><span class="code-comment"> * @return {Array} orderedSelectors </span></code></td></tr><tr><td id="L29673" class="css-a4x74f"><span>29673</span></td><td id="LC29673" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L29674" class="css-a4x74f"><span>29674</span></td><td id="LC29674" class="css-1dcdqdg"><code> orderSelectors(obj) { </code></td></tr><tr><td id="L29675" class="css-a4x74f"><span>29675</span></td><td id="LC29675" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = <span class="code-built_in">Object</span>.keys(obj); </code></td></tr><tr><td id="L29676" class="css-a4x74f"><span>29676</span></td><td id="LC29676" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> weighted = { </code></td></tr><tr><td id="L29677" class="css-a4x74f"><span>29677</span></td><td id="LC29677" class="css-1dcdqdg"><code> <span class="code-number">1</span>: [], </code></td></tr><tr><td id="L29678" class="css-a4x74f"><span>29678</span></td><td id="LC29678" class="css-1dcdqdg"><code> <span class="code-number">2</span>: [], </code></td></tr><tr><td id="L29679" class="css-a4x74f"><span>29679</span></td><td id="LC29679" class="css-1dcdqdg"><code> <span class="code-number">3</span>: [], </code></td></tr><tr><td id="L29680" class="css-a4x74f"><span>29680</span></td><td id="LC29680" class="css-1dcdqdg"><code> <span class="code-number">4</span>: [], </code></td></tr><tr><td id="L29681" class="css-a4x74f"><span>29681</span></td><td id="LC29681" class="css-1dcdqdg"><code> <span class="code-number">5</span>: [], </code></td></tr><tr><td id="L29682" class="css-a4x74f"><span>29682</span></td><td id="LC29682" class="css-1dcdqdg"><code> <span class="code-number">6</span>: [], </code></td></tr><tr><td id="L29683" class="css-a4x74f"><span>29683</span></td><td id="LC29683" class="css-1dcdqdg"><code> <span class="code-number">7</span>: [] </code></td></tr><tr><td id="L29684" class="css-a4x74f"><span>29684</span></td><td id="LC29684" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29685" class="css-a4x74f"><span>29685</span></td><td id="LC29685" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29686" class="css-a4x74f"><span>29686</span></td><td id="LC29686" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> orderedSelectors = []; </code></td></tr><tr><td id="L29687" class="css-a4x74f"><span>29687</span></td><td id="LC29687" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29688" class="css-a4x74f"><span>29688</span></td><td id="LC29688" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> s <span class="code-keyword">of</span> selectors) { </code></td></tr><tr><td id="L29689" class="css-a4x74f"><span>29689</span></td><td id="LC29689" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> w = <span class="code-keyword">this</span>.pageWeight(s); </code></td></tr><tr><td id="L29690" class="css-a4x74f"><span>29690</span></td><td id="LC29690" class="css-1dcdqdg"><code> weighted[w].unshift(s); </code></td></tr><tr><td id="L29691" class="css-a4x74f"><span>29691</span></td><td id="LC29691" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29692" class="css-a4x74f"><span>29692</span></td><td id="LC29692" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29693" class="css-a4x74f"><span>29693</span></td><td id="LC29693" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">1</span>; i <= <span class="code-number">7</span>; i++) { </code></td></tr><tr><td id="L29694" class="css-a4x74f"><span>29694</span></td><td id="LC29694" class="css-1dcdqdg"><code> orderedSelectors = orderedSelectors.concat(weighted[i]); </code></td></tr><tr><td id="L29695" class="css-a4x74f"><span>29695</span></td><td id="LC29695" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29696" class="css-a4x74f"><span>29696</span></td><td id="LC29696" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29697" class="css-a4x74f"><span>29697</span></td><td id="LC29697" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> orderedSelectors; </code></td></tr><tr><td id="L29698" class="css-a4x74f"><span>29698</span></td><td id="LC29698" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29699" class="css-a4x74f"><span>29699</span></td><td id="LC29699" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29700" class="css-a4x74f"><span>29700</span></td><td id="LC29700" class="css-1dcdqdg"><code> beforeTreeParse(text, sheet) { </code></td></tr><tr><td id="L29701" class="css-a4x74f"><span>29701</span></td><td id="LC29701" class="css-1dcdqdg"><code> <span class="code-comment">// element(x) is parsed as image element selector, so update element to element-ident</span> </code></td></tr><tr><td id="L29702" class="css-a4x74f"><span>29702</span></td><td id="LC29702" class="css-1dcdqdg"><code> sheet.text = text.replace(<span class="code-regexp">/element[\s]*\(([^|^#)]*)\)/g</span>, <span class="code-string">"element-ident($1)"</span>); </code></td></tr><tr><td id="L29703" class="css-a4x74f"><span>29703</span></td><td id="LC29703" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29704" class="css-a4x74f"><span>29704</span></td><td id="LC29704" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29705" class="css-a4x74f"><span>29705</span></td><td id="LC29705" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29706" class="css-a4x74f"><span>29706</span></td><td id="LC29706" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cleanPseudoContent</span>(<span class="code-params">el, trim = <span class="code-string">"\"' "</span></span>) </span>{ </code></td></tr><tr><td id="L29707" class="css-a4x74f"><span>29707</span></td><td id="LC29707" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(el == <span class="code-literal">null</span>) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29708" class="css-a4x74f"><span>29708</span></td><td id="LC29708" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> el </code></td></tr><tr><td id="L29709" class="css-a4x74f"><span>29709</span></td><td id="LC29709" class="css-1dcdqdg"><code> .replace(<span class="code-keyword">new</span> <span class="code-built_in">RegExp</span>(<span class="code-string">`^[<span class="code-subst">${trim}</span>]+`</span>), <span class="code-string">""</span>) </code></td></tr><tr><td id="L29710" class="css-a4x74f"><span>29710</span></td><td id="LC29710" class="css-1dcdqdg"><code> .replace(<span class="code-keyword">new</span> <span class="code-built_in">RegExp</span>(<span class="code-string">`[<span class="code-subst">${trim}</span>]+$`</span>), <span class="code-string">""</span>) </code></td></tr><tr><td id="L29711" class="css-a4x74f"><span>29711</span></td><td id="LC29711" class="css-1dcdqdg"><code> .replace(<span class="code-regexp">/["']/g</span>, match => { </code></td></tr><tr><td id="L29712" class="css-a4x74f"><span>29712</span></td><td id="LC29712" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">"\\"</span> + match; </code></td></tr><tr><td id="L29713" class="css-a4x74f"><span>29713</span></td><td id="LC29713" class="css-1dcdqdg"><code> }) </code></td></tr><tr><td id="L29714" class="css-a4x74f"><span>29714</span></td><td id="LC29714" class="css-1dcdqdg"><code> .replace(<span class="code-regexp">/[\n]/g</span>, match => { </code></td></tr><tr><td id="L29715" class="css-a4x74f"><span>29715</span></td><td id="LC29715" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-string">"\\00000A"</span>; </code></td></tr><tr><td id="L29716" class="css-a4x74f"><span>29716</span></td><td id="LC29716" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29717" class="css-a4x74f"><span>29717</span></td><td id="LC29717" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29718" class="css-a4x74f"><span>29718</span></td><td id="LC29718" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29719" class="css-a4x74f"><span>29719</span></td><td id="LC29719" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">cleanSelector</span>(<span class="code-params">el</span>) </span>{ </code></td></tr><tr><td id="L29720" class="css-a4x74f"><span>29720</span></td><td id="LC29720" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(el == <span class="code-literal">null</span>) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29721" class="css-a4x74f"><span>29721</span></td><td id="LC29721" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> el </code></td></tr><tr><td id="L29722" class="css-a4x74f"><span>29722</span></td><td id="LC29722" class="css-1dcdqdg"><code> .replace(<span class="code-keyword">new</span> <span class="code-built_in">RegExp</span>(<span class="code-string">"::footnote-call"</span>, <span class="code-string">"g"</span>), <span class="code-string">""</span>) </code></td></tr><tr><td id="L29723" class="css-a4x74f"><span>29723</span></td><td id="LC29723" class="css-1dcdqdg"><code> .replace(<span class="code-keyword">new</span> <span class="code-built_in">RegExp</span>(<span class="code-string">"::footnote-marker"</span>, <span class="code-string">"g"</span>), <span class="code-string">""</span>); </code></td></tr><tr><td id="L29724" class="css-a4x74f"><span>29724</span></td><td id="LC29724" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29725" class="css-a4x74f"><span>29725</span></td><td id="LC29725" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29726" class="css-a4x74f"><span>29726</span></td><td id="LC29726" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">StringSets</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29727" class="css-a4x74f"><span>29727</span></td><td id="LC29727" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29728" class="css-a4x74f"><span>29728</span></td><td id="LC29728" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29729" class="css-a4x74f"><span>29729</span></td><td id="LC29729" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29730" class="css-a4x74f"><span>29730</span></td><td id="LC29730" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stringSetSelectors = {}; </code></td></tr><tr><td id="L29731" class="css-a4x74f"><span>29731</span></td><td id="LC29731" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.type; </code></td></tr><tr><td id="L29732" class="css-a4x74f"><span>29732</span></td><td id="LC29732" class="css-1dcdqdg"><code> <span class="code-comment">// pageLastString = last string variable defined on the page </span> </code></td></tr><tr><td id="L29733" class="css-a4x74f"><span>29733</span></td><td id="LC29733" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageLastString; </code></td></tr><tr><td id="L29734" class="css-a4x74f"><span>29734</span></td><td id="LC29734" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29735" class="css-a4x74f"><span>29735</span></td><td id="LC29735" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29736" class="css-a4x74f"><span>29736</span></td><td id="LC29736" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29737" class="css-a4x74f"><span>29737</span></td><td id="LC29737" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L29738" class="css-a4x74f"><span>29738</span></td><td id="LC29738" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"string-set"</span>) { </code></td></tr><tr><td id="L29739" class="css-a4x74f"><span>29739</span></td><td id="LC29739" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29740" class="css-a4x74f"><span>29740</span></td><td id="LC29740" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29741" class="css-a4x74f"><span>29741</span></td><td id="LC29741" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> identifier = declaration.value.children.first().name; </code></td></tr><tr><td id="L29742" class="css-a4x74f"><span>29742</span></td><td id="LC29742" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29743" class="css-a4x74f"><span>29743</span></td><td id="LC29743" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value; </code></td></tr><tr><td id="L29744" class="css-a4x74f"><span>29744</span></td><td id="LC29744" class="css-1dcdqdg"><code> lib.walk(declaration, { </code></td></tr><tr><td id="L29745" class="css-a4x74f"><span>29745</span></td><td id="LC29745" class="css-1dcdqdg"><code> visit: <span class="code-string">"Function"</span>, </code></td></tr><tr><td id="L29746" class="css-a4x74f"><span>29746</span></td><td id="LC29746" class="css-1dcdqdg"><code> enter: <span class="code-function">(<span class="code-params">node, item, list</span>) =></span> { </code></td></tr><tr><td id="L29747" class="css-a4x74f"><span>29747</span></td><td id="LC29747" class="css-1dcdqdg"><code> value = lib.generate(node); </code></td></tr><tr><td id="L29748" class="css-a4x74f"><span>29748</span></td><td id="LC29748" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29749" class="css-a4x74f"><span>29749</span></td><td id="LC29749" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29750" class="css-a4x74f"><span>29750</span></td><td id="LC29750" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29751" class="css-a4x74f"><span>29751</span></td><td id="LC29751" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.stringSetSelectors[identifier] = { </code></td></tr><tr><td id="L29752" class="css-a4x74f"><span>29752</span></td><td id="LC29752" class="css-1dcdqdg"><code> identifier, </code></td></tr><tr><td id="L29753" class="css-a4x74f"><span>29753</span></td><td id="LC29753" class="css-1dcdqdg"><code> value, </code></td></tr><tr><td id="L29754" class="css-a4x74f"><span>29754</span></td><td id="LC29754" class="css-1dcdqdg"><code> selector </code></td></tr><tr><td id="L29755" class="css-a4x74f"><span>29755</span></td><td id="LC29755" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29756" class="css-a4x74f"><span>29756</span></td><td id="LC29756" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29757" class="css-a4x74f"><span>29757</span></td><td id="LC29757" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29758" class="css-a4x74f"><span>29758</span></td><td id="LC29758" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29759" class="css-a4x74f"><span>29759</span></td><td id="LC29759" class="css-1dcdqdg"><code> onContent(funcNode, fItem, fList, declaration, rule) { </code></td></tr><tr><td id="L29760" class="css-a4x74f"><span>29760</span></td><td id="LC29760" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29761" class="css-a4x74f"><span>29761</span></td><td id="LC29761" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (funcNode.name === <span class="code-string">"string"</span>) { </code></td></tr><tr><td id="L29762" class="css-a4x74f"><span>29762</span></td><td id="LC29762" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> identifier = funcNode.children && funcNode.children.first().name; </code></td></tr><tr><td id="L29763" class="css-a4x74f"><span>29763</span></td><td id="LC29763" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.type = funcNode.children.last().name; </code></td></tr><tr><td id="L29764" class="css-a4x74f"><span>29764</span></td><td id="LC29764" class="css-1dcdqdg"><code> funcNode.name = <span class="code-string">"var"</span>; </code></td></tr><tr><td id="L29765" class="css-a4x74f"><span>29765</span></td><td id="LC29765" class="css-1dcdqdg"><code> funcNode.children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L29766" class="css-a4x74f"><span>29766</span></td><td id="LC29766" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29767" class="css-a4x74f"><span>29767</span></td><td id="LC29767" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29768" class="css-a4x74f"><span>29768</span></td><td id="LC29768" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>.type === <span class="code-string">"first"</span> || <span class="code-keyword">this</span>.type === <span class="code-string">"last"</span> || <span class="code-keyword">this</span>.type === <span class="code-string">"start"</span> || <span class="code-keyword">this</span>.type === <span class="code-string">"first-except"</span>){ </code></td></tr><tr><td id="L29769" class="css-a4x74f"><span>29769</span></td><td id="LC29769" class="css-1dcdqdg"><code> funcNode.children.append( </code></td></tr><tr><td id="L29770" class="css-a4x74f"><span>29770</span></td><td id="LC29770" class="css-1dcdqdg"><code> funcNode.children.createItem({ </code></td></tr><tr><td id="L29771" class="css-a4x74f"><span>29771</span></td><td id="LC29771" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L29772" class="css-a4x74f"><span>29772</span></td><td id="LC29772" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L29773" class="css-a4x74f"><span>29773</span></td><td id="LC29773" class="css-1dcdqdg"><code> name: <span class="code-string">"--pagedjs-string-"</span> + <span class="code-keyword">this</span>.type + <span class="code-string">"-"</span> + identifier </code></td></tr><tr><td id="L29774" class="css-a4x74f"><span>29774</span></td><td id="LC29774" class="css-1dcdqdg"><code> }) </code></td></tr><tr><td id="L29775" class="css-a4x74f"><span>29775</span></td><td id="LC29775" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L29776" class="css-a4x74f"><span>29776</span></td><td id="LC29776" class="css-1dcdqdg"><code> }<span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29777" class="css-a4x74f"><span>29777</span></td><td id="LC29777" class="css-1dcdqdg"><code> funcNode.children.append( </code></td></tr><tr><td id="L29778" class="css-a4x74f"><span>29778</span></td><td id="LC29778" class="css-1dcdqdg"><code> funcNode.children.createItem({ </code></td></tr><tr><td id="L29779" class="css-a4x74f"><span>29779</span></td><td id="LC29779" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L29780" class="css-a4x74f"><span>29780</span></td><td id="LC29780" class="css-1dcdqdg"><code> loc: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L29781" class="css-a4x74f"><span>29781</span></td><td id="LC29781" class="css-1dcdqdg"><code> name: <span class="code-string">"--pagedjs-string-first-"</span> + identifier </code></td></tr><tr><td id="L29782" class="css-a4x74f"><span>29782</span></td><td id="LC29782" class="css-1dcdqdg"><code> }) </code></td></tr><tr><td id="L29783" class="css-a4x74f"><span>29783</span></td><td id="LC29783" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L29784" class="css-a4x74f"><span>29784</span></td><td id="LC29784" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29785" class="css-a4x74f"><span>29785</span></td><td id="LC29785" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29786" class="css-a4x74f"><span>29786</span></td><td id="LC29786" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29787" class="css-a4x74f"><span>29787</span></td><td id="LC29787" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29788" class="css-a4x74f"><span>29788</span></td><td id="LC29788" class="css-1dcdqdg"><code> afterPageLayout(fragment) { </code></td></tr><tr><td id="L29789" class="css-a4x74f"><span>29789</span></td><td id="LC29789" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29790" class="css-a4x74f"><span>29790</span></td><td id="LC29790" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29791" class="css-a4x74f"><span>29791</span></td><td id="LC29791" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ( <span class="code-keyword">this</span>.pageLastString === <span class="code-literal">undefined</span> ) </code></td></tr><tr><td id="L29792" class="css-a4x74f"><span>29792</span></td><td id="LC29792" class="css-1dcdqdg"><code> { </code></td></tr><tr><td id="L29793" class="css-a4x74f"><span>29793</span></td><td id="LC29793" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageLastString = {}; </code></td></tr><tr><td id="L29794" class="css-a4x74f"><span>29794</span></td><td id="LC29794" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29795" class="css-a4x74f"><span>29795</span></td><td id="LC29795" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29796" class="css-a4x74f"><span>29796</span></td><td id="LC29796" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29797" class="css-a4x74f"><span>29797</span></td><td id="LC29797" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> name <span class="code-keyword">of</span> <span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>.stringSetSelectors)) { </code></td></tr><tr><td id="L29798" class="css-a4x74f"><span>29798</span></td><td id="LC29798" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29799" class="css-a4x74f"><span>29799</span></td><td id="LC29799" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> <span class="code-keyword">set</span> = this.stringSetSelectors[name]; </code></td></tr><tr><td id="L29800" class="css-a4x74f"><span>29800</span></td><td id="LC29800" class="css-1dcdqdg"><code> let selected = fragment.querySelectorAll(<span class="code-keyword">set</span>.selector); </code></td></tr><tr><td id="L29801" class="css-a4x74f"><span>29801</span></td><td id="LC29801" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29802" class="css-a4x74f"><span>29802</span></td><td id="LC29802" class="css-1dcdqdg"><code> // Get the last found string for the current identifier </code></td></tr><tr><td id="L29803" class="css-a4x74f"><span>29803</span></td><td id="LC29803" class="css-1dcdqdg"><code> let stringPrevPage = ( name in this.pageLastString ) ? this.pageLastString[name] : ""; </code></td></tr><tr><td id="L29804" class="css-a4x74f"><span>29804</span></td><td id="LC29804" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29805" class="css-a4x74f"><span>29805</span></td><td id="LC29805" class="css-1dcdqdg"><code> let varFirst, varLast, varStart, varFirstExcept; </code></td></tr><tr><td id="L29806" class="css-a4x74f"><span>29806</span></td><td id="LC29806" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29807" class="css-a4x74f"><span>29807</span></td><td id="LC29807" class="css-1dcdqdg"><code> if(selected.length == 0){ </code></td></tr><tr><td id="L29808" class="css-a4x74f"><span>29808</span></td><td id="LC29808" class="css-1dcdqdg"><code> <span class="code-comment">// if there is no sel. on the page</span> </code></td></tr><tr><td id="L29809" class="css-a4x74f"><span>29809</span></td><td id="LC29809" class="css-1dcdqdg"><code> varFirst = stringPrevPage; </code></td></tr><tr><td id="L29810" class="css-a4x74f"><span>29810</span></td><td id="LC29810" class="css-1dcdqdg"><code> varLast = stringPrevPage; </code></td></tr><tr><td id="L29811" class="css-a4x74f"><span>29811</span></td><td id="LC29811" class="css-1dcdqdg"><code> varStart = stringPrevPage; </code></td></tr><tr><td id="L29812" class="css-a4x74f"><span>29812</span></td><td id="LC29812" class="css-1dcdqdg"><code> varFirstExcept = stringPrevPage; </code></td></tr><tr><td id="L29813" class="css-a4x74f"><span>29813</span></td><td id="LC29813" class="css-1dcdqdg"><code> }<span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29814" class="css-a4x74f"><span>29814</span></td><td id="LC29814" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29815" class="css-a4x74f"><span>29815</span></td><td id="LC29815" class="css-1dcdqdg"><code> selected.forEach(<span class="code-function">(<span class="code-params">sel</span>) =></span> { </code></td></tr><tr><td id="L29816" class="css-a4x74f"><span>29816</span></td><td id="LC29816" class="css-1dcdqdg"><code> <span class="code-comment">// push each content into the array to define in the variable the first and the last element of the page.</span> </code></td></tr><tr><td id="L29817" class="css-a4x74f"><span>29817</span></td><td id="LC29817" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.pageLastString[name] = selected[selected.length - <span class="code-number">1</span>].textContent; </code></td></tr><tr><td id="L29818" class="css-a4x74f"><span>29818</span></td><td id="LC29818" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29819" class="css-a4x74f"><span>29819</span></td><td id="LC29819" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29820" class="css-a4x74f"><span>29820</span></td><td id="LC29820" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29821" class="css-a4x74f"><span>29821</span></td><td id="LC29821" class="css-1dcdqdg"><code> <span class="code-comment">/* FIRST */</span> </code></td></tr><tr><td id="L29822" class="css-a4x74f"><span>29822</span></td><td id="LC29822" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29823" class="css-a4x74f"><span>29823</span></td><td id="LC29823" class="css-1dcdqdg"><code> varFirst = selected[<span class="code-number">0</span>].textContent; </code></td></tr><tr><td id="L29824" class="css-a4x74f"><span>29824</span></td><td id="LC29824" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29825" class="css-a4x74f"><span>29825</span></td><td id="LC29825" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29826" class="css-a4x74f"><span>29826</span></td><td id="LC29826" class="css-1dcdqdg"><code> <span class="code-comment">/* LAST */</span> </code></td></tr><tr><td id="L29827" class="css-a4x74f"><span>29827</span></td><td id="LC29827" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29828" class="css-a4x74f"><span>29828</span></td><td id="LC29828" class="css-1dcdqdg"><code> varLast = selected[selected.length - <span class="code-number">1</span>].textContent; </code></td></tr><tr><td id="L29829" class="css-a4x74f"><span>29829</span></td><td id="LC29829" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29830" class="css-a4x74f"><span>29830</span></td><td id="LC29830" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29831" class="css-a4x74f"><span>29831</span></td><td id="LC29831" class="css-1dcdqdg"><code> <span class="code-comment">/* START */</span> </code></td></tr><tr><td id="L29832" class="css-a4x74f"><span>29832</span></td><td id="LC29832" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29833" class="css-a4x74f"><span>29833</span></td><td id="LC29833" class="css-1dcdqdg"><code> <span class="code-comment">// Hack to find if the sel. is the first elem of the page / find a better way </span> </code></td></tr><tr><td id="L29834" class="css-a4x74f"><span>29834</span></td><td id="LC29834" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selTop = selected[<span class="code-number">0</span>].getBoundingClientRect().top; </code></td></tr><tr><td id="L29835" class="css-a4x74f"><span>29835</span></td><td id="LC29835" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pageContent = selected[<span class="code-number">0</span>].closest(<span class="code-string">".pagedjs_page_content"</span>); </code></td></tr><tr><td id="L29836" class="css-a4x74f"><span>29836</span></td><td id="LC29836" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pageContentTop = pageContent.getBoundingClientRect().top; </code></td></tr><tr><td id="L29837" class="css-a4x74f"><span>29837</span></td><td id="LC29837" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29838" class="css-a4x74f"><span>29838</span></td><td id="LC29838" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(selTop == pageContentTop){ </code></td></tr><tr><td id="L29839" class="css-a4x74f"><span>29839</span></td><td id="LC29839" class="css-1dcdqdg"><code> varStart = varFirst; </code></td></tr><tr><td id="L29840" class="css-a4x74f"><span>29840</span></td><td id="LC29840" class="css-1dcdqdg"><code> }<span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29841" class="css-a4x74f"><span>29841</span></td><td id="LC29841" class="css-1dcdqdg"><code> varStart = stringPrevPage; </code></td></tr><tr><td id="L29842" class="css-a4x74f"><span>29842</span></td><td id="LC29842" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29843" class="css-a4x74f"><span>29843</span></td><td id="LC29843" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29844" class="css-a4x74f"><span>29844</span></td><td id="LC29844" class="css-1dcdqdg"><code> <span class="code-comment">/* FIRST EXCEPT */</span> </code></td></tr><tr><td id="L29845" class="css-a4x74f"><span>29845</span></td><td id="LC29845" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29846" class="css-a4x74f"><span>29846</span></td><td id="LC29846" class="css-1dcdqdg"><code> varFirstExcept = <span class="code-string">""</span>; </code></td></tr><tr><td id="L29847" class="css-a4x74f"><span>29847</span></td><td id="LC29847" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29848" class="css-a4x74f"><span>29848</span></td><td id="LC29848" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29849" class="css-a4x74f"><span>29849</span></td><td id="LC29849" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29850" class="css-a4x74f"><span>29850</span></td><td id="LC29850" class="css-1dcdqdg"><code> fragment.style.setProperty(<span class="code-string">`--pagedjs-string-first-<span class="code-subst">${name}</span>`</span>, <span class="code-string">`"<span class="code-subst">${cleanPseudoContent(varFirst)}</span>`</span>); </code></td></tr><tr><td id="L29851" class="css-a4x74f"><span>29851</span></td><td id="LC29851" class="css-1dcdqdg"><code> fragment.style.setProperty(<span class="code-string">`--pagedjs-string-last-<span class="code-subst">${name}</span>`</span>, <span class="code-string">`"<span class="code-subst">${cleanPseudoContent(varLast)}</span>`</span>); </code></td></tr><tr><td id="L29852" class="css-a4x74f"><span>29852</span></td><td id="LC29852" class="css-1dcdqdg"><code> fragment.style.setProperty(<span class="code-string">`--pagedjs-string-start-<span class="code-subst">${name}</span>`</span>, <span class="code-string">`"<span class="code-subst">${cleanPseudoContent(varStart)}</span>`</span>); </code></td></tr><tr><td id="L29853" class="css-a4x74f"><span>29853</span></td><td id="LC29853" class="css-1dcdqdg"><code> fragment.style.setProperty(<span class="code-string">`--pagedjs-string-first-except-<span class="code-subst">${name}</span>`</span>, <span class="code-string">`"<span class="code-subst">${cleanPseudoContent(varFirstExcept)}</span>`</span>); </code></td></tr><tr><td id="L29854" class="css-a4x74f"><span>29854</span></td><td id="LC29854" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29855" class="css-a4x74f"><span>29855</span></td><td id="LC29855" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29856" class="css-a4x74f"><span>29856</span></td><td id="LC29856" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29857" class="css-a4x74f"><span>29857</span></td><td id="LC29857" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29858" class="css-a4x74f"><span>29858</span></td><td id="LC29858" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29859" class="css-a4x74f"><span>29859</span></td><td id="LC29859" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29860" class="css-a4x74f"><span>29860</span></td><td id="LC29860" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29861" class="css-a4x74f"><span>29861</span></td><td id="LC29861" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29862" class="css-a4x74f"><span>29862</span></td><td id="LC29862" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">TargetCounters</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29863" class="css-a4x74f"><span>29863</span></td><td id="LC29863" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29864" class="css-a4x74f"><span>29864</span></td><td id="LC29864" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29865" class="css-a4x74f"><span>29865</span></td><td id="LC29865" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29866" class="css-a4x74f"><span>29866</span></td><td id="LC29866" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29867" class="css-a4x74f"><span>29867</span></td><td id="LC29867" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29868" class="css-a4x74f"><span>29868</span></td><td id="LC29868" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.counterTargets = {}; </code></td></tr><tr><td id="L29869" class="css-a4x74f"><span>29869</span></td><td id="LC29869" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29870" class="css-a4x74f"><span>29870</span></td><td id="LC29870" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29871" class="css-a4x74f"><span>29871</span></td><td id="LC29871" class="css-1dcdqdg"><code> onContent(funcNode, fItem, fList, declaration, rule) { </code></td></tr><tr><td id="L29872" class="css-a4x74f"><span>29872</span></td><td id="LC29872" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (funcNode.name === <span class="code-string">"target-counter"</span>) { </code></td></tr><tr><td id="L29873" class="css-a4x74f"><span>29873</span></td><td id="LC29873" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L29874" class="css-a4x74f"><span>29874</span></td><td id="LC29874" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29875" class="css-a4x74f"><span>29875</span></td><td id="LC29875" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> first = funcNode.children.first(); </code></td></tr><tr><td id="L29876" class="css-a4x74f"><span>29876</span></td><td id="LC29876" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> func = first.name; </code></td></tr><tr><td id="L29877" class="css-a4x74f"><span>29877</span></td><td id="LC29877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29878" class="css-a4x74f"><span>29878</span></td><td id="LC29878" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = lib.generate(funcNode); </code></td></tr><tr><td id="L29879" class="css-a4x74f"><span>29879</span></td><td id="LC29879" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29880" class="css-a4x74f"><span>29880</span></td><td id="LC29880" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> args = []; </code></td></tr><tr><td id="L29881" class="css-a4x74f"><span>29881</span></td><td id="LC29881" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29882" class="css-a4x74f"><span>29882</span></td><td id="LC29882" class="css-1dcdqdg"><code> first.children.forEach(<span class="code-function">(<span class="code-params">child</span>) =></span> { </code></td></tr><tr><td id="L29883" class="css-a4x74f"><span>29883</span></td><td id="LC29883" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child.type === <span class="code-string">"Identifier"</span>) { </code></td></tr><tr><td id="L29884" class="css-a4x74f"><span>29884</span></td><td id="LC29884" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29885" class="css-a4x74f"><span>29885</span></td><td id="LC29885" class="css-1dcdqdg"><code> args.push(child.name); </code></td></tr><tr><td id="L29886" class="css-a4x74f"><span>29886</span></td><td id="LC29886" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29887" class="css-a4x74f"><span>29887</span></td><td id="LC29887" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29888" class="css-a4x74f"><span>29888</span></td><td id="LC29888" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29889" class="css-a4x74f"><span>29889</span></td><td id="LC29889" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> counter; </code></td></tr><tr><td id="L29890" class="css-a4x74f"><span>29890</span></td><td id="LC29890" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> style; </code></td></tr><tr><td id="L29891" class="css-a4x74f"><span>29891</span></td><td id="LC29891" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> styleIdentifier; </code></td></tr><tr><td id="L29892" class="css-a4x74f"><span>29892</span></td><td id="LC29892" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29893" class="css-a4x74f"><span>29893</span></td><td id="LC29893" class="css-1dcdqdg"><code> funcNode.children.forEach(<span class="code-function">(<span class="code-params">child</span>) =></span> { </code></td></tr><tr><td id="L29894" class="css-a4x74f"><span>29894</span></td><td id="LC29894" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child.type === <span class="code-string">"Identifier"</span>) { </code></td></tr><tr><td id="L29895" class="css-a4x74f"><span>29895</span></td><td id="LC29895" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!counter) { </code></td></tr><tr><td id="L29896" class="css-a4x74f"><span>29896</span></td><td id="LC29896" class="css-1dcdqdg"><code> counter = child.name; </code></td></tr><tr><td id="L29897" class="css-a4x74f"><span>29897</span></td><td id="LC29897" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (!style) { </code></td></tr><tr><td id="L29898" class="css-a4x74f"><span>29898</span></td><td id="LC29898" class="css-1dcdqdg"><code> styleIdentifier = lib.clone(child); </code></td></tr><tr><td id="L29899" class="css-a4x74f"><span>29899</span></td><td id="LC29899" class="css-1dcdqdg"><code> style = child.name; </code></td></tr><tr><td id="L29900" class="css-a4x74f"><span>29900</span></td><td id="LC29900" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29901" class="css-a4x74f"><span>29901</span></td><td id="LC29901" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29902" class="css-a4x74f"><span>29902</span></td><td id="LC29902" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29903" class="css-a4x74f"><span>29903</span></td><td id="LC29903" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29904" class="css-a4x74f"><span>29904</span></td><td id="LC29904" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> variable = <span class="code-string">"target-counter-"</span> + UUID(); </code></td></tr><tr><td id="L29905" class="css-a4x74f"><span>29905</span></td><td id="LC29905" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29906" class="css-a4x74f"><span>29906</span></td><td id="LC29906" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L29907" class="css-a4x74f"><span>29907</span></td><td id="LC29907" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.counterTargets[s] = { </code></td></tr><tr><td id="L29908" class="css-a4x74f"><span>29908</span></td><td id="LC29908" class="css-1dcdqdg"><code> func: func, </code></td></tr><tr><td id="L29909" class="css-a4x74f"><span>29909</span></td><td id="LC29909" class="css-1dcdqdg"><code> args: args, </code></td></tr><tr><td id="L29910" class="css-a4x74f"><span>29910</span></td><td id="LC29910" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L29911" class="css-a4x74f"><span>29911</span></td><td id="LC29911" class="css-1dcdqdg"><code> counter: counter, </code></td></tr><tr><td id="L29912" class="css-a4x74f"><span>29912</span></td><td id="LC29912" class="css-1dcdqdg"><code> style: style, </code></td></tr><tr><td id="L29913" class="css-a4x74f"><span>29913</span></td><td id="LC29913" class="css-1dcdqdg"><code> selector: s, </code></td></tr><tr><td id="L29914" class="css-a4x74f"><span>29914</span></td><td id="LC29914" class="css-1dcdqdg"><code> fullSelector: selector, </code></td></tr><tr><td id="L29915" class="css-a4x74f"><span>29915</span></td><td id="LC29915" class="css-1dcdqdg"><code> variable: variable </code></td></tr><tr><td id="L29916" class="css-a4x74f"><span>29916</span></td><td id="LC29916" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L29917" class="css-a4x74f"><span>29917</span></td><td id="LC29917" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29918" class="css-a4x74f"><span>29918</span></td><td id="LC29918" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29919" class="css-a4x74f"><span>29919</span></td><td id="LC29919" class="css-1dcdqdg"><code> <span class="code-comment">// Replace with counter</span> </code></td></tr><tr><td id="L29920" class="css-a4x74f"><span>29920</span></td><td id="LC29920" class="css-1dcdqdg"><code> funcNode.name = <span class="code-string">"counter"</span>; </code></td></tr><tr><td id="L29921" class="css-a4x74f"><span>29921</span></td><td id="LC29921" class="css-1dcdqdg"><code> funcNode.children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L29922" class="css-a4x74f"><span>29922</span></td><td id="LC29922" class="css-1dcdqdg"><code> funcNode.children.appendData({ </code></td></tr><tr><td id="L29923" class="css-a4x74f"><span>29923</span></td><td id="LC29923" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L29924" class="css-a4x74f"><span>29924</span></td><td id="LC29924" class="css-1dcdqdg"><code> loc: <span class="code-number">0</span>, </code></td></tr><tr><td id="L29925" class="css-a4x74f"><span>29925</span></td><td id="LC29925" class="css-1dcdqdg"><code> name: variable </code></td></tr><tr><td id="L29926" class="css-a4x74f"><span>29926</span></td><td id="LC29926" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29927" class="css-a4x74f"><span>29927</span></td><td id="LC29927" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29928" class="css-a4x74f"><span>29928</span></td><td id="LC29928" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (styleIdentifier) { </code></td></tr><tr><td id="L29929" class="css-a4x74f"><span>29929</span></td><td id="LC29929" class="css-1dcdqdg"><code> funcNode.children.appendData({<span class="code-attr">type</span>: <span class="code-string">"Operator"</span>, <span class="code-attr">loc</span>: <span class="code-literal">null</span>, <span class="code-attr">value</span>: <span class="code-string">","</span>}); </code></td></tr><tr><td id="L29930" class="css-a4x74f"><span>29930</span></td><td id="LC29930" class="css-1dcdqdg"><code> funcNode.children.appendData(styleIdentifier); </code></td></tr><tr><td id="L29931" class="css-a4x74f"><span>29931</span></td><td id="LC29931" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29932" class="css-a4x74f"><span>29932</span></td><td id="LC29932" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29933" class="css-a4x74f"><span>29933</span></td><td id="LC29933" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29934" class="css-a4x74f"><span>29934</span></td><td id="LC29934" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29935" class="css-a4x74f"><span>29935</span></td><td id="LC29935" class="css-1dcdqdg"><code> afterPageLayout(fragment, page, breakToken, chunker) { </code></td></tr><tr><td id="L29936" class="css-a4x74f"><span>29936</span></td><td id="LC29936" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>.counterTargets).forEach(<span class="code-function">(<span class="code-params">name</span>) =></span> { </code></td></tr><tr><td id="L29937" class="css-a4x74f"><span>29937</span></td><td id="LC29937" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> target = <span class="code-keyword">this</span>.counterTargets[name]; </code></td></tr><tr><td id="L29938" class="css-a4x74f"><span>29938</span></td><td id="LC29938" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> split = target.selector.split(<span class="code-string">"::"</span>); </code></td></tr><tr><td id="L29939" class="css-a4x74f"><span>29939</span></td><td id="LC29939" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> query = split[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L29940" class="css-a4x74f"><span>29940</span></td><td id="LC29940" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29941" class="css-a4x74f"><span>29941</span></td><td id="LC29941" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> queried = chunker.pagesArea.querySelectorAll(query + <span class="code-string">":not([data-"</span> + target.variable + <span class="code-string">"])"</span>); </code></td></tr><tr><td id="L29942" class="css-a4x74f"><span>29942</span></td><td id="LC29942" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29943" class="css-a4x74f"><span>29943</span></td><td id="LC29943" class="css-1dcdqdg"><code> queried.forEach(<span class="code-function">(<span class="code-params">selected, index</span>) =></span> { </code></td></tr><tr><td id="L29944" class="css-a4x74f"><span>29944</span></td><td id="LC29944" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> handle func other than attr</span> </code></td></tr><tr><td id="L29945" class="css-a4x74f"><span>29945</span></td><td id="LC29945" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (target.func !== <span class="code-string">"attr"</span>) { </code></td></tr><tr><td id="L29946" class="css-a4x74f"><span>29946</span></td><td id="LC29946" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L29947" class="css-a4x74f"><span>29947</span></td><td id="LC29947" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29948" class="css-a4x74f"><span>29948</span></td><td id="LC29948" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> val = attr(selected, target.args); </code></td></tr><tr><td id="L29949" class="css-a4x74f"><span>29949</span></td><td id="LC29949" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element = chunker.pagesArea.querySelector(querySelectorEscape(val)); </code></td></tr><tr><td id="L29950" class="css-a4x74f"><span>29950</span></td><td id="LC29950" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29951" class="css-a4x74f"><span>29951</span></td><td id="LC29951" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element) { </code></td></tr><tr><td id="L29952" class="css-a4x74f"><span>29952</span></td><td id="LC29952" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = UUID(); </code></td></tr><tr><td id="L29953" class="css-a4x74f"><span>29953</span></td><td id="LC29953" class="css-1dcdqdg"><code> selected.setAttribute(<span class="code-string">"data-"</span> + target.variable, selector); </code></td></tr><tr><td id="L29954" class="css-a4x74f"><span>29954</span></td><td id="LC29954" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> handle other counter types (by query)</span> </code></td></tr><tr><td id="L29955" class="css-a4x74f"><span>29955</span></td><td id="LC29955" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pseudo = <span class="code-string">""</span>; </code></td></tr><tr><td id="L29956" class="css-a4x74f"><span>29956</span></td><td id="LC29956" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (split.length > <span class="code-number">1</span>) { </code></td></tr><tr><td id="L29957" class="css-a4x74f"><span>29957</span></td><td id="LC29957" class="css-1dcdqdg"><code> pseudo += <span class="code-string">"::"</span> + split[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L29958" class="css-a4x74f"><span>29958</span></td><td id="LC29958" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29959" class="css-a4x74f"><span>29959</span></td><td id="LC29959" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (target.counter === <span class="code-string">"page"</span>) { </code></td></tr><tr><td id="L29960" class="css-a4x74f"><span>29960</span></td><td id="LC29960" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pages = chunker.pagesArea.querySelectorAll(<span class="code-string">".pagedjs_page"</span>); </code></td></tr><tr><td id="L29961" class="css-a4x74f"><span>29961</span></td><td id="LC29961" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pg = <span class="code-number">0</span>; </code></td></tr><tr><td id="L29962" class="css-a4x74f"><span>29962</span></td><td id="LC29962" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < pages.length; i++) { </code></td></tr><tr><td id="L29963" class="css-a4x74f"><span>29963</span></td><td id="LC29963" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> styles = <span class="code-built_in">window</span>.getComputedStyle(pages[i]); </code></td></tr><tr><td id="L29964" class="css-a4x74f"><span>29964</span></td><td id="LC29964" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> reset = styles[<span class="code-string">"counter-reset"</span>].replace(<span class="code-string">"page"</span>, <span class="code-string">""</span>).trim(); </code></td></tr><tr><td id="L29965" class="css-a4x74f"><span>29965</span></td><td id="LC29965" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> increment = styles[<span class="code-string">"counter-increment"</span>].replace(<span class="code-string">"page"</span>, <span class="code-string">""</span>).trim(); </code></td></tr><tr><td id="L29966" class="css-a4x74f"><span>29966</span></td><td id="LC29966" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29967" class="css-a4x74f"><span>29967</span></td><td id="LC29967" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (reset !== <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L29968" class="css-a4x74f"><span>29968</span></td><td id="LC29968" class="css-1dcdqdg"><code> pg = <span class="code-built_in">parseInt</span>(reset); </code></td></tr><tr><td id="L29969" class="css-a4x74f"><span>29969</span></td><td id="LC29969" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29970" class="css-a4x74f"><span>29970</span></td><td id="LC29970" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (increment !== <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L29971" class="css-a4x74f"><span>29971</span></td><td id="LC29971" class="css-1dcdqdg"><code> pg += <span class="code-built_in">parseInt</span>(increment); </code></td></tr><tr><td id="L29972" class="css-a4x74f"><span>29972</span></td><td id="LC29972" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29973" class="css-a4x74f"><span>29973</span></td><td id="LC29973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29974" class="css-a4x74f"><span>29974</span></td><td id="LC29974" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pages[i].contains(element)) { </code></td></tr><tr><td id="L29975" class="css-a4x74f"><span>29975</span></td><td id="LC29975" class="css-1dcdqdg"><code> <span class="code-keyword">break</span>; </code></td></tr><tr><td id="L29976" class="css-a4x74f"><span>29976</span></td><td id="LC29976" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29977" class="css-a4x74f"><span>29977</span></td><td id="LC29977" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29978" class="css-a4x74f"><span>29978</span></td><td id="LC29978" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29979" class="css-a4x74f"><span>29979</span></td><td id="LC29979" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(<span class="code-string">`[data-<span class="code-subst">${target.variable}</span>="<span class="code-subst">${selector}</span>"]<span class="code-subst">${pseudo}</span> { counter-reset: <span class="code-subst">${target.variable}</span> <span class="code-subst">${pg}</span>; }`</span>, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29980" class="css-a4x74f"><span>29980</span></td><td id="LC29980" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L29981" class="css-a4x74f"><span>29981</span></td><td id="LC29981" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = element.getAttribute(<span class="code-string">`data-counter-<span class="code-subst">${target.counter}</span>-value`</span>); </code></td></tr><tr><td id="L29982" class="css-a4x74f"><span>29982</span></td><td id="LC29982" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (value) { </code></td></tr><tr><td id="L29983" class="css-a4x74f"><span>29983</span></td><td id="LC29983" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(<span class="code-string">`[data-<span class="code-subst">${target.variable}</span>="<span class="code-subst">${selector}</span>"]<span class="code-subst">${pseudo}</span> { counter-reset: <span class="code-subst">${target.variable}</span> <span class="code-subst">${target.variable}</span> <span class="code-subst">${<span class="code-built_in">parseInt</span>(value)}</span>; }`</span>, <span class="code-keyword">this</span>.styleSheet.cssRules.length); </code></td></tr><tr><td id="L29984" class="css-a4x74f"><span>29984</span></td><td id="LC29984" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29985" class="css-a4x74f"><span>29985</span></td><td id="LC29985" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29986" class="css-a4x74f"><span>29986</span></td><td id="LC29986" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29987" class="css-a4x74f"><span>29987</span></td><td id="LC29987" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29988" class="css-a4x74f"><span>29988</span></td><td id="LC29988" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L29989" class="css-a4x74f"><span>29989</span></td><td id="LC29989" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29990" class="css-a4x74f"><span>29990</span></td><td id="LC29990" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L29991" class="css-a4x74f"><span>29991</span></td><td id="LC29991" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29992" class="css-a4x74f"><span>29992</span></td><td id="LC29992" class="css-1dcdqdg"><code> <span class="code-comment">// import { nodeAfter } from "../../utils/dom";</span> </code></td></tr><tr><td id="L29993" class="css-a4x74f"><span>29993</span></td><td id="LC29993" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29994" class="css-a4x74f"><span>29994</span></td><td id="LC29994" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">TargetText</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L29995" class="css-a4x74f"><span>29995</span></td><td id="LC29995" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L29996" class="css-a4x74f"><span>29996</span></td><td id="LC29996" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L29997" class="css-a4x74f"><span>29997</span></td><td id="LC29997" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L29998" class="css-a4x74f"><span>29998</span></td><td id="LC29998" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet = polisher.styleSheet; </code></td></tr><tr><td id="L29999" class="css-a4x74f"><span>29999</span></td><td id="LC29999" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.textTargets = {}; </code></td></tr><tr><td id="L30000" class="css-a4x74f"><span>30000</span></td><td id="LC30000" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.beforeContent = <span class="code-string">""</span>; </code></td></tr><tr><td id="L30001" class="css-a4x74f"><span>30001</span></td><td id="LC30001" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.afterContent = <span class="code-string">""</span>; </code></td></tr><tr><td id="L30002" class="css-a4x74f"><span>30002</span></td><td id="LC30002" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selector = {}; </code></td></tr><tr><td id="L30003" class="css-a4x74f"><span>30003</span></td><td id="LC30003" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30004" class="css-a4x74f"><span>30004</span></td><td id="LC30004" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30005" class="css-a4x74f"><span>30005</span></td><td id="LC30005" class="css-1dcdqdg"><code> onContent(funcNode, fItem, fList, declaration, rule) { </code></td></tr><tr><td id="L30006" class="css-a4x74f"><span>30006</span></td><td id="LC30006" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (funcNode.name === <span class="code-string">"target-text"</span>) { </code></td></tr><tr><td id="L30007" class="css-a4x74f"><span>30007</span></td><td id="LC30007" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L30008" class="css-a4x74f"><span>30008</span></td><td id="LC30008" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> first = funcNode.children.first(); </code></td></tr><tr><td id="L30009" class="css-a4x74f"><span>30009</span></td><td id="LC30009" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> last = funcNode.children.last(); </code></td></tr><tr><td id="L30010" class="css-a4x74f"><span>30010</span></td><td id="LC30010" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> func = first.name; </code></td></tr><tr><td id="L30011" class="css-a4x74f"><span>30011</span></td><td id="LC30011" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30012" class="css-a4x74f"><span>30012</span></td><td id="LC30012" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = lib.generate(funcNode); </code></td></tr><tr><td id="L30013" class="css-a4x74f"><span>30013</span></td><td id="LC30013" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30014" class="css-a4x74f"><span>30014</span></td><td id="LC30014" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> args = []; </code></td></tr><tr><td id="L30015" class="css-a4x74f"><span>30015</span></td><td id="LC30015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30016" class="css-a4x74f"><span>30016</span></td><td id="LC30016" class="css-1dcdqdg"><code> first.children.forEach(<span class="code-function"><span class="code-params">child</span> =></span> { </code></td></tr><tr><td id="L30017" class="css-a4x74f"><span>30017</span></td><td id="LC30017" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (child.type === <span class="code-string">"Identifier"</span>) { </code></td></tr><tr><td id="L30018" class="css-a4x74f"><span>30018</span></td><td id="LC30018" class="css-1dcdqdg"><code> args.push(child.name); </code></td></tr><tr><td id="L30019" class="css-a4x74f"><span>30019</span></td><td id="LC30019" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30020" class="css-a4x74f"><span>30020</span></td><td id="LC30020" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30021" class="css-a4x74f"><span>30021</span></td><td id="LC30021" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30022" class="css-a4x74f"><span>30022</span></td><td id="LC30022" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> style; </code></td></tr><tr><td id="L30023" class="css-a4x74f"><span>30023</span></td><td id="LC30023" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (last !== first) { </code></td></tr><tr><td id="L30024" class="css-a4x74f"><span>30024</span></td><td id="LC30024" class="css-1dcdqdg"><code> style = last.name; </code></td></tr><tr><td id="L30025" class="css-a4x74f"><span>30025</span></td><td id="LC30025" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30026" class="css-a4x74f"><span>30026</span></td><td id="LC30026" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30027" class="css-a4x74f"><span>30027</span></td><td id="LC30027" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> variable = <span class="code-string">"--pagedjs-"</span> + UUID(); </code></td></tr><tr><td id="L30028" class="css-a4x74f"><span>30028</span></td><td id="LC30028" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30029" class="css-a4x74f"><span>30029</span></td><td id="LC30029" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selector.split(<span class="code-string">","</span>).forEach(<span class="code-function"><span class="code-params">s</span> =></span> { </code></td></tr><tr><td id="L30030" class="css-a4x74f"><span>30030</span></td><td id="LC30030" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.textTargets[s] = { </code></td></tr><tr><td id="L30031" class="css-a4x74f"><span>30031</span></td><td id="LC30031" class="css-1dcdqdg"><code> func: func, </code></td></tr><tr><td id="L30032" class="css-a4x74f"><span>30032</span></td><td id="LC30032" class="css-1dcdqdg"><code> args: args, </code></td></tr><tr><td id="L30033" class="css-a4x74f"><span>30033</span></td><td id="LC30033" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L30034" class="css-a4x74f"><span>30034</span></td><td id="LC30034" class="css-1dcdqdg"><code> style: style || <span class="code-string">"content"</span>, </code></td></tr><tr><td id="L30035" class="css-a4x74f"><span>30035</span></td><td id="LC30035" class="css-1dcdqdg"><code> selector: s, </code></td></tr><tr><td id="L30036" class="css-a4x74f"><span>30036</span></td><td id="LC30036" class="css-1dcdqdg"><code> fullSelector: <span class="code-keyword">this</span>.selector, </code></td></tr><tr><td id="L30037" class="css-a4x74f"><span>30037</span></td><td id="LC30037" class="css-1dcdqdg"><code> variable: variable </code></td></tr><tr><td id="L30038" class="css-a4x74f"><span>30038</span></td><td id="LC30038" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30039" class="css-a4x74f"><span>30039</span></td><td id="LC30039" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30040" class="css-a4x74f"><span>30040</span></td><td id="LC30040" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30041" class="css-a4x74f"><span>30041</span></td><td id="LC30041" class="css-1dcdqdg"><code> <span class="code-comment">// Replace with variable</span> </code></td></tr><tr><td id="L30042" class="css-a4x74f"><span>30042</span></td><td id="LC30042" class="css-1dcdqdg"><code> funcNode.name = <span class="code-string">"var"</span>; </code></td></tr><tr><td id="L30043" class="css-a4x74f"><span>30043</span></td><td id="LC30043" class="css-1dcdqdg"><code> funcNode.children = <span class="code-keyword">new</span> lib.List(); </code></td></tr><tr><td id="L30044" class="css-a4x74f"><span>30044</span></td><td id="LC30044" class="css-1dcdqdg"><code> funcNode.children.appendData({ </code></td></tr><tr><td id="L30045" class="css-a4x74f"><span>30045</span></td><td id="LC30045" class="css-1dcdqdg"><code> type: <span class="code-string">"Identifier"</span>, </code></td></tr><tr><td id="L30046" class="css-a4x74f"><span>30046</span></td><td id="LC30046" class="css-1dcdqdg"><code> loc: <span class="code-number">0</span>, </code></td></tr><tr><td id="L30047" class="css-a4x74f"><span>30047</span></td><td id="LC30047" class="css-1dcdqdg"><code> name: variable </code></td></tr><tr><td id="L30048" class="css-a4x74f"><span>30048</span></td><td id="LC30048" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30049" class="css-a4x74f"><span>30049</span></td><td id="LC30049" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30050" class="css-a4x74f"><span>30050</span></td><td id="LC30050" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30051" class="css-a4x74f"><span>30051</span></td><td id="LC30051" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30052" class="css-a4x74f"><span>30052</span></td><td id="LC30052" class="css-1dcdqdg"><code> <span class="code-comment">// parse this on the ONCONTENT : get all before and after and replace the value with a variable</span> </code></td></tr><tr><td id="L30053" class="css-a4x74f"><span>30053</span></td><td id="LC30053" class="css-1dcdqdg"><code> onPseudoSelector(pseudoNode, pItem, pList, selector, rule) { </code></td></tr><tr><td id="L30054" class="css-a4x74f"><span>30054</span></td><td id="LC30054" class="css-1dcdqdg"><code> <span class="code-comment">// console.log(pseudoNode);</span> </code></td></tr><tr><td id="L30055" class="css-a4x74f"><span>30055</span></td><td id="LC30055" class="css-1dcdqdg"><code> <span class="code-comment">// console.log(rule);</span> </code></td></tr><tr><td id="L30056" class="css-a4x74f"><span>30056</span></td><td id="LC30056" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30057" class="css-a4x74f"><span>30057</span></td><td id="LC30057" class="css-1dcdqdg"><code> rule.ruleNode.block.children.forEach(<span class="code-function"><span class="code-params">properties</span> =></span> { </code></td></tr><tr><td id="L30058" class="css-a4x74f"><span>30058</span></td><td id="LC30058" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pseudoNode.name === <span class="code-string">"before"</span> && properties.property === <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L30059" class="css-a4x74f"><span>30059</span></td><td id="LC30059" class="css-1dcdqdg"><code> <span class="code-comment">// let beforeVariable = "--pagedjs-" + UUID();</span> </code></td></tr><tr><td id="L30060" class="css-a4x74f"><span>30060</span></td><td id="LC30060" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30061" class="css-a4x74f"><span>30061</span></td><td id="LC30061" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> contenu = properties.value.children; </code></td></tr><tr><td id="L30062" class="css-a4x74f"><span>30062</span></td><td id="LC30062" class="css-1dcdqdg"><code> contenu.forEach(<span class="code-function"><span class="code-params">prop</span> =></span> { </code></td></tr><tr><td id="L30063" class="css-a4x74f"><span>30063</span></td><td id="LC30063" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prop.type === <span class="code-string">"String"</span>) { </code></td></tr><tr><td id="L30064" class="css-a4x74f"><span>30064</span></td><td id="LC30064" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.beforeContent = prop.value; </code></td></tr><tr><td id="L30065" class="css-a4x74f"><span>30065</span></td><td id="LC30065" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30066" class="css-a4x74f"><span>30066</span></td><td id="LC30066" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30067" class="css-a4x74f"><span>30067</span></td><td id="LC30067" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (pseudoNode.name === <span class="code-string">"after"</span> && properties.property === <span class="code-string">"content"</span>) { </code></td></tr><tr><td id="L30068" class="css-a4x74f"><span>30068</span></td><td id="LC30068" class="css-1dcdqdg"><code> properties.value.children.forEach(<span class="code-function"><span class="code-params">prop</span> =></span> { </code></td></tr><tr><td id="L30069" class="css-a4x74f"><span>30069</span></td><td id="LC30069" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (prop.type === <span class="code-string">"String"</span>) { </code></td></tr><tr><td id="L30070" class="css-a4x74f"><span>30070</span></td><td id="LC30070" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.afterContent = prop.value; </code></td></tr><tr><td id="L30071" class="css-a4x74f"><span>30071</span></td><td id="LC30071" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30072" class="css-a4x74f"><span>30072</span></td><td id="LC30072" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30073" class="css-a4x74f"><span>30073</span></td><td id="LC30073" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30074" class="css-a4x74f"><span>30074</span></td><td id="LC30074" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30075" class="css-a4x74f"><span>30075</span></td><td id="LC30075" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30076" class="css-a4x74f"><span>30076</span></td><td id="LC30076" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30077" class="css-a4x74f"><span>30077</span></td><td id="LC30077" class="css-1dcdqdg"><code> afterParsed(fragment) { </code></td></tr><tr><td id="L30078" class="css-a4x74f"><span>30078</span></td><td id="LC30078" class="css-1dcdqdg"><code> <span class="code-built_in">Object</span>.keys(<span class="code-keyword">this</span>.textTargets).forEach(<span class="code-function"><span class="code-params">name</span> =></span> { </code></td></tr><tr><td id="L30079" class="css-a4x74f"><span>30079</span></td><td id="LC30079" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> target = <span class="code-keyword">this</span>.textTargets[name]; </code></td></tr><tr><td id="L30080" class="css-a4x74f"><span>30080</span></td><td id="LC30080" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> split = target.selector.split(<span class="code-string">"::"</span>); </code></td></tr><tr><td id="L30081" class="css-a4x74f"><span>30081</span></td><td id="LC30081" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> query = split[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L30082" class="css-a4x74f"><span>30082</span></td><td id="LC30082" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> queried = fragment.querySelectorAll(query); </code></td></tr><tr><td id="L30083" class="css-a4x74f"><span>30083</span></td><td id="LC30083" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> textContent; </code></td></tr><tr><td id="L30084" class="css-a4x74f"><span>30084</span></td><td id="LC30084" class="css-1dcdqdg"><code> queried.forEach(<span class="code-function">(<span class="code-params">selected, index</span>) =></span> { </code></td></tr><tr><td id="L30085" class="css-a4x74f"><span>30085</span></td><td id="LC30085" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> val = attr(selected, target.args); </code></td></tr><tr><td id="L30086" class="css-a4x74f"><span>30086</span></td><td id="LC30086" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element = fragment.querySelector(querySelectorEscape(val)); </code></td></tr><tr><td id="L30087" class="css-a4x74f"><span>30087</span></td><td id="LC30087" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element) { </code></td></tr><tr><td id="L30088" class="css-a4x74f"><span>30088</span></td><td id="LC30088" class="css-1dcdqdg"><code> <span class="code-comment">// content & first-letter & before & after refactorized</span> </code></td></tr><tr><td id="L30089" class="css-a4x74f"><span>30089</span></td><td id="LC30089" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (target.style) { </code></td></tr><tr><td id="L30090" class="css-a4x74f"><span>30090</span></td><td id="LC30090" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.selector = UUID(); </code></td></tr><tr><td id="L30091" class="css-a4x74f"><span>30091</span></td><td id="LC30091" class="css-1dcdqdg"><code> selected.setAttribute(<span class="code-string">"data-target-text"</span>, <span class="code-keyword">this</span>.selector); </code></td></tr><tr><td id="L30092" class="css-a4x74f"><span>30092</span></td><td id="LC30092" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30093" class="css-a4x74f"><span>30093</span></td><td id="LC30093" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> psuedo = <span class="code-string">""</span>; </code></td></tr><tr><td id="L30094" class="css-a4x74f"><span>30094</span></td><td id="LC30094" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (split.length > <span class="code-number">1</span>) { </code></td></tr><tr><td id="L30095" class="css-a4x74f"><span>30095</span></td><td id="LC30095" class="css-1dcdqdg"><code> psuedo += <span class="code-string">"::"</span> + split[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L30096" class="css-a4x74f"><span>30096</span></td><td id="LC30096" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30097" class="css-a4x74f"><span>30097</span></td><td id="LC30097" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30098" class="css-a4x74f"><span>30098</span></td><td id="LC30098" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (target.style === <span class="code-string">"before"</span> || target.style === <span class="code-string">"after"</span>) { </code></td></tr><tr><td id="L30099" class="css-a4x74f"><span>30099</span></td><td id="LC30099" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> pseudoType = <span class="code-string">`<span class="code-subst">${target.style}</span>Content`</span>; </code></td></tr><tr><td id="L30100" class="css-a4x74f"><span>30100</span></td><td id="LC30100" class="css-1dcdqdg"><code> textContent = cleanPseudoContent(<span class="code-keyword">this</span>[pseudoType]); </code></td></tr><tr><td id="L30101" class="css-a4x74f"><span>30101</span></td><td id="LC30101" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30102" class="css-a4x74f"><span>30102</span></td><td id="LC30102" class="css-1dcdqdg"><code> textContent = cleanPseudoContent(element.textContent, <span class="code-string">" "</span>); </code></td></tr><tr><td id="L30103" class="css-a4x74f"><span>30103</span></td><td id="LC30103" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30104" class="css-a4x74f"><span>30104</span></td><td id="LC30104" class="css-1dcdqdg"><code> textContent = target.style === <span class="code-string">"first-letter"</span> ? textContent.charAt(<span class="code-number">0</span>) : textContent; </code></td></tr><tr><td id="L30105" class="css-a4x74f"><span>30105</span></td><td id="LC30105" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.styleSheet.insertRule(<span class="code-string">`[data-target-text="<span class="code-subst">${<span class="code-keyword">this</span>.selector}</span>"]<span class="code-subst">${psuedo}</span> { <span class="code-subst">${target.variable}</span>: "<span class="code-subst">${textContent}</span>" }`</span>); </code></td></tr><tr><td id="L30106" class="css-a4x74f"><span>30106</span></td><td id="LC30106" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30107" class="css-a4x74f"><span>30107</span></td><td id="LC30107" class="css-1dcdqdg"><code> <span class="code-built_in">console</span>.warn(<span class="code-string">"missed target"</span>, val); </code></td></tr><tr><td id="L30108" class="css-a4x74f"><span>30108</span></td><td id="LC30108" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30109" class="css-a4x74f"><span>30109</span></td><td id="LC30109" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30110" class="css-a4x74f"><span>30110</span></td><td id="LC30110" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30111" class="css-a4x74f"><span>30111</span></td><td id="LC30111" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30112" class="css-a4x74f"><span>30112</span></td><td id="LC30112" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30113" class="css-a4x74f"><span>30113</span></td><td id="LC30113" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30114" class="css-a4x74f"><span>30114</span></td><td id="LC30114" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30115" class="css-a4x74f"><span>30115</span></td><td id="LC30115" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generatedContentHandlers = [ </code></td></tr><tr><td id="L30116" class="css-a4x74f"><span>30116</span></td><td id="LC30116" class="css-1dcdqdg"><code> RunningHeaders, </code></td></tr><tr><td id="L30117" class="css-a4x74f"><span>30117</span></td><td id="LC30117" class="css-1dcdqdg"><code> StringSets, </code></td></tr><tr><td id="L30118" class="css-a4x74f"><span>30118</span></td><td id="LC30118" class="css-1dcdqdg"><code> TargetCounters, </code></td></tr><tr><td id="L30119" class="css-a4x74f"><span>30119</span></td><td id="LC30119" class="css-1dcdqdg"><code> TargetText </code></td></tr><tr><td id="L30120" class="css-a4x74f"><span>30120</span></td><td id="LC30120" class="css-1dcdqdg"><code> ]; </code></td></tr><tr><td id="L30121" class="css-a4x74f"><span>30121</span></td><td id="LC30121" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30122" class="css-a4x74f"><span>30122</span></td><td id="LC30122" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">WhiteSpaceFilter</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L30123" class="css-a4x74f"><span>30123</span></td><td id="LC30123" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L30124" class="css-a4x74f"><span>30124</span></td><td id="LC30124" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L30125" class="css-a4x74f"><span>30125</span></td><td id="LC30125" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30126" class="css-a4x74f"><span>30126</span></td><td id="LC30126" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30127" class="css-a4x74f"><span>30127</span></td><td id="LC30127" class="css-1dcdqdg"><code> filter(content) { </code></td></tr><tr><td id="L30128" class="css-a4x74f"><span>30128</span></td><td id="LC30128" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30129" class="css-a4x74f"><span>30129</span></td><td id="LC30129" class="css-1dcdqdg"><code> filterTree(content, (node) => { </code></td></tr><tr><td id="L30130" class="css-a4x74f"><span>30130</span></td><td id="LC30130" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">this</span>.filterEmpty(node); </code></td></tr><tr><td id="L30131" class="css-a4x74f"><span>30131</span></td><td id="LC30131" class="css-1dcdqdg"><code> }, NodeFilter.SHOW_TEXT); </code></td></tr><tr><td id="L30132" class="css-a4x74f"><span>30132</span></td><td id="LC30132" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30133" class="css-a4x74f"><span>30133</span></td><td id="LC30133" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30134" class="css-a4x74f"><span>30134</span></td><td id="LC30134" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30135" class="css-a4x74f"><span>30135</span></td><td id="LC30135" class="css-1dcdqdg"><code> filterEmpty(node) { </code></td></tr><tr><td id="L30136" class="css-a4x74f"><span>30136</span></td><td id="LC30136" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (node.textContent.length > <span class="code-number">1</span> && isIgnorable(node)) { </code></td></tr><tr><td id="L30137" class="css-a4x74f"><span>30137</span></td><td id="LC30137" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30138" class="css-a4x74f"><span>30138</span></td><td id="LC30138" class="css-1dcdqdg"><code> <span class="code-comment">// Do not touch the content if text is pre-formatted</span> </code></td></tr><tr><td id="L30139" class="css-a4x74f"><span>30139</span></td><td id="LC30139" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> parent = node.parentNode; </code></td></tr><tr><td id="L30140" class="css-a4x74f"><span>30140</span></td><td id="LC30140" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> pre = isElement(parent) && parent.closest(<span class="code-string">"pre"</span>); </code></td></tr><tr><td id="L30141" class="css-a4x74f"><span>30141</span></td><td id="LC30141" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (pre) { </code></td></tr><tr><td id="L30142" class="css-a4x74f"><span>30142</span></td><td id="LC30142" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_REJECT; </code></td></tr><tr><td id="L30143" class="css-a4x74f"><span>30143</span></td><td id="LC30143" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30144" class="css-a4x74f"><span>30144</span></td><td id="LC30144" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30145" class="css-a4x74f"><span>30145</span></td><td id="LC30145" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> previousSibling = previousSignificantNode(node); </code></td></tr><tr><td id="L30146" class="css-a4x74f"><span>30146</span></td><td id="LC30146" class="css-1dcdqdg"><code> <span class="code-keyword">const</span> nextSibling = nextSignificantNode(node); </code></td></tr><tr><td id="L30147" class="css-a4x74f"><span>30147</span></td><td id="LC30147" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30148" class="css-a4x74f"><span>30148</span></td><td id="LC30148" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nextSibling === <span class="code-literal">null</span> && previousSibling === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L30149" class="css-a4x74f"><span>30149</span></td><td id="LC30149" class="css-1dcdqdg"><code> <span class="code-comment">// we should not remove a Node that does not have any siblings.</span> </code></td></tr><tr><td id="L30150" class="css-a4x74f"><span>30150</span></td><td id="LC30150" class="css-1dcdqdg"><code> node.textContent = <span class="code-string">" "</span>; </code></td></tr><tr><td id="L30151" class="css-a4x74f"><span>30151</span></td><td id="LC30151" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_REJECT; </code></td></tr><tr><td id="L30152" class="css-a4x74f"><span>30152</span></td><td id="LC30152" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30153" class="css-a4x74f"><span>30153</span></td><td id="LC30153" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (nextSibling === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L30154" class="css-a4x74f"><span>30154</span></td><td id="LC30154" class="css-1dcdqdg"><code> <span class="code-comment">// we can safely remove this node</span> </code></td></tr><tr><td id="L30155" class="css-a4x74f"><span>30155</span></td><td id="LC30155" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_ACCEPT; </code></td></tr><tr><td id="L30156" class="css-a4x74f"><span>30156</span></td><td id="LC30156" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30157" class="css-a4x74f"><span>30157</span></td><td id="LC30157" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (previousSibling === <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L30158" class="css-a4x74f"><span>30158</span></td><td id="LC30158" class="css-1dcdqdg"><code> <span class="code-comment">// we can safely remove this node</span> </code></td></tr><tr><td id="L30159" class="css-a4x74f"><span>30159</span></td><td id="LC30159" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_ACCEPT; </code></td></tr><tr><td id="L30160" class="css-a4x74f"><span>30160</span></td><td id="LC30160" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30161" class="css-a4x74f"><span>30161</span></td><td id="LC30161" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30162" class="css-a4x74f"><span>30162</span></td><td id="LC30162" class="css-1dcdqdg"><code> <span class="code-comment">// replace the content with a single space</span> </code></td></tr><tr><td id="L30163" class="css-a4x74f"><span>30163</span></td><td id="LC30163" class="css-1dcdqdg"><code> node.textContent = <span class="code-string">" "</span>; </code></td></tr><tr><td id="L30164" class="css-a4x74f"><span>30164</span></td><td id="LC30164" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30165" class="css-a4x74f"><span>30165</span></td><td id="LC30165" class="css-1dcdqdg"><code> <span class="code-comment">// <span class="code-doctag">TODO:</span> we also need to preserve sequences of white spaces when the parent has "white-space" rule:</span> </code></td></tr><tr><td id="L30166" class="css-a4x74f"><span>30166</span></td><td id="LC30166" class="css-1dcdqdg"><code> <span class="code-comment">// pre</span> </code></td></tr><tr><td id="L30167" class="css-a4x74f"><span>30167</span></td><td id="LC30167" class="css-1dcdqdg"><code> <span class="code-comment">// Sequences of white space are preserved. Lines are only broken at newline characters in the source and at <br> elements.</span> </code></td></tr><tr><td id="L30168" class="css-a4x74f"><span>30168</span></td><td id="LC30168" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L30169" class="css-a4x74f"><span>30169</span></td><td id="LC30169" class="css-1dcdqdg"><code> <span class="code-comment">// pre-wrap</span> </code></td></tr><tr><td id="L30170" class="css-a4x74f"><span>30170</span></td><td id="LC30170" class="css-1dcdqdg"><code> <span class="code-comment">// Sequences of white space are preserved. Lines are broken at newline characters, at <br>, and as necessary to fill line boxes.</span> </code></td></tr><tr><td id="L30171" class="css-a4x74f"><span>30171</span></td><td id="LC30171" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L30172" class="css-a4x74f"><span>30172</span></td><td id="LC30172" class="css-1dcdqdg"><code> <span class="code-comment">// pre-line</span> </code></td></tr><tr><td id="L30173" class="css-a4x74f"><span>30173</span></td><td id="LC30173" class="css-1dcdqdg"><code> <span class="code-comment">// Sequences of white space are collapsed. Lines are broken at newline characters, at <br>, and as necessary to fill line boxes.</span> </code></td></tr><tr><td id="L30174" class="css-a4x74f"><span>30174</span></td><td id="LC30174" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L30175" class="css-a4x74f"><span>30175</span></td><td id="LC30175" class="css-1dcdqdg"><code> <span class="code-comment">// break-spaces</span> </code></td></tr><tr><td id="L30176" class="css-a4x74f"><span>30176</span></td><td id="LC30176" class="css-1dcdqdg"><code> <span class="code-comment">// The behavior is identical to that of pre-wrap, except that:</span> </code></td></tr><tr><td id="L30177" class="css-a4x74f"><span>30177</span></td><td id="LC30177" class="css-1dcdqdg"><code> <span class="code-comment">// - Any sequence of preserved white space always takes up space, including at the end of the line.</span> </code></td></tr><tr><td id="L30178" class="css-a4x74f"><span>30178</span></td><td id="LC30178" class="css-1dcdqdg"><code> <span class="code-comment">// - A line breaking opportunity exists after every preserved white space character, including between white space characters.</span> </code></td></tr><tr><td id="L30179" class="css-a4x74f"><span>30179</span></td><td id="LC30179" class="css-1dcdqdg"><code> <span class="code-comment">// - Such preserved spaces take up space and do not hang, and thus affect the box’s intrinsic sizes (min-content size and max-content size).</span> </code></td></tr><tr><td id="L30180" class="css-a4x74f"><span>30180</span></td><td id="LC30180" class="css-1dcdqdg"><code> <span class="code-comment">//</span> </code></td></tr><tr><td id="L30181" class="css-a4x74f"><span>30181</span></td><td id="LC30181" class="css-1dcdqdg"><code> <span class="code-comment">// See: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space#Values</span> </code></td></tr><tr><td id="L30182" class="css-a4x74f"><span>30182</span></td><td id="LC30182" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30183" class="css-a4x74f"><span>30183</span></td><td id="LC30183" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_REJECT; </code></td></tr><tr><td id="L30184" class="css-a4x74f"><span>30184</span></td><td id="LC30184" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30185" class="css-a4x74f"><span>30185</span></td><td id="LC30185" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> NodeFilter.FILTER_REJECT; </code></td></tr><tr><td id="L30186" class="css-a4x74f"><span>30186</span></td><td id="LC30186" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30187" class="css-a4x74f"><span>30187</span></td><td id="LC30187" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30188" class="css-a4x74f"><span>30188</span></td><td id="LC30188" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30189" class="css-a4x74f"><span>30189</span></td><td id="LC30189" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30190" class="css-a4x74f"><span>30190</span></td><td id="LC30190" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30191" class="css-a4x74f"><span>30191</span></td><td id="LC30191" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">CommentsFilter</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L30192" class="css-a4x74f"><span>30192</span></td><td id="LC30192" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L30193" class="css-a4x74f"><span>30193</span></td><td id="LC30193" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L30194" class="css-a4x74f"><span>30194</span></td><td id="LC30194" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30195" class="css-a4x74f"><span>30195</span></td><td id="LC30195" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30196" class="css-a4x74f"><span>30196</span></td><td id="LC30196" class="css-1dcdqdg"><code> filter(content) { </code></td></tr><tr><td id="L30197" class="css-a4x74f"><span>30197</span></td><td id="LC30197" class="css-1dcdqdg"><code> filterTree(content, <span class="code-literal">null</span>, NodeFilter.SHOW_COMMENT); </code></td></tr><tr><td id="L30198" class="css-a4x74f"><span>30198</span></td><td id="LC30198" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30199" class="css-a4x74f"><span>30199</span></td><td id="LC30199" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30200" class="css-a4x74f"><span>30200</span></td><td id="LC30200" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30201" class="css-a4x74f"><span>30201</span></td><td id="LC30201" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30202" class="css-a4x74f"><span>30202</span></td><td id="LC30202" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">ScriptsFilter</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L30203" class="css-a4x74f"><span>30203</span></td><td id="LC30203" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L30204" class="css-a4x74f"><span>30204</span></td><td id="LC30204" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L30205" class="css-a4x74f"><span>30205</span></td><td id="LC30205" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30206" class="css-a4x74f"><span>30206</span></td><td id="LC30206" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30207" class="css-a4x74f"><span>30207</span></td><td id="LC30207" class="css-1dcdqdg"><code> filter(content) { </code></td></tr><tr><td id="L30208" class="css-a4x74f"><span>30208</span></td><td id="LC30208" class="css-1dcdqdg"><code> content.querySelectorAll(<span class="code-string">"script"</span>).forEach( <span class="code-function"><span class="code-params">script</span> =></span> { script.remove(); }); </code></td></tr><tr><td id="L30209" class="css-a4x74f"><span>30209</span></td><td id="LC30209" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30210" class="css-a4x74f"><span>30210</span></td><td id="LC30210" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30211" class="css-a4x74f"><span>30211</span></td><td id="LC30211" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30212" class="css-a4x74f"><span>30212</span></td><td id="LC30212" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30213" class="css-a4x74f"><span>30213</span></td><td id="LC30213" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clearCut = createCommonjsModule(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">module, exports</span>) </span>{ </code></td></tr><tr><td id="L30214" class="css-a4x74f"><span>30214</span></td><td id="LC30214" class="css-1dcdqdg"><code> <span class="code-comment">/** </span></code></td></tr><tr><td id="L30215" class="css-a4x74f"><span>30215</span></td><td id="LC30215" class="css-1dcdqdg"><code><span class="code-comment"> * Originally ported from https://github.com/keeganstreet/specificity/blob/866bf7ab4e7f62a7179c15b13a95af4e1c7b1afa/specificity.js </span></code></td></tr><tr><td id="L30216" class="css-a4x74f"><span>30216</span></td><td id="LC30216" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L30217" class="css-a4x74f"><span>30217</span></td><td id="LC30217" class="css-1dcdqdg"><code><span class="code-comment"> * Calculates the specificity of CSS selectors </span></code></td></tr><tr><td id="L30218" class="css-a4x74f"><span>30218</span></td><td id="LC30218" class="css-1dcdqdg"><code><span class="code-comment"> * http://www.w3.org/TR/css3-selectors/#specificity </span></code></td></tr><tr><td id="L30219" class="css-a4x74f"><span>30219</span></td><td id="LC30219" class="css-1dcdqdg"><code><span class="code-comment"> * </span></code></td></tr><tr><td id="L30220" class="css-a4x74f"><span>30220</span></td><td id="LC30220" class="css-1dcdqdg"><code><span class="code-comment"> * Returns a selector integer value </span></code></td></tr><tr><td id="L30221" class="css-a4x74f"><span>30221</span></td><td id="LC30221" class="css-1dcdqdg"><code><span class="code-comment"> */</span> </code></td></tr><tr><td id="L30222" class="css-a4x74f"><span>30222</span></td><td id="LC30222" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30223" class="css-a4x74f"><span>30223</span></td><td id="LC30223" class="css-1dcdqdg"><code> <span class="code-comment">// The following regular expressions assume that selectors matching the preceding regular expressions have been removed</span> </code></td></tr><tr><td id="L30224" class="css-a4x74f"><span>30224</span></td><td id="LC30224" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> attributeRegex = <span class="code-regexp">/(\[[^\]]+\])/g</span>; </code></td></tr><tr><td id="L30225" class="css-a4x74f"><span>30225</span></td><td id="LC30225" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> idRegex = <span class="code-regexp">/(#[^\s\+>~\.\[:]+)/g</span>; </code></td></tr><tr><td id="L30226" class="css-a4x74f"><span>30226</span></td><td id="LC30226" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> classRegex = <span class="code-regexp">/(\.[^\s\+>~\.\[:]+)/g</span>; </code></td></tr><tr><td id="L30227" class="css-a4x74f"><span>30227</span></td><td id="LC30227" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pseudoElementRegex = <span class="code-regexp">/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/g</span>; </code></td></tr><tr><td id="L30228" class="css-a4x74f"><span>30228</span></td><td id="LC30228" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pseudoClassRegex = <span class="code-regexp">/(:[^\s\+>~\.\[:]+)/g</span>; </code></td></tr><tr><td id="L30229" class="css-a4x74f"><span>30229</span></td><td id="LC30229" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> elementRegex = <span class="code-regexp">/([^\s\+>~\.\[:]+)/g</span>; </code></td></tr><tr><td id="L30230" class="css-a4x74f"><span>30230</span></td><td id="LC30230" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> notRegex = <span class="code-regexp">/:not\(([^\)]*)\)/g</span>; </code></td></tr><tr><td id="L30231" class="css-a4x74f"><span>30231</span></td><td id="LC30231" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> ruleRegex = <span class="code-regexp">/\{[^]*/gm</span>; </code></td></tr><tr><td id="L30232" class="css-a4x74f"><span>30232</span></td><td id="LC30232" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> separatorRegex = <span class="code-regexp">/[\*\s\+>~]/g</span>; </code></td></tr><tr><td id="L30233" class="css-a4x74f"><span>30233</span></td><td id="LC30233" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> straysRegex = <span class="code-regexp">/[#\.]/g</span>; </code></td></tr><tr><td id="L30234" class="css-a4x74f"><span>30234</span></td><td id="LC30234" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30235" class="css-a4x74f"><span>30235</span></td><td id="LC30235" class="css-1dcdqdg"><code> <span class="code-comment">// Find matches for a regular expression in a string and push their details to parts</span> </code></td></tr><tr><td id="L30236" class="css-a4x74f"><span>30236</span></td><td id="LC30236" class="css-1dcdqdg"><code> <span class="code-comment">// Type is "a" for IDs, "b" for classes, attributes and pseudo-classes and "c" for elements and pseudo-elements</span> </code></td></tr><tr><td id="L30237" class="css-a4x74f"><span>30237</span></td><td id="LC30237" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> findMatch = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">regex, type, types, selector</span>) </span>{ </code></td></tr><tr><td id="L30238" class="css-a4x74f"><span>30238</span></td><td id="LC30238" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> matches = selector.match(regex); </code></td></tr><tr><td id="L30239" class="css-a4x74f"><span>30239</span></td><td id="LC30239" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matches) { </code></td></tr><tr><td id="L30240" class="css-a4x74f"><span>30240</span></td><td id="LC30240" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < matches.length; i++) { </code></td></tr><tr><td id="L30241" class="css-a4x74f"><span>30241</span></td><td id="LC30241" class="css-1dcdqdg"><code> types[type]++; </code></td></tr><tr><td id="L30242" class="css-a4x74f"><span>30242</span></td><td id="LC30242" class="css-1dcdqdg"><code> <span class="code-comment">// Replace this simple selector with whitespace so it won't be counted in further simple selectors</span> </code></td></tr><tr><td id="L30243" class="css-a4x74f"><span>30243</span></td><td id="LC30243" class="css-1dcdqdg"><code> selector = selector.replace(matches[i], <span class="code-string">' '</span>); </code></td></tr><tr><td id="L30244" class="css-a4x74f"><span>30244</span></td><td id="LC30244" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30245" class="css-a4x74f"><span>30245</span></td><td id="LC30245" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30246" class="css-a4x74f"><span>30246</span></td><td id="LC30246" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30247" class="css-a4x74f"><span>30247</span></td><td id="LC30247" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> selector; </code></td></tr><tr><td id="L30248" class="css-a4x74f"><span>30248</span></td><td id="LC30248" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30249" class="css-a4x74f"><span>30249</span></td><td id="LC30249" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30250" class="css-a4x74f"><span>30250</span></td><td id="LC30250" class="css-1dcdqdg"><code> <span class="code-comment">// Calculate the specificity for a selector by dividing it into simple selectors and counting them</span> </code></td></tr><tr><td id="L30251" class="css-a4x74f"><span>30251</span></td><td id="LC30251" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> calculate = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">selector</span>) </span>{ </code></td></tr><tr><td id="L30252" class="css-a4x74f"><span>30252</span></td><td id="LC30252" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> commaIndex = selector.indexOf(<span class="code-string">','</span>); </code></td></tr><tr><td id="L30253" class="css-a4x74f"><span>30253</span></td><td id="LC30253" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (commaIndex !== <span class="code-number">-1</span>) { </code></td></tr><tr><td id="L30254" class="css-a4x74f"><span>30254</span></td><td id="LC30254" class="css-1dcdqdg"><code> selector = selector.substring(<span class="code-number">0</span>, commaIndex); </code></td></tr><tr><td id="L30255" class="css-a4x74f"><span>30255</span></td><td id="LC30255" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30256" class="css-a4x74f"><span>30256</span></td><td id="LC30256" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30257" class="css-a4x74f"><span>30257</span></td><td id="LC30257" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> types = { </code></td></tr><tr><td id="L30258" class="css-a4x74f"><span>30258</span></td><td id="LC30258" class="css-1dcdqdg"><code> a: <span class="code-number">0</span>, </code></td></tr><tr><td id="L30259" class="css-a4x74f"><span>30259</span></td><td id="LC30259" class="css-1dcdqdg"><code> b: <span class="code-number">0</span>, </code></td></tr><tr><td id="L30260" class="css-a4x74f"><span>30260</span></td><td id="LC30260" class="css-1dcdqdg"><code> c: <span class="code-number">0</span> </code></td></tr><tr><td id="L30261" class="css-a4x74f"><span>30261</span></td><td id="LC30261" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30262" class="css-a4x74f"><span>30262</span></td><td id="LC30262" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30263" class="css-a4x74f"><span>30263</span></td><td id="LC30263" class="css-1dcdqdg"><code> <span class="code-comment">// Remove the negation psuedo-class (:not) but leave its argument because specificity is calculated on its argument</span> </code></td></tr><tr><td id="L30264" class="css-a4x74f"><span>30264</span></td><td id="LC30264" class="css-1dcdqdg"><code> selector = selector.replace(notRegex, <span class="code-string">' $1 '</span>); </code></td></tr><tr><td id="L30265" class="css-a4x74f"><span>30265</span></td><td id="LC30265" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30266" class="css-a4x74f"><span>30266</span></td><td id="LC30266" class="css-1dcdqdg"><code> <span class="code-comment">// Remove anything after a left brace in case a user has pasted in a rule, not just a selector</span> </code></td></tr><tr><td id="L30267" class="css-a4x74f"><span>30267</span></td><td id="LC30267" class="css-1dcdqdg"><code> selector = selector.replace(ruleRegex, <span class="code-string">' '</span>); </code></td></tr><tr><td id="L30268" class="css-a4x74f"><span>30268</span></td><td id="LC30268" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30269" class="css-a4x74f"><span>30269</span></td><td id="LC30269" class="css-1dcdqdg"><code> <span class="code-comment">// Add attribute selectors to parts collection (type b)</span> </code></td></tr><tr><td id="L30270" class="css-a4x74f"><span>30270</span></td><td id="LC30270" class="css-1dcdqdg"><code> selector = findMatch(attributeRegex, <span class="code-string">'b'</span>, types, selector); </code></td></tr><tr><td id="L30271" class="css-a4x74f"><span>30271</span></td><td id="LC30271" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30272" class="css-a4x74f"><span>30272</span></td><td id="LC30272" class="css-1dcdqdg"><code> <span class="code-comment">// Add ID selectors to parts collection (type a)</span> </code></td></tr><tr><td id="L30273" class="css-a4x74f"><span>30273</span></td><td id="LC30273" class="css-1dcdqdg"><code> selector = findMatch(idRegex, <span class="code-string">'a'</span>, types, selector); </code></td></tr><tr><td id="L30274" class="css-a4x74f"><span>30274</span></td><td id="LC30274" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30275" class="css-a4x74f"><span>30275</span></td><td id="LC30275" class="css-1dcdqdg"><code> <span class="code-comment">// Add class selectors to parts collection (type b)</span> </code></td></tr><tr><td id="L30276" class="css-a4x74f"><span>30276</span></td><td id="LC30276" class="css-1dcdqdg"><code> selector = findMatch(classRegex, <span class="code-string">'b'</span>, types, selector); </code></td></tr><tr><td id="L30277" class="css-a4x74f"><span>30277</span></td><td id="LC30277" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30278" class="css-a4x74f"><span>30278</span></td><td id="LC30278" class="css-1dcdqdg"><code> <span class="code-comment">// Add pseudo-element selectors to parts collection (type c)</span> </code></td></tr><tr><td id="L30279" class="css-a4x74f"><span>30279</span></td><td id="LC30279" class="css-1dcdqdg"><code> selector = findMatch(pseudoElementRegex, <span class="code-string">'c'</span>, types, selector); </code></td></tr><tr><td id="L30280" class="css-a4x74f"><span>30280</span></td><td id="LC30280" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30281" class="css-a4x74f"><span>30281</span></td><td id="LC30281" class="css-1dcdqdg"><code> <span class="code-comment">// Add pseudo-class selectors to parts collection (type b)</span> </code></td></tr><tr><td id="L30282" class="css-a4x74f"><span>30282</span></td><td id="LC30282" class="css-1dcdqdg"><code> selector = findMatch(pseudoClassRegex, <span class="code-string">'b'</span>, types, selector); </code></td></tr><tr><td id="L30283" class="css-a4x74f"><span>30283</span></td><td id="LC30283" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30284" class="css-a4x74f"><span>30284</span></td><td id="LC30284" class="css-1dcdqdg"><code> <span class="code-comment">// Remove universal selector and separator characters</span> </code></td></tr><tr><td id="L30285" class="css-a4x74f"><span>30285</span></td><td id="LC30285" class="css-1dcdqdg"><code> selector = selector.replace(separatorRegex, <span class="code-string">' '</span>); </code></td></tr><tr><td id="L30286" class="css-a4x74f"><span>30286</span></td><td id="LC30286" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30287" class="css-a4x74f"><span>30287</span></td><td id="LC30287" class="css-1dcdqdg"><code> <span class="code-comment">// Remove any stray dots or hashes which aren't attached to words</span> </code></td></tr><tr><td id="L30288" class="css-a4x74f"><span>30288</span></td><td id="LC30288" class="css-1dcdqdg"><code> <span class="code-comment">// These may be present if the user is live-editing this selector</span> </code></td></tr><tr><td id="L30289" class="css-a4x74f"><span>30289</span></td><td id="LC30289" class="css-1dcdqdg"><code> selector = selector.replace(straysRegex, <span class="code-string">' '</span>); </code></td></tr><tr><td id="L30290" class="css-a4x74f"><span>30290</span></td><td id="LC30290" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30291" class="css-a4x74f"><span>30291</span></td><td id="LC30291" class="css-1dcdqdg"><code> <span class="code-comment">// The only things left should be element selectors (type c)</span> </code></td></tr><tr><td id="L30292" class="css-a4x74f"><span>30292</span></td><td id="LC30292" class="css-1dcdqdg"><code> findMatch(elementRegex, <span class="code-string">'c'</span>, types, selector); </code></td></tr><tr><td id="L30293" class="css-a4x74f"><span>30293</span></td><td id="LC30293" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30294" class="css-a4x74f"><span>30294</span></td><td id="LC30294" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (types.a * <span class="code-number">100</span>) + (types.b * <span class="code-number">10</span>) + (types.c * <span class="code-number">1</span>); </code></td></tr><tr><td id="L30295" class="css-a4x74f"><span>30295</span></td><td id="LC30295" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30296" class="css-a4x74f"><span>30296</span></td><td id="LC30296" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30297" class="css-a4x74f"><span>30297</span></td><td id="LC30297" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> specificityCache = {}; </code></td></tr><tr><td id="L30298" class="css-a4x74f"><span>30298</span></td><td id="LC30298" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30299" class="css-a4x74f"><span>30299</span></td><td id="LC30299" class="css-1dcdqdg"><code> exports.calculateSpecificity = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">selector</span>) </span>{ </code></td></tr><tr><td id="L30300" class="css-a4x74f"><span>30300</span></td><td id="LC30300" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> specificity = specificityCache[selector]; </code></td></tr><tr><td id="L30301" class="css-a4x74f"><span>30301</span></td><td id="LC30301" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (specificity === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L30302" class="css-a4x74f"><span>30302</span></td><td id="LC30302" class="css-1dcdqdg"><code> specificity = calculate(selector); </code></td></tr><tr><td id="L30303" class="css-a4x74f"><span>30303</span></td><td id="LC30303" class="css-1dcdqdg"><code> specificityCache[selector] = specificity; </code></td></tr><tr><td id="L30304" class="css-a4x74f"><span>30304</span></td><td id="LC30304" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30305" class="css-a4x74f"><span>30305</span></td><td id="LC30305" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> specificity; </code></td></tr><tr><td id="L30306" class="css-a4x74f"><span>30306</span></td><td id="LC30306" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30307" class="css-a4x74f"><span>30307</span></td><td id="LC30307" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30308" class="css-a4x74f"><span>30308</span></td><td id="LC30308" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> validSelectorCache = {}; </code></td></tr><tr><td id="L30309" class="css-a4x74f"><span>30309</span></td><td id="LC30309" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> testSelectorElement = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L30310" class="css-a4x74f"><span>30310</span></td><td id="LC30310" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30311" class="css-a4x74f"><span>30311</span></td><td id="LC30311" class="css-1dcdqdg"><code> exports.isSelectorValid = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">selector</span>) </span>{ </code></td></tr><tr><td id="L30312" class="css-a4x74f"><span>30312</span></td><td id="LC30312" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> valid = validSelectorCache[selector]; </code></td></tr><tr><td id="L30313" class="css-a4x74f"><span>30313</span></td><td id="LC30313" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (valid === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L30314" class="css-a4x74f"><span>30314</span></td><td id="LC30314" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (testSelectorElement == <span class="code-literal">null</span>) { </code></td></tr><tr><td id="L30315" class="css-a4x74f"><span>30315</span></td><td id="LC30315" class="css-1dcdqdg"><code> testSelectorElement = <span class="code-built_in">document</span>.createElement(<span class="code-string">'div'</span>); </code></td></tr><tr><td id="L30316" class="css-a4x74f"><span>30316</span></td><td id="LC30316" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30317" class="css-a4x74f"><span>30317</span></td><td id="LC30317" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30318" class="css-a4x74f"><span>30318</span></td><td id="LC30318" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L30319" class="css-a4x74f"><span>30319</span></td><td id="LC30319" class="css-1dcdqdg"><code> testSelectorElement.querySelector(selector); </code></td></tr><tr><td id="L30320" class="css-a4x74f"><span>30320</span></td><td id="LC30320" class="css-1dcdqdg"><code> valid = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30321" class="css-a4x74f"><span>30321</span></td><td id="LC30321" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (error) { </code></td></tr><tr><td id="L30322" class="css-a4x74f"><span>30322</span></td><td id="LC30322" class="css-1dcdqdg"><code> valid = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30323" class="css-a4x74f"><span>30323</span></td><td id="LC30323" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30324" class="css-a4x74f"><span>30324</span></td><td id="LC30324" class="css-1dcdqdg"><code> validSelectorCache[selector] = valid; </code></td></tr><tr><td id="L30325" class="css-a4x74f"><span>30325</span></td><td id="LC30325" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30326" class="css-a4x74f"><span>30326</span></td><td id="LC30326" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> valid; </code></td></tr><tr><td id="L30327" class="css-a4x74f"><span>30327</span></td><td id="LC30327" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30328" class="css-a4x74f"><span>30328</span></td><td id="LC30328" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30329" class="css-a4x74f"><span>30329</span></td><td id="LC30329" class="css-1dcdqdg"><code> exports.validateSelector = <span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">selector</span>) </span>{ </code></td></tr><tr><td id="L30330" class="css-a4x74f"><span>30330</span></td><td id="LC30330" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!exports.isSelectorValid(selector)) { </code></td></tr><tr><td id="L30331" class="css-a4x74f"><span>30331</span></td><td id="LC30331" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> error = <span class="code-keyword">new</span> <span class="code-built_in">SyntaxError</span>(selector + <span class="code-string">' is not a valid selector'</span>); </code></td></tr><tr><td id="L30332" class="css-a4x74f"><span>30332</span></td><td id="LC30332" class="css-1dcdqdg"><code> error.code = <span class="code-string">'EBADSELECTOR'</span>; </code></td></tr><tr><td id="L30333" class="css-a4x74f"><span>30333</span></td><td id="LC30333" class="css-1dcdqdg"><code> <span class="code-keyword">throw</span> error; </code></td></tr><tr><td id="L30334" class="css-a4x74f"><span>30334</span></td><td id="LC30334" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30335" class="css-a4x74f"><span>30335</span></td><td id="LC30335" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30336" class="css-a4x74f"><span>30336</span></td><td id="LC30336" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30337" class="css-a4x74f"><span>30337</span></td><td id="LC30337" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clearCut_1 = clearCut.calculateSpecificity; </code></td></tr><tr><td id="L30338" class="css-a4x74f"><span>30338</span></td><td id="LC30338" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clearCut_2 = clearCut.isSelectorValid; </code></td></tr><tr><td id="L30339" class="css-a4x74f"><span>30339</span></td><td id="LC30339" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> clearCut_3 = clearCut.validateSelector; </code></td></tr><tr><td id="L30340" class="css-a4x74f"><span>30340</span></td><td id="LC30340" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30341" class="css-a4x74f"><span>30341</span></td><td id="LC30341" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">UndisplayedFilter</span> <span class="code-keyword">extends</span> <span class="code-title">Handler</span> </span>{ </code></td></tr><tr><td id="L30342" class="css-a4x74f"><span>30342</span></td><td id="LC30342" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L30343" class="css-a4x74f"><span>30343</span></td><td id="LC30343" class="css-1dcdqdg"><code> <span class="code-keyword">super</span>(chunker, polisher, caller); </code></td></tr><tr><td id="L30344" class="css-a4x74f"><span>30344</span></td><td id="LC30344" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.displayRules = {}; </code></td></tr><tr><td id="L30345" class="css-a4x74f"><span>30345</span></td><td id="LC30345" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30346" class="css-a4x74f"><span>30346</span></td><td id="LC30346" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30347" class="css-a4x74f"><span>30347</span></td><td id="LC30347" class="css-1dcdqdg"><code> onDeclaration(declaration, dItem, dList, rule) { </code></td></tr><tr><td id="L30348" class="css-a4x74f"><span>30348</span></td><td id="LC30348" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (declaration.property === <span class="code-string">"display"</span>) { </code></td></tr><tr><td id="L30349" class="css-a4x74f"><span>30349</span></td><td id="LC30349" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = lib.generate(rule.ruleNode.prelude); </code></td></tr><tr><td id="L30350" class="css-a4x74f"><span>30350</span></td><td id="LC30350" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> value = declaration.value.children.first().name; </code></td></tr><tr><td id="L30351" class="css-a4x74f"><span>30351</span></td><td id="LC30351" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30352" class="css-a4x74f"><span>30352</span></td><td id="LC30352" class="css-1dcdqdg"><code> selector.split(<span class="code-string">","</span>).forEach(<span class="code-function">(<span class="code-params">s</span>) =></span> { </code></td></tr><tr><td id="L30353" class="css-a4x74f"><span>30353</span></td><td id="LC30353" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.displayRules[s] = { </code></td></tr><tr><td id="L30354" class="css-a4x74f"><span>30354</span></td><td id="LC30354" class="css-1dcdqdg"><code> value: value, </code></td></tr><tr><td id="L30355" class="css-a4x74f"><span>30355</span></td><td id="LC30355" class="css-1dcdqdg"><code> selector: s, </code></td></tr><tr><td id="L30356" class="css-a4x74f"><span>30356</span></td><td id="LC30356" class="css-1dcdqdg"><code> specificity: clearCut_1(s), </code></td></tr><tr><td id="L30357" class="css-a4x74f"><span>30357</span></td><td id="LC30357" class="css-1dcdqdg"><code> important: declaration.important </code></td></tr><tr><td id="L30358" class="css-a4x74f"><span>30358</span></td><td id="LC30358" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30359" class="css-a4x74f"><span>30359</span></td><td id="LC30359" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30360" class="css-a4x74f"><span>30360</span></td><td id="LC30360" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30361" class="css-a4x74f"><span>30361</span></td><td id="LC30361" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30362" class="css-a4x74f"><span>30362</span></td><td id="LC30362" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30363" class="css-a4x74f"><span>30363</span></td><td id="LC30363" class="css-1dcdqdg"><code> filter(content) { </code></td></tr><tr><td id="L30364" class="css-a4x74f"><span>30364</span></td><td id="LC30364" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> { matches, selectors } = <span class="code-keyword">this</span>.sortDisplayedSelectors(content, <span class="code-keyword">this</span>.displayRules); </code></td></tr><tr><td id="L30365" class="css-a4x74f"><span>30365</span></td><td id="LC30365" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30366" class="css-a4x74f"><span>30366</span></td><td id="LC30366" class="css-1dcdqdg"><code> <span class="code-comment">// Find matching elements that have display styles</span> </code></td></tr><tr><td id="L30367" class="css-a4x74f"><span>30367</span></td><td id="LC30367" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < matches.length; i++) { </code></td></tr><tr><td id="L30368" class="css-a4x74f"><span>30368</span></td><td id="LC30368" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element = matches[i]; </code></td></tr><tr><td id="L30369" class="css-a4x74f"><span>30369</span></td><td id="LC30369" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = selectors[i]; </code></td></tr><tr><td id="L30370" class="css-a4x74f"><span>30370</span></td><td id="LC30370" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displayValue = selector[selector.length<span class="code-number">-1</span>].value; </code></td></tr><tr><td id="L30371" class="css-a4x74f"><span>30371</span></td><td id="LC30371" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(<span class="code-keyword">this</span>.removable(element) && displayValue === <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L30372" class="css-a4x74f"><span>30372</span></td><td id="LC30372" class="css-1dcdqdg"><code> element.dataset.undisplayed = <span class="code-string">"undisplayed"</span>; </code></td></tr><tr><td id="L30373" class="css-a4x74f"><span>30373</span></td><td id="LC30373" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30374" class="css-a4x74f"><span>30374</span></td><td id="LC30374" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30375" class="css-a4x74f"><span>30375</span></td><td id="LC30375" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30376" class="css-a4x74f"><span>30376</span></td><td id="LC30376" class="css-1dcdqdg"><code> <span class="code-comment">// Find elements that have inline styles</span> </code></td></tr><tr><td id="L30377" class="css-a4x74f"><span>30377</span></td><td id="LC30377" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> styledElements = content.querySelectorAll(<span class="code-string">"[style]"</span>); </code></td></tr><tr><td id="L30378" class="css-a4x74f"><span>30378</span></td><td id="LC30378" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> i = <span class="code-number">0</span>; i < styledElements.length; i++) { </code></td></tr><tr><td id="L30379" class="css-a4x74f"><span>30379</span></td><td id="LC30379" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> element = styledElements[i]; </code></td></tr><tr><td id="L30380" class="css-a4x74f"><span>30380</span></td><td id="LC30380" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span>.removable(element)) { </code></td></tr><tr><td id="L30381" class="css-a4x74f"><span>30381</span></td><td id="LC30381" class="css-1dcdqdg"><code> element.dataset.undisplayed = <span class="code-string">"undisplayed"</span>; </code></td></tr><tr><td id="L30382" class="css-a4x74f"><span>30382</span></td><td id="LC30382" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30383" class="css-a4x74f"><span>30383</span></td><td id="LC30383" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30384" class="css-a4x74f"><span>30384</span></td><td id="LC30384" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30385" class="css-a4x74f"><span>30385</span></td><td id="LC30385" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30386" class="css-a4x74f"><span>30386</span></td><td id="LC30386" class="css-1dcdqdg"><code> sorter(a, b) { </code></td></tr><tr><td id="L30387" class="css-a4x74f"><span>30387</span></td><td id="LC30387" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (a.important && !b.important) { </code></td></tr><tr><td id="L30388" class="css-a4x74f"><span>30388</span></td><td id="LC30388" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">1</span>; </code></td></tr><tr><td id="L30389" class="css-a4x74f"><span>30389</span></td><td id="LC30389" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30390" class="css-a4x74f"><span>30390</span></td><td id="LC30390" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30391" class="css-a4x74f"><span>30391</span></td><td id="LC30391" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (b.important && !a.important) { </code></td></tr><tr><td id="L30392" class="css-a4x74f"><span>30392</span></td><td id="LC30392" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L30393" class="css-a4x74f"><span>30393</span></td><td id="LC30393" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30394" class="css-a4x74f"><span>30394</span></td><td id="LC30394" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30395" class="css-a4x74f"><span>30395</span></td><td id="LC30395" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> a.specificity - b.specificity; </code></td></tr><tr><td id="L30396" class="css-a4x74f"><span>30396</span></td><td id="LC30396" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30397" class="css-a4x74f"><span>30397</span></td><td id="LC30397" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30398" class="css-a4x74f"><span>30398</span></td><td id="LC30398" class="css-1dcdqdg"><code> sortDisplayedSelectors(content, displayRules=[]) { </code></td></tr><tr><td id="L30399" class="css-a4x74f"><span>30399</span></td><td id="LC30399" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> matches = []; </code></td></tr><tr><td id="L30400" class="css-a4x74f"><span>30400</span></td><td id="LC30400" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selectors = []; </code></td></tr><tr><td id="L30401" class="css-a4x74f"><span>30401</span></td><td id="LC30401" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> d <span class="code-keyword">in</span> displayRules) { </code></td></tr><tr><td id="L30402" class="css-a4x74f"><span>30402</span></td><td id="LC30402" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> displayItem = displayRules[d]; </code></td></tr><tr><td id="L30403" class="css-a4x74f"><span>30403</span></td><td id="LC30403" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> selector = displayItem.selector; </code></td></tr><tr><td id="L30404" class="css-a4x74f"><span>30404</span></td><td id="LC30404" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> query = []; </code></td></tr><tr><td id="L30405" class="css-a4x74f"><span>30405</span></td><td id="LC30405" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L30406" class="css-a4x74f"><span>30406</span></td><td id="LC30406" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L30407" class="css-a4x74f"><span>30407</span></td><td id="LC30407" class="css-1dcdqdg"><code> query = content.querySelectorAll(selector); </code></td></tr><tr><td id="L30408" class="css-a4x74f"><span>30408</span></td><td id="LC30408" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L30409" class="css-a4x74f"><span>30409</span></td><td id="LC30409" class="css-1dcdqdg"><code> query = content.querySelectorAll(cleanSelector(selector)); </code></td></tr><tr><td id="L30410" class="css-a4x74f"><span>30410</span></td><td id="LC30410" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30411" class="css-a4x74f"><span>30411</span></td><td id="LC30411" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (e) { </code></td></tr><tr><td id="L30412" class="css-a4x74f"><span>30412</span></td><td id="LC30412" class="css-1dcdqdg"><code> query = []; </code></td></tr><tr><td id="L30413" class="css-a4x74f"><span>30413</span></td><td id="LC30413" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30414" class="css-a4x74f"><span>30414</span></td><td id="LC30414" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> elements = <span class="code-built_in">Array</span>.from(query); </code></td></tr><tr><td id="L30415" class="css-a4x74f"><span>30415</span></td><td id="LC30415" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">let</span> e <span class="code-keyword">of</span> elements) { </code></td></tr><tr><td id="L30416" class="css-a4x74f"><span>30416</span></td><td id="LC30416" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (matches.includes(e)) { </code></td></tr><tr><td id="L30417" class="css-a4x74f"><span>30417</span></td><td id="LC30417" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> index = matches.indexOf(e); </code></td></tr><tr><td id="L30418" class="css-a4x74f"><span>30418</span></td><td id="LC30418" class="css-1dcdqdg"><code> selectors[index].push(displayItem); </code></td></tr><tr><td id="L30419" class="css-a4x74f"><span>30419</span></td><td id="LC30419" class="css-1dcdqdg"><code> selectors[index] = selectors[index].sort(<span class="code-keyword">this</span>.sorter); </code></td></tr><tr><td id="L30420" class="css-a4x74f"><span>30420</span></td><td id="LC30420" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30421" class="css-a4x74f"><span>30421</span></td><td id="LC30421" class="css-1dcdqdg"><code> matches.push(e); </code></td></tr><tr><td id="L30422" class="css-a4x74f"><span>30422</span></td><td id="LC30422" class="css-1dcdqdg"><code> selectors.push([displayItem]); </code></td></tr><tr><td id="L30423" class="css-a4x74f"><span>30423</span></td><td id="LC30423" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30424" class="css-a4x74f"><span>30424</span></td><td id="LC30424" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30425" class="css-a4x74f"><span>30425</span></td><td id="LC30425" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30426" class="css-a4x74f"><span>30426</span></td><td id="LC30426" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30427" class="css-a4x74f"><span>30427</span></td><td id="LC30427" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> { matches, selectors }; </code></td></tr><tr><td id="L30428" class="css-a4x74f"><span>30428</span></td><td id="LC30428" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30429" class="css-a4x74f"><span>30429</span></td><td id="LC30429" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30430" class="css-a4x74f"><span>30430</span></td><td id="LC30430" class="css-1dcdqdg"><code> removable(element) { </code></td></tr><tr><td id="L30431" class="css-a4x74f"><span>30431</span></td><td id="LC30431" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (element.style && </code></td></tr><tr><td id="L30432" class="css-a4x74f"><span>30432</span></td><td id="LC30432" class="css-1dcdqdg"><code> element.style.display !== <span class="code-string">""</span> && </code></td></tr><tr><td id="L30433" class="css-a4x74f"><span>30433</span></td><td id="LC30433" class="css-1dcdqdg"><code> element.style.display !== <span class="code-string">"none"</span>) { </code></td></tr><tr><td id="L30434" class="css-a4x74f"><span>30434</span></td><td id="LC30434" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30435" class="css-a4x74f"><span>30435</span></td><td id="LC30435" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30436" class="css-a4x74f"><span>30436</span></td><td id="LC30436" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30437" class="css-a4x74f"><span>30437</span></td><td id="LC30437" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30438" class="css-a4x74f"><span>30438</span></td><td id="LC30438" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30439" class="css-a4x74f"><span>30439</span></td><td id="LC30439" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30440" class="css-a4x74f"><span>30440</span></td><td id="LC30440" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30441" class="css-a4x74f"><span>30441</span></td><td id="LC30441" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> filters = [ </code></td></tr><tr><td id="L30442" class="css-a4x74f"><span>30442</span></td><td id="LC30442" class="css-1dcdqdg"><code> WhiteSpaceFilter, </code></td></tr><tr><td id="L30443" class="css-a4x74f"><span>30443</span></td><td id="LC30443" class="css-1dcdqdg"><code> CommentsFilter, </code></td></tr><tr><td id="L30444" class="css-a4x74f"><span>30444</span></td><td id="LC30444" class="css-1dcdqdg"><code> ScriptsFilter, </code></td></tr><tr><td id="L30445" class="css-a4x74f"><span>30445</span></td><td id="LC30445" class="css-1dcdqdg"><code> UndisplayedFilter </code></td></tr><tr><td id="L30446" class="css-a4x74f"><span>30446</span></td><td id="LC30446" class="css-1dcdqdg"><code> ]; </code></td></tr><tr><td id="L30447" class="css-a4x74f"><span>30447</span></td><td id="LC30447" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30448" class="css-a4x74f"><span>30448</span></td><td id="LC30448" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">3</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30449" class="css-a4x74f"><span>30449</span></td><td id="LC30449" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> <span class="code-keyword">from</span> = <span class="code-built_in">Array</span>.from, arr, result; </code></td></tr><tr><td id="L30450" class="css-a4x74f"><span>30450</span></td><td id="LC30450" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> <span class="code-keyword">from</span> !== <span class="code-string">"function"</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30451" class="css-a4x74f"><span>30451</span></td><td id="LC30451" class="css-1dcdqdg"><code> arr = [<span class="code-string">"raz"</span>, <span class="code-string">"dwa"</span>]; </code></td></tr><tr><td id="L30452" class="css-a4x74f"><span>30452</span></td><td id="LC30452" class="css-1dcdqdg"><code> result = <span class="code-keyword">from</span>(arr); </code></td></tr><tr><td id="L30453" class="css-a4x74f"><span>30453</span></td><td id="LC30453" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">Boolean</span>(result && (result !== arr) && (result[<span class="code-number">1</span>] === <span class="code-string">"dwa"</span>)); </code></td></tr><tr><td id="L30454" class="css-a4x74f"><span>30454</span></td><td id="LC30454" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30455" class="css-a4x74f"><span>30455</span></td><td id="LC30455" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30456" class="css-a4x74f"><span>30456</span></td><td id="LC30456" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> validTypes = { <span class="code-attr">object</span>: <span class="code-literal">true</span>, <span class="code-attr">symbol</span>: <span class="code-literal">true</span> }; </code></td></tr><tr><td id="L30457" class="css-a4x74f"><span>30457</span></td><td id="LC30457" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30458" class="css-a4x74f"><span>30458</span></td><td id="LC30458" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">4</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30459" class="css-a4x74f"><span>30459</span></td><td id="LC30459" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> symbol; </code></td></tr><tr><td id="L30460" class="css-a4x74f"><span>30460</span></td><td id="LC30460" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> <span class="code-built_in">Symbol</span> !== <span class="code-string">'function'</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30461" class="css-a4x74f"><span>30461</span></td><td id="LC30461" class="css-1dcdqdg"><code> symbol = <span class="code-built_in">Symbol</span>(<span class="code-string">'test symbol'</span>); </code></td></tr><tr><td id="L30462" class="css-a4x74f"><span>30462</span></td><td id="LC30462" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { <span class="code-built_in">String</span>(symbol); } <span class="code-keyword">catch</span> (e) { <span class="code-keyword">return</span> <span class="code-literal">false</span>; } </code></td></tr><tr><td id="L30463" class="css-a4x74f"><span>30463</span></td><td id="LC30463" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30464" class="css-a4x74f"><span>30464</span></td><td id="LC30464" class="css-1dcdqdg"><code> <span class="code-comment">// Return 'true' also for polyfills</span> </code></td></tr><tr><td id="L30465" class="css-a4x74f"><span>30465</span></td><td id="LC30465" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!validTypes[<span class="code-keyword">typeof</span> <span class="code-built_in">Symbol</span>.iterator]) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30466" class="css-a4x74f"><span>30466</span></td><td id="LC30466" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!validTypes[<span class="code-keyword">typeof</span> <span class="code-built_in">Symbol</span>.toPrimitive]) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30467" class="css-a4x74f"><span>30467</span></td><td id="LC30467" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!validTypes[<span class="code-keyword">typeof</span> <span class="code-built_in">Symbol</span>.toStringTag]) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30468" class="css-a4x74f"><span>30468</span></td><td id="LC30468" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30469" class="css-a4x74f"><span>30469</span></td><td id="LC30469" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30470" class="css-a4x74f"><span>30470</span></td><td id="LC30470" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30471" class="css-a4x74f"><span>30471</span></td><td id="LC30471" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30472" class="css-a4x74f"><span>30472</span></td><td id="LC30472" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isSymbol = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">x</span>) </span>{ </code></td></tr><tr><td id="L30473" class="css-a4x74f"><span>30473</span></td><td id="LC30473" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!x) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30474" class="css-a4x74f"><span>30474</span></td><td id="LC30474" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> x === <span class="code-string">'symbol'</span>) <span class="code-keyword">return</span> <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30475" class="css-a4x74f"><span>30475</span></td><td id="LC30475" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!x.constructor) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30476" class="css-a4x74f"><span>30476</span></td><td id="LC30476" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (x.constructor.name !== <span class="code-string">'Symbol'</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30477" class="css-a4x74f"><span>30477</span></td><td id="LC30477" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (x[x.constructor.toStringTag] === <span class="code-string">'Symbol'</span>); </code></td></tr><tr><td id="L30478" class="css-a4x74f"><span>30478</span></td><td id="LC30478" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30479" class="css-a4x74f"><span>30479</span></td><td id="LC30479" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30480" class="css-a4x74f"><span>30480</span></td><td id="LC30480" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> validateSymbol = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30481" class="css-a4x74f"><span>30481</span></td><td id="LC30481" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isSymbol(value)) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(value + <span class="code-string">" is not a symbol"</span>); </code></td></tr><tr><td id="L30482" class="css-a4x74f"><span>30482</span></td><td id="LC30482" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L30483" class="css-a4x74f"><span>30483</span></td><td id="LC30483" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30484" class="css-a4x74f"><span>30484</span></td><td id="LC30484" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30485" class="css-a4x74f"><span>30485</span></td><td id="LC30485" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> create$<span class="code-number">6</span> = <span class="code-built_in">Object</span>.create, defineProperties = <span class="code-built_in">Object</span>.defineProperties </code></td></tr><tr><td id="L30486" class="css-a4x74f"><span>30486</span></td><td id="LC30486" class="css-1dcdqdg"><code> , defineProperty = <span class="code-built_in">Object</span>.defineProperty, objPrototype = <span class="code-built_in">Object</span>.prototype </code></td></tr><tr><td id="L30487" class="css-a4x74f"><span>30487</span></td><td id="LC30487" class="css-1dcdqdg"><code> , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create$<span class="code-number">6</span>(<span class="code-literal">null</span>) </code></td></tr><tr><td id="L30488" class="css-a4x74f"><span>30488</span></td><td id="LC30488" class="css-1dcdqdg"><code> , isNativeSafe; </code></td></tr><tr><td id="L30489" class="css-a4x74f"><span>30489</span></td><td id="LC30489" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30490" class="css-a4x74f"><span>30490</span></td><td id="LC30490" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> <span class="code-built_in">Symbol</span> === <span class="code-string">'function'</span>) { </code></td></tr><tr><td id="L30491" class="css-a4x74f"><span>30491</span></td><td id="LC30491" class="css-1dcdqdg"><code> NativeSymbol = <span class="code-built_in">Symbol</span>; </code></td></tr><tr><td id="L30492" class="css-a4x74f"><span>30492</span></td><td id="LC30492" class="css-1dcdqdg"><code> <span class="code-keyword">try</span> { </code></td></tr><tr><td id="L30493" class="css-a4x74f"><span>30493</span></td><td id="LC30493" class="css-1dcdqdg"><code> <span class="code-built_in">String</span>(NativeSymbol()); </code></td></tr><tr><td id="L30494" class="css-a4x74f"><span>30494</span></td><td id="LC30494" class="css-1dcdqdg"><code> isNativeSafe = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30495" class="css-a4x74f"><span>30495</span></td><td id="LC30495" class="css-1dcdqdg"><code> } <span class="code-keyword">catch</span> (ignore) {} </code></td></tr><tr><td id="L30496" class="css-a4x74f"><span>30496</span></td><td id="LC30496" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30497" class="css-a4x74f"><span>30497</span></td><td id="LC30497" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30498" class="css-a4x74f"><span>30498</span></td><td id="LC30498" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> generateName = (<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30499" class="css-a4x74f"><span>30499</span></td><td id="LC30499" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> created = create$<span class="code-number">6</span>(<span class="code-literal">null</span>); </code></td></tr><tr><td id="L30500" class="css-a4x74f"><span>30500</span></td><td id="LC30500" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">desc</span>) </span>{ </code></td></tr><tr><td id="L30501" class="css-a4x74f"><span>30501</span></td><td id="LC30501" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> postfix = <span class="code-number">0</span>, name, ie11BugWorkaround; </code></td></tr><tr><td id="L30502" class="css-a4x74f"><span>30502</span></td><td id="LC30502" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (created[desc + (postfix || <span class="code-string">''</span>)]) ++postfix; </code></td></tr><tr><td id="L30503" class="css-a4x74f"><span>30503</span></td><td id="LC30503" class="css-1dcdqdg"><code> desc += (postfix || <span class="code-string">''</span>); </code></td></tr><tr><td id="L30504" class="css-a4x74f"><span>30504</span></td><td id="LC30504" class="css-1dcdqdg"><code> created[desc] = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30505" class="css-a4x74f"><span>30505</span></td><td id="LC30505" class="css-1dcdqdg"><code> name = <span class="code-string">'@@'</span> + desc; </code></td></tr><tr><td id="L30506" class="css-a4x74f"><span>30506</span></td><td id="LC30506" class="css-1dcdqdg"><code> defineProperty(objPrototype, name, d_1.gs(<span class="code-literal">null</span>, <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30507" class="css-a4x74f"><span>30507</span></td><td id="LC30507" class="css-1dcdqdg"><code> <span class="code-comment">// For IE11 issue see:</span> </code></td></tr><tr><td id="L30508" class="css-a4x74f"><span>30508</span></td><td id="LC30508" class="css-1dcdqdg"><code> <span class="code-comment">// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/</span> </code></td></tr><tr><td id="L30509" class="css-a4x74f"><span>30509</span></td><td id="LC30509" class="css-1dcdqdg"><code> <span class="code-comment">// ie11-broken-getters-on-dom-objects</span> </code></td></tr><tr><td id="L30510" class="css-a4x74f"><span>30510</span></td><td id="LC30510" class="css-1dcdqdg"><code> <span class="code-comment">// https://github.com/medikoo/es6-symbol/issues/12</span> </code></td></tr><tr><td id="L30511" class="css-a4x74f"><span>30511</span></td><td id="LC30511" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (ie11BugWorkaround) <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L30512" class="css-a4x74f"><span>30512</span></td><td id="LC30512" class="css-1dcdqdg"><code> ie11BugWorkaround = <span class="code-literal">true</span>; </code></td></tr><tr><td id="L30513" class="css-a4x74f"><span>30513</span></td><td id="LC30513" class="css-1dcdqdg"><code> defineProperty(<span class="code-keyword">this</span>, name, d_1(value)); </code></td></tr><tr><td id="L30514" class="css-a4x74f"><span>30514</span></td><td id="LC30514" class="css-1dcdqdg"><code> ie11BugWorkaround = <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30515" class="css-a4x74f"><span>30515</span></td><td id="LC30515" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L30516" class="css-a4x74f"><span>30516</span></td><td id="LC30516" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> name; </code></td></tr><tr><td id="L30517" class="css-a4x74f"><span>30517</span></td><td id="LC30517" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30518" class="css-a4x74f"><span>30518</span></td><td id="LC30518" class="css-1dcdqdg"><code> }()); </code></td></tr><tr><td id="L30519" class="css-a4x74f"><span>30519</span></td><td id="LC30519" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30520" class="css-a4x74f"><span>30520</span></td><td id="LC30520" class="css-1dcdqdg"><code> <span class="code-comment">// Internal constructor (not one exposed) for creating Symbol instances.</span> </code></td></tr><tr><td id="L30521" class="css-a4x74f"><span>30521</span></td><td id="LC30521" class="css-1dcdqdg"><code> <span class="code-comment">// This one is used to ensure that `someSymbol instanceof Symbol` always return false</span> </code></td></tr><tr><td id="L30522" class="css-a4x74f"><span>30522</span></td><td id="LC30522" class="css-1dcdqdg"><code> HiddenSymbol = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">Symbol</span>(<span class="code-params">description</span>) </span>{ </code></td></tr><tr><td id="L30523" class="css-a4x74f"><span>30523</span></td><td id="LC30523" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span> <span class="code-keyword">instanceof</span> HiddenSymbol) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(<span class="code-string">'Symbol is not a constructor'</span>); </code></td></tr><tr><td id="L30524" class="css-a4x74f"><span>30524</span></td><td id="LC30524" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> SymbolPolyfill(description); </code></td></tr><tr><td id="L30525" class="css-a4x74f"><span>30525</span></td><td id="LC30525" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30526" class="css-a4x74f"><span>30526</span></td><td id="LC30526" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30527" class="css-a4x74f"><span>30527</span></td><td id="LC30527" class="css-1dcdqdg"><code> <span class="code-comment">// Exposed `Symbol` constructor</span> </code></td></tr><tr><td id="L30528" class="css-a4x74f"><span>30528</span></td><td id="LC30528" class="css-1dcdqdg"><code> <span class="code-comment">// (returns instances of HiddenSymbol)</span> </code></td></tr><tr><td id="L30529" class="css-a4x74f"><span>30529</span></td><td id="LC30529" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> polyfill = SymbolPolyfill = <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">Symbol</span>(<span class="code-params">description</span>) </span>{ </code></td></tr><tr><td id="L30530" class="css-a4x74f"><span>30530</span></td><td id="LC30530" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> symbol; </code></td></tr><tr><td id="L30531" class="css-a4x74f"><span>30531</span></td><td id="LC30531" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">this</span> <span class="code-keyword">instanceof</span> <span class="code-built_in">Symbol</span>) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(<span class="code-string">'Symbol is not a constructor'</span>); </code></td></tr><tr><td id="L30532" class="css-a4x74f"><span>30532</span></td><td id="LC30532" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNativeSafe) <span class="code-keyword">return</span> NativeSymbol(description); </code></td></tr><tr><td id="L30533" class="css-a4x74f"><span>30533</span></td><td id="LC30533" class="css-1dcdqdg"><code> symbol = create$<span class="code-number">6</span>(HiddenSymbol.prototype); </code></td></tr><tr><td id="L30534" class="css-a4x74f"><span>30534</span></td><td id="LC30534" class="css-1dcdqdg"><code> description = (description === <span class="code-literal">undefined</span> ? <span class="code-string">''</span> : <span class="code-built_in">String</span>(description)); </code></td></tr><tr><td id="L30535" class="css-a4x74f"><span>30535</span></td><td id="LC30535" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> defineProperties(symbol, { </code></td></tr><tr><td id="L30536" class="css-a4x74f"><span>30536</span></td><td id="LC30536" class="css-1dcdqdg"><code> __description__: d_1(<span class="code-string">''</span>, description), </code></td></tr><tr><td id="L30537" class="css-a4x74f"><span>30537</span></td><td id="LC30537" class="css-1dcdqdg"><code> __name__: d_1(<span class="code-string">''</span>, generateName(description)) </code></td></tr><tr><td id="L30538" class="css-a4x74f"><span>30538</span></td><td id="LC30538" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30539" class="css-a4x74f"><span>30539</span></td><td id="LC30539" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30540" class="css-a4x74f"><span>30540</span></td><td id="LC30540" class="css-1dcdqdg"><code> defineProperties(SymbolPolyfill, { </code></td></tr><tr><td id="L30541" class="css-a4x74f"><span>30541</span></td><td id="LC30541" class="css-1dcdqdg"><code> <span class="code-keyword">for</span>: d_1(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">key</span>) </span>{ </code></td></tr><tr><td id="L30542" class="css-a4x74f"><span>30542</span></td><td id="LC30542" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (globalSymbols[key]) <span class="code-keyword">return</span> globalSymbols[key]; </code></td></tr><tr><td id="L30543" class="css-a4x74f"><span>30543</span></td><td id="LC30543" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (globalSymbols[key] = SymbolPolyfill(<span class="code-built_in">String</span>(key))); </code></td></tr><tr><td id="L30544" class="css-a4x74f"><span>30544</span></td><td id="LC30544" class="css-1dcdqdg"><code> }), </code></td></tr><tr><td id="L30545" class="css-a4x74f"><span>30545</span></td><td id="LC30545" class="css-1dcdqdg"><code> keyFor: d_1(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">s</span>) </span>{ </code></td></tr><tr><td id="L30546" class="css-a4x74f"><span>30546</span></td><td id="LC30546" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> key; </code></td></tr><tr><td id="L30547" class="css-a4x74f"><span>30547</span></td><td id="LC30547" class="css-1dcdqdg"><code> validateSymbol(s); </code></td></tr><tr><td id="L30548" class="css-a4x74f"><span>30548</span></td><td id="LC30548" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (key <span class="code-keyword">in</span> globalSymbols) <span class="code-keyword">if</span> (globalSymbols[key] === s) <span class="code-keyword">return</span> key; </code></td></tr><tr><td id="L30549" class="css-a4x74f"><span>30549</span></td><td id="LC30549" class="css-1dcdqdg"><code> }), </code></td></tr><tr><td id="L30550" class="css-a4x74f"><span>30550</span></td><td id="LC30550" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30551" class="css-a4x74f"><span>30551</span></td><td id="LC30551" class="css-1dcdqdg"><code> <span class="code-comment">// To ensure proper interoperability with other native functions (e.g. Array.from)</span> </code></td></tr><tr><td id="L30552" class="css-a4x74f"><span>30552</span></td><td id="LC30552" class="css-1dcdqdg"><code> <span class="code-comment">// fallback to eventual native implementation of given symbol</span> </code></td></tr><tr><td id="L30553" class="css-a4x74f"><span>30553</span></td><td id="LC30553" class="css-1dcdqdg"><code> hasInstance: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(<span class="code-string">'hasInstance'</span>)), </code></td></tr><tr><td id="L30554" class="css-a4x74f"><span>30554</span></td><td id="LC30554" class="css-1dcdqdg"><code> isConcatSpreadable: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.isConcatSpreadable) || </code></td></tr><tr><td id="L30555" class="css-a4x74f"><span>30555</span></td><td id="LC30555" class="css-1dcdqdg"><code> SymbolPolyfill(<span class="code-string">'isConcatSpreadable'</span>)), </code></td></tr><tr><td id="L30556" class="css-a4x74f"><span>30556</span></td><td id="LC30556" class="css-1dcdqdg"><code> iterator: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(<span class="code-string">'iterator'</span>)), </code></td></tr><tr><td id="L30557" class="css-a4x74f"><span>30557</span></td><td id="LC30557" class="css-1dcdqdg"><code> match: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(<span class="code-string">'match'</span>)), </code></td></tr><tr><td id="L30558" class="css-a4x74f"><span>30558</span></td><td id="LC30558" class="css-1dcdqdg"><code> replace: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(<span class="code-string">'replace'</span>)), </code></td></tr><tr><td id="L30559" class="css-a4x74f"><span>30559</span></td><td id="LC30559" class="css-1dcdqdg"><code> search: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(<span class="code-string">'search'</span>)), </code></td></tr><tr><td id="L30560" class="css-a4x74f"><span>30560</span></td><td id="LC30560" class="css-1dcdqdg"><code> species: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(<span class="code-string">'species'</span>)), </code></td></tr><tr><td id="L30561" class="css-a4x74f"><span>30561</span></td><td id="LC30561" class="css-1dcdqdg"><code> split: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(<span class="code-string">'split'</span>)), </code></td></tr><tr><td id="L30562" class="css-a4x74f"><span>30562</span></td><td id="LC30562" class="css-1dcdqdg"><code> toPrimitive: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(<span class="code-string">'toPrimitive'</span>)), </code></td></tr><tr><td id="L30563" class="css-a4x74f"><span>30563</span></td><td id="LC30563" class="css-1dcdqdg"><code> toStringTag: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(<span class="code-string">'toStringTag'</span>)), </code></td></tr><tr><td id="L30564" class="css-a4x74f"><span>30564</span></td><td id="LC30564" class="css-1dcdqdg"><code> unscopables: d_1(<span class="code-string">''</span>, (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(<span class="code-string">'unscopables'</span>)) </code></td></tr><tr><td id="L30565" class="css-a4x74f"><span>30565</span></td><td id="LC30565" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30566" class="css-a4x74f"><span>30566</span></td><td id="LC30566" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30567" class="css-a4x74f"><span>30567</span></td><td id="LC30567" class="css-1dcdqdg"><code> <span class="code-comment">// Internal tweaks for real symbol producer</span> </code></td></tr><tr><td id="L30568" class="css-a4x74f"><span>30568</span></td><td id="LC30568" class="css-1dcdqdg"><code> defineProperties(HiddenSymbol.prototype, { </code></td></tr><tr><td id="L30569" class="css-a4x74f"><span>30569</span></td><td id="LC30569" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>: d_1(SymbolPolyfill), </code></td></tr><tr><td id="L30570" class="css-a4x74f"><span>30570</span></td><td id="LC30570" class="css-1dcdqdg"><code> toString: d_1('', function () { <span class="code-keyword">return</span> <span class="code-keyword">this</span>.__name__; }) </code></td></tr><tr><td id="L30571" class="css-a4x74f"><span>30571</span></td><td id="LC30571" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30572" class="css-a4x74f"><span>30572</span></td><td id="LC30572" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30573" class="css-a4x74f"><span>30573</span></td><td id="LC30573" class="css-1dcdqdg"><code> <span class="code-comment">// Proper implementation of methods exposed on Symbol.prototype</span> </code></td></tr><tr><td id="L30574" class="css-a4x74f"><span>30574</span></td><td id="LC30574" class="css-1dcdqdg"><code> <span class="code-comment">// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype</span> </code></td></tr><tr><td id="L30575" class="css-a4x74f"><span>30575</span></td><td id="LC30575" class="css-1dcdqdg"><code> defineProperties(SymbolPolyfill.prototype, { </code></td></tr><tr><td id="L30576" class="css-a4x74f"><span>30576</span></td><td id="LC30576" class="css-1dcdqdg"><code> toString: d_1(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ <span class="code-keyword">return</span> <span class="code-string">'Symbol ('</span> + validateSymbol(<span class="code-keyword">this</span>).__description__ + <span class="code-string">')'</span>; }), </code></td></tr><tr><td id="L30577" class="css-a4x74f"><span>30577</span></td><td id="LC30577" class="css-1dcdqdg"><code> valueOf: d_1(<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ <span class="code-keyword">return</span> validateSymbol(<span class="code-keyword">this</span>); }) </code></td></tr><tr><td id="L30578" class="css-a4x74f"><span>30578</span></td><td id="LC30578" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30579" class="css-a4x74f"><span>30579</span></td><td id="LC30579" class="css-1dcdqdg"><code> defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d_1(<span class="code-string">''</span>, <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30580" class="css-a4x74f"><span>30580</span></td><td id="LC30580" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> symbol = validateSymbol(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L30581" class="css-a4x74f"><span>30581</span></td><td id="LC30581" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> symbol === <span class="code-string">'symbol'</span>) <span class="code-keyword">return</span> symbol; </code></td></tr><tr><td id="L30582" class="css-a4x74f"><span>30582</span></td><td id="LC30582" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> symbol.toString(); </code></td></tr><tr><td id="L30583" class="css-a4x74f"><span>30583</span></td><td id="LC30583" class="css-1dcdqdg"><code> })); </code></td></tr><tr><td id="L30584" class="css-a4x74f"><span>30584</span></td><td id="LC30584" class="css-1dcdqdg"><code> defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d_1(<span class="code-string">'c'</span>, <span class="code-string">'Symbol'</span>)); </code></td></tr><tr><td id="L30585" class="css-a4x74f"><span>30585</span></td><td id="LC30585" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30586" class="css-a4x74f"><span>30586</span></td><td id="LC30586" class="css-1dcdqdg"><code> <span class="code-comment">// Proper implementaton of toPrimitive and toStringTag for returned symbol instances</span> </code></td></tr><tr><td id="L30587" class="css-a4x74f"><span>30587</span></td><td id="LC30587" class="css-1dcdqdg"><code> defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, </code></td></tr><tr><td id="L30588" class="css-a4x74f"><span>30588</span></td><td id="LC30588" class="css-1dcdqdg"><code> d_1(<span class="code-string">'c'</span>, SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])); </code></td></tr><tr><td id="L30589" class="css-a4x74f"><span>30589</span></td><td id="LC30589" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30590" class="css-a4x74f"><span>30590</span></td><td id="LC30590" class="css-1dcdqdg"><code> <span class="code-comment">// Note: It's important to define `toPrimitive` as last one, as some implementations</span> </code></td></tr><tr><td id="L30591" class="css-a4x74f"><span>30591</span></td><td id="LC30591" class="css-1dcdqdg"><code> <span class="code-comment">// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)</span> </code></td></tr><tr><td id="L30592" class="css-a4x74f"><span>30592</span></td><td id="LC30592" class="css-1dcdqdg"><code> <span class="code-comment">// And that may invoke error in definition flow:</span> </code></td></tr><tr><td id="L30593" class="css-a4x74f"><span>30593</span></td><td id="LC30593" class="css-1dcdqdg"><code> <span class="code-comment">// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149</span> </code></td></tr><tr><td id="L30594" class="css-a4x74f"><span>30594</span></td><td id="LC30594" class="css-1dcdqdg"><code> defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, </code></td></tr><tr><td id="L30595" class="css-a4x74f"><span>30595</span></td><td id="LC30595" class="css-1dcdqdg"><code> d_1(<span class="code-string">'c'</span>, SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])); </code></td></tr><tr><td id="L30596" class="css-a4x74f"><span>30596</span></td><td id="LC30596" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30597" class="css-a4x74f"><span>30597</span></td><td id="LC30597" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> es6Symbol = isImplemented$<span class="code-number">4</span>() ? <span class="code-built_in">Symbol</span> : polyfill; </code></td></tr><tr><td id="L30598" class="css-a4x74f"><span>30598</span></td><td id="LC30598" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30599" class="css-a4x74f"><span>30599</span></td><td id="LC30599" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> objToString = <span class="code-built_in">Object</span>.prototype.toString </code></td></tr><tr><td id="L30600" class="css-a4x74f"><span>30600</span></td><td id="LC30600" class="css-1dcdqdg"><code> , id = objToString.call( </code></td></tr><tr><td id="L30601" class="css-a4x74f"><span>30601</span></td><td id="LC30601" class="css-1dcdqdg"><code> (<span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30602" class="css-a4x74f"><span>30602</span></td><td id="LC30602" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-built_in">arguments</span>; </code></td></tr><tr><td id="L30603" class="css-a4x74f"><span>30603</span></td><td id="LC30603" class="css-1dcdqdg"><code> })() </code></td></tr><tr><td id="L30604" class="css-a4x74f"><span>30604</span></td><td id="LC30604" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L30605" class="css-a4x74f"><span>30605</span></td><td id="LC30605" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30606" class="css-a4x74f"><span>30606</span></td><td id="LC30606" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isArguments = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30607" class="css-a4x74f"><span>30607</span></td><td id="LC30607" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> objToString.call(value) === id; </code></td></tr><tr><td id="L30608" class="css-a4x74f"><span>30608</span></td><td id="LC30608" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30609" class="css-a4x74f"><span>30609</span></td><td id="LC30609" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30610" class="css-a4x74f"><span>30610</span></td><td id="LC30610" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> objToString$<span class="code-number">1</span> = <span class="code-built_in">Object</span>.prototype.toString, id$<span class="code-number">1</span> = objToString$<span class="code-number">1.</span>call(noop); </code></td></tr><tr><td id="L30611" class="css-a4x74f"><span>30611</span></td><td id="LC30611" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30612" class="css-a4x74f"><span>30612</span></td><td id="LC30612" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isFunction = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30613" class="css-a4x74f"><span>30613</span></td><td id="LC30613" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-keyword">typeof</span> value === <span class="code-string">"function"</span> && objToString$<span class="code-number">1.</span>call(value) === id$<span class="code-number">1</span>; </code></td></tr><tr><td id="L30614" class="css-a4x74f"><span>30614</span></td><td id="LC30614" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30615" class="css-a4x74f"><span>30615</span></td><td id="LC30615" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30616" class="css-a4x74f"><span>30616</span></td><td id="LC30616" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">5</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30617" class="css-a4x74f"><span>30617</span></td><td id="LC30617" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = <span class="code-built_in">Math</span>.sign; </code></td></tr><tr><td id="L30618" class="css-a4x74f"><span>30618</span></td><td id="LC30618" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> sign !== <span class="code-string">"function"</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30619" class="css-a4x74f"><span>30619</span></td><td id="LC30619" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (sign(<span class="code-number">10</span>) === <span class="code-number">1</span>) && (sign(<span class="code-number">-20</span>) === <span class="code-number">-1</span>); </code></td></tr><tr><td id="L30620" class="css-a4x74f"><span>30620</span></td><td id="LC30620" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30621" class="css-a4x74f"><span>30621</span></td><td id="LC30621" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30622" class="css-a4x74f"><span>30622</span></td><td id="LC30622" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim$<span class="code-number">3</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30623" class="css-a4x74f"><span>30623</span></td><td id="LC30623" class="css-1dcdqdg"><code> value = <span class="code-built_in">Number</span>(value); </code></td></tr><tr><td id="L30624" class="css-a4x74f"><span>30624</span></td><td id="LC30624" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">isNaN</span>(value) || (value === <span class="code-number">0</span>)) <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L30625" class="css-a4x74f"><span>30625</span></td><td id="LC30625" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value > <span class="code-number">0</span> ? <span class="code-number">1</span> : <span class="code-number">-1</span>; </code></td></tr><tr><td id="L30626" class="css-a4x74f"><span>30626</span></td><td id="LC30626" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30627" class="css-a4x74f"><span>30627</span></td><td id="LC30627" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30628" class="css-a4x74f"><span>30628</span></td><td id="LC30628" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> sign = isImplemented$<span class="code-number">5</span>() </code></td></tr><tr><td id="L30629" class="css-a4x74f"><span>30629</span></td><td id="LC30629" class="css-1dcdqdg"><code> ? <span class="code-built_in">Math</span>.sign </code></td></tr><tr><td id="L30630" class="css-a4x74f"><span>30630</span></td><td id="LC30630" class="css-1dcdqdg"><code> : shim$<span class="code-number">3</span>; </code></td></tr><tr><td id="L30631" class="css-a4x74f"><span>30631</span></td><td id="LC30631" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30632" class="css-a4x74f"><span>30632</span></td><td id="LC30632" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> abs = <span class="code-built_in">Math</span>.abs, floor = <span class="code-built_in">Math</span>.floor; </code></td></tr><tr><td id="L30633" class="css-a4x74f"><span>30633</span></td><td id="LC30633" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30634" class="css-a4x74f"><span>30634</span></td><td id="LC30634" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> toInteger = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30635" class="css-a4x74f"><span>30635</span></td><td id="LC30635" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">isNaN</span>(value)) <span class="code-keyword">return</span> <span class="code-number">0</span>; </code></td></tr><tr><td id="L30636" class="css-a4x74f"><span>30636</span></td><td id="LC30636" class="css-1dcdqdg"><code> value = <span class="code-built_in">Number</span>(value); </code></td></tr><tr><td id="L30637" class="css-a4x74f"><span>30637</span></td><td id="LC30637" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((value === <span class="code-number">0</span>) || !<span class="code-built_in">isFinite</span>(value)) <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L30638" class="css-a4x74f"><span>30638</span></td><td id="LC30638" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> sign(value) * floor(abs(value)); </code></td></tr><tr><td id="L30639" class="css-a4x74f"><span>30639</span></td><td id="LC30639" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30640" class="css-a4x74f"><span>30640</span></td><td id="LC30640" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30641" class="css-a4x74f"><span>30641</span></td><td id="LC30641" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> max$<span class="code-number">1</span> = <span class="code-built_in">Math</span>.max; </code></td></tr><tr><td id="L30642" class="css-a4x74f"><span>30642</span></td><td id="LC30642" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30643" class="css-a4x74f"><span>30643</span></td><td id="LC30643" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> toPosInteger = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30644" class="css-a4x74f"><span>30644</span></td><td id="LC30644" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> max$<span class="code-number">1</span>(<span class="code-number">0</span>, toInteger(value)); </code></td></tr><tr><td id="L30645" class="css-a4x74f"><span>30645</span></td><td id="LC30645" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30646" class="css-a4x74f"><span>30646</span></td><td id="LC30646" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30647" class="css-a4x74f"><span>30647</span></td><td id="LC30647" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> objToString$<span class="code-number">2</span> = <span class="code-built_in">Object</span>.prototype.toString, id$<span class="code-number">2</span> = objToString$<span class="code-number">2.</span>call(<span class="code-string">""</span>); </code></td></tr><tr><td id="L30648" class="css-a4x74f"><span>30648</span></td><td id="LC30648" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30649" class="css-a4x74f"><span>30649</span></td><td id="LC30649" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isString = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30650" class="css-a4x74f"><span>30650</span></td><td id="LC30650" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> ( </code></td></tr><tr><td id="L30651" class="css-a4x74f"><span>30651</span></td><td id="LC30651" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> value === <span class="code-string">"string"</span> || </code></td></tr><tr><td id="L30652" class="css-a4x74f"><span>30652</span></td><td id="LC30652" class="css-1dcdqdg"><code> (value && </code></td></tr><tr><td id="L30653" class="css-a4x74f"><span>30653</span></td><td id="LC30653" class="css-1dcdqdg"><code> <span class="code-keyword">typeof</span> value === <span class="code-string">"object"</span> && </code></td></tr><tr><td id="L30654" class="css-a4x74f"><span>30654</span></td><td id="LC30654" class="css-1dcdqdg"><code> (value <span class="code-keyword">instanceof</span> <span class="code-built_in">String</span> || objToString$<span class="code-number">2.</span>call(value) === id$<span class="code-number">2</span>)) || </code></td></tr><tr><td id="L30655" class="css-a4x74f"><span>30655</span></td><td id="LC30655" class="css-1dcdqdg"><code> <span class="code-literal">false</span> </code></td></tr><tr><td id="L30656" class="css-a4x74f"><span>30656</span></td><td id="LC30656" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L30657" class="css-a4x74f"><span>30657</span></td><td id="LC30657" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30658" class="css-a4x74f"><span>30658</span></td><td id="LC30658" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30659" class="css-a4x74f"><span>30659</span></td><td id="LC30659" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> iteratorSymbol = es6Symbol.iterator </code></td></tr><tr><td id="L30660" class="css-a4x74f"><span>30660</span></td><td id="LC30660" class="css-1dcdqdg"><code> , isArray = <span class="code-built_in">Array</span>.isArray </code></td></tr><tr><td id="L30661" class="css-a4x74f"><span>30661</span></td><td id="LC30661" class="css-1dcdqdg"><code> , call = <span class="code-built_in">Function</span>.prototype.call </code></td></tr><tr><td id="L30662" class="css-a4x74f"><span>30662</span></td><td id="LC30662" class="css-1dcdqdg"><code> , desc = { <span class="code-attr">configurable</span>: <span class="code-literal">true</span>, <span class="code-attr">enumerable</span>: <span class="code-literal">true</span>, <span class="code-attr">writable</span>: <span class="code-literal">true</span>, <span class="code-attr">value</span>: <span class="code-literal">null</span> } </code></td></tr><tr><td id="L30663" class="css-a4x74f"><span>30663</span></td><td id="LC30663" class="css-1dcdqdg"><code> , defineProperty$<span class="code-number">1</span> = <span class="code-built_in">Object</span>.defineProperty; </code></td></tr><tr><td id="L30664" class="css-a4x74f"><span>30664</span></td><td id="LC30664" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30665" class="css-a4x74f"><span>30665</span></td><td id="LC30665" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line complexity</span> </code></td></tr><tr><td id="L30666" class="css-a4x74f"><span>30666</span></td><td id="LC30666" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim$<span class="code-number">4</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">arrayLike <span class="code-regexp">/*, mapFn, thisArg*/</span></span>) </span>{ </code></td></tr><tr><td id="L30667" class="css-a4x74f"><span>30667</span></td><td id="LC30667" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> mapFn = <span class="code-built_in">arguments</span>[<span class="code-number">1</span>] </code></td></tr><tr><td id="L30668" class="css-a4x74f"><span>30668</span></td><td id="LC30668" class="css-1dcdqdg"><code> , thisArg = <span class="code-built_in">arguments</span>[<span class="code-number">2</span>] </code></td></tr><tr><td id="L30669" class="css-a4x74f"><span>30669</span></td><td id="LC30669" class="css-1dcdqdg"><code> , Context </code></td></tr><tr><td id="L30670" class="css-a4x74f"><span>30670</span></td><td id="LC30670" class="css-1dcdqdg"><code> , i </code></td></tr><tr><td id="L30671" class="css-a4x74f"><span>30671</span></td><td id="LC30671" class="css-1dcdqdg"><code> , j </code></td></tr><tr><td id="L30672" class="css-a4x74f"><span>30672</span></td><td id="LC30672" class="css-1dcdqdg"><code> , arr </code></td></tr><tr><td id="L30673" class="css-a4x74f"><span>30673</span></td><td id="LC30673" class="css-1dcdqdg"><code> , length </code></td></tr><tr><td id="L30674" class="css-a4x74f"><span>30674</span></td><td id="LC30674" class="css-1dcdqdg"><code> , code </code></td></tr><tr><td id="L30675" class="css-a4x74f"><span>30675</span></td><td id="LC30675" class="css-1dcdqdg"><code> , iterator </code></td></tr><tr><td id="L30676" class="css-a4x74f"><span>30676</span></td><td id="LC30676" class="css-1dcdqdg"><code> , result </code></td></tr><tr><td id="L30677" class="css-a4x74f"><span>30677</span></td><td id="LC30677" class="css-1dcdqdg"><code> , getIterator </code></td></tr><tr><td id="L30678" class="css-a4x74f"><span>30678</span></td><td id="LC30678" class="css-1dcdqdg"><code> , value; </code></td></tr><tr><td id="L30679" class="css-a4x74f"><span>30679</span></td><td id="LC30679" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30680" class="css-a4x74f"><span>30680</span></td><td id="LC30680" class="css-1dcdqdg"><code> arrayLike = <span class="code-built_in">Object</span>(validValue(arrayLike)); </code></td></tr><tr><td id="L30681" class="css-a4x74f"><span>30681</span></td><td id="LC30681" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30682" class="css-a4x74f"><span>30682</span></td><td id="LC30682" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isValue(mapFn)) validCallable(mapFn); </code></td></tr><tr><td id="L30683" class="css-a4x74f"><span>30683</span></td><td id="LC30683" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!<span class="code-keyword">this</span> || <span class="code-keyword">this</span> === <span class="code-built_in">Array</span> || !isFunction(<span class="code-keyword">this</span>)) { </code></td></tr><tr><td id="L30684" class="css-a4x74f"><span>30684</span></td><td id="LC30684" class="css-1dcdqdg"><code> <span class="code-comment">// Result: Plain array</span> </code></td></tr><tr><td id="L30685" class="css-a4x74f"><span>30685</span></td><td id="LC30685" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!mapFn) { </code></td></tr><tr><td id="L30686" class="css-a4x74f"><span>30686</span></td><td id="LC30686" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isArguments(arrayLike)) { </code></td></tr><tr><td id="L30687" class="css-a4x74f"><span>30687</span></td><td id="LC30687" class="css-1dcdqdg"><code> <span class="code-comment">// Source: Arguments</span> </code></td></tr><tr><td id="L30688" class="css-a4x74f"><span>30688</span></td><td id="LC30688" class="css-1dcdqdg"><code> length = arrayLike.length; </code></td></tr><tr><td id="L30689" class="css-a4x74f"><span>30689</span></td><td id="LC30689" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length !== <span class="code-number">1</span>) <span class="code-keyword">return</span> <span class="code-built_in">Array</span>.apply(<span class="code-literal">null</span>, arrayLike); </code></td></tr><tr><td id="L30690" class="css-a4x74f"><span>30690</span></td><td id="LC30690" class="css-1dcdqdg"><code> arr = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(<span class="code-number">1</span>); </code></td></tr><tr><td id="L30691" class="css-a4x74f"><span>30691</span></td><td id="LC30691" class="css-1dcdqdg"><code> arr[<span class="code-number">0</span>] = arrayLike[<span class="code-number">0</span>]; </code></td></tr><tr><td id="L30692" class="css-a4x74f"><span>30692</span></td><td id="LC30692" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> arr; </code></td></tr><tr><td id="L30693" class="css-a4x74f"><span>30693</span></td><td id="LC30693" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30694" class="css-a4x74f"><span>30694</span></td><td id="LC30694" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isArray(arrayLike)) { </code></td></tr><tr><td id="L30695" class="css-a4x74f"><span>30695</span></td><td id="LC30695" class="css-1dcdqdg"><code> <span class="code-comment">// Source: Array</span> </code></td></tr><tr><td id="L30696" class="css-a4x74f"><span>30696</span></td><td id="LC30696" class="css-1dcdqdg"><code> arr = <span class="code-keyword">new</span> <span class="code-built_in">Array</span>(length = arrayLike.length); </code></td></tr><tr><td id="L30697" class="css-a4x74f"><span>30697</span></td><td id="LC30697" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>; i < length; ++i) arr[i] = arrayLike[i]; </code></td></tr><tr><td id="L30698" class="css-a4x74f"><span>30698</span></td><td id="LC30698" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> arr; </code></td></tr><tr><td id="L30699" class="css-a4x74f"><span>30699</span></td><td id="LC30699" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30700" class="css-a4x74f"><span>30700</span></td><td id="LC30700" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30701" class="css-a4x74f"><span>30701</span></td><td id="LC30701" class="css-1dcdqdg"><code> arr = []; </code></td></tr><tr><td id="L30702" class="css-a4x74f"><span>30702</span></td><td id="LC30702" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30703" class="css-a4x74f"><span>30703</span></td><td id="LC30703" class="css-1dcdqdg"><code> <span class="code-comment">// Result: Non plain array</span> </code></td></tr><tr><td id="L30704" class="css-a4x74f"><span>30704</span></td><td id="LC30704" class="css-1dcdqdg"><code> Context = <span class="code-keyword">this</span>; </code></td></tr><tr><td id="L30705" class="css-a4x74f"><span>30705</span></td><td id="LC30705" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30706" class="css-a4x74f"><span>30706</span></td><td id="LC30706" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30707" class="css-a4x74f"><span>30707</span></td><td id="LC30707" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isArray(arrayLike)) { </code></td></tr><tr><td id="L30708" class="css-a4x74f"><span>30708</span></td><td id="LC30708" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> ((getIterator = arrayLike[iteratorSymbol]) !== <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L30709" class="css-a4x74f"><span>30709</span></td><td id="LC30709" class="css-1dcdqdg"><code> <span class="code-comment">// Source: Iterator</span> </code></td></tr><tr><td id="L30710" class="css-a4x74f"><span>30710</span></td><td id="LC30710" class="css-1dcdqdg"><code> iterator = validCallable(getIterator).call(arrayLike); </code></td></tr><tr><td id="L30711" class="css-a4x74f"><span>30711</span></td><td id="LC30711" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) arr = <span class="code-keyword">new</span> Context(); </code></td></tr><tr><td id="L30712" class="css-a4x74f"><span>30712</span></td><td id="LC30712" class="css-1dcdqdg"><code> result = iterator.next(); </code></td></tr><tr><td id="L30713" class="css-a4x74f"><span>30713</span></td><td id="LC30713" class="css-1dcdqdg"><code> i = <span class="code-number">0</span>; </code></td></tr><tr><td id="L30714" class="css-a4x74f"><span>30714</span></td><td id="LC30714" class="css-1dcdqdg"><code> <span class="code-keyword">while</span> (!result.done) { </code></td></tr><tr><td id="L30715" class="css-a4x74f"><span>30715</span></td><td id="LC30715" class="css-1dcdqdg"><code> value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value; </code></td></tr><tr><td id="L30716" class="css-a4x74f"><span>30716</span></td><td id="LC30716" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) { </code></td></tr><tr><td id="L30717" class="css-a4x74f"><span>30717</span></td><td id="LC30717" class="css-1dcdqdg"><code> desc.value = value; </code></td></tr><tr><td id="L30718" class="css-a4x74f"><span>30718</span></td><td id="LC30718" class="css-1dcdqdg"><code> defineProperty$<span class="code-number">1</span>(arr, i, desc); </code></td></tr><tr><td id="L30719" class="css-a4x74f"><span>30719</span></td><td id="LC30719" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30720" class="css-a4x74f"><span>30720</span></td><td id="LC30720" class="css-1dcdqdg"><code> arr[i] = value; </code></td></tr><tr><td id="L30721" class="css-a4x74f"><span>30721</span></td><td id="LC30721" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30722" class="css-a4x74f"><span>30722</span></td><td id="LC30722" class="css-1dcdqdg"><code> result = iterator.next(); </code></td></tr><tr><td id="L30723" class="css-a4x74f"><span>30723</span></td><td id="LC30723" class="css-1dcdqdg"><code> ++i; </code></td></tr><tr><td id="L30724" class="css-a4x74f"><span>30724</span></td><td id="LC30724" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30725" class="css-a4x74f"><span>30725</span></td><td id="LC30725" class="css-1dcdqdg"><code> length = i; </code></td></tr><tr><td id="L30726" class="css-a4x74f"><span>30726</span></td><td id="LC30726" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (isString(arrayLike)) { </code></td></tr><tr><td id="L30727" class="css-a4x74f"><span>30727</span></td><td id="LC30727" class="css-1dcdqdg"><code> <span class="code-comment">// Source: String</span> </code></td></tr><tr><td id="L30728" class="css-a4x74f"><span>30728</span></td><td id="LC30728" class="css-1dcdqdg"><code> length = arrayLike.length; </code></td></tr><tr><td id="L30729" class="css-a4x74f"><span>30729</span></td><td id="LC30729" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) arr = <span class="code-keyword">new</span> Context(); </code></td></tr><tr><td id="L30730" class="css-a4x74f"><span>30730</span></td><td id="LC30730" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>, j = <span class="code-number">0</span>; i < length; ++i) { </code></td></tr><tr><td id="L30731" class="css-a4x74f"><span>30731</span></td><td id="LC30731" class="css-1dcdqdg"><code> value = arrayLike[i]; </code></td></tr><tr><td id="L30732" class="css-a4x74f"><span>30732</span></td><td id="LC30732" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (i + <span class="code-number">1</span> < length) { </code></td></tr><tr><td id="L30733" class="css-a4x74f"><span>30733</span></td><td id="LC30733" class="css-1dcdqdg"><code> code = value.charCodeAt(<span class="code-number">0</span>); </code></td></tr><tr><td id="L30734" class="css-a4x74f"><span>30734</span></td><td id="LC30734" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line max-depth</span> </code></td></tr><tr><td id="L30735" class="css-a4x74f"><span>30735</span></td><td id="LC30735" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (code >= <span class="code-number">0xd800</span> && code <= <span class="code-number">0xdbff</span>) value += arrayLike[++i]; </code></td></tr><tr><td id="L30736" class="css-a4x74f"><span>30736</span></td><td id="LC30736" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30737" class="css-a4x74f"><span>30737</span></td><td id="LC30737" class="css-1dcdqdg"><code> value = mapFn ? call.call(mapFn, thisArg, value, j) : value; </code></td></tr><tr><td id="L30738" class="css-a4x74f"><span>30738</span></td><td id="LC30738" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) { </code></td></tr><tr><td id="L30739" class="css-a4x74f"><span>30739</span></td><td id="LC30739" class="css-1dcdqdg"><code> desc.value = value; </code></td></tr><tr><td id="L30740" class="css-a4x74f"><span>30740</span></td><td id="LC30740" class="css-1dcdqdg"><code> defineProperty$<span class="code-number">1</span>(arr, j, desc); </code></td></tr><tr><td id="L30741" class="css-a4x74f"><span>30741</span></td><td id="LC30741" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30742" class="css-a4x74f"><span>30742</span></td><td id="LC30742" class="css-1dcdqdg"><code> arr[j] = value; </code></td></tr><tr><td id="L30743" class="css-a4x74f"><span>30743</span></td><td id="LC30743" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30744" class="css-a4x74f"><span>30744</span></td><td id="LC30744" class="css-1dcdqdg"><code> ++j; </code></td></tr><tr><td id="L30745" class="css-a4x74f"><span>30745</span></td><td id="LC30745" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30746" class="css-a4x74f"><span>30746</span></td><td id="LC30746" class="css-1dcdqdg"><code> length = j; </code></td></tr><tr><td id="L30747" class="css-a4x74f"><span>30747</span></td><td id="LC30747" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30748" class="css-a4x74f"><span>30748</span></td><td id="LC30748" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30749" class="css-a4x74f"><span>30749</span></td><td id="LC30749" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (length === <span class="code-literal">undefined</span>) { </code></td></tr><tr><td id="L30750" class="css-a4x74f"><span>30750</span></td><td id="LC30750" class="css-1dcdqdg"><code> <span class="code-comment">// Source: array or array-like</span> </code></td></tr><tr><td id="L30751" class="css-a4x74f"><span>30751</span></td><td id="LC30751" class="css-1dcdqdg"><code> length = toPosInteger(arrayLike.length); </code></td></tr><tr><td id="L30752" class="css-a4x74f"><span>30752</span></td><td id="LC30752" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) arr = <span class="code-keyword">new</span> Context(length); </code></td></tr><tr><td id="L30753" class="css-a4x74f"><span>30753</span></td><td id="LC30753" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>; i < length; ++i) { </code></td></tr><tr><td id="L30754" class="css-a4x74f"><span>30754</span></td><td id="LC30754" class="css-1dcdqdg"><code> value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i]; </code></td></tr><tr><td id="L30755" class="css-a4x74f"><span>30755</span></td><td id="LC30755" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) { </code></td></tr><tr><td id="L30756" class="css-a4x74f"><span>30756</span></td><td id="LC30756" class="css-1dcdqdg"><code> desc.value = value; </code></td></tr><tr><td id="L30757" class="css-a4x74f"><span>30757</span></td><td id="LC30757" class="css-1dcdqdg"><code> defineProperty$<span class="code-number">1</span>(arr, i, desc); </code></td></tr><tr><td id="L30758" class="css-a4x74f"><span>30758</span></td><td id="LC30758" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30759" class="css-a4x74f"><span>30759</span></td><td id="LC30759" class="css-1dcdqdg"><code> arr[i] = value; </code></td></tr><tr><td id="L30760" class="css-a4x74f"><span>30760</span></td><td id="LC30760" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30761" class="css-a4x74f"><span>30761</span></td><td id="LC30761" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30762" class="css-a4x74f"><span>30762</span></td><td id="LC30762" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30763" class="css-a4x74f"><span>30763</span></td><td id="LC30763" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (Context) { </code></td></tr><tr><td id="L30764" class="css-a4x74f"><span>30764</span></td><td id="LC30764" class="css-1dcdqdg"><code> desc.value = <span class="code-literal">null</span>; </code></td></tr><tr><td id="L30765" class="css-a4x74f"><span>30765</span></td><td id="LC30765" class="css-1dcdqdg"><code> arr.length = length; </code></td></tr><tr><td id="L30766" class="css-a4x74f"><span>30766</span></td><td id="LC30766" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30767" class="css-a4x74f"><span>30767</span></td><td id="LC30767" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> arr; </code></td></tr><tr><td id="L30768" class="css-a4x74f"><span>30768</span></td><td id="LC30768" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30769" class="css-a4x74f"><span>30769</span></td><td id="LC30769" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30770" class="css-a4x74f"><span>30770</span></td><td id="LC30770" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> from_1 = isImplemented$<span class="code-number">3</span>() </code></td></tr><tr><td id="L30771" class="css-a4x74f"><span>30771</span></td><td id="LC30771" class="css-1dcdqdg"><code> ? <span class="code-built_in">Array</span>.from </code></td></tr><tr><td id="L30772" class="css-a4x74f"><span>30772</span></td><td id="LC30772" class="css-1dcdqdg"><code> : shim$<span class="code-number">4</span>; </code></td></tr><tr><td id="L30773" class="css-a4x74f"><span>30773</span></td><td id="LC30773" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30774" class="css-a4x74f"><span>30774</span></td><td id="LC30774" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isImplemented$<span class="code-number">6</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30775" class="css-a4x74f"><span>30775</span></td><td id="LC30775" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> numberIsNaN = <span class="code-built_in">Number</span>.isNaN; </code></td></tr><tr><td id="L30776" class="css-a4x74f"><span>30776</span></td><td id="LC30776" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-keyword">typeof</span> numberIsNaN !== <span class="code-string">"function"</span>) <span class="code-keyword">return</span> <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30777" class="css-a4x74f"><span>30777</span></td><td id="LC30777" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> !numberIsNaN({}) && numberIsNaN(<span class="code-literal">NaN</span>) && !numberIsNaN(<span class="code-number">34</span>); </code></td></tr><tr><td id="L30778" class="css-a4x74f"><span>30778</span></td><td id="LC30778" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30779" class="css-a4x74f"><span>30779</span></td><td id="LC30779" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30780" class="css-a4x74f"><span>30780</span></td><td id="LC30780" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> shim$<span class="code-number">5</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30781" class="css-a4x74f"><span>30781</span></td><td id="LC30781" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line no-self-compare</span> </code></td></tr><tr><td id="L30782" class="css-a4x74f"><span>30782</span></td><td id="LC30782" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value !== value; </code></td></tr><tr><td id="L30783" class="css-a4x74f"><span>30783</span></td><td id="LC30783" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30784" class="css-a4x74f"><span>30784</span></td><td id="LC30784" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30785" class="css-a4x74f"><span>30785</span></td><td id="LC30785" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isNan = isImplemented$<span class="code-number">6</span>() </code></td></tr><tr><td id="L30786" class="css-a4x74f"><span>30786</span></td><td id="LC30786" class="css-1dcdqdg"><code> ? <span class="code-built_in">Number</span>.isNaN </code></td></tr><tr><td id="L30787" class="css-a4x74f"><span>30787</span></td><td id="LC30787" class="css-1dcdqdg"><code> : shim$<span class="code-number">5</span>; </code></td></tr><tr><td id="L30788" class="css-a4x74f"><span>30788</span></td><td id="LC30788" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30789" class="css-a4x74f"><span>30789</span></td><td id="LC30789" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> indexOf$<span class="code-number">2</span> = <span class="code-built_in">Array</span>.prototype.indexOf </code></td></tr><tr><td id="L30790" class="css-a4x74f"><span>30790</span></td><td id="LC30790" class="css-1dcdqdg"><code> , objHasOwnProperty = <span class="code-built_in">Object</span>.prototype.hasOwnProperty </code></td></tr><tr><td id="L30791" class="css-a4x74f"><span>30791</span></td><td id="LC30791" class="css-1dcdqdg"><code> , abs$<span class="code-number">1</span> = <span class="code-built_in">Math</span>.abs </code></td></tr><tr><td id="L30792" class="css-a4x74f"><span>30792</span></td><td id="LC30792" class="css-1dcdqdg"><code> , floor$<span class="code-number">1</span> = <span class="code-built_in">Math</span>.floor; </code></td></tr><tr><td id="L30793" class="css-a4x74f"><span>30793</span></td><td id="LC30793" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30794" class="css-a4x74f"><span>30794</span></td><td id="LC30794" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> eIndexOf = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">searchElement <span class="code-regexp">/*, fromIndex*/</span></span>) </span>{ </code></td></tr><tr><td id="L30795" class="css-a4x74f"><span>30795</span></td><td id="LC30795" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> i, length, fromIndex, val; </code></td></tr><tr><td id="L30796" class="css-a4x74f"><span>30796</span></td><td id="LC30796" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isNan(searchElement)) <span class="code-keyword">return</span> indexOf$<span class="code-number">2.</span>apply(<span class="code-keyword">this</span>, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L30797" class="css-a4x74f"><span>30797</span></td><td id="LC30797" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30798" class="css-a4x74f"><span>30798</span></td><td id="LC30798" class="css-1dcdqdg"><code> length = toPosInteger(validValue(<span class="code-keyword">this</span>).length); </code></td></tr><tr><td id="L30799" class="css-a4x74f"><span>30799</span></td><td id="LC30799" class="css-1dcdqdg"><code> fromIndex = <span class="code-built_in">arguments</span>[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L30800" class="css-a4x74f"><span>30800</span></td><td id="LC30800" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">isNaN</span>(fromIndex)) fromIndex = <span class="code-number">0</span>; </code></td></tr><tr><td id="L30801" class="css-a4x74f"><span>30801</span></td><td id="LC30801" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> <span class="code-keyword">if</span> (fromIndex >= <span class="code-number">0</span>) fromIndex = floor$<span class="code-number">1</span>(fromIndex); </code></td></tr><tr><td id="L30802" class="css-a4x74f"><span>30802</span></td><td id="LC30802" class="css-1dcdqdg"><code> <span class="code-keyword">else</span> fromIndex = toPosInteger(<span class="code-keyword">this</span>.length) - floor$<span class="code-number">1</span>(abs$<span class="code-number">1</span>(fromIndex)); </code></td></tr><tr><td id="L30803" class="css-a4x74f"><span>30803</span></td><td id="LC30803" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30804" class="css-a4x74f"><span>30804</span></td><td id="LC30804" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = fromIndex; i < length; ++i) { </code></td></tr><tr><td id="L30805" class="css-a4x74f"><span>30805</span></td><td id="LC30805" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (objHasOwnProperty.call(<span class="code-keyword">this</span>, i)) { </code></td></tr><tr><td id="L30806" class="css-a4x74f"><span>30806</span></td><td id="LC30806" class="css-1dcdqdg"><code> val = <span class="code-keyword">this</span>[i]; </code></td></tr><tr><td id="L30807" class="css-a4x74f"><span>30807</span></td><td id="LC30807" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (isNan(val)) <span class="code-keyword">return</span> i; <span class="code-comment">// Jslint: ignore</span> </code></td></tr><tr><td id="L30808" class="css-a4x74f"><span>30808</span></td><td id="LC30808" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30809" class="css-a4x74f"><span>30809</span></td><td id="LC30809" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30810" class="css-a4x74f"><span>30810</span></td><td id="LC30810" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> <span class="code-number">-1</span>; </code></td></tr><tr><td id="L30811" class="css-a4x74f"><span>30811</span></td><td id="LC30811" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30812" class="css-a4x74f"><span>30812</span></td><td id="LC30812" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30813" class="css-a4x74f"><span>30813</span></td><td id="LC30813" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> forEach$<span class="code-number">1</span> = <span class="code-built_in">Array</span>.prototype.forEach </code></td></tr><tr><td id="L30814" class="css-a4x74f"><span>30814</span></td><td id="LC30814" class="css-1dcdqdg"><code> , splice = <span class="code-built_in">Array</span>.prototype.splice; </code></td></tr><tr><td id="L30815" class="css-a4x74f"><span>30815</span></td><td id="LC30815" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30816" class="css-a4x74f"><span>30816</span></td><td id="LC30816" class="css-1dcdqdg"><code> <span class="code-comment">// eslint-disable-next-line no-unused-vars</span> </code></td></tr><tr><td id="L30817" class="css-a4x74f"><span>30817</span></td><td id="LC30817" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> remove = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">itemToRemove <span class="code-regexp">/*, …item*/</span></span>) </span>{ </code></td></tr><tr><td id="L30818" class="css-a4x74f"><span>30818</span></td><td id="LC30818" class="css-1dcdqdg"><code> forEach$<span class="code-number">1.</span>call( </code></td></tr><tr><td id="L30819" class="css-a4x74f"><span>30819</span></td><td id="LC30819" class="css-1dcdqdg"><code> <span class="code-built_in">arguments</span>, </code></td></tr><tr><td id="L30820" class="css-a4x74f"><span>30820</span></td><td id="LC30820" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">item</span>) </span>{ </code></td></tr><tr><td id="L30821" class="css-a4x74f"><span>30821</span></td><td id="LC30821" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> index = eIndexOf.call(<span class="code-keyword">this</span>, item); </code></td></tr><tr><td id="L30822" class="css-a4x74f"><span>30822</span></td><td id="LC30822" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (index !== <span class="code-number">-1</span>) splice.call(<span class="code-keyword">this</span>, index, <span class="code-number">1</span>); </code></td></tr><tr><td id="L30823" class="css-a4x74f"><span>30823</span></td><td id="LC30823" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L30824" class="css-a4x74f"><span>30824</span></td><td id="LC30824" class="css-1dcdqdg"><code> <span class="code-keyword">this</span> </code></td></tr><tr><td id="L30825" class="css-a4x74f"><span>30825</span></td><td id="LC30825" class="css-1dcdqdg"><code> ); </code></td></tr><tr><td id="L30826" class="css-a4x74f"><span>30826</span></td><td id="LC30826" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30827" class="css-a4x74f"><span>30827</span></td><td id="LC30827" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30828" class="css-a4x74f"><span>30828</span></td><td id="LC30828" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> map = { <span class="code-attr">function</span>: <span class="code-literal">true</span>, <span class="code-attr">object</span>: <span class="code-literal">true</span> }; </code></td></tr><tr><td id="L30829" class="css-a4x74f"><span>30829</span></td><td id="LC30829" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30830" class="css-a4x74f"><span>30830</span></td><td id="LC30830" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> isObject$<span class="code-number">1</span> = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30831" class="css-a4x74f"><span>30831</span></td><td id="LC30831" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> (isValue(value) && map[<span class="code-keyword">typeof</span> value]) || <span class="code-literal">false</span>; </code></td></tr><tr><td id="L30832" class="css-a4x74f"><span>30832</span></td><td id="LC30832" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30833" class="css-a4x74f"><span>30833</span></td><td id="LC30833" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30834" class="css-a4x74f"><span>30834</span></td><td id="LC30834" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> validObject = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">value</span>) </span>{ </code></td></tr><tr><td id="L30835" class="css-a4x74f"><span>30835</span></td><td id="LC30835" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!isObject$<span class="code-number">1</span>(value)) <span class="code-keyword">throw</span> <span class="code-keyword">new</span> <span class="code-built_in">TypeError</span>(value + <span class="code-string">" is not an Object"</span>); </code></td></tr><tr><td id="L30836" class="css-a4x74f"><span>30836</span></td><td id="LC30836" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> value; </code></td></tr><tr><td id="L30837" class="css-a4x74f"><span>30837</span></td><td id="LC30837" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30838" class="css-a4x74f"><span>30838</span></td><td id="LC30838" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30839" class="css-a4x74f"><span>30839</span></td><td id="LC30839" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> emit = eventEmitter.methods.emit </code></td></tr><tr><td id="L30840" class="css-a4x74f"><span>30840</span></td><td id="LC30840" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30841" class="css-a4x74f"><span>30841</span></td><td id="LC30841" class="css-1dcdqdg"><code> , defineProperty$<span class="code-number">2</span> = <span class="code-built_in">Object</span>.defineProperty </code></td></tr><tr><td id="L30842" class="css-a4x74f"><span>30842</span></td><td id="LC30842" class="css-1dcdqdg"><code> , hasOwnProperty$<span class="code-number">6</span> = <span class="code-built_in">Object</span>.prototype.hasOwnProperty </code></td></tr><tr><td id="L30843" class="css-a4x74f"><span>30843</span></td><td id="LC30843" class="css-1dcdqdg"><code> , getOwnPropertyDescriptor = <span class="code-built_in">Object</span>.getOwnPropertyDescriptor; </code></td></tr><tr><td id="L30844" class="css-a4x74f"><span>30844</span></td><td id="LC30844" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30845" class="css-a4x74f"><span>30845</span></td><td id="LC30845" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pipe = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">e1, e2<span class="code-regexp">/*, name*/</span></span>) </span>{ </code></td></tr><tr><td id="L30846" class="css-a4x74f"><span>30846</span></td><td id="LC30846" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> pipes, pipe, desc, name; </code></td></tr><tr><td id="L30847" class="css-a4x74f"><span>30847</span></td><td id="LC30847" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30848" class="css-a4x74f"><span>30848</span></td><td id="LC30848" class="css-1dcdqdg"><code> (validObject(e1) && validObject(e2)); </code></td></tr><tr><td id="L30849" class="css-a4x74f"><span>30849</span></td><td id="LC30849" class="css-1dcdqdg"><code> name = <span class="code-built_in">arguments</span>[<span class="code-number">2</span>]; </code></td></tr><tr><td id="L30850" class="css-a4x74f"><span>30850</span></td><td id="LC30850" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (name === <span class="code-literal">undefined</span>) name = <span class="code-string">'emit'</span>; </code></td></tr><tr><td id="L30851" class="css-a4x74f"><span>30851</span></td><td id="LC30851" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30852" class="css-a4x74f"><span>30852</span></td><td id="LC30852" class="css-1dcdqdg"><code> pipe = { </code></td></tr><tr><td id="L30853" class="css-a4x74f"><span>30853</span></td><td id="LC30853" class="css-1dcdqdg"><code> close: <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ remove.call(pipes, e2); } </code></td></tr><tr><td id="L30854" class="css-a4x74f"><span>30854</span></td><td id="LC30854" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30855" class="css-a4x74f"><span>30855</span></td><td id="LC30855" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (hasOwnProperty$<span class="code-number">6.</span>call(e1, <span class="code-string">'__eePipes__'</span>)) { </code></td></tr><tr><td id="L30856" class="css-a4x74f"><span>30856</span></td><td id="LC30856" class="css-1dcdqdg"><code> (pipes = e1.__eePipes__).push(e2); </code></td></tr><tr><td id="L30857" class="css-a4x74f"><span>30857</span></td><td id="LC30857" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pipe; </code></td></tr><tr><td id="L30858" class="css-a4x74f"><span>30858</span></td><td id="LC30858" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30859" class="css-a4x74f"><span>30859</span></td><td id="LC30859" class="css-1dcdqdg"><code> defineProperty$<span class="code-number">2</span>(e1, <span class="code-string">'__eePipes__'</span>, d_1(<span class="code-string">'c'</span>, pipes = [e2])); </code></td></tr><tr><td id="L30860" class="css-a4x74f"><span>30860</span></td><td id="LC30860" class="css-1dcdqdg"><code> desc = getOwnPropertyDescriptor(e1, name); </code></td></tr><tr><td id="L30861" class="css-a4x74f"><span>30861</span></td><td id="LC30861" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!desc) { </code></td></tr><tr><td id="L30862" class="css-a4x74f"><span>30862</span></td><td id="LC30862" class="css-1dcdqdg"><code> desc = d_1(<span class="code-string">'c'</span>, <span class="code-literal">undefined</span>); </code></td></tr><tr><td id="L30863" class="css-a4x74f"><span>30863</span></td><td id="LC30863" class="css-1dcdqdg"><code> } <span class="code-keyword">else</span> { </code></td></tr><tr><td id="L30864" class="css-a4x74f"><span>30864</span></td><td id="LC30864" class="css-1dcdqdg"><code> <span class="code-keyword">delete</span> desc.get; </code></td></tr><tr><td id="L30865" class="css-a4x74f"><span>30865</span></td><td id="LC30865" class="css-1dcdqdg"><code> <span class="code-keyword">delete</span> desc.set; </code></td></tr><tr><td id="L30866" class="css-a4x74f"><span>30866</span></td><td id="LC30866" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30867" class="css-a4x74f"><span>30867</span></td><td id="LC30867" class="css-1dcdqdg"><code> desc.value = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30868" class="css-a4x74f"><span>30868</span></td><td id="LC30868" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> i, emitter, data = from_1(pipes); </code></td></tr><tr><td id="L30869" class="css-a4x74f"><span>30869</span></td><td id="LC30869" class="css-1dcdqdg"><code> emit.apply(<span class="code-keyword">this</span>, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L30870" class="css-a4x74f"><span>30870</span></td><td id="LC30870" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (i = <span class="code-number">0</span>; (emitter = data[i]); ++i) emit.apply(emitter, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L30871" class="css-a4x74f"><span>30871</span></td><td id="LC30871" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30872" class="css-a4x74f"><span>30872</span></td><td id="LC30872" class="css-1dcdqdg"><code> defineProperty$<span class="code-number">2</span>(e1, name, desc); </code></td></tr><tr><td id="L30873" class="css-a4x74f"><span>30873</span></td><td id="LC30873" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> pipe; </code></td></tr><tr><td id="L30874" class="css-a4x74f"><span>30874</span></td><td id="LC30874" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30875" class="css-a4x74f"><span>30875</span></td><td id="LC30875" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30876" class="css-a4x74f"><span>30876</span></td><td id="LC30876" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> registeredHandlers = [...pagedMediaHandlers, ...generatedContentHandlers, ...filters]; </code></td></tr><tr><td id="L30877" class="css-a4x74f"><span>30877</span></td><td id="LC30877" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30878" class="css-a4x74f"><span>30878</span></td><td id="LC30878" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Handlers</span> </span>{ </code></td></tr><tr><td id="L30879" class="css-a4x74f"><span>30879</span></td><td id="LC30879" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(chunker, polisher, caller) { </code></td></tr><tr><td id="L30880" class="css-a4x74f"><span>30880</span></td><td id="LC30880" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30881" class="css-a4x74f"><span>30881</span></td><td id="LC30881" class="css-1dcdqdg"><code> registeredHandlers.forEach(<span class="code-function">(<span class="code-params">Handler</span>) =></span> { </code></td></tr><tr><td id="L30882" class="css-a4x74f"><span>30882</span></td><td id="LC30882" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> handler = <span class="code-keyword">new</span> Handler(chunker, polisher, caller); </code></td></tr><tr><td id="L30883" class="css-a4x74f"><span>30883</span></td><td id="LC30883" class="css-1dcdqdg"><code> pipe(handler, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L30884" class="css-a4x74f"><span>30884</span></td><td id="LC30884" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30885" class="css-a4x74f"><span>30885</span></td><td id="LC30885" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30886" class="css-a4x74f"><span>30886</span></td><td id="LC30886" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30887" class="css-a4x74f"><span>30887</span></td><td id="LC30887" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30888" class="css-a4x74f"><span>30888</span></td><td id="LC30888" class="css-1dcdqdg"><code> eventEmitter(Handlers.prototype); </code></td></tr><tr><td id="L30889" class="css-a4x74f"><span>30889</span></td><td id="LC30889" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30890" class="css-a4x74f"><span>30890</span></td><td id="LC30890" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">registerHandlers</span>(<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L30891" class="css-a4x74f"><span>30891</span></td><td id="LC30891" class="css-1dcdqdg"><code> <span class="code-keyword">for</span> (<span class="code-keyword">var</span> i = <span class="code-number">0</span>; i < <span class="code-built_in">arguments</span>.length; i++) { </code></td></tr><tr><td id="L30892" class="css-a4x74f"><span>30892</span></td><td id="LC30892" class="css-1dcdqdg"><code> registeredHandlers.push(<span class="code-built_in">arguments</span>[i]); </code></td></tr><tr><td id="L30893" class="css-a4x74f"><span>30893</span></td><td id="LC30893" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30894" class="css-a4x74f"><span>30894</span></td><td id="LC30894" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30895" class="css-a4x74f"><span>30895</span></td><td id="LC30895" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30896" class="css-a4x74f"><span>30896</span></td><td id="LC30896" class="css-1dcdqdg"><code> <span class="code-function"><span class="code-keyword">function</span> <span class="code-title">initializeHandlers</span>(<span class="code-params">chunker, polisher, caller</span>) </span>{ </code></td></tr><tr><td id="L30897" class="css-a4x74f"><span>30897</span></td><td id="LC30897" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> handlers = <span class="code-keyword">new</span> Handlers(chunker, polisher, caller); </code></td></tr><tr><td id="L30898" class="css-a4x74f"><span>30898</span></td><td id="LC30898" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> handlers; </code></td></tr><tr><td id="L30899" class="css-a4x74f"><span>30899</span></td><td id="LC30899" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30900" class="css-a4x74f"><span>30900</span></td><td id="LC30900" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30901" class="css-a4x74f"><span>30901</span></td><td id="LC30901" class="css-1dcdqdg"><code> <span class="code-class"><span class="code-keyword">class</span> <span class="code-title">Previewer</span> </span>{ </code></td></tr><tr><td id="L30902" class="css-a4x74f"><span>30902</span></td><td id="LC30902" class="css-1dcdqdg"><code> <span class="code-keyword">constructor</span>(options) { </code></td></tr><tr><td id="L30903" class="css-a4x74f"><span>30903</span></td><td id="LC30903" class="css-1dcdqdg"><code> <span class="code-comment">// this.preview = this.getParams("preview") !== "false";</span> </code></td></tr><tr><td id="L30904" class="css-a4x74f"><span>30904</span></td><td id="LC30904" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30905" class="css-a4x74f"><span>30905</span></td><td id="LC30905" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.settings = options || {}; </code></td></tr><tr><td id="L30906" class="css-a4x74f"><span>30906</span></td><td id="LC30906" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30907" class="css-a4x74f"><span>30907</span></td><td id="LC30907" class="css-1dcdqdg"><code> <span class="code-comment">// Process styles</span> </code></td></tr><tr><td id="L30908" class="css-a4x74f"><span>30908</span></td><td id="LC30908" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.polisher = <span class="code-keyword">new</span> Polisher(<span class="code-literal">false</span>); </code></td></tr><tr><td id="L30909" class="css-a4x74f"><span>30909</span></td><td id="LC30909" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30910" class="css-a4x74f"><span>30910</span></td><td id="LC30910" class="css-1dcdqdg"><code> <span class="code-comment">// Chunk contents</span> </code></td></tr><tr><td id="L30911" class="css-a4x74f"><span>30911</span></td><td id="LC30911" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunker = <span class="code-keyword">new</span> Chunker(<span class="code-literal">undefined</span>, <span class="code-literal">undefined</span>, <span class="code-keyword">this</span>.settings); </code></td></tr><tr><td id="L30912" class="css-a4x74f"><span>30912</span></td><td id="LC30912" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30913" class="css-a4x74f"><span>30913</span></td><td id="LC30913" class="css-1dcdqdg"><code> <span class="code-comment">// Hooks</span> </code></td></tr><tr><td id="L30914" class="css-a4x74f"><span>30914</span></td><td id="LC30914" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks = {}; </code></td></tr><tr><td id="L30915" class="css-a4x74f"><span>30915</span></td><td id="LC30915" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.beforePreview = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L30916" class="css-a4x74f"><span>30916</span></td><td id="LC30916" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.hooks.afterPreview = <span class="code-keyword">new</span> Hook(<span class="code-keyword">this</span>); </code></td></tr><tr><td id="L30917" class="css-a4x74f"><span>30917</span></td><td id="LC30917" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30918" class="css-a4x74f"><span>30918</span></td><td id="LC30918" class="css-1dcdqdg"><code> <span class="code-comment">// default size</span> </code></td></tr><tr><td id="L30919" class="css-a4x74f"><span>30919</span></td><td id="LC30919" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.size = { </code></td></tr><tr><td id="L30920" class="css-a4x74f"><span>30920</span></td><td id="LC30920" class="css-1dcdqdg"><code> width: { </code></td></tr><tr><td id="L30921" class="css-a4x74f"><span>30921</span></td><td id="LC30921" class="css-1dcdqdg"><code> value: <span class="code-number">8.5</span>, </code></td></tr><tr><td id="L30922" class="css-a4x74f"><span>30922</span></td><td id="LC30922" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L30923" class="css-a4x74f"><span>30923</span></td><td id="LC30923" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L30924" class="css-a4x74f"><span>30924</span></td><td id="LC30924" class="css-1dcdqdg"><code> height: { </code></td></tr><tr><td id="L30925" class="css-a4x74f"><span>30925</span></td><td id="LC30925" class="css-1dcdqdg"><code> value: <span class="code-number">11</span>, </code></td></tr><tr><td id="L30926" class="css-a4x74f"><span>30926</span></td><td id="LC30926" class="css-1dcdqdg"><code> unit: <span class="code-string">"in"</span> </code></td></tr><tr><td id="L30927" class="css-a4x74f"><span>30927</span></td><td id="LC30927" class="css-1dcdqdg"><code> }, </code></td></tr><tr><td id="L30928" class="css-a4x74f"><span>30928</span></td><td id="LC30928" class="css-1dcdqdg"><code> format: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L30929" class="css-a4x74f"><span>30929</span></td><td id="LC30929" class="css-1dcdqdg"><code> orientation: <span class="code-literal">undefined</span> </code></td></tr><tr><td id="L30930" class="css-a4x74f"><span>30930</span></td><td id="LC30930" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L30931" class="css-a4x74f"><span>30931</span></td><td id="LC30931" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30932" class="css-a4x74f"><span>30932</span></td><td id="LC30932" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunker.on(<span class="code-string">"page"</span>, (page) => { </code></td></tr><tr><td id="L30933" class="css-a4x74f"><span>30933</span></td><td id="LC30933" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"page"</span>, page); </code></td></tr><tr><td id="L30934" class="css-a4x74f"><span>30934</span></td><td id="LC30934" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30935" class="css-a4x74f"><span>30935</span></td><td id="LC30935" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30936" class="css-a4x74f"><span>30936</span></td><td id="LC30936" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.chunker.on(<span class="code-string">"rendering"</span>, () => { </code></td></tr><tr><td id="L30937" class="css-a4x74f"><span>30937</span></td><td id="LC30937" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"rendering"</span>, <span class="code-keyword">this</span>.chunker); </code></td></tr><tr><td id="L30938" class="css-a4x74f"><span>30938</span></td><td id="LC30938" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30939" class="css-a4x74f"><span>30939</span></td><td id="LC30939" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30940" class="css-a4x74f"><span>30940</span></td><td id="LC30940" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30941" class="css-a4x74f"><span>30941</span></td><td id="LC30941" class="css-1dcdqdg"><code> initializeHandlers() { </code></td></tr><tr><td id="L30942" class="css-a4x74f"><span>30942</span></td><td id="LC30942" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> handlers = initializeHandlers(<span class="code-keyword">this</span>.chunker, <span class="code-keyword">this</span>.polisher, <span class="code-keyword">this</span>); </code></td></tr><tr><td id="L30943" class="css-a4x74f"><span>30943</span></td><td id="LC30943" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30944" class="css-a4x74f"><span>30944</span></td><td id="LC30944" class="css-1dcdqdg"><code> handlers.on(<span class="code-string">"size"</span>, (size) => { </code></td></tr><tr><td id="L30945" class="css-a4x74f"><span>30945</span></td><td id="LC30945" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.size = size; </code></td></tr><tr><td id="L30946" class="css-a4x74f"><span>30946</span></td><td id="LC30946" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"size"</span>, size); </code></td></tr><tr><td id="L30947" class="css-a4x74f"><span>30947</span></td><td id="LC30947" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30948" class="css-a4x74f"><span>30948</span></td><td id="LC30948" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30949" class="css-a4x74f"><span>30949</span></td><td id="LC30949" class="css-1dcdqdg"><code> handlers.on(<span class="code-string">"atpages"</span>, (pages) => { </code></td></tr><tr><td id="L30950" class="css-a4x74f"><span>30950</span></td><td id="LC30950" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.atpages = pages; </code></td></tr><tr><td id="L30951" class="css-a4x74f"><span>30951</span></td><td id="LC30951" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"atpages"</span>, pages); </code></td></tr><tr><td id="L30952" class="css-a4x74f"><span>30952</span></td><td id="LC30952" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L30953" class="css-a4x74f"><span>30953</span></td><td id="LC30953" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30954" class="css-a4x74f"><span>30954</span></td><td id="LC30954" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> handlers; </code></td></tr><tr><td id="L30955" class="css-a4x74f"><span>30955</span></td><td id="LC30955" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30956" class="css-a4x74f"><span>30956</span></td><td id="LC30956" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30957" class="css-a4x74f"><span>30957</span></td><td id="LC30957" class="css-1dcdqdg"><code> registerHandlers() { </code></td></tr><tr><td id="L30958" class="css-a4x74f"><span>30958</span></td><td id="LC30958" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> registerHandlers.apply(registerHandlers, <span class="code-built_in">arguments</span>); </code></td></tr><tr><td id="L30959" class="css-a4x74f"><span>30959</span></td><td id="LC30959" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30960" class="css-a4x74f"><span>30960</span></td><td id="LC30960" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30961" class="css-a4x74f"><span>30961</span></td><td id="LC30961" class="css-1dcdqdg"><code> getParams(name) { </code></td></tr><tr><td id="L30962" class="css-a4x74f"><span>30962</span></td><td id="LC30962" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> param; </code></td></tr><tr><td id="L30963" class="css-a4x74f"><span>30963</span></td><td id="LC30963" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> url = <span class="code-keyword">new</span> URL(<span class="code-built_in">window</span>.location); </code></td></tr><tr><td id="L30964" class="css-a4x74f"><span>30964</span></td><td id="LC30964" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> params = <span class="code-keyword">new</span> URLSearchParams(url.search); </code></td></tr><tr><td id="L30965" class="css-a4x74f"><span>30965</span></td><td id="LC30965" class="css-1dcdqdg"><code> <span class="code-keyword">for</span>(<span class="code-keyword">var</span> pair <span class="code-keyword">of</span> params.entries()) { </code></td></tr><tr><td id="L30966" class="css-a4x74f"><span>30966</span></td><td id="LC30966" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(pair[<span class="code-number">0</span>] === name) { </code></td></tr><tr><td id="L30967" class="css-a4x74f"><span>30967</span></td><td id="LC30967" class="css-1dcdqdg"><code> param = pair[<span class="code-number">1</span>]; </code></td></tr><tr><td id="L30968" class="css-a4x74f"><span>30968</span></td><td id="LC30968" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30969" class="css-a4x74f"><span>30969</span></td><td id="LC30969" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30970" class="css-a4x74f"><span>30970</span></td><td id="LC30970" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30971" class="css-a4x74f"><span>30971</span></td><td id="LC30971" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> param; </code></td></tr><tr><td id="L30972" class="css-a4x74f"><span>30972</span></td><td id="LC30972" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30973" class="css-a4x74f"><span>30973</span></td><td id="LC30973" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30974" class="css-a4x74f"><span>30974</span></td><td id="LC30974" class="css-1dcdqdg"><code> wrapContent() { </code></td></tr><tr><td id="L30975" class="css-a4x74f"><span>30975</span></td><td id="LC30975" class="css-1dcdqdg"><code> <span class="code-comment">// Wrap body in template tag</span> </code></td></tr><tr><td id="L30976" class="css-a4x74f"><span>30976</span></td><td id="LC30976" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> body = <span class="code-built_in">document</span>.querySelector(<span class="code-string">"body"</span>); </code></td></tr><tr><td id="L30977" class="css-a4x74f"><span>30977</span></td><td id="LC30977" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30978" class="css-a4x74f"><span>30978</span></td><td id="LC30978" class="css-1dcdqdg"><code> <span class="code-comment">// Check if a template exists</span> </code></td></tr><tr><td id="L30979" class="css-a4x74f"><span>30979</span></td><td id="LC30979" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> template; </code></td></tr><tr><td id="L30980" class="css-a4x74f"><span>30980</span></td><td id="LC30980" class="css-1dcdqdg"><code> template = body.querySelector(<span class="code-string">":scope > template[data-ref='pagedjs-content']"</span>); </code></td></tr><tr><td id="L30981" class="css-a4x74f"><span>30981</span></td><td id="LC30981" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30982" class="css-a4x74f"><span>30982</span></td><td id="LC30982" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!template) { </code></td></tr><tr><td id="L30983" class="css-a4x74f"><span>30983</span></td><td id="LC30983" class="css-1dcdqdg"><code> <span class="code-comment">// Otherwise create one</span> </code></td></tr><tr><td id="L30984" class="css-a4x74f"><span>30984</span></td><td id="LC30984" class="css-1dcdqdg"><code> template = <span class="code-built_in">document</span>.createElement(<span class="code-string">"template"</span>); </code></td></tr><tr><td id="L30985" class="css-a4x74f"><span>30985</span></td><td id="LC30985" class="css-1dcdqdg"><code> template.dataset.ref = <span class="code-string">"pagedjs-content"</span>; </code></td></tr><tr><td id="L30986" class="css-a4x74f"><span>30986</span></td><td id="LC30986" class="css-1dcdqdg"><code> template.innerHTML = body.innerHTML; </code></td></tr><tr><td id="L30987" class="css-a4x74f"><span>30987</span></td><td id="LC30987" class="css-1dcdqdg"><code> body.innerHTML = <span class="code-string">""</span>; </code></td></tr><tr><td id="L30988" class="css-a4x74f"><span>30988</span></td><td id="LC30988" class="css-1dcdqdg"><code> body.appendChild(template); </code></td></tr><tr><td id="L30989" class="css-a4x74f"><span>30989</span></td><td id="LC30989" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30990" class="css-a4x74f"><span>30990</span></td><td id="LC30990" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30991" class="css-a4x74f"><span>30991</span></td><td id="LC30991" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> template.content; </code></td></tr><tr><td id="L30992" class="css-a4x74f"><span>30992</span></td><td id="LC30992" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L30993" class="css-a4x74f"><span>30993</span></td><td id="LC30993" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L30994" class="css-a4x74f"><span>30994</span></td><td id="LC30994" class="css-1dcdqdg"><code> removeStyles(doc=<span class="code-built_in">document</span>) { </code></td></tr><tr><td id="L30995" class="css-a4x74f"><span>30995</span></td><td id="LC30995" class="css-1dcdqdg"><code> <span class="code-comment">// Get all stylesheets</span> </code></td></tr><tr><td id="L30996" class="css-a4x74f"><span>30996</span></td><td id="LC30996" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> stylesheets = <span class="code-built_in">Array</span>.from(doc.querySelectorAll(<span class="code-string">"link[rel='stylesheet']"</span>)); </code></td></tr><tr><td id="L30997" class="css-a4x74f"><span>30997</span></td><td id="LC30997" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> hrefs = stylesheets.map(<span class="code-function">(<span class="code-params">sheet</span>) =></span> { </code></td></tr><tr><td id="L30998" class="css-a4x74f"><span>30998</span></td><td id="LC30998" class="css-1dcdqdg"><code> sheet.remove(); </code></td></tr><tr><td id="L30999" class="css-a4x74f"><span>30999</span></td><td id="LC30999" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> sheet.href; </code></td></tr><tr><td id="L31000" class="css-a4x74f"><span>31000</span></td><td id="LC31000" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L31001" class="css-a4x74f"><span>31001</span></td><td id="LC31001" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31002" class="css-a4x74f"><span>31002</span></td><td id="LC31002" class="css-1dcdqdg"><code> <span class="code-comment">// Get inline styles</span> </code></td></tr><tr><td id="L31003" class="css-a4x74f"><span>31003</span></td><td id="LC31003" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> inlineStyles = <span class="code-built_in">Array</span>.from(doc.querySelectorAll(<span class="code-string">"style:not([data-pagedjs-inserted-styles])"</span>)); </code></td></tr><tr><td id="L31004" class="css-a4x74f"><span>31004</span></td><td id="LC31004" class="css-1dcdqdg"><code> inlineStyles.forEach(<span class="code-function">(<span class="code-params">inlineStyle</span>) =></span> { </code></td></tr><tr><td id="L31005" class="css-a4x74f"><span>31005</span></td><td id="LC31005" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> obj = {}; </code></td></tr><tr><td id="L31006" class="css-a4x74f"><span>31006</span></td><td id="LC31006" class="css-1dcdqdg"><code> obj[<span class="code-built_in">window</span>.location.href] = inlineStyle.textContent; </code></td></tr><tr><td id="L31007" class="css-a4x74f"><span>31007</span></td><td id="LC31007" class="css-1dcdqdg"><code> hrefs.push(obj); </code></td></tr><tr><td id="L31008" class="css-a4x74f"><span>31008</span></td><td id="LC31008" class="css-1dcdqdg"><code> inlineStyle.remove(); </code></td></tr><tr><td id="L31009" class="css-a4x74f"><span>31009</span></td><td id="LC31009" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L31010" class="css-a4x74f"><span>31010</span></td><td id="LC31010" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31011" class="css-a4x74f"><span>31011</span></td><td id="LC31011" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> hrefs; </code></td></tr><tr><td id="L31012" class="css-a4x74f"><span>31012</span></td><td id="LC31012" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31013" class="css-a4x74f"><span>31013</span></td><td id="LC31013" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31014" class="css-a4x74f"><span>31014</span></td><td id="LC31014" class="css-1dcdqdg"><code> <span class="code-keyword">async</span> preview(content, stylesheets, renderTo) { </code></td></tr><tr><td id="L31015" class="css-a4x74f"><span>31015</span></td><td id="LC31015" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31016" class="css-a4x74f"><span>31016</span></td><td id="LC31016" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.beforePreview.trigger(content, renderTo); </code></td></tr><tr><td id="L31017" class="css-a4x74f"><span>31017</span></td><td id="LC31017" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31018" class="css-a4x74f"><span>31018</span></td><td id="LC31018" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!content) { </code></td></tr><tr><td id="L31019" class="css-a4x74f"><span>31019</span></td><td id="LC31019" class="css-1dcdqdg"><code> content = <span class="code-keyword">this</span>.wrapContent(); </code></td></tr><tr><td id="L31020" class="css-a4x74f"><span>31020</span></td><td id="LC31020" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31021" class="css-a4x74f"><span>31021</span></td><td id="LC31021" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31022" class="css-a4x74f"><span>31022</span></td><td id="LC31022" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (!stylesheets) { </code></td></tr><tr><td id="L31023" class="css-a4x74f"><span>31023</span></td><td id="LC31023" class="css-1dcdqdg"><code> stylesheets = <span class="code-keyword">this</span>.removeStyles(); </code></td></tr><tr><td id="L31024" class="css-a4x74f"><span>31024</span></td><td id="LC31024" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31025" class="css-a4x74f"><span>31025</span></td><td id="LC31025" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31026" class="css-a4x74f"><span>31026</span></td><td id="LC31026" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.polisher.setup(); </code></td></tr><tr><td id="L31027" class="css-a4x74f"><span>31027</span></td><td id="LC31027" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31028" class="css-a4x74f"><span>31028</span></td><td id="LC31028" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.handlers = <span class="code-keyword">this</span>.initializeHandlers(); </code></td></tr><tr><td id="L31029" class="css-a4x74f"><span>31029</span></td><td id="LC31029" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31030" class="css-a4x74f"><span>31030</span></td><td id="LC31030" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.polisher.add(...stylesheets); </code></td></tr><tr><td id="L31031" class="css-a4x74f"><span>31031</span></td><td id="LC31031" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31032" class="css-a4x74f"><span>31032</span></td><td id="LC31032" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> startTime = performance.now(); </code></td></tr><tr><td id="L31033" class="css-a4x74f"><span>31033</span></td><td id="LC31033" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31034" class="css-a4x74f"><span>31034</span></td><td id="LC31034" class="css-1dcdqdg"><code> <span class="code-comment">// Render flow</span> </code></td></tr><tr><td id="L31035" class="css-a4x74f"><span>31035</span></td><td id="LC31035" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> flow = <span class="code-keyword">await</span> <span class="code-keyword">this</span>.chunker.flow(content, renderTo); </code></td></tr><tr><td id="L31036" class="css-a4x74f"><span>31036</span></td><td id="LC31036" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31037" class="css-a4x74f"><span>31037</span></td><td id="LC31037" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> endTime = performance.now(); </code></td></tr><tr><td id="L31038" class="css-a4x74f"><span>31038</span></td><td id="LC31038" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31039" class="css-a4x74f"><span>31039</span></td><td id="LC31039" class="css-1dcdqdg"><code> flow.performance = (endTime - startTime); </code></td></tr><tr><td id="L31040" class="css-a4x74f"><span>31040</span></td><td id="LC31040" class="css-1dcdqdg"><code> flow.size = <span class="code-keyword">this</span>.size; </code></td></tr><tr><td id="L31041" class="css-a4x74f"><span>31041</span></td><td id="LC31041" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31042" class="css-a4x74f"><span>31042</span></td><td id="LC31042" class="css-1dcdqdg"><code> <span class="code-keyword">this</span>.emit(<span class="code-string">"rendered"</span>, flow); </code></td></tr><tr><td id="L31043" class="css-a4x74f"><span>31043</span></td><td id="LC31043" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31044" class="css-a4x74f"><span>31044</span></td><td id="LC31044" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> <span class="code-keyword">this</span>.hooks.afterPreview.trigger(flow.pages); </code></td></tr><tr><td id="L31045" class="css-a4x74f"><span>31045</span></td><td id="LC31045" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31046" class="css-a4x74f"><span>31046</span></td><td id="LC31046" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> flow; </code></td></tr><tr><td id="L31047" class="css-a4x74f"><span>31047</span></td><td id="LC31047" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31048" class="css-a4x74f"><span>31048</span></td><td id="LC31048" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31049" class="css-a4x74f"><span>31049</span></td><td id="LC31049" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31050" class="css-a4x74f"><span>31050</span></td><td id="LC31050" class="css-1dcdqdg"><code> eventEmitter(Previewer.prototype); </code></td></tr><tr><td id="L31051" class="css-a4x74f"><span>31051</span></td><td id="LC31051" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31052" class="css-a4x74f"><span>31052</span></td><td id="LC31052" class="css-1dcdqdg"><code> <span class="code-keyword">var</span> Paged = <span class="code-comment">/*#__PURE__*/</span><span class="code-built_in">Object</span>.freeze({ </code></td></tr><tr><td id="L31053" class="css-a4x74f"><span>31053</span></td><td id="LC31053" class="css-1dcdqdg"><code> __proto__: <span class="code-literal">null</span>, </code></td></tr><tr><td id="L31054" class="css-a4x74f"><span>31054</span></td><td id="LC31054" class="css-1dcdqdg"><code> Chunker: Chunker, </code></td></tr><tr><td id="L31055" class="css-a4x74f"><span>31055</span></td><td id="LC31055" class="css-1dcdqdg"><code> Polisher: Polisher, </code></td></tr><tr><td id="L31056" class="css-a4x74f"><span>31056</span></td><td id="LC31056" class="css-1dcdqdg"><code> Previewer: Previewer, </code></td></tr><tr><td id="L31057" class="css-a4x74f"><span>31057</span></td><td id="LC31057" class="css-1dcdqdg"><code> Handler: Handler, </code></td></tr><tr><td id="L31058" class="css-a4x74f"><span>31058</span></td><td id="LC31058" class="css-1dcdqdg"><code> registerHandlers: registerHandlers, </code></td></tr><tr><td id="L31059" class="css-a4x74f"><span>31059</span></td><td id="LC31059" class="css-1dcdqdg"><code> initializeHandlers: initializeHandlers </code></td></tr><tr><td id="L31060" class="css-a4x74f"><span>31060</span></td><td id="LC31060" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L31061" class="css-a4x74f"><span>31061</span></td><td id="LC31061" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31062" class="css-a4x74f"><span>31062</span></td><td id="LC31062" class="css-1dcdqdg"><code> <span class="code-built_in">window</span>.Paged = Paged; </code></td></tr><tr><td id="L31063" class="css-a4x74f"><span>31063</span></td><td id="LC31063" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31064" class="css-a4x74f"><span>31064</span></td><td id="LC31064" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> ready = <span class="code-keyword">new</span> <span class="code-built_in">Promise</span>(<span class="code-function"><span class="code-keyword">function</span>(<span class="code-params">resolve, reject</span>)</span>{ </code></td></tr><tr><td id="L31065" class="css-a4x74f"><span>31065</span></td><td id="LC31065" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">document</span>.readyState === <span class="code-string">"interactive"</span> || <span class="code-built_in">document</span>.readyState === <span class="code-string">"complete"</span>) { </code></td></tr><tr><td id="L31066" class="css-a4x74f"><span>31066</span></td><td id="LC31066" class="css-1dcdqdg"><code> resolve(<span class="code-built_in">document</span>.readyState); </code></td></tr><tr><td id="L31067" class="css-a4x74f"><span>31067</span></td><td id="LC31067" class="css-1dcdqdg"><code> <span class="code-keyword">return</span>; </code></td></tr><tr><td id="L31068" class="css-a4x74f"><span>31068</span></td><td id="LC31068" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31069" class="css-a4x74f"><span>31069</span></td><td id="LC31069" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31070" class="css-a4x74f"><span>31070</span></td><td id="LC31070" class="css-1dcdqdg"><code> <span class="code-built_in">document</span>.onreadystatechange = <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params">$</span>) </span>{ </code></td></tr><tr><td id="L31071" class="css-a4x74f"><span>31071</span></td><td id="LC31071" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (<span class="code-built_in">document</span>.readyState === <span class="code-string">"interactive"</span>) { </code></td></tr><tr><td id="L31072" class="css-a4x74f"><span>31072</span></td><td id="LC31072" class="css-1dcdqdg"><code> resolve(<span class="code-built_in">document</span>.readyState); </code></td></tr><tr><td id="L31073" class="css-a4x74f"><span>31073</span></td><td id="LC31073" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31074" class="css-a4x74f"><span>31074</span></td><td id="LC31074" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L31075" class="css-a4x74f"><span>31075</span></td><td id="LC31075" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L31076" class="css-a4x74f"><span>31076</span></td><td id="LC31076" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31077" class="css-a4x74f"><span>31077</span></td><td id="LC31077" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> config = <span class="code-built_in">window</span>.PagedConfig || { </code></td></tr><tr><td id="L31078" class="css-a4x74f"><span>31078</span></td><td id="LC31078" class="css-1dcdqdg"><code> auto: <span class="code-literal">true</span>, </code></td></tr><tr><td id="L31079" class="css-a4x74f"><span>31079</span></td><td id="LC31079" class="css-1dcdqdg"><code> before: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L31080" class="css-a4x74f"><span>31080</span></td><td id="LC31080" class="css-1dcdqdg"><code> after: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L31081" class="css-a4x74f"><span>31081</span></td><td id="LC31081" class="css-1dcdqdg"><code> content: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L31082" class="css-a4x74f"><span>31082</span></td><td id="LC31082" class="css-1dcdqdg"><code> stylesheets: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L31083" class="css-a4x74f"><span>31083</span></td><td id="LC31083" class="css-1dcdqdg"><code> renderTo: <span class="code-literal">undefined</span>, </code></td></tr><tr><td id="L31084" class="css-a4x74f"><span>31084</span></td><td id="LC31084" class="css-1dcdqdg"><code> settings: <span class="code-literal">undefined</span> </code></td></tr><tr><td id="L31085" class="css-a4x74f"><span>31085</span></td><td id="LC31085" class="css-1dcdqdg"><code> }; </code></td></tr><tr><td id="L31086" class="css-a4x74f"><span>31086</span></td><td id="LC31086" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31087" class="css-a4x74f"><span>31087</span></td><td id="LC31087" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> previewer = <span class="code-keyword">new</span> Previewer(config.settings); </code></td></tr><tr><td id="L31088" class="css-a4x74f"><span>31088</span></td><td id="LC31088" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31089" class="css-a4x74f"><span>31089</span></td><td id="LC31089" class="css-1dcdqdg"><code> ready.then(<span class="code-keyword">async</span> <span class="code-function"><span class="code-keyword">function</span> (<span class="code-params"></span>) </span>{ </code></td></tr><tr><td id="L31090" class="css-a4x74f"><span>31090</span></td><td id="LC31090" class="css-1dcdqdg"><code> <span class="code-keyword">let</span> done; </code></td></tr><tr><td id="L31091" class="css-a4x74f"><span>31091</span></td><td id="LC31091" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.before) { </code></td></tr><tr><td id="L31092" class="css-a4x74f"><span>31092</span></td><td id="LC31092" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> config.before(); </code></td></tr><tr><td id="L31093" class="css-a4x74f"><span>31093</span></td><td id="LC31093" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31094" class="css-a4x74f"><span>31094</span></td><td id="LC31094" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31095" class="css-a4x74f"><span>31095</span></td><td id="LC31095" class="css-1dcdqdg"><code> <span class="code-keyword">if</span>(config.auto !== <span class="code-literal">false</span>) { </code></td></tr><tr><td id="L31096" class="css-a4x74f"><span>31096</span></td><td id="LC31096" class="css-1dcdqdg"><code> done = <span class="code-keyword">await</span> previewer.preview(config.content, config.stylesheets, config.renderTo); </code></td></tr><tr><td id="L31097" class="css-a4x74f"><span>31097</span></td><td id="LC31097" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31098" class="css-a4x74f"><span>31098</span></td><td id="LC31098" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31099" class="css-a4x74f"><span>31099</span></td><td id="LC31099" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31100" class="css-a4x74f"><span>31100</span></td><td id="LC31100" class="css-1dcdqdg"><code> <span class="code-keyword">if</span> (config.after) { </code></td></tr><tr><td id="L31101" class="css-a4x74f"><span>31101</span></td><td id="LC31101" class="css-1dcdqdg"><code> <span class="code-keyword">await</span> config.after(done); </code></td></tr><tr><td id="L31102" class="css-a4x74f"><span>31102</span></td><td id="LC31102" class="css-1dcdqdg"><code> } </code></td></tr><tr><td id="L31103" class="css-a4x74f"><span>31103</span></td><td id="LC31103" class="css-1dcdqdg"><code> }); </code></td></tr><tr><td id="L31104" class="css-a4x74f"><span>31104</span></td><td id="LC31104" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31105" class="css-a4x74f"><span>31105</span></td><td id="LC31105" class="css-1dcdqdg"><code> <span class="code-keyword">return</span> previewer; </code></td></tr><tr><td id="L31106" class="css-a4x74f"><span>31106</span></td><td id="LC31106" class="css-1dcdqdg"><code> </code></td></tr><tr><td id="L31107" class="css-a4x74f"><span>31107</span></td><td id="LC31107" class="css-1dcdqdg"><code>}))); </code></td></tr></tbody></table></div></div></div></div><style data-emotion-css="1teho9j">.css-1teho9j{margin-top:5rem;background:black;color:#aaa;}</style><footer class="css-1teho9j"><style data-emotion-css="1ui8put">.css-1ui8put{max-width:940px;padding:10px 20px;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}</style><div class="css-1ui8put"><p><span>Build: <!-- -->b5d1b223</span></p><p><span>© <!-- -->2020<!-- --> UNPKG</span></p><style data-emotion-css="la3nd4">.css-la3nd4{font-size:1.5rem;}</style><p class="css-la3nd4"><style data-emotion-css="bogekj">.css-bogekj{color:#aaa;display:inline-block;}.css-bogekj:hover{color:white;}</style><a href="https://twitter.com/unpkg" class="css-bogekj"><style data-emotion-css="i6dzq1">.css-i6dzq1{vertical-align:text-bottom;}</style><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" class="css-i6dzq1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg></a><style data-emotion-css="3czw03">.css-3czw03{color:#aaa;display:inline-block;margin-left:1rem;}.css-3czw03:hover{color:white;}</style><a href="https://github.com/mjackson/unpkg" class="css-3czw03"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" class="css-i6dzq1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a></p></div></footer></div><script src="/react@16.8.6/umd/react.production.min.js"></script><script src="/react-dom@16.8.6/umd/react-dom.production.min.js"></script><script src="/@emotion/core@10.0.6/dist/core.umd.min.js"></script><script>'use strict';(function(l,t,c){function k(){k=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],e;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(a[e]=c[e])}return a};return k.apply(this,arguments)}function F(a,b){if(null==a)return{};var c={},e=Object.keys(a),f;for(f=0;f<e.length;f++){var h=e[f];0<=b.indexOf(h)||(c[h]=a[h])}return c}function G(a,b){b||(b=a.slice(0));a.raw=b;return a}function H(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a, "default")?a["default"]:a}function v(a,b){return b={exports:{}},a(b,b.exports),b.exports}function I(){}function J(){}function K(a){var b,d=a.children;a=a.css;return c.jsx("div",{css:k((b={border:"1px solid #dfe2e5",borderRadius:3},b["@media (max-width: 700px)"]={borderRightWidth:0,borderLeftWidth:0},b),a)},d)}function L(a){var b,d=a.children;a=a.css;return c.jsx("div",{css:k((b={padding:10,background:"#f6f8fa",color:"#424242",border:"1px solid #d1d5da",borderTopLeftRadius:3,borderTopRightRadius:3, margin:"-1px -1px 0",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},b["@media (max-width: 700px)"]={paddingRight:20,paddingLeft:20},b),a)},d)}function M(a){return a&&a.map(function(a,c){return l.createElement(a.tag,r({key:c},a.attr),M(a.child))})}function w(a){return function(b){return l.createElement(fa,r({attr:r({},a.attr)},b),M(a.child))}}function fa(a){var b=function(b){var c=a.size||b.size||"1em";if(b.className)var d=b.className;a.className&&(d=(d?d+" ": "")+a.className);var h=a.attr,p=a.title,u=ha(a,["attr","title"]);return l.createElement("svg",r({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},b.attr,h,u,{className:d,style:r({color:a.color||b.color},b.style,a.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),p&&l.createElement("title",null,p),a.children)};return void 0!==N?l.createElement(N.Consumer,null,function(a){return b(a)}):b(O)}function x(a,b){var d=b.css;b=F(b,["css"]);return c.jsx(a,k({css:k({},d,{verticalAlign:"text-bottom"})}, b))}function ia(a){return x(P,a)}function ja(a){return x(Q,a)}function ka(a){return x(R,a)}function la(a){return x(S,a)}function ma(a){return x(T,a)}function na(a){var b=a.path,d=a.details,e=Object.keys(d).reduce(function(a,b){var c=a.subdirs,e=a.files;b=d[b];"directory"===b.type?c.push(b):"file"===b.type&&e.push(b);return a},{subdirs:[],files:[]});a=e.subdirs;e=e.files;a.sort(U("path"));e.sort(U("path"));var f=[];"/"!==b&&f.push(c.jsx("tr",{key:".."},c.jsx("td",{css:C}),c.jsx("td",{css:n},c.jsx("a", {title:"Parent directory",href:"../",css:D},"..")),c.jsx("td",{css:n}),c.jsx("td",{css:E})));a.forEach(function(a){a=a.path.substr(1<b.length?b.length+1:1);var d=a+"/";f.push(c.jsx("tr",{key:a},c.jsx("td",{css:C},c.jsx(ka,null)),c.jsx("td",{css:n},c.jsx("a",{title:a,href:d,css:D},a)),c.jsx("td",{css:n},"-"),c.jsx("td",{css:E},"-")))});e.forEach(function(a){var d=a.size,e=a.contentType;a=a.path.substr(1<b.length?b.length+1:1);f.push(c.jsx("tr",{key:a},c.jsx("td",{css:C},"text/plain"===e||"text/markdown"=== e?c.jsx(ia,null):c.jsx(ja,null)),c.jsx("td",{css:n},c.jsx("a",{title:a,href:a,css:D},a)),c.jsx("td",{css:n},V(d)),c.jsx("td",{css:E},e)))});var h=[];0<e.length&&h.push(e.length+" file"+(1===e.length?"":"s"));0<a.length&&h.push(a.length+" folder"+(1===a.length?"":"s"));return c.jsx(K,null,c.jsx(L,null,c.jsx("span",null,h.join(", "))),c.jsx("table",{css:{width:"100%",borderCollapse:"collapse",borderRadius:2,background:"#fff","@media (max-width: 700px)":{"& th + th + th + th, & td + td + td + td":{display:"none"}}, "& tr:first-of-type td":{borderTop:0}}},c.jsx("thead",null,c.jsx("tr",null,c.jsx("th",null,c.jsx(y,null,"Icon")),c.jsx("th",null,c.jsx(y,null,"Name")),c.jsx("th",null,c.jsx(y,null,"Size")),c.jsx("th",null,c.jsx(y,null,"Content Type")))),c.jsx("tbody",null,f)))}function oa(a){a=a.split("/");return a[a.length-1]}function pa(a){var b=a.uri;return c.jsx("div",{css:{padding:20,textAlign:"center"}},c.jsx("img",{alt:oa(a.path),src:b}))}function qa(a){a=a.highlights.slice(0);var b=a.length&&""===a[a.length- 1];b&&a.pop();return c.jsx("div",{className:"code-listing",css:{overflowX:"auto",overflowY:"hidden",paddingTop:5,paddingBottom:5}},c.jsx("table",{css:{border:"none",borderCollapse:"collapse",borderSpacing:0}},c.jsx("tbody",null,a.map(function(a,b){var d=b+1;return c.jsx("tr",{key:b},c.jsx("td",{id:"L"+d,css:{paddingLeft:10,paddingRight:10,color:"rgba(27,31,35,.3)",textAlign:"right",verticalAlign:"top",width:"1%",minWidth:50,userSelect:"none"}},c.jsx("span",null,d)),c.jsx("td",{id:"LC"+d,css:{paddingLeft:10, paddingRight:10,color:"#24292e",whiteSpace:"pre"}},c.jsx("code",{dangerouslySetInnerHTML:{__html:a}})))}),!b&&c.jsx("tr",{key:"no-newline"},c.jsx("td",{css:{paddingLeft:10,paddingRight:10,color:"rgba(27,31,35,.3)",textAlign:"right",verticalAlign:"top",width:"1%",minWidth:50,userSelect:"none"}},"\\"),c.jsx("td",{css:{paddingLeft:10,color:"rgba(27,31,35,.3)",userSelect:"none"}},"No newline at end of file")))))}function ra(){return c.jsx("div",{css:{padding:20}},c.jsx("p",{css:{textAlign:"center"}}, "No preview available."))}function sa(a){var b=a.packageName,d=a.packageVersion,e=a.path;a=a.details;var f=a.highlights,h=a.uri,p=a.language;return c.jsx(K,null,c.jsx(L,null,c.jsx("span",null,V(a.size)),c.jsx("span",null,p),c.jsx("span",null,c.jsx("a",{href:"/"+b+"@"+d+e,css:{display:"inline-block",marginLeft:8,padding:"2px 8px",textDecoration:"none",fontWeight:600,fontSize:"0.9rem",color:"#24292e",backgroundColor:"#eff3f6",border:"1px solid rgba(27,31,35,.2)",borderRadius:3,":hover":{backgroundColor:"#e6ebf1", borderColor:"rgba(27,31,35,.35)"},":active":{backgroundColor:"#e9ecef",borderColor:"rgba(27,31,35,.35)",boxShadow:"inset 0 0.15em 0.3em rgba(27,31,35,.15)"}}},"View Raw"))),f?c.jsx(qa,{highlights:f}):h?c.jsx(pa,{path:e,uri:h}):c.jsx(ra,null))}function W(){var a=G(["\n .code-listing {\n background: #fbfdff;\n color: #383a42;\n }\n .code-comment,\n .code-quote {\n color: #a0a1a7;\n font-style: italic;\n }\n .code-doctag,\n .code-keyword,\n .code-link,\n .code-formula {\n color: #a626a4;\n }\n .code-section,\n .code-name,\n .code-selector-tag,\n .code-deletion,\n .code-subst {\n color: #e45649;\n }\n .code-literal {\n color: #0184bb;\n }\n .code-string,\n .code-regexp,\n .code-addition,\n .code-attribute,\n .code-meta-string {\n color: #50a14f;\n }\n .code-built_in,\n .code-class .code-title {\n color: #c18401;\n }\n .code-attr,\n .code-variable,\n .code-template-variable,\n .code-type,\n .code-selector-class,\n .code-selector-attr,\n .code-selector-pseudo,\n .code-number {\n color: #986801;\n }\n .code-symbol,\n .code-bullet,\n .code-meta,\n .code-selector-id,\n .code-title {\n color: #4078f2;\n }\n .code-emphasis {\n font-style: italic;\n }\n .code-strong {\n font-weight: bold;\n }\n"]); W=function(){return a};return a}function X(){var a=G(["\n html {\n box-sizing: border-box;\n }\n *,\n *:before,\n *:after {\n box-sizing: inherit;\n }\n\n html,\n body,\n #root {\n height: 100%;\n margin: 0;\n }\n\n body {\n ","\n font-size: 16px;\n line-height: 1.5;\n overflow-wrap: break-word;\n background: white;\n color: black;\n }\n\n code {\n ","\n }\n\n th,\n td {\n padding: 0;\n }\n\n select {\n font-size: inherit;\n }\n\n #root {\n display: flex;\n flex-direction: column;\n }\n"]); X=function(){return a};return a}function Y(a){var b=a.css;a=F(a,["css"]);return c.jsx("a",k({},a,{css:k({color:"#0076ff",textDecoration:"none",":hover":{textDecoration:"underline"}},b)}))}function ta(){return c.jsx("header",{css:{marginTop:"2rem"}},c.jsx("h1",{css:{textAlign:"center",fontSize:"3rem",letterSpacing:"0.05em"}},c.jsx("a",{href:"/",css:{color:"#000",textDecoration:"none"}},"UNPKG")))}function ua(a){var b=a.packageName,d=a.packageVersion,e=a.availableVersions;a=a.filename;var f=[];if("/"=== a)f.push(b);else{var h="/browse/"+b+"@"+d;f.push(c.jsx(Y,{href:h+"/"},b));b=a.replace(/^\/+/,"").replace(/\/+$/,"").split("/");a=b.pop();b.forEach(function(a){h+="/"+a;f.push(c.jsx(Y,{href:h+"/"},a))});f.push(a)}return c.jsx("header",{css:{display:"flex",flexDirection:"row",alignItems:"center","@media (max-width: 700px)":{flexDirection:"column-reverse",alignItems:"flex-start"}}},c.jsx("h1",{css:{fontSize:"1.5rem",fontWeight:"normal",flex:1,wordBreak:"break-all"}},c.jsx("nav",null,f.map(function(a, b,d){return c.jsx(l.Fragment,{key:b},0!==b&&c.jsx("span",{css:{paddingLeft:5,paddingRight:5}},"/"),b===d.length-1?c.jsx("strong",null,a):a)}))),c.jsx(va,{packageVersion:d,availableVersions:e,onChange:function(a){window.location.href=window.location.href.replace("@"+d,"@"+a)}}))}function va(a){var b=a.onChange;return c.jsx("p",{css:{marginLeft:20,"@media (max-width: 700px)":{marginLeft:0,marginBottom:0}}},c.jsx("label",null,"Version:"," ",c.jsx("select",{name:"version",defaultValue:a.packageVersion, onChange:function(a){b&&b(a.target.value)},css:{appearance:"none",cursor:"pointer",padding:"4px 24px 4px 8px",fontWeight:600,fontSize:"0.9em",color:"#24292e",border:"1px solid rgba(27,31,35,.2)",borderRadius:3,backgroundColor:"#eff3f6",backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAAAXNSR0IArs4c6QAAARFJREFUKBVjZAACNS39RhBNKrh17WI9o4quoT3Dn78HSNUMUs/CzOTI/O7Vi4dCYpJ3/jP+92BkYGAlyiBGhm8MjIxJt65e3MQM0vDu9YvLYmISILYZELOBxHABRkaGr0yMzF23r12YDFIDNgDEePv65SEhEXENBkYGFSAXuyGMjF8Z/jOsvX3tYiFIDwgwQSgIaaijnvj/P8M5IO8HsjiY/f//D4b//88A1SQhywG9jQr09PS4v/1mPAeUUPzP8B8cJowMjL+Bqu6xMQmaXL164AuyDgwDQJLa2qYSP//9vARkCoMVMzK8YeVkNbh+9uxzMB+JwGoASF5Vx0jz/98/18BqmZi171w9D2EjaaYKEwAEK00XQLdJuwAAAABJRU5ErkJggg==)", backgroundPosition:"right 8px center",backgroundRepeat:"no-repeat",backgroundSize:"auto 25%",":hover":{backgroundColor:"#e6ebf1",borderColor:"rgba(27,31,35,.35)"},":active":{backgroundColor:"#e9ecef",borderColor:"rgba(27,31,35,.35)",boxShadow:"inset 0 0.15em 0.3em rgba(27,31,35,.15)"}}},a.availableVersions.map(function(a){return c.jsx("option",{key:a,value:a},a)}))))}function wa(a){var b=a.packageName,d=a.packageVersion;a=a.target;return"directory"===a.type?c.jsx(na,{path:a.path,details:a.details}): "file"===a.type?c.jsx(sa,{packageName:b,packageVersion:d,path:a.path,details:a.details}):null}var Z="default"in l?l["default"]:l;t=t&&t.hasOwnProperty("default")?t["default"]:t;var xa="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{},aa=v(function(a,b){function c(a){if("object"===typeof a&&null!==a){var b=a.$$typeof;switch(b){case f:switch(a=a.type,a){case q:case g:case p:case l:case u:case z:return a; default:switch(a=a&&a.$$typeof,a){case m:case A:case k:return a;default:return b}}case n:case B:case h:return b}}}function e(a){return c(a)===g}Object.defineProperty(b,"__esModule",{value:!0});var f=(a="function"===typeof Symbol&&Symbol.for)?Symbol.for("react.element"):60103,h=a?Symbol.for("react.portal"):60106,p=a?Symbol.for("react.fragment"):60107,u=a?Symbol.for("react.strict_mode"):60108,l=a?Symbol.for("react.profiler"):60114,k=a?Symbol.for("react.provider"):60109,m=a?Symbol.for("react.context"): 60110,q=a?Symbol.for("react.async_mode"):60111,g=a?Symbol.for("react.concurrent_mode"):60111,A=a?Symbol.for("react.forward_ref"):60112,z=a?Symbol.for("react.suspense"):60113,B=a?Symbol.for("react.memo"):60115,n=a?Symbol.for("react.lazy"):60116;b.typeOf=c;b.AsyncMode=q;b.ConcurrentMode=g;b.ContextConsumer=m;b.ContextProvider=k;b.Element=f;b.ForwardRef=A;b.Fragment=p;b.Lazy=n;b.Memo=B;b.Portal=h;b.Profiler=l;b.StrictMode=u;b.Suspense=z;b.isValidElementType=function(a){return"string"===typeof a||"function"=== typeof a||a===p||a===g||a===l||a===u||a===z||"object"===typeof a&&null!==a&&(a.$$typeof===n||a.$$typeof===B||a.$$typeof===k||a.$$typeof===m||a.$$typeof===A)};b.isAsyncMode=function(a){return e(a)||c(a)===q};b.isConcurrentMode=e;b.isContextConsumer=function(a){return c(a)===m};b.isContextProvider=function(a){return c(a)===k};b.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===f};b.isForwardRef=function(a){return c(a)===A};b.isFragment=function(a){return c(a)===p};b.isLazy=function(a){return c(a)=== n};b.isMemo=function(a){return c(a)===B};b.isPortal=function(a){return c(a)===h};b.isProfiler=function(a){return c(a)===l};b.isStrictMode=function(a){return c(a)===u};b.isSuspense=function(a){return c(a)===z}});H(aa);var ya=v(function(a,b){});H(ya);v(function(a){a.exports=aa});(function(){try{if(!Object.assign)return!1;var a=new String("abc");a[5]="de";if("5"===Object.getOwnPropertyNames(a)[0])return!1;var b={};for(a=0;10>a;a++)b["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a]}).join(""))return!1; var c={};"abcdefghijklmnopqrst".split("").forEach(function(a){c[a]=a});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},c)).join("")?!1:!0}catch(e){return!1}})();Function.call.bind(Object.prototype.hasOwnProperty);J.resetWarningCache=I;var za=function(){function a(a,b,c,d,l,k){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==k)throw a=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"), a.name="Invariant Violation",a;}function b(){return a}a.isRequired=a;var c={array:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:b,element:a,elementType:a,instanceOf:b,node:a,objectOf:b,oneOf:b,oneOfType:b,shape:b,exact:b,checkPropTypes:J,resetWarningCache:I};return c.PropTypes=c};v(function(a){a.exports=za()});var Aa=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],e;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(a[e]=c[e])}return a},Ba= {border:0,clip:"rect(0 0 0 0)",height:"1px",width:"1px",margin:"-1px",padding:0,overflow:"hidden",position:"absolute"},y=function(a){return Z.createElement("div",Aa({style:Ba},a))},ba=v(function(a){(function(b,c){a.exports=c()})(xa,function(){function a(a){if(!a)return!0;if(!f(a)||0!==a.length)for(var b in a)if(n.call(a,b))return!1;return!0}function c(a){return"number"===typeof a||"[object Number]"===k.call(a)}function e(a){return"string"===typeof a||"[object String]"===k.call(a)}function f(a){return"object"=== typeof a&&"number"===typeof a.length&&"[object Array]"===k.call(a)}function h(a){var b=parseInt(a);return b.toString()===a?b:a}function p(b,g,d,f){c(g)&&(g=[g]);if(a(g))return b;if(e(g))return p(b,g.split("."),d,f);var q=h(g[0]);if(1===g.length)return g=b[q],void 0!==g&&f||(b[q]=d),g;void 0===b[q]&&(c(q)?b[q]=[]:b[q]={});return p(b[q],g.slice(1),d,f)}function l(b,d){c(d)&&(d=[d]);if(!a(b)){if(a(d))return b;if(e(d))return l(b,d.split("."));var g=h(d[0]),q=b[g];if(1===d.length)void 0!==q&&(f(b)?b.splice(g, 1):delete b[g]);else if(void 0!==b[g])return l(b[g],d.slice(1));return b}}var k=Object.prototype.toString,n=Object.prototype.hasOwnProperty,m={ensureExists:function(a,b,c){return p(a,b,c,!0)},set:function(a,b,c,d){return p(a,b,c,d)},insert:function(a,b,c,d){var e=m.get(a,b);d=~~d;f(e)||(e=[],m.set(a,b,e));e.splice(d,0,c)},empty:function(b,d){if(a(d))return b;if(!a(b)){var g,h;if(!(g=m.get(b,d)))return b;if(e(g))return m.set(b,d,"");if("boolean"===typeof g||"[object Boolean]"===k.call(g))return m.set(b, d,!1);if(c(g))return m.set(b,d,0);if(f(g))g.length=0;else if("object"===typeof g&&"[object Object]"===k.call(g))for(h in g)n.call(g,h)&&delete g[h];else return m.set(b,d,null)}},push:function(a,b){var c=m.get(a,b);f(c)||(c=[],m.set(a,b,c));c.push.apply(c,Array.prototype.slice.call(arguments,2))},coalesce:function(a,b,c){for(var d,e=0,f=b.length;e<f;e++)if(void 0!==(d=m.get(a,b[e])))return d;return c},get:function(b,d,f){c(d)&&(d=[d]);if(a(d))return b;if(a(b))return f;if(e(d))return m.get(b,d.split("."), f);var g=h(d[0]);return 1===d.length?void 0===b[g]?f:b[g]:m.get(b[g],d.slice(1),f)},del:function(a,b){return l(a,b)}};return m})});var ca=function(a){return function(b){return typeof b===a}};var Ca=function(a,b){var c=1,e=b||function(a,b){return b};"-"===a[0]&&(c=-1,a=a.substr(1));return function(b,d){var f;b=e(a,ba.get(b,a));d=e(a,ba.get(d,a));b<d&&(f=-1);b>d&&(f=1);b===d&&(f=0);return f*c}};var U=function(){var a=Array.prototype.slice.call(arguments),b=a.filter(ca("string")),c=a.filter(ca("function"))[0]; return function(a,d){for(var e=b.length,f=0,k=0;0===f&&k<e;)f=Ca(b[k],c)(a,d),k++;return f}};let da="B kB MB GB TB PB EB ZB YB".split(" "),ea=(a,b)=>{let c=a;"string"===typeof b?c=a.toLocaleString(b):!0===b&&(c=a.toLocaleString());return c};var V=(a,b)=>{if(!Number.isFinite(a))throw new TypeError(`Expected a finite number, got ${typeof a}: ${a}`);b=Object.assign({},b);if(b.signed&&0===a)return" 0 B";var c=0>a;let e=c?"-":b.signed?"+":"";c&&(a=-a);if(1>a)return a=ea(a,b.locale),e+a+" B";c=Math.min(Math.floor(Math.log10(a)/ 3),da.length-1);a=Number((a/Math.pow(1E3,c)).toPrecision(3));a=ea(a,b.locale);return e+a+" "+da[c]},O={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},N=l.createContext&&l.createContext(O),r=window&&window.__assign||function(){r=Object.assign||function(a){for(var b,c=1,e=arguments.length;c<e;c++){b=arguments[c];for(var f in b)Object.prototype.hasOwnProperty.call(b,f)&&(a[f]=b[f])}return a};return r.apply(this,arguments)},ha=window&&window.__rest||function(a,b){var c={},e;for(e in a)Object.prototype.hasOwnProperty.call(a, e)&&0>b.indexOf(e)&&(c[e]=a[e]);if(null!=a&&"function"===typeof Object.getOwnPropertySymbols){var f=0;for(e=Object.getOwnPropertySymbols(a);f<e.length;f++)0>b.indexOf(e[f])&&(c[e[f]]=a[e[f]])}return c},Q=function(a){return w({tag:"svg",attr:{viewBox:"0 0 12 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M8.5 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h10c.55 0 1-.45 1-1V4.5L8.5 1zM11 14H1V2h7l3 3v9zM5 6.98L3.5 8.5 5 10l-.5 1L2 8.5 4.5 6l.5.98zM7.5 6L10 8.5 7.5 11l-.5-.98L8.5 8.5 7 7l.5-1z"}}]})(a)}; Q.displayName="GoFileCode";var R=function(a){return w({tag:"svg",attr:{viewBox:"0 0 14 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"}}]})(a)};R.displayName="GoFileDirectory";var P=function(a){return w({tag:"svg",attr:{viewBox:"0 0 12 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"}}]})(a)}; P.displayName="GoFile";var T=function(a){return w({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(a)}; T.displayName="FaGithub";var S=function(a){return w({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"}}]})(a)}; S.displayName="FaTwitter";var D={color:"#0076ff",textDecoration:"none",":hover":{textDecoration:"underline"}},n={paddingTop:6,paddingRight:3,paddingBottom:6,paddingLeft:3,borderTop:"1px solid #eaecef"},C=k({},n,{color:"#424242",width:17,paddingRight:2,paddingLeft:10,"@media (max-width: 700px)":{paddingLeft:20}}),E=k({},n,{textAlign:"right",paddingRight:10,"@media (max-width: 700px)":{paddingRight:20}}),Da=c.css(X(),'\nfont-family: -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n "Roboto",\n "Oxygen",\n "Ubuntu",\n "Cantarell",\n "Fira Sans",\n "Droid Sans",\n "Helvetica Neue",\n sans-serif;\n', "\nfont-family: Menlo,\n Monaco,\n Lucida Console,\n Liberation Mono,\n DejaVu Sans Mono,\n Bitstream Vera Sans Mono,\n Courier New,\n monospace;\n"),Ea=c.css(W());t.hydrate(Z.createElement(function(a){var b=a.packageName,d=a.packageVersion,e=a.availableVersions;e=void 0===e?[]:e;var f=a.filename;a=a.target;return c.jsx(l.Fragment,null,c.jsx(c.Global,{styles:Da}),c.jsx(c.Global,{styles:Ea}),c.jsx("div",{css:{flex:"1 0 auto"}},c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto"}}, c.jsx(ta,null)),c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto"}},c.jsx(ua,{packageName:b,packageVersion:d,availableVersions:e,filename:f})),c.jsx("div",{css:{maxWidth:940,padding:"0 20px",margin:"0 auto","@media (max-width: 700px)":{padding:0,margin:0}}},c.jsx(wa,{packageName:b,packageVersion:d,target:a}))),c.jsx("footer",{css:{marginTop:"5rem",background:"black",color:"#aaa"}},c.jsx("div",{css:{maxWidth:940,padding:"10px 20px",margin:"0 auto",display:"flex",flexDirection:"row",alignItems:"center", justifyContent:"space-between"}},c.jsx("p",null,c.jsx("span",null,"Build: ","b5d1b223")),c.jsx("p",null,c.jsx("span",null,"\u00a9 ",(new Date).getFullYear()," UNPKG")),c.jsx("p",{css:{fontSize:"1.5rem"}},c.jsx("a",{href:"https://twitter.com/unpkg",css:{color:"#aaa",display:"inline-block",":hover":{color:"white"}}},c.jsx(la,null)),c.jsx("a",{href:"https://github.com/mjackson/unpkg",css:{color:"#aaa",display:"inline-block",":hover":{color:"white"},marginLeft:"1rem"}},c.jsx(ma,null))))))},window.__DATA__|| {}),document.getElementById("root"))})(React,ReactDOM,emotionCore); </script></body></html>