From c628a5e0ca3f2b4175e54847b4253adda640e3e6 Mon Sep 17 00:00:00 2001 From: Caleb Hearon Date: Fri, 18 Oct 2024 07:16:23 -0400 Subject: [PATCH] add support for the zoom property --- CHANGELOG.md | 2 + README.md | 1 + src/parse-css.js | 1572 ++++++++++++++++++++++--------------------- src/parse-css.pegjs | 6 + src/style.ts | 67 +- 5 files changed, 873 insertions(+), 775 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b7a361..dabafe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ project adheres to [Semantic Versioning](http://semver.org/). ================== ### Changed ### Added +* Added support for the `zoom` property + ### Fixed 0.4.0 diff --git a/README.md b/README.md index 54b6e26..46f5950 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ Following are rules that work or will work soon. Shorthand properties are not li | overflow | `hidden`, `visible` | ✅‍ Works | | width | `em`, `px`, `%`, `cm` etc, `auto` | ✅‍ Works | | z-index | `number`, `auto` | ✅‍ Works | +| zoom | `number`, `%` | ✅‍ Works | # Usage diff --git a/src/parse-css.js b/src/parse-css.js index cddbd5f..43166c4 100644 --- a/src/parse-css.js +++ b/src/parse-css.js @@ -414,55 +414,56 @@ function peg$parse(input, options) { var peg$c158 = "anywhere"; var peg$c159 = "overflow"; var peg$c160 = "visible"; - var peg$c161 = "width"; - var peg$c162 = "height"; - var peg$c163 = "box-sizing"; - var peg$c164 = "\\"; - var peg$c165 = "\r\n"; - var peg$c166 = "\""; - var peg$c167 = "'"; - var peg$c168 = "/*"; - var peg$c169 = "*"; - var peg$c170 = "-"; - var peg$c171 = "e"; - var peg$c172 = "\n"; - var peg$c173 = "\r"; - var peg$c174 = "\f"; - var peg$c175 = "a"; - var peg$c176 = "0"; - var peg$c177 = "c"; - var peg$c178 = "d"; - var peg$c179 = "g"; - var peg$c180 = "\\g"; - var peg$c181 = "h"; - var peg$c182 = "\\h"; - var peg$c183 = "i"; - var peg$c184 = "\\i"; - var peg$c185 = "k"; - var peg$c186 = "\\k"; - var peg$c187 = "l"; - var peg$c188 = "\\l"; - var peg$c189 = "m"; - var peg$c190 = "\\m"; - var peg$c191 = "n"; - var peg$c192 = "\\n"; - var peg$c193 = "o"; - var peg$c194 = "\\o"; - var peg$c195 = "p"; - var peg$c196 = "\\p"; - var peg$c197 = "r"; - var peg$c198 = "\\r"; - var peg$c199 = "s"; - var peg$c200 = "\\s"; - var peg$c201 = "t"; - var peg$c202 = "\\t"; - var peg$c203 = "u"; - var peg$c204 = "\\u"; - var peg$c205 = "x"; - var peg$c206 = "\\x"; - var peg$c207 = "z"; - var peg$c208 = "\\z"; - var peg$c209 = "("; + var peg$c161 = "zoom"; + var peg$c162 = "width"; + var peg$c163 = "height"; + var peg$c164 = "box-sizing"; + var peg$c165 = "\\"; + var peg$c166 = "\r\n"; + var peg$c167 = "\""; + var peg$c168 = "'"; + var peg$c169 = "/*"; + var peg$c170 = "*"; + var peg$c171 = "-"; + var peg$c172 = "e"; + var peg$c173 = "\n"; + var peg$c174 = "\r"; + var peg$c175 = "\f"; + var peg$c176 = "a"; + var peg$c177 = "0"; + var peg$c178 = "c"; + var peg$c179 = "d"; + var peg$c180 = "g"; + var peg$c181 = "\\g"; + var peg$c182 = "h"; + var peg$c183 = "\\h"; + var peg$c184 = "i"; + var peg$c185 = "\\i"; + var peg$c186 = "k"; + var peg$c187 = "\\k"; + var peg$c188 = "l"; + var peg$c189 = "\\l"; + var peg$c190 = "m"; + var peg$c191 = "\\m"; + var peg$c192 = "n"; + var peg$c193 = "\\n"; + var peg$c194 = "o"; + var peg$c195 = "\\o"; + var peg$c196 = "p"; + var peg$c197 = "\\p"; + var peg$c198 = "r"; + var peg$c199 = "\\r"; + var peg$c200 = "s"; + var peg$c201 = "\\s"; + var peg$c202 = "t"; + var peg$c203 = "\\t"; + var peg$c204 = "u"; + var peg$c205 = "\\u"; + var peg$c206 = "x"; + var peg$c207 = "\\x"; + var peg$c208 = "z"; + var peg$c209 = "\\z"; + var peg$c210 = "("; var peg$r0 = /^[0-9]/; var peg$r1 = /^[0-4]/; @@ -667,104 +668,105 @@ function peg$parse(input, options) { var peg$e163 = peg$literalExpectation("anywhere", false); var peg$e164 = peg$literalExpectation("overflow", true); var peg$e165 = peg$literalExpectation("visible", false); - var peg$e166 = peg$literalExpectation("width", true); - var peg$e167 = peg$literalExpectation("height", true); - var peg$e168 = peg$literalExpectation("top", true); - var peg$e169 = peg$literalExpectation("right", true); - var peg$e170 = peg$literalExpectation("bottom", true); - var peg$e171 = peg$literalExpectation("left", true); - var peg$e172 = peg$literalExpectation("box-sizing", true); - var peg$e173 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); - var peg$e174 = peg$classExpectation([["\x80", "\uFFFF"]], false, false); - var peg$e175 = peg$literalExpectation("\\", false); - var peg$e176 = peg$literalExpectation("\r\n", false); - var peg$e177 = peg$classExpectation([" ", "\t", "\r", "\n", "\f"], false, false); - var peg$e178 = peg$classExpectation(["\r", "\n", "\f", ["0", "9"], ["a", "f"]], true, true); - var peg$e179 = peg$classExpectation(["_", ["a", "z"]], false, true); - var peg$e180 = peg$classExpectation(["_", ["a", "z"], ["0", "9"], "-"], false, true); - var peg$e181 = peg$literalExpectation("\"", false); - var peg$e182 = peg$classExpectation(["\n", "\r", "\f", "\\", "\""], true, false); - var peg$e183 = peg$literalExpectation("'", false); - var peg$e184 = peg$classExpectation(["\n", "\r", "\f", "\\", "'"], true, false); - var peg$e185 = peg$literalExpectation("/*", false); - var peg$e186 = peg$classExpectation(["*"], true, false); - var peg$e187 = peg$literalExpectation("*", false); - var peg$e188 = peg$classExpectation(["/", "*"], true, false); - var peg$e189 = peg$literalExpectation("-", false); - var peg$e190 = peg$classExpectation(["+", "-"], false, false); - var peg$e191 = peg$literalExpectation("e", false); - var peg$e192 = peg$classExpectation(["!", "#", "$", "%", "&", ["*", "["], ["]", "~"]], false, false); - var peg$e193 = peg$literalExpectation("\n", false); - var peg$e194 = peg$literalExpectation("\r", false); - var peg$e195 = peg$literalExpectation("\f", false); - var peg$e196 = peg$literalExpectation("a", true); - var peg$e197 = peg$literalExpectation("0", false); - var peg$e198 = peg$classExpectation(["A", "a"], false, false); - var peg$e199 = peg$literalExpectation("c", true); - var peg$e200 = peg$classExpectation(["C", "c"], false, false); - var peg$e201 = peg$literalExpectation("d", true); - var peg$e202 = peg$classExpectation(["D", "d"], false, false); - var peg$e203 = peg$literalExpectation("e", true); - var peg$e204 = peg$classExpectation(["E", "e"], false, false); - var peg$e205 = peg$literalExpectation("g", true); - var peg$e206 = peg$classExpectation(["G", "g"], false, false); - var peg$e207 = peg$literalExpectation("\\g", true); - var peg$e208 = peg$literalExpectation("h", true); - var peg$e209 = peg$classExpectation(["H", "h"], false, false); - var peg$e210 = peg$literalExpectation("\\h", true); - var peg$e211 = peg$literalExpectation("i", true); - var peg$e212 = peg$classExpectation(["I", "i"], false, false); - var peg$e213 = peg$literalExpectation("\\i", true); - var peg$e214 = peg$literalExpectation("k", true); - var peg$e215 = peg$classExpectation(["K", "k"], false, false); - var peg$e216 = peg$literalExpectation("\\k", true); - var peg$e217 = peg$literalExpectation("l", true); - var peg$e218 = peg$classExpectation(["L", "l"], false, false); - var peg$e219 = peg$literalExpectation("\\l", true); - var peg$e220 = peg$literalExpectation("m", true); - var peg$e221 = peg$classExpectation(["M", "m"], false, false); - var peg$e222 = peg$literalExpectation("\\m", true); - var peg$e223 = peg$literalExpectation("n", true); - var peg$e224 = peg$classExpectation(["N", "n"], false, false); - var peg$e225 = peg$literalExpectation("\\n", true); - var peg$e226 = peg$literalExpectation("o", true); - var peg$e227 = peg$classExpectation(["O", "o"], false, false); - var peg$e228 = peg$literalExpectation("\\o", true); - var peg$e229 = peg$literalExpectation("p", true); - var peg$e230 = peg$classExpectation(["P", "p"], false, false); - var peg$e231 = peg$literalExpectation("\\p", true); - var peg$e232 = peg$literalExpectation("r", true); - var peg$e233 = peg$classExpectation(["R", "r"], false, false); - var peg$e234 = peg$literalExpectation("\\r", true); - var peg$e235 = peg$literalExpectation("s", true); - var peg$e236 = peg$classExpectation(["S", "s"], false, false); - var peg$e237 = peg$literalExpectation("\\s", true); - var peg$e238 = peg$literalExpectation("t", true); - var peg$e239 = peg$classExpectation(["T", "t"], false, false); - var peg$e240 = peg$literalExpectation("\\t", true); - var peg$e241 = peg$literalExpectation("u", true); - var peg$e242 = peg$classExpectation(["U", "u"], false, false); - var peg$e243 = peg$literalExpectation("\\u", true); - var peg$e244 = peg$literalExpectation("x", true); - var peg$e245 = peg$classExpectation(["X", "x"], false, false); - var peg$e246 = peg$literalExpectation("\\x", true); - var peg$e247 = peg$literalExpectation("z", true); - var peg$e248 = peg$classExpectation(["Z", "z"], false, false); - var peg$e249 = peg$literalExpectation("\\z", true); - var peg$e250 = peg$otherExpectation("whitespace"); - var peg$e251 = peg$otherExpectation("string"); - var peg$e252 = peg$otherExpectation("identifier"); - var peg$e253 = peg$otherExpectation("hash"); - var peg$e254 = peg$otherExpectation("length"); - var peg$e255 = peg$otherExpectation("angle"); - var peg$e256 = peg$otherExpectation("time"); - var peg$e257 = peg$otherExpectation("frequency"); - var peg$e258 = peg$otherExpectation("percentage"); - var peg$e259 = peg$otherExpectation("number"); - var peg$e260 = peg$otherExpectation("uri"); - var peg$e261 = peg$literalExpectation("(", true); - var peg$e262 = peg$otherExpectation("function"); - var peg$e263 = peg$literalExpectation("(", false); + var peg$e166 = peg$literalExpectation("zoom", true); + var peg$e167 = peg$literalExpectation("width", true); + var peg$e168 = peg$literalExpectation("height", true); + var peg$e169 = peg$literalExpectation("top", true); + var peg$e170 = peg$literalExpectation("right", true); + var peg$e171 = peg$literalExpectation("bottom", true); + var peg$e172 = peg$literalExpectation("left", true); + var peg$e173 = peg$literalExpectation("box-sizing", true); + var peg$e174 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true); + var peg$e175 = peg$classExpectation([["\x80", "\uFFFF"]], false, false); + var peg$e176 = peg$literalExpectation("\\", false); + var peg$e177 = peg$literalExpectation("\r\n", false); + var peg$e178 = peg$classExpectation([" ", "\t", "\r", "\n", "\f"], false, false); + var peg$e179 = peg$classExpectation(["\r", "\n", "\f", ["0", "9"], ["a", "f"]], true, true); + var peg$e180 = peg$classExpectation(["_", ["a", "z"]], false, true); + var peg$e181 = peg$classExpectation(["_", ["a", "z"], ["0", "9"], "-"], false, true); + var peg$e182 = peg$literalExpectation("\"", false); + var peg$e183 = peg$classExpectation(["\n", "\r", "\f", "\\", "\""], true, false); + var peg$e184 = peg$literalExpectation("'", false); + var peg$e185 = peg$classExpectation(["\n", "\r", "\f", "\\", "'"], true, false); + var peg$e186 = peg$literalExpectation("/*", false); + var peg$e187 = peg$classExpectation(["*"], true, false); + var peg$e188 = peg$literalExpectation("*", false); + var peg$e189 = peg$classExpectation(["/", "*"], true, false); + var peg$e190 = peg$literalExpectation("-", false); + var peg$e191 = peg$classExpectation(["+", "-"], false, false); + var peg$e192 = peg$literalExpectation("e", false); + var peg$e193 = peg$classExpectation(["!", "#", "$", "%", "&", ["*", "["], ["]", "~"]], false, false); + var peg$e194 = peg$literalExpectation("\n", false); + var peg$e195 = peg$literalExpectation("\r", false); + var peg$e196 = peg$literalExpectation("\f", false); + var peg$e197 = peg$literalExpectation("a", true); + var peg$e198 = peg$literalExpectation("0", false); + var peg$e199 = peg$classExpectation(["A", "a"], false, false); + var peg$e200 = peg$literalExpectation("c", true); + var peg$e201 = peg$classExpectation(["C", "c"], false, false); + var peg$e202 = peg$literalExpectation("d", true); + var peg$e203 = peg$classExpectation(["D", "d"], false, false); + var peg$e204 = peg$literalExpectation("e", true); + var peg$e205 = peg$classExpectation(["E", "e"], false, false); + var peg$e206 = peg$literalExpectation("g", true); + var peg$e207 = peg$classExpectation(["G", "g"], false, false); + var peg$e208 = peg$literalExpectation("\\g", true); + var peg$e209 = peg$literalExpectation("h", true); + var peg$e210 = peg$classExpectation(["H", "h"], false, false); + var peg$e211 = peg$literalExpectation("\\h", true); + var peg$e212 = peg$literalExpectation("i", true); + var peg$e213 = peg$classExpectation(["I", "i"], false, false); + var peg$e214 = peg$literalExpectation("\\i", true); + var peg$e215 = peg$literalExpectation("k", true); + var peg$e216 = peg$classExpectation(["K", "k"], false, false); + var peg$e217 = peg$literalExpectation("\\k", true); + var peg$e218 = peg$literalExpectation("l", true); + var peg$e219 = peg$classExpectation(["L", "l"], false, false); + var peg$e220 = peg$literalExpectation("\\l", true); + var peg$e221 = peg$literalExpectation("m", true); + var peg$e222 = peg$classExpectation(["M", "m"], false, false); + var peg$e223 = peg$literalExpectation("\\m", true); + var peg$e224 = peg$literalExpectation("n", true); + var peg$e225 = peg$classExpectation(["N", "n"], false, false); + var peg$e226 = peg$literalExpectation("\\n", true); + var peg$e227 = peg$literalExpectation("o", true); + var peg$e228 = peg$classExpectation(["O", "o"], false, false); + var peg$e229 = peg$literalExpectation("\\o", true); + var peg$e230 = peg$literalExpectation("p", true); + var peg$e231 = peg$classExpectation(["P", "p"], false, false); + var peg$e232 = peg$literalExpectation("\\p", true); + var peg$e233 = peg$literalExpectation("r", true); + var peg$e234 = peg$classExpectation(["R", "r"], false, false); + var peg$e235 = peg$literalExpectation("\\r", true); + var peg$e236 = peg$literalExpectation("s", true); + var peg$e237 = peg$classExpectation(["S", "s"], false, false); + var peg$e238 = peg$literalExpectation("\\s", true); + var peg$e239 = peg$literalExpectation("t", true); + var peg$e240 = peg$classExpectation(["T", "t"], false, false); + var peg$e241 = peg$literalExpectation("\\t", true); + var peg$e242 = peg$literalExpectation("u", true); + var peg$e243 = peg$classExpectation(["U", "u"], false, false); + var peg$e244 = peg$literalExpectation("\\u", true); + var peg$e245 = peg$literalExpectation("x", true); + var peg$e246 = peg$classExpectation(["X", "x"], false, false); + var peg$e247 = peg$literalExpectation("\\x", true); + var peg$e248 = peg$literalExpectation("z", true); + var peg$e249 = peg$classExpectation(["Z", "z"], false, false); + var peg$e250 = peg$literalExpectation("\\z", true); + var peg$e251 = peg$otherExpectation("whitespace"); + var peg$e252 = peg$otherExpectation("string"); + var peg$e253 = peg$otherExpectation("identifier"); + var peg$e254 = peg$otherExpectation("hash"); + var peg$e255 = peg$otherExpectation("length"); + var peg$e256 = peg$otherExpectation("angle"); + var peg$e257 = peg$otherExpectation("time"); + var peg$e258 = peg$otherExpectation("frequency"); + var peg$e259 = peg$otherExpectation("percentage"); + var peg$e260 = peg$otherExpectation("number"); + var peg$e261 = peg$otherExpectation("uri"); + var peg$e262 = peg$literalExpectation("(", true); + var peg$e263 = peg$otherExpectation("function"); + var peg$e264 = peg$literalExpectation("(", false); var peg$f0 = function(declarationsHead, declarationsTail) { return combine(buildList(declarationsHead, declarationsTail, 2)); }; var peg$f1 = function(name, value) { @@ -1175,91 +1177,94 @@ function peg$parse(input, options) { var peg$f126 = function(overflow) { return {overflow}; }; - var peg$f127 = function(width) { + var peg$f127 = function(zoom) { + return {zoom}; + }; + var peg$f128 = function(width) { return {width}; }; - var peg$f128 = function(height) { + var peg$f129 = function(height) { return {height}; }; - var peg$f129 = function(top) { + var peg$f130 = function(top) { return {top}; }; - var peg$f130 = function(right) { + var peg$f131 = function(right) { return {right}; }; - var peg$f131 = function(bottom) { + var peg$f132 = function(bottom) { return {bottom}; }; - var peg$f132 = function(left) { + var peg$f133 = function(left) { return {left}; }; - var peg$f133 = function(boxSizing) { + var peg$f134 = function(boxSizing) { return {boxSizing}; }; - var peg$f134 = function(digits) { + var peg$f135 = function(digits) { return String.fromCharCode(parseInt(digits, 16)); }; - var peg$f135 = function(ch) { return ch; }; - var peg$f136 = function(nl) { return ''; }; - var peg$f137 = function(chars) { + var peg$f136 = function(ch) { return ch; }; + var peg$f137 = function(nl) { return ''; }; + var peg$f138 = function(chars) { return chars.join(''); }; - var peg$f138 = function(nl) { return ''; }; - var peg$f139 = function(chars) { + var peg$f139 = function(nl) { return ''; }; + var peg$f140 = function(chars) { return chars.join(''); }; - var peg$f140 = function(prefix, start, chars) { + var peg$f141 = function(prefix, start, chars) { return prefix + start + chars.join(''); }; - var peg$f141 = function(chars) { return chars.join(''); }; - var peg$f142 = function() { + var peg$f142 = function(chars) { return chars.join(''); }; + var peg$f143 = function() { return parseFloat(text()); }; - var peg$f143 = function(chars) { return chars.join(''); }; - var peg$f144 = function() { return 'a'; }; - var peg$f145 = function() { return 'c'; }; - var peg$f146 = function() { return 'd'; }; - var peg$f147 = function() { return 'e'; }; - var peg$f148 = function() { return 'g'; }; - var peg$f149 = function() { return 'h'; }; - var peg$f150 = function() { return 'i'; }; - var peg$f151 = function() { return 'k'; }; - var peg$f152 = function() { return 'l'; }; - var peg$f153 = function() { return 'm'; }; - var peg$f154 = function() { return 'n'; }; - var peg$f155 = function() { return 'o'; }; - var peg$f156 = function() { return 'p'; }; - var peg$f157 = function() { return 'r'; }; - var peg$f158 = function() { return 's'; }; - var peg$f159 = function() { return 't'; }; - var peg$f160 = function() { return 'u'; }; - var peg$f161 = function() { return 'x'; }; - var peg$f162 = function() { return 'z'; }; - var peg$f163 = function(string) { return string; }; - var peg$f164 = function(ident) { return ident; }; - var peg$f165 = function(name) { return '#' + name; }; - var peg$f166 = function(value) { return { value: value, unit: 'ex' }; }; - var peg$f167 = function(value) { return value; }; - var peg$f168 = function(value) { return { value: value, unit: 'cm' }; }; - var peg$f169 = function(value) { return { value: value, unit: 'mm' }; }; - var peg$f170 = function(value) { return { value: value, unit: 'in' }; }; - var peg$f171 = function(value) { return { value: value, unit: 'pt' }; }; - var peg$f172 = function(value) { return { value: value, unit: 'pc' }; }; - var peg$f173 = function(value) { return { value: value, unit: 'em' }; }; - var peg$f174 = function() { return 0; }; - var peg$f175 = function(value) { return { value: value, unit: 'deg' }; }; - var peg$f176 = function(value) { return { value: value, unit: 'rad' }; }; - var peg$f177 = function(value) { return { value: value, unit: 'grad' }; }; - var peg$f178 = function(value) { return { value: value, unit: 'ms' }; }; - var peg$f179 = function(value) { return { value: value, unit: 's' }; }; - var peg$f180 = function(value) { return { value: value, unit: 'hz' }; }; - var peg$f181 = function(value) { return { value: value, unit: 'kh' }; }; - var peg$f182 = function(value) { return { value: value, unit: '%' }; }; - var peg$f183 = function(value) { return value; }; - var peg$f184 = function(value) { return { value: value, unit: null }; }; - var peg$f185 = function(url) { return url; }; + var peg$f144 = function(chars) { return chars.join(''); }; + var peg$f145 = function() { return 'a'; }; + var peg$f146 = function() { return 'c'; }; + var peg$f147 = function() { return 'd'; }; + var peg$f148 = function() { return 'e'; }; + var peg$f149 = function() { return 'g'; }; + var peg$f150 = function() { return 'h'; }; + var peg$f151 = function() { return 'i'; }; + var peg$f152 = function() { return 'k'; }; + var peg$f153 = function() { return 'l'; }; + var peg$f154 = function() { return 'm'; }; + var peg$f155 = function() { return 'n'; }; + var peg$f156 = function() { return 'o'; }; + var peg$f157 = function() { return 'p'; }; + var peg$f158 = function() { return 'r'; }; + var peg$f159 = function() { return 's'; }; + var peg$f160 = function() { return 't'; }; + var peg$f161 = function() { return 'u'; }; + var peg$f162 = function() { return 'x'; }; + var peg$f163 = function() { return 'z'; }; + var peg$f164 = function(string) { return string; }; + var peg$f165 = function(ident) { return ident; }; + var peg$f166 = function(name) { return '#' + name; }; + var peg$f167 = function(value) { return { value: value, unit: 'ex' }; }; + var peg$f168 = function(value) { return value; }; + var peg$f169 = function(value) { return { value: value, unit: 'cm' }; }; + var peg$f170 = function(value) { return { value: value, unit: 'mm' }; }; + var peg$f171 = function(value) { return { value: value, unit: 'in' }; }; + var peg$f172 = function(value) { return { value: value, unit: 'pt' }; }; + var peg$f173 = function(value) { return { value: value, unit: 'pc' }; }; + var peg$f174 = function(value) { return { value: value, unit: 'em' }; }; + var peg$f175 = function() { return 0; }; + var peg$f176 = function(value) { return { value: value, unit: 'deg' }; }; + var peg$f177 = function(value) { return { value: value, unit: 'rad' }; }; + var peg$f178 = function(value) { return { value: value, unit: 'grad' }; }; + var peg$f179 = function(value) { return { value: value, unit: 'ms' }; }; + var peg$f180 = function(value) { return { value: value, unit: 's' }; }; + var peg$f181 = function(value) { return { value: value, unit: 'hz' }; }; + var peg$f182 = function(value) { return { value: value, unit: 'kh' }; }; + var peg$f183 = function(value) { return { value: value, unit: '%' }; }; + var peg$f184 = function(value) { return value; }; + var peg$f185 = function(value) { return { value: value, unit: null }; }; var peg$f186 = function(url) { return url; }; - var peg$f187 = function(name) { return name; }; + var peg$f187 = function(url) { return url; }; + var peg$f188 = function(name) { return name; }; var peg$currPos = 0; var peg$savedPos = 0; var peg$posDetailsCache = [{ line: 1, column: 1 }]; @@ -1606,27 +1611,33 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$parseoverflow_dec(); if (s0 === peg$FAILED) { - s0 = peg$currPos; - s1 = peg$parseproperty(); - if (s1 !== peg$FAILED) { - if (input.charCodeAt(peg$currPos) === 58) { - s2 = peg$c1; - peg$currPos++; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e1); } - } - if (s2 !== peg$FAILED) { - s3 = []; - s4 = peg$parseS(); - while (s4 !== peg$FAILED) { - s3.push(s4); - s4 = peg$parseS(); + s0 = peg$parsezoom_dec(); + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseproperty(); + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 58) { + s2 = peg$c1; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } } - s4 = peg$parseexpr(); - if (s4 !== peg$FAILED) { - peg$savedPos = s0; - s0 = peg$f1(s1, s4); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parseS(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parseS(); + } + s4 = peg$parseexpr(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f1(s1, s4); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } } else { peg$currPos = s0; s0 = peg$FAILED; @@ -1635,9 +1646,6 @@ function peg$parse(input, options) { peg$currPos = s0; s0 = peg$FAILED; } - } else { - peg$currPos = s0; - s0 = peg$FAILED; } } } @@ -9042,16 +9050,74 @@ function peg$parse(input, options) { return s0; } + function peg$parsezoom_dec() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c161) { + s1 = input.substr(peg$currPos, 4); + peg$currPos += 4; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e166); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parseS(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parseS(); + } + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c1; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$e1); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parseS(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parseS(); + } + s5 = peg$parsePERCENTAGE(); + if (s5 === peg$FAILED) { + s5 = peg$parseNUMBER(); + if (s5 === peg$FAILED) { + s5 = peg$parsedefault(); + } + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s0 = peg$f127(s5); + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + function peg$parsewidth_dec() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c161) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c162) { s1 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e166); } + if (peg$silentFails === 0) { peg$fail(peg$e167); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9089,7 +9155,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f127(s5); + s0 = peg$f128(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9110,12 +9176,12 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c162) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c163) { s1 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e167); } + if (peg$silentFails === 0) { peg$fail(peg$e168); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9153,7 +9219,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f128(s5); + s0 = peg$f129(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9179,7 +9245,7 @@ function peg$parse(input, options) { peg$currPos += 3; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e168); } + if (peg$silentFails === 0) { peg$fail(peg$e169); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9217,7 +9283,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f129(s5); + s0 = peg$f130(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9243,7 +9309,7 @@ function peg$parse(input, options) { peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e169); } + if (peg$silentFails === 0) { peg$fail(peg$e170); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9281,7 +9347,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f130(s5); + s0 = peg$f131(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9307,7 +9373,7 @@ function peg$parse(input, options) { peg$currPos += 6; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e170); } + if (peg$silentFails === 0) { peg$fail(peg$e171); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9345,7 +9411,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f131(s5); + s0 = peg$f132(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9371,7 +9437,7 @@ function peg$parse(input, options) { peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e171); } + if (peg$silentFails === 0) { peg$fail(peg$e172); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9409,7 +9475,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f132(s5); + s0 = peg$f133(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9430,12 +9496,12 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c163) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c164) { s1 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e172); } + if (peg$silentFails === 0) { peg$fail(peg$e173); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9479,7 +9545,7 @@ function peg$parse(input, options) { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f133(s5); + s0 = peg$f134(s5); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9504,7 +9570,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e173); } + if (peg$silentFails === 0) { peg$fail(peg$e174); } } return s0; @@ -9518,7 +9584,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e174); } + if (peg$silentFails === 0) { peg$fail(peg$e175); } } return s0; @@ -9529,11 +9595,11 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; @@ -9572,12 +9638,12 @@ function peg$parse(input, options) { s2 = s3; } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s3 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s3 = peg$c166; peg$currPos += 2; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s3 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -9585,14 +9651,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s3 === peg$FAILED) { s3 = null; } peg$savedPos = s0; - s0 = peg$f134(s2); + s0 = peg$f135(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9612,11 +9678,11 @@ function peg$parse(input, options) { if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (peg$r8.test(input.charAt(peg$currPos))) { @@ -9624,11 +9690,11 @@ function peg$parse(input, options) { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e178); } + if (peg$silentFails === 0) { peg$fail(peg$e179); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f135(s2); + s0 = peg$f136(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9650,7 +9716,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e179); } + if (peg$silentFails === 0) { peg$fail(peg$e180); } } if (s0 === peg$FAILED) { s0 = peg$parsenonascii(); @@ -9670,7 +9736,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e180); } + if (peg$silentFails === 0) { peg$fail(peg$e181); } } if (s0 === peg$FAILED) { s0 = peg$parsenonascii(); @@ -9687,11 +9753,11 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c166; + s1 = peg$c167; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e181); } + if (peg$silentFails === 0) { peg$fail(peg$e182); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9700,22 +9766,22 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e182); } + if (peg$silentFails === 0) { peg$fail(peg$e183); } } if (s3 === peg$FAILED) { s3 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s4 = peg$c164; + s4 = peg$c165; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s4 !== peg$FAILED) { s5 = peg$parsenl(); if (s5 !== peg$FAILED) { peg$savedPos = s3; - s3 = peg$f136(s5); + s3 = peg$f137(s5); } else { peg$currPos = s3; s3 = peg$FAILED; @@ -9735,22 +9801,22 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e182); } + if (peg$silentFails === 0) { peg$fail(peg$e183); } } if (s3 === peg$FAILED) { s3 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s4 = peg$c164; + s4 = peg$c165; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s4 !== peg$FAILED) { s5 = peg$parsenl(); if (s5 !== peg$FAILED) { peg$savedPos = s3; - s3 = peg$f136(s5); + s3 = peg$f137(s5); } else { peg$currPos = s3; s3 = peg$FAILED; @@ -9765,15 +9831,15 @@ function peg$parse(input, options) { } } if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c166; + s3 = peg$c167; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e181); } + if (peg$silentFails === 0) { peg$fail(peg$e182); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f137(s2); + s0 = peg$f138(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9791,11 +9857,11 @@ function peg$parse(input, options) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c167; + s1 = peg$c168; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e183); } + if (peg$silentFails === 0) { peg$fail(peg$e184); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9804,22 +9870,22 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e184); } + if (peg$silentFails === 0) { peg$fail(peg$e185); } } if (s3 === peg$FAILED) { s3 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s4 = peg$c164; + s4 = peg$c165; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s4 !== peg$FAILED) { s5 = peg$parsenl(); if (s5 !== peg$FAILED) { peg$savedPos = s3; - s3 = peg$f138(s5); + s3 = peg$f139(s5); } else { peg$currPos = s3; s3 = peg$FAILED; @@ -9839,22 +9905,22 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e184); } + if (peg$silentFails === 0) { peg$fail(peg$e185); } } if (s3 === peg$FAILED) { s3 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s4 = peg$c164; + s4 = peg$c165; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s4 !== peg$FAILED) { s5 = peg$parsenl(); if (s5 !== peg$FAILED) { peg$savedPos = s3; - s3 = peg$f138(s5); + s3 = peg$f139(s5); } else { peg$currPos = s3; s3 = peg$FAILED; @@ -9869,15 +9935,15 @@ function peg$parse(input, options) { } } if (input.charCodeAt(peg$currPos) === 39) { - s3 = peg$c167; + s3 = peg$c168; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e183); } + if (peg$silentFails === 0) { peg$fail(peg$e184); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f139(s2); + s0 = peg$f140(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -9894,12 +9960,12 @@ function peg$parse(input, options) { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; s0 = peg$currPos; - if (input.substr(peg$currPos, 2) === peg$c168) { - s1 = peg$c168; + if (input.substr(peg$currPos, 2) === peg$c169) { + s1 = peg$c169; peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e185); } + if (peg$silentFails === 0) { peg$fail(peg$e186); } } if (s1 !== peg$FAILED) { s2 = []; @@ -9908,7 +9974,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } while (s3 !== peg$FAILED) { s2.push(s3); @@ -9917,26 +9983,26 @@ function peg$parse(input, options) { peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } } s3 = []; if (input.charCodeAt(peg$currPos) === 42) { - s4 = peg$c169; + s4 = peg$c170; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } if (s4 !== peg$FAILED) { while (s4 !== peg$FAILED) { s3.push(s4); if (input.charCodeAt(peg$currPos) === 42) { - s4 = peg$c169; + s4 = peg$c170; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } } } else { @@ -9950,7 +10016,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e188); } + if (peg$silentFails === 0) { peg$fail(peg$e189); } } if (s6 !== peg$FAILED) { s7 = []; @@ -9959,7 +10025,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } while (s8 !== peg$FAILED) { s7.push(s8); @@ -9968,26 +10034,26 @@ function peg$parse(input, options) { peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } } s8 = []; if (input.charCodeAt(peg$currPos) === 42) { - s9 = peg$c169; + s9 = peg$c170; peg$currPos++; } else { s9 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } if (s9 !== peg$FAILED) { while (s9 !== peg$FAILED) { s8.push(s9); if (input.charCodeAt(peg$currPos) === 42) { - s9 = peg$c169; + s9 = peg$c170; peg$currPos++; } else { s9 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } } } else { @@ -10012,7 +10078,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e188); } + if (peg$silentFails === 0) { peg$fail(peg$e189); } } if (s6 !== peg$FAILED) { s7 = []; @@ -10021,7 +10087,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } while (s8 !== peg$FAILED) { s7.push(s8); @@ -10030,26 +10096,26 @@ function peg$parse(input, options) { peg$currPos++; } else { s8 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e186); } + if (peg$silentFails === 0) { peg$fail(peg$e187); } } } s8 = []; if (input.charCodeAt(peg$currPos) === 42) { - s9 = peg$c169; + s9 = peg$c170; peg$currPos++; } else { s9 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } if (s9 !== peg$FAILED) { while (s9 !== peg$FAILED) { s8.push(s9); if (input.charCodeAt(peg$currPos) === 42) { - s9 = peg$c169; + s9 = peg$c170; peg$currPos++; } else { s9 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e187); } + if (peg$silentFails === 0) { peg$fail(peg$e188); } } } } else { @@ -10099,11 +10165,11 @@ function peg$parse(input, options) { s0 = peg$currPos; s1 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { - s2 = peg$c170; + s2 = peg$c171; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e189); } + if (peg$silentFails === 0) { peg$fail(peg$e190); } } if (s2 === peg$FAILED) { s2 = null; @@ -10118,7 +10184,7 @@ function peg$parse(input, options) { s4 = peg$parsenmchar(); } peg$savedPos = s0; - s0 = peg$f140(s1, s2, s3); + s0 = peg$f141(s1, s2, s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10143,7 +10209,7 @@ function peg$parse(input, options) { } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f141(s1); + s1 = peg$f142(s1); } s0 = s1; @@ -10159,7 +10225,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e190); } + if (peg$silentFails === 0) { peg$fail(peg$e191); } } if (s1 === peg$FAILED) { s1 = null; @@ -10251,11 +10317,11 @@ function peg$parse(input, options) { if (s2 !== peg$FAILED) { s3 = peg$currPos; if (input.charCodeAt(peg$currPos) === 101) { - s4 = peg$c171; + s4 = peg$c172; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e191); } + if (peg$silentFails === 0) { peg$fail(peg$e192); } } if (s4 !== peg$FAILED) { if (peg$r15.test(input.charAt(peg$currPos))) { @@ -10263,7 +10329,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e190); } + if (peg$silentFails === 0) { peg$fail(peg$e191); } } if (s5 === peg$FAILED) { s5 = null; @@ -10305,7 +10371,7 @@ function peg$parse(input, options) { s3 = null; } peg$savedPos = s0; - s0 = peg$f142(); + s0 = peg$f143(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10335,7 +10401,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e192); } + if (peg$silentFails === 0) { peg$fail(peg$e193); } } if (s2 === peg$FAILED) { s2 = peg$parsenonascii(); @@ -10350,7 +10416,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e192); } + if (peg$silentFails === 0) { peg$fail(peg$e193); } } if (s2 === peg$FAILED) { s2 = peg$parsenonascii(); @@ -10360,7 +10426,7 @@ function peg$parse(input, options) { } } peg$savedPos = s0; - s1 = peg$f143(s1); + s1 = peg$f144(s1); s0 = s1; return s0; @@ -10375,7 +10441,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { @@ -10385,7 +10451,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } } else { @@ -10410,35 +10476,35 @@ function peg$parse(input, options) { var s0; if (input.charCodeAt(peg$currPos) === 10) { - s0 = peg$c172; + s0 = peg$c173; peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e193); } + if (peg$silentFails === 0) { peg$fail(peg$e194); } } if (s0 === peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s0 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s0 = peg$c166; peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 13) { - s0 = peg$c173; + s0 = peg$c174; peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e194); } + if (peg$silentFails === 0) { peg$fail(peg$e195); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 12) { - s0 = peg$c174; + s0 = peg$c175; peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e195); } + if (peg$silentFails === 0) { peg$fail(peg$e196); } } } } @@ -10450,59 +10516,59 @@ function peg$parse(input, options) { function peg$parseA() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c175) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c176) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e196); } + if (peg$silentFails === 0) { peg$fail(peg$e197); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -10512,15 +10578,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e198); } + if (peg$silentFails === 0) { peg$fail(peg$e199); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -10528,14 +10594,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { s7 = null; } peg$savedPos = s0; - s0 = peg$f144(); + s0 = peg$f145(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10552,59 +10618,59 @@ function peg$parse(input, options) { function peg$parseC() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c177) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c178) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e199); } + if (peg$silentFails === 0) { peg$fail(peg$e200); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -10614,15 +10680,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e200); } + if (peg$silentFails === 0) { peg$fail(peg$e201); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -10630,14 +10696,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { s7 = null; } peg$savedPos = s0; - s0 = peg$f145(); + s0 = peg$f146(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10654,59 +10720,59 @@ function peg$parse(input, options) { function peg$parseD() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c178) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c179) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e201); } + if (peg$silentFails === 0) { peg$fail(peg$e202); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -10716,15 +10782,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e202); } + if (peg$silentFails === 0) { peg$fail(peg$e203); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -10732,14 +10798,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { s7 = null; } peg$savedPos = s0; - s0 = peg$f146(); + s0 = peg$f147(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10756,59 +10822,59 @@ function peg$parse(input, options) { function peg$parseE() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c171) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c172) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e203); } + if (peg$silentFails === 0) { peg$fail(peg$e204); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -10818,15 +10884,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e204); } + if (peg$silentFails === 0) { peg$fail(peg$e205); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -10834,14 +10900,14 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { s7 = null; } peg$savedPos = s0; - s0 = peg$f147(); + s0 = peg$f148(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -10858,59 +10924,59 @@ function peg$parse(input, options) { function peg$parseG() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c179) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c180) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e205); } + if (peg$silentFails === 0) { peg$fail(peg$e206); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -10920,15 +10986,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e206); } + if (peg$silentFails === 0) { peg$fail(peg$e207); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -10936,7 +11002,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -10954,16 +11020,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c180) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c181) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e207); } + if (peg$silentFails === 0) { peg$fail(peg$e208); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f148(); + s1 = peg$f149(); } s0 = s1; } @@ -10975,59 +11041,59 @@ function peg$parse(input, options) { function peg$parseH() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c181) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c182) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e208); } + if (peg$silentFails === 0) { peg$fail(peg$e209); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11037,15 +11103,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e209); } + if (peg$silentFails === 0) { peg$fail(peg$e210); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11053,7 +11119,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11071,16 +11137,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c182) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c183) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e210); } + if (peg$silentFails === 0) { peg$fail(peg$e211); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f149(); + s1 = peg$f150(); } s0 = s1; } @@ -11092,59 +11158,59 @@ function peg$parse(input, options) { function peg$parseI() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c183) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c184) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e211); } + if (peg$silentFails === 0) { peg$fail(peg$e212); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11154,15 +11220,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e212); } + if (peg$silentFails === 0) { peg$fail(peg$e213); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11170,7 +11236,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11188,16 +11254,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c184) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c185) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e213); } + if (peg$silentFails === 0) { peg$fail(peg$e214); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f150(); + s1 = peg$f151(); } s0 = s1; } @@ -11209,59 +11275,59 @@ function peg$parse(input, options) { function peg$parseK() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c185) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c186) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e214); } + if (peg$silentFails === 0) { peg$fail(peg$e215); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11271,15 +11337,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e215); } + if (peg$silentFails === 0) { peg$fail(peg$e216); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11287,7 +11353,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11305,16 +11371,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c186) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c187) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e216); } + if (peg$silentFails === 0) { peg$fail(peg$e217); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f151(); + s1 = peg$f152(); } s0 = s1; } @@ -11326,59 +11392,59 @@ function peg$parse(input, options) { function peg$parseL() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c187) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c188) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e217); } + if (peg$silentFails === 0) { peg$fail(peg$e218); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11388,15 +11454,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e218); } + if (peg$silentFails === 0) { peg$fail(peg$e219); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11404,7 +11470,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11422,16 +11488,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c188) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c189) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e219); } + if (peg$silentFails === 0) { peg$fail(peg$e220); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f152(); + s1 = peg$f153(); } s0 = s1; } @@ -11443,59 +11509,59 @@ function peg$parse(input, options) { function peg$parseM() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c189) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c190) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e220); } + if (peg$silentFails === 0) { peg$fail(peg$e221); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11505,15 +11571,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e221); } + if (peg$silentFails === 0) { peg$fail(peg$e222); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11521,7 +11587,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11539,16 +11605,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c190) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c191) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e222); } + if (peg$silentFails === 0) { peg$fail(peg$e223); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f153(); + s1 = peg$f154(); } s0 = s1; } @@ -11560,59 +11626,59 @@ function peg$parse(input, options) { function peg$parseN() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c191) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c192) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e223); } + if (peg$silentFails === 0) { peg$fail(peg$e224); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11622,15 +11688,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e224); } + if (peg$silentFails === 0) { peg$fail(peg$e225); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11638,7 +11704,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11656,16 +11722,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c192) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c193) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e225); } + if (peg$silentFails === 0) { peg$fail(peg$e226); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f154(); + s1 = peg$f155(); } s0 = s1; } @@ -11677,59 +11743,59 @@ function peg$parse(input, options) { function peg$parseO() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c193) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c194) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e226); } + if (peg$silentFails === 0) { peg$fail(peg$e227); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11739,15 +11805,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e227); } + if (peg$silentFails === 0) { peg$fail(peg$e228); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11755,7 +11821,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11773,16 +11839,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c194) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c195) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e228); } + if (peg$silentFails === 0) { peg$fail(peg$e229); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f155(); + s1 = peg$f156(); } s0 = s1; } @@ -11794,59 +11860,59 @@ function peg$parse(input, options) { function peg$parseP() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c195) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c196) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e229); } + if (peg$silentFails === 0) { peg$fail(peg$e230); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11856,15 +11922,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e230); } + if (peg$silentFails === 0) { peg$fail(peg$e231); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11872,7 +11938,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -11890,16 +11956,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c196) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c197) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e231); } + if (peg$silentFails === 0) { peg$fail(peg$e232); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f156(); + s1 = peg$f157(); } s0 = s1; } @@ -11911,59 +11977,59 @@ function peg$parse(input, options) { function peg$parseR() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c197) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c198) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e232); } + if (peg$silentFails === 0) { peg$fail(peg$e233); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -11973,15 +12039,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e233); } + if (peg$silentFails === 0) { peg$fail(peg$e234); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -11989,7 +12055,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12007,16 +12073,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c198) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c199) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e234); } + if (peg$silentFails === 0) { peg$fail(peg$e235); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f157(); + s1 = peg$f158(); } s0 = s1; } @@ -12028,59 +12094,59 @@ function peg$parse(input, options) { function peg$parseS_() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c199) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c200) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e235); } + if (peg$silentFails === 0) { peg$fail(peg$e236); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -12090,15 +12156,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e236); } + if (peg$silentFails === 0) { peg$fail(peg$e237); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -12106,7 +12172,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12124,16 +12190,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c200) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c201) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e237); } + if (peg$silentFails === 0) { peg$fail(peg$e238); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f158(); + s1 = peg$f159(); } s0 = s1; } @@ -12145,59 +12211,59 @@ function peg$parse(input, options) { function peg$parseT() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c201) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c202) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e238); } + if (peg$silentFails === 0) { peg$fail(peg$e239); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -12207,15 +12273,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e239); } + if (peg$silentFails === 0) { peg$fail(peg$e240); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -12223,7 +12289,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12241,16 +12307,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c202) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c203) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e240); } + if (peg$silentFails === 0) { peg$fail(peg$e241); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f159(); + s1 = peg$f160(); } s0 = s1; } @@ -12262,59 +12328,59 @@ function peg$parse(input, options) { function peg$parseU() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c203) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c204) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e241); } + if (peg$silentFails === 0) { peg$fail(peg$e242); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -12324,15 +12390,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e242); } + if (peg$silentFails === 0) { peg$fail(peg$e243); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -12340,7 +12406,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12358,16 +12424,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c204) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c205) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e243); } + if (peg$silentFails === 0) { peg$fail(peg$e244); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f160(); + s1 = peg$f161(); } s0 = s1; } @@ -12379,59 +12445,59 @@ function peg$parse(input, options) { function peg$parseX() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c205) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c206) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e244); } + if (peg$silentFails === 0) { peg$fail(peg$e245); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -12441,15 +12507,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e245); } + if (peg$silentFails === 0) { peg$fail(peg$e246); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -12457,7 +12523,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12475,16 +12541,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c206) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c207) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e246); } + if (peg$silentFails === 0) { peg$fail(peg$e247); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f161(); + s1 = peg$f162(); } s0 = s1; } @@ -12496,59 +12562,59 @@ function peg$parse(input, options) { function peg$parseZ() { var s0, s1, s2, s3, s4, s5, s6, s7; - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c207) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c208) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e247); } + if (peg$silentFails === 0) { peg$fail(peg$e248); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c164; + s1 = peg$c165; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e175); } + if (peg$silentFails === 0) { peg$fail(peg$e176); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 === peg$FAILED) { s2 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s3 = peg$c176; + s3 = peg$c177; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s3 === peg$FAILED) { s3 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s4 = peg$c176; + s4 = peg$c177; peg$currPos++; } else { s4 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s4 === peg$FAILED) { s4 = null; } if (input.charCodeAt(peg$currPos) === 48) { - s5 = peg$c176; + s5 = peg$c177; peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s5 === peg$FAILED) { s5 = null; @@ -12558,15 +12624,15 @@ function peg$parse(input, options) { peg$currPos++; } else { s6 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e248); } + if (peg$silentFails === 0) { peg$fail(peg$e249); } } if (s6 !== peg$FAILED) { - if (input.substr(peg$currPos, 2) === peg$c165) { - s7 = peg$c165; + if (input.substr(peg$currPos, 2) === peg$c166) { + s7 = peg$c166; peg$currPos += 2; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e176); } + if (peg$silentFails === 0) { peg$fail(peg$e177); } } if (s7 === peg$FAILED) { if (peg$r7.test(input.charAt(peg$currPos))) { @@ -12574,7 +12640,7 @@ function peg$parse(input, options) { peg$currPos++; } else { s7 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e177); } + if (peg$silentFails === 0) { peg$fail(peg$e178); } } } if (s7 === peg$FAILED) { @@ -12592,16 +12658,16 @@ function peg$parse(input, options) { } if (s0 === peg$FAILED) { s0 = peg$currPos; - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c208) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c209) { s1 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e249); } + if (peg$silentFails === 0) { peg$fail(peg$e250); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$f162(); + s1 = peg$f163(); } s0 = s1; } @@ -12632,7 +12698,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e250); } + if (peg$silentFails === 0) { peg$fail(peg$e251); } } return s0; @@ -12652,7 +12718,7 @@ function peg$parse(input, options) { s2 = peg$parsestring(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f163(s2); + s0 = peg$f164(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12660,7 +12726,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e251); } + if (peg$silentFails === 0) { peg$fail(peg$e252); } } return s0; @@ -12680,7 +12746,7 @@ function peg$parse(input, options) { s2 = peg$parseident(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f164(s2); + s0 = peg$f165(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12688,7 +12754,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e252); } + if (peg$silentFails === 0) { peg$fail(peg$e253); } } return s0; @@ -12716,7 +12782,7 @@ function peg$parse(input, options) { s3 = peg$parsename(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f165(s3); + s0 = peg$f166(s3); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12728,7 +12794,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e253); } + if (peg$silentFails === 0) { peg$fail(peg$e254); } } return s0; @@ -12752,7 +12818,7 @@ function peg$parse(input, options) { s4 = peg$parseX(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f166(s2); + s0 = peg$f167(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12768,7 +12834,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e254); } + if (peg$silentFails === 0) { peg$fail(peg$e255); } } return s0; @@ -12792,7 +12858,7 @@ function peg$parse(input, options) { s4 = peg$parseX(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f167(s2); + s0 = peg$f168(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12820,7 +12886,7 @@ function peg$parse(input, options) { s4 = peg$parseM(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f168(s2); + s0 = peg$f169(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12848,7 +12914,7 @@ function peg$parse(input, options) { s4 = peg$parseM(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f169(s2); + s0 = peg$f170(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12876,7 +12942,7 @@ function peg$parse(input, options) { s4 = peg$parseN(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f170(s2); + s0 = peg$f171(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12904,7 +12970,7 @@ function peg$parse(input, options) { s4 = peg$parseT(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f171(s2); + s0 = peg$f172(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12932,7 +12998,7 @@ function peg$parse(input, options) { s4 = peg$parseC(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f172(s2); + s0 = peg$f173(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12960,7 +13026,7 @@ function peg$parse(input, options) { s4 = peg$parseM(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f173(s2); + s0 = peg$f174(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -12982,15 +13048,15 @@ function peg$parse(input, options) { s2 = peg$parsecomment(); } if (input.charCodeAt(peg$currPos) === 48) { - s2 = peg$c176; + s2 = peg$c177; peg$currPos++; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e197); } + if (peg$silentFails === 0) { peg$fail(peg$e198); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f174(); + s0 = peg$f175(); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13005,7 +13071,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e254); } + if (peg$silentFails === 0) { peg$fail(peg$e255); } } return s0; @@ -13031,7 +13097,7 @@ function peg$parse(input, options) { s5 = peg$parseG(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f175(s2); + s0 = peg$f176(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13065,7 +13131,7 @@ function peg$parse(input, options) { s5 = peg$parseD(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f176(s2); + s0 = peg$f177(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13101,7 +13167,7 @@ function peg$parse(input, options) { s6 = peg$parseD(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f177(s2); + s0 = peg$f178(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13127,7 +13193,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e255); } + if (peg$silentFails === 0) { peg$fail(peg$e256); } } return s0; @@ -13151,7 +13217,7 @@ function peg$parse(input, options) { s4 = peg$parseS_(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f178(s2); + s0 = peg$f179(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13177,7 +13243,7 @@ function peg$parse(input, options) { s3 = peg$parseS_(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f179(s2); + s0 = peg$f180(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13190,7 +13256,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e256); } + if (peg$silentFails === 0) { peg$fail(peg$e257); } } return s0; @@ -13214,7 +13280,7 @@ function peg$parse(input, options) { s4 = peg$parseZ(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f180(s2); + s0 = peg$f181(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13244,7 +13310,7 @@ function peg$parse(input, options) { s5 = peg$parseZ(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f181(s2); + s0 = peg$f182(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13265,7 +13331,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e257); } + if (peg$silentFails === 0) { peg$fail(peg$e258); } } return s0; @@ -13293,7 +13359,7 @@ function peg$parse(input, options) { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f182(s2); + s0 = peg$f183(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13305,7 +13371,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e258); } + if (peg$silentFails === 0) { peg$fail(peg$e259); } } return s0; @@ -13325,7 +13391,7 @@ function peg$parse(input, options) { s2 = peg$parsenum(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f183(s2); + s0 = peg$f184(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13333,7 +13399,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e259); } + if (peg$silentFails === 0) { peg$fail(peg$e260); } } return s0; @@ -13353,7 +13419,7 @@ function peg$parse(input, options) { s2 = peg$parsenum(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f184(s2); + s0 = peg$f185(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13361,7 +13427,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e259); } + if (peg$silentFails === 0) { peg$fail(peg$e260); } } return s0; @@ -13384,12 +13450,12 @@ function peg$parse(input, options) { if (s3 !== peg$FAILED) { s4 = peg$parseL(); if (s4 !== peg$FAILED) { - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c209) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c210) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e261); } + if (peg$silentFails === 0) { peg$fail(peg$e262); } } if (s5 !== peg$FAILED) { s6 = peg$parsew(); @@ -13405,7 +13471,7 @@ function peg$parse(input, options) { } if (s9 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f185(s7); + s0 = peg$f186(s7); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13444,12 +13510,12 @@ function peg$parse(input, options) { if (s3 !== peg$FAILED) { s4 = peg$parseL(); if (s4 !== peg$FAILED) { - if (input.substr(peg$currPos, 1).toLowerCase() === peg$c209) { + if (input.substr(peg$currPos, 1).toLowerCase() === peg$c210) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e261); } + if (peg$silentFails === 0) { peg$fail(peg$e262); } } if (s5 !== peg$FAILED) { s6 = peg$parsew(); @@ -13464,7 +13530,7 @@ function peg$parse(input, options) { } if (s9 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f186(s7); + s0 = peg$f187(s7); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13489,7 +13555,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e260); } + if (peg$silentFails === 0) { peg$fail(peg$e261); } } return s0; @@ -13509,15 +13575,15 @@ function peg$parse(input, options) { s2 = peg$parseident(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 40) { - s3 = peg$c209; + s3 = peg$c210; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e263); } + if (peg$silentFails === 0) { peg$fail(peg$e264); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s0 = peg$f187(s2); + s0 = peg$f188(s2); } else { peg$currPos = s0; s0 = peg$FAILED; @@ -13529,7 +13595,7 @@ function peg$parse(input, options) { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$e262); } + if (peg$silentFails === 0) { peg$fail(peg$e263); } } return s0; diff --git a/src/parse-css.pegjs b/src/parse-css.pegjs index 0826d1b..d301036 100644 --- a/src/parse-css.pegjs +++ b/src/parse-css.pegjs @@ -153,6 +153,7 @@ declaration / word_break_dec / overflow_wrap_dec / overflow_dec + / zoom_dec / name:property ':' S* value:expr { let r = {}; r['_' + name] = value; @@ -771,6 +772,11 @@ overflow_dec return {overflow}; } +zoom_dec + = 'zoom'i S* ':' S* zoom:(PERCENTAGE / NUMBER / default) { + return {zoom}; + } + width_dec = 'width'i S* ':' S* width:(length_side / 'auto' / default) { return {width}; diff --git a/src/style.ts b/src/style.ts index 091a666..f0ebaae 100644 --- a/src/style.ts +++ b/src/style.ts @@ -121,6 +121,7 @@ type Float = 'left' | 'right' | 'none'; type Clear = 'left' | 'right' | 'both' | 'none'; export interface DeclaredStyle { + zoom?: number | Percentage | Inherited | Initial; whiteSpace?: WhiteSpace | Inherited | Initial; color?: Color | Inherited | Initial; fontSize?: Length | Percentage | Inherited | Initial; @@ -179,6 +180,7 @@ export const EMPTY_STYLE: DeclaredStyle = {}; type CascadedStyle = DeclaredStyle; interface SpecifiedStyle { + zoom: number | Percentage; whiteSpace: WhiteSpace; color: Color; fontSize: Length | Percentage; @@ -233,6 +235,7 @@ interface SpecifiedStyle { } interface ComputedStyle { + zoom: number; whiteSpace: WhiteSpace; color: Color; fontSize: number; @@ -303,6 +306,7 @@ function percentGtZero(cssVal: number | {value: number, unit: '%'}) { export class Style { computed: ComputedStyle; + zoom: number; whiteSpace: WhiteSpace; color: Color; fontSize: number; @@ -355,23 +359,34 @@ export class Style { overflowWrap: 'anywhere' | 'break-word' | 'normal'; overflow: 'visible' | 'hidden'; - // This section reduces to used values as much as possible + // Reduce to used values as much as possible // Be careful accessing off of "this" since these are called in the ctor private usedLineHeight(style: ComputedStyle) { if (typeof style.lineHeight === 'object') { return style.lineHeight.value * this.fontSize; + } else if (typeof style.lineHeight === 'number') { + return this.usedLength(style.lineHeight); } else { return style.lineHeight; } } - constructor(style: ComputedStyle) { + private usedLength(length: number) { + return length * this.zoom; + } + + private usedMaybeLength(length: T) { + return typeof length === 'number' ? this.usedLength(length) : length; + } + + constructor(style: ComputedStyle, parent?: Style) { this.computed = style; + this.zoom = parent ? parent.zoom * style.zoom : style.zoom; this.whiteSpace = style.whiteSpace; this.color = style.color; - this.fontSize = style.fontSize; + this.fontSize = this.usedLength(style.fontSize); this.fontWeight = style.fontWeight; this.fontVariant = style.fontVariant; this.fontStyle = style.fontStyle; @@ -384,10 +399,10 @@ export class Style { this.display = style.display; this.direction = style.direction; this.writingMode = style.writingMode; - this.borderTopWidth = style.borderTopWidth; - this.borderRightWidth = style.borderRightWidth; - this.borderBottomWidth = style.borderBottomWidth; - this.borderLeftWidth = style.borderLeftWidth; + this.borderTopWidth = this.usedLength(style.borderTopWidth); + this.borderRightWidth = this.usedLength(style.borderRightWidth); + this.borderBottomWidth = this.usedLength(style.borderBottomWidth); + this.borderLeftWidth = this.usedLength(style.borderLeftWidth); this.borderTopStyle = style.borderTopStyle; this.borderRightStyle = style.borderRightStyle; this.borderBottomStyle = style.borderBottomStyle; @@ -396,22 +411,22 @@ export class Style { this.borderRightColor = style.borderRightColor; this.borderBottomColor = style.borderBottomColor; this.borderLeftColor = style.borderLeftColor; - this.paddingTop = style.paddingTop; - this.paddingRight = style.paddingRight; - this.paddingBottom = style.paddingBottom; - this.paddingLeft = style.paddingLeft; - this.marginTop = style.marginTop; - this.marginRight = style.marginRight; - this.marginBottom = style.marginBottom; - this.marginLeft = style.marginLeft; + this.paddingTop = this.usedMaybeLength(style.paddingTop); + this.paddingRight = this.usedMaybeLength(style.paddingRight); + this.paddingBottom = this.usedMaybeLength(style.paddingBottom); + this.paddingLeft = this.usedMaybeLength(style.paddingLeft); + this.marginTop = this.usedMaybeLength(style.marginTop); + this.marginRight = this.usedMaybeLength(style.marginRight); + this.marginBottom = this.usedMaybeLength(style.marginBottom); + this.marginLeft = this.usedMaybeLength(style.marginLeft); this.tabSize = style.tabSize; this.position = style.position; - this.width = style.width; - this.height = style.height; - this.top = style.top; - this.right = style.right; - this.bottom = style.bottom; - this.left = style.left; + this.width = this.usedMaybeLength(style.width); + this.height = this.usedMaybeLength(style.height); + this.top = this.usedMaybeLength(style.top); + this.right = this.usedMaybeLength(style.right); + this.bottom = this.usedMaybeLength(style.bottom); + this.left = this.usedMaybeLength(style.left); this.boxSizing = style.boxSizing; this.textAlign = style.textAlign; this.float = style.float; @@ -596,6 +611,7 @@ export class Style { // the style that's used as the root style for inheritance. These are the // "computed value"s as described in CSS Cascading and Inheritance Level 4 § 4.4 const initialPlainStyle: ComputedStyle = Object.freeze({ + zoom: 1, whiteSpace: 'normal', color: {r: 0, g: 0, b: 0, a: 1}, fontSize: 16, @@ -655,6 +671,7 @@ type InheritedStyleDefinitions = {[K in keyof ComputedStyle]: boolean}; // Each CSS property defines whether or not it's inherited const inheritedStyle: InheritedStyleDefinitions = Object.freeze({ + zoom: false, whiteSpace: true, color: true, fontSize: true, @@ -877,7 +894,13 @@ function computeStyle(parentStyle: Style, style: SpecifiedStyle) { computed.lineHeight = style.lineHeight.value / 100 * computed.fontSize; } - return new Style(computed); + if (typeof style.zoom === 'object') { + computed.zoom = style.zoom.value / 100; + } + + if (style.zoom === 0) style.zoom = 1; + + return new Style(computed, parentStyle); } const styleCache = new WeakMap>();