1/* commonmark 0.31.0 https://github.com/commonmark/commonmark.js @license BSD3 */ 2(function (global, factory) { 3 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 4 typeof define === 'function' && define.amd ? define(['exports'], factory) : 5 (global = global || self, factory(global.commonmark = {})); 6}(this, (function (exports) { 'use strict'; 7 8 function isContainer(node) { 9 switch (node._type) { 10 case "document": 11 case "block_quote": 12 case "list": 13 case "item": 14 case "paragraph": 15 case "heading": 16 case "emph": 17 case "strong": 18 case "link": 19 case "image": 20 case "custom_inline": 21 case "custom_block": 22 return true; 23 default: 24 return false; 25 } 26 } 27 28 var resumeAt = function(node, entering) { 29 this.current = node; 30 this.entering = entering === true; 31 }; 32 33 var next = function() { 34 var cur = this.current; 35 var entering = this.entering; 36 37 if (cur === null) { 38 return null; 39 } 40 41 var container = isContainer(cur); 42 43 if (entering && container) { 44 if (cur._firstChild) { 45 this.current = cur._firstChild; 46 this.entering = true; 47 } else { 48 // stay on node but exit 49 this.entering = false; 50 } 51 } else if (cur === this.root) { 52 this.current = null; 53 } else if (cur._next === null) { 54 this.current = cur._parent; 55 this.entering = false; 56 } else { 57 this.current = cur._next; 58 this.entering = true; 59 } 60 61 return { entering: entering, node: cur }; 62 }; 63 64 var NodeWalker = function(root) { 65 return { 66 current: root, 67 root: root, 68 entering: true, 69 next: next, 70 resumeAt: resumeAt 71 }; 72 }; 73 74 var Node = function(nodeType, sourcepos) { 75 this._type = nodeType; 76 this._parent = null; 77 this._firstChild = null; 78 this._lastChild = null; 79 this._prev = null; 80 this._next = null; 81 this._sourcepos = sourcepos; 82 this._open = true; 83 this._string_content = null; 84 this._literal = null; 85 this._listData = {}; 86 this._info = null; 87 this._destination = null; 88 this._title = null; 89 this._isFenced = false; 90 this._fenceChar = null; 91 this._fenceLength = 0; 92 this._fenceOffset = null; 93 this._level = null; 94 this._onEnter = null; 95 this._onExit = null; 96 }; 97 98 var proto = Node.prototype; 99 100 Object.defineProperty(proto, "isContainer", { 101 get: function() { 102 return isContainer(this); 103 } 104 }); 105 106 Object.defineProperty(proto, "type", { 107 get: function() { 108 return this._type; 109 } 110 }); 111 112 Object.defineProperty(proto, "firstChild", { 113 get: function() { 114 return this._firstChild; 115 } 116 }); 117 118 Object.defineProperty(proto, "lastChild", { 119 get: function() { 120 return this._lastChild; 121 } 122 }); 123 124 Object.defineProperty(proto, "next", { 125 get: function() { 126 return this._next; 127 } 128 }); 129 130 Object.defineProperty(proto, "prev", { 131 get: function() { 132 return this._prev; 133 } 134 }); 135 136 Object.defineProperty(proto, "parent", { 137 get: function() { 138 return this._parent; 139 } 140 }); 141 142 Object.defineProperty(proto, "sourcepos", { 143 get: function() { 144 return this._sourcepos; 145 } 146 }); 147 148 Object.defineProperty(proto, "literal", { 149 get: function() { 150 return this._literal; 151 }, 152 set: function(s) { 153 this._literal = s; 154 } 155 }); 156 157 Object.defineProperty(proto, "destination", { 158 get: function() { 159 return this._destination; 160 }, 161 set: function(s) { 162 this._destination = s; 163 } 164 }); 165 166 Object.defineProperty(proto, "title", { 167 get: function() { 168 return this._title; 169 }, 170 set: function(s) { 171 this._title = s; 172 } 173 }); 174 175 Object.defineProperty(proto, "info", { 176 get: function() { 177 return this._info; 178 }, 179 set: function(s) { 180 this._info = s; 181 } 182 }); 183 184 Object.defineProperty(proto, "level", { 185 get: function() { 186 return this._level; 187 }, 188 set: function(s) { 189 this._level = s; 190 } 191 }); 192 193 Object.defineProperty(proto, "listType", { 194 get: function() { 195 return this._listData.type; 196 }, 197 set: function(t) { 198 this._listData.type = t; 199 } 200 }); 201 202 Object.defineProperty(proto, "listTight", { 203 get: function() { 204 return this._listData.tight; 205 }, 206 set: function(t) { 207 this._listData.tight = t; 208 } 209 }); 210 211 Object.defineProperty(proto, "listStart", { 212 get: function() { 213 return this._listData.start; 214 }, 215 set: function(n) { 216 this._listData.start = n; 217 } 218 }); 219 220 Object.defineProperty(proto, "listDelimiter", { 221 get: function() { 222 return this._listData.delimiter; 223 }, 224 set: function(delim) { 225 this._listData.delimiter = delim; 226 } 227 }); 228 229 Object.defineProperty(proto, "onEnter", { 230 get: function() { 231 return this._onEnter; 232 }, 233 set: function(s) { 234 this._onEnter = s; 235 } 236 }); 237 238 Object.defineProperty(proto, "onExit", { 239 get: function() { 240 return this._onExit; 241 }, 242 set: function(s) { 243 this._onExit = s; 244 } 245 }); 246 247 Node.prototype.appendChild = function(child) { 248 child.unlink(); 249 child._parent = this; 250 if (this._lastChild) { 251 this._lastChild._next = child; 252 child._prev = this._lastChild; 253 this._lastChild = child; 254 } else { 255 this._firstChild = child; 256 this._lastChild = child; 257 } 258 }; 259 260 Node.prototype.prependChild = function(child) { 261 child.unlink(); 262 child._parent = this; 263 if (this._firstChild) { 264 this._firstChild._prev = child; 265 child._next = this._firstChild; 266 this._firstChild = child; 267 } else { 268 this._firstChild = child; 269 this._lastChild = child; 270 } 271 }; 272 273 Node.prototype.unlink = function() { 274 if (this._prev) { 275 this._prev._next = this._next; 276 } else if (this._parent) { 277 this._parent._firstChild = this._next; 278 } 279 if (this._next) { 280 this._next._prev = this._prev; 281 } else if (this._parent) { 282 this._parent._lastChild = this._prev; 283 } 284 this._parent = null; 285 this._next = null; 286 this._prev = null; 287 }; 288 289 Node.prototype.insertAfter = function(sibling) { 290 sibling.unlink(); 291 sibling._next = this._next; 292 if (sibling._next) { 293 sibling._next._prev = sibling; 294 } 295 sibling._prev = this; 296 this._next = sibling; 297 sibling._parent = this._parent; 298 if (!sibling._next) { 299 sibling._parent._lastChild = sibling; 300 } 301 }; 302 303 Node.prototype.insertBefore = function(sibling) { 304 sibling.unlink(); 305 sibling._prev = this._prev; 306 if (sibling._prev) { 307 sibling._prev._next = sibling; 308 } 309 sibling._next = this; 310 this._prev = sibling; 311 sibling._parent = this._parent; 312 if (!sibling._prev) { 313 sibling._parent._firstChild = sibling; 314 } 315 }; 316 317 Node.prototype.walker = function() { 318 var walker = new NodeWalker(this); 319 return walker; 320 }; 321 322 /* Example of use of walker: 323 324 var walker = w.walker(); 325 var event; 326 327 while (event = walker.next()) { 328 console.log(event.entering, event.node.type); 329 } 330 331 */ 332 333 var encodeCache = {}; 334 335 336 // Create a lookup array where anything but characters in `chars` string 337 // and alphanumeric chars is percent-encoded.
338 // 339 function getEncodeCache(exclude) { 340 var i, ch, cache = encodeCache[exclude]; 341 if (cache) { return cache; } 342 343 cache = encodeCache[exclude] = []; 344 345 for (i = 0; i < 128; i++) { 346 ch = String.fromCharCode(i); 347 348 if (/^[0-9a-z]$/i.test(ch)) { 349 // always allow unencoded alphanumeric characters 350 cache.push(ch); 351 } else { 352 cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2)); 353 } 354 } 355 356 for (i = 0; i < exclude.length; i++) { 357 cache[exclude.charCodeAt(i)] = exclude[i]; 358 } 359 360 return cache; 361 } 362 363 364 // Encode unsafe characters with percent-encoding, skipping already 365 // encoded sequences. 366 // 367 // - string - string to encode 368 // - exclude - list of characters to ignore (in addition to a-zA-Z0-9) 369 // - keepEscaped - don't encode '%' in a correct escape sequence (default: true) 370 // 371 function encode(string, exclude, keepEscaped) { 372 var i, l, code, nextCode, cache, 373 result = ''; 374 375 if (typeof exclude !== 'string') { 376 // encode(string, keepEscaped) 377 keepEscaped = exclude; 378 exclude = encode.defaultChars; 379 } 380 381 if (typeof keepEscaped === 'undefined') { 382 keepEscaped = true; 383 } 384 385 cache = getEncodeCache(exclude); 386 387 for (i = 0, l = string.length; i < l; i++) { 388 code = string.charCodeAt(i); 389 390 if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) { 391 if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) { 392 result += string.slice(i, i + 3); 393 i += 2; 394 continue; 395 } 396 } 397 398 if (code < 128) { 399 result += cache[code]; 400 continue; 401 } 402 403 if (code >= 0xD800 && code <= 0xDFFF) { 404 if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) { 405 nextCode = string.charCodeAt(i + 1); 406 if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) { 407 result += encodeURIComponent(string[i] + string[i + 1]); 408 i++; 409 continue; 410 } 411 } 412 result += '%EF%BF%BD'; 413 continue; 414 } 415 416 result += encodeURIComponent(string[i]); 417 } 418 419 return result; 420 } 421 422 encode.defaultChars = ";/?:@&=+$,-_.!~*'()#"; 423 encode.componentChars = "-_.!~*'()"; 424 425 426 var encode_1 = encode; 427 428 var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; 429 430 function unwrapExports (x) { 431 return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; 432 } 433 434 function createCommonjsModule(fn, module) { 435 return module = { exports: {} }, fn(module, module.exports), module.exports; 436 } 437 438 function getCjsExportFromNamespace (n) { 439 return n && n['default'] || n; 440 } 441 442 var decodeDataHtml = createCommonjsModule(function (module, exports) { 443 Object.defineProperty(exports, "__esModule", { value: true }); 444 // Generated using scripts/write-decode-map.ts 445 // prettier-ignore 446 exports.default = new Uint16Array([14866, 60, 237, 340, 721, 1312, 1562, 1654, 1838, 1957, 2183, 2239, 2301, 2958, 3037, 3893, 4123, 4298, 4330, 4801, 5191, 5395, 5752, 5903, 5943, 5972, 6050, 0, 0, 0, 0, 0, 0, 6135, 6565, 7422, 8183, 8738, 9242, 9503, 9938, 10189, 10573, 10637, 10715, 11950, 12246, 13539, 13950, 14445, 14533, 15364, 16514, 16980, 17390, 17763, 17849, 18036, 18125, 4096, 69, 77, 97, 98, 99, 102, 103, 108, 109, 110, 111, 112, 114, 115, 116, 117, 92, 100, 106, 115, 122, 137, 142, 151, 157, 163, 167, 182, 196, 204, 220, 229, 108, 105, 103, 33024, 198, 59, 32768, 198, 80, 33024, 38, 59, 32768, 38, 99, 117, 116, 101, 33024, 193, 59, 32768, 193, 114, 101, 118, 101, 59, 32768, 258, 512, 105, 121, 127, 134, 114, 99, 33024, 194, 59, 32768, 194, 59, 32768, 1040, 114, 59, 32896, 55349, 56580, 114, 97, 118, 101, 33024, 192, 59, 32768, 192, 112, 104, 97, 59, 32768, 913, 97, 99, 114, 59, 32768, 256, 100, 59, 32768, 10835, 512, 103, 112, 172, 177, 111, 110, 59, 32768, 260, 102, 59, 32896, 55349, 56632, 112, 108, 121, 70, 117, 110, 99, 116, 105, 111, 110, 59, 32768, 8289, 105, 110, 103, 33024,
446197, 59, 32768, 197, 512, 99, 115, 209, 214, 114, 59, 32896, 55349, 56476, 105, 103, 110, 59, 32768, 8788, 105, 108, 100, 101, 33024, 195, 59, 32768, 195, 109, 108, 33024, 196, 59, 32768, 196, 2048, 97, 99, 101, 102, 111, 114, 115, 117, 253, 278, 282, 310, 315, 321, 327, 332, 512, 99, 114, 258, 267, 107, 115, 108, 97, 115, 104, 59, 32768, 8726, 583, 271, 274, 59, 32768, 10983, 101, 100, 59, 32768, 8966, 121, 59, 32768, 1041, 768, 99, 114, 116, 289, 296, 306, 97, 117, 115, 101, 59, 32768, 8757, 110, 111, 117, 108, 108, 105, 115, 59, 32768, 8492, 97, 59, 32768, 914, 114, 59, 32896, 55349, 56581, 112, 102, 59, 32896, 55349, 56633, 101, 118, 101, 59, 32768, 728, 99, 114, 59, 32768, 8492, 109, 112, 101, 113, 59, 32768, 8782, 3584, 72, 79, 97, 99, 100, 101, 102, 104, 105, 108, 111, 114, 115, 117, 368, 373, 380, 426, 461, 466, 487, 491, 495, 533, 593, 695, 701, 707, 99, 121, 59, 32768, 1063, 80, 89, 33024, 169, 59, 32768, 169, 768, 99, 112, 121, 387, 393, 419, 117, 116, 101, 59, 32768, 262, 512, 59, 105, 398, 400, 32768, 8914, 116, 97, 108, 68, 105, 102, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 32768, 8517, 108, 101, 121, 115, 59, 32768, 8493, 1024, 97, 101, 105, 111, 435, 441, 449, 454, 114, 111, 110, 59, 32768, 268, 100, 105, 108, 33024, 199, 59, 32768, 199, 114, 99, 59, 32768, 264, 110, 105, 110, 116, 59, 32768, 8752, 111, 116, 59, 32768, 266, 512, 100, 110, 471, 478, 105, 108, 108, 97, 59, 32768, 184, 116, 101, 114, 68, 111, 116, 59, 32768, 183, 114, 59, 32768, 8493, 105, 59, 32768, 935, 114, 99, 108, 101, 1024, 68, 77, 80, 84, 508, 513, 520, 526, 111, 116, 59, 32768, 8857, 105, 110, 117, 115, 59, 32768, 8854, 108, 117, 115, 59, 32768, 8853, 105, 109, 101, 115, 59, 32768, 8855, 111, 512, 99, 115, 539, 562, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8754, 101, 67, 117, 114, 108, 121, 512, 68, 81, 573, 586, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 32768, 8221, 117, 111, 116, 101, 59, 32768, 8217, 1024, 108, 110, 112, 117, 602, 614, 648, 664, 111, 110, 512, 59, 101, 609, 611, 32768, 8759, 59, 32768, 10868, 768, 103, 105, 116, 621, 629, 634, 114, 117, 101, 110, 116, 59, 32768, 8801, 110, 116, 59, 32768, 8751, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8750, 512, 102, 114, 653, 656, 59, 32768, 8450, 111, 100, 117, 99, 116, 59, 32768, 8720, 110, 116, 101, 114, 67, 108, 111, 99, 107, 119, 105, 115, 101, 67, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8755, 111, 115, 115, 59, 32768, 10799, 99, 114, 59, 32896, 55349, 56478, 112, 512, 59, 67, 713, 715, 32768, 8915, 97, 112, 59, 32768, 8781, 2816, 68, 74, 83, 90, 97, 99, 101, 102, 105, 111, 115, 743, 758, 763, 768, 773, 795, 809, 821, 826, 910, 1295, 512, 59, 111, 748, 750, 32768, 8517, 116, 114, 97, 104, 100, 59, 32768, 10513, 99, 121, 59, 32768, 1026, 99, 121, 59, 32768, 1029, 99, 121, 59, 32768, 1039, 768, 103, 114, 115, 780, 786, 790, 103, 101, 114, 59, 32768, 8225, 114, 59, 32768, 8609, 104, 118, 59, 32768, 10980, 512, 97, 121, 800, 806, 114, 111, 110, 59, 32768, 270, 59, 32768, 1044, 108, 512, 59, 116, 815, 817, 32768, 8711, 97, 59, 32768, 916, 114, 59, 32896, 55349, 56583, 512, 97, 102, 831, 897, 512, 99, 109, 836, 891, 114, 105, 116, 105, 99, 97, 108, 1024, 65, 68, 71, 84, 852, 859, 877, 884, 99, 117, 116, 101, 59, 32768, 180, 111, 581, 864, 867, 59, 32768, 729, 98, 108, 101, 65, 99, 117, 116, 101, 59, 32768, 733, 114, 97, 118, 101, 59, 32768, 96, 105, 108, 100, 101, 59, 32768, 732, 111, 110, 100, 59, 32768, 8900, 102, 101, 114, 101, 110, 116, 105, 97, 108, 68, 59, 32768, 8518, 2113, 920, 0, 0, 0, 925, 946, 0, 1139, 102, 59, 32896, 55349, 56635, 768, 59, 68, 69, 931, 933, 938, 32768, 168, 111, 116, 59, 32768, 8412, 113, 117, 97, 108, 59, 32768, 8784, 98, 108, 101, 1536, 67, 68, 76, 82, 85, 86, 961, 978, 996, 1080, 1101, 1125, 111, 110, 116, 111, 117, 114, 73, 110, 116, 101, 103, 114, 97, 108, 59, 32768, 8751, 111, 1093, 985, 0, 0, 988, 59, 32768, 168, 110, 65, 114, 114, 111, 119, 59, 32768, 8659, 512, 101, 111, 1001, 1034, 102, 116, 768, 65, 82, 84, 1010, 1017, 1029, 114, 114, 111, 119, 59, 32768, 8656, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8660, 101, 101, 59, 32768, 10980, 110, 103, 512, 76, 82, 1041, 1068, 101, 102, 116, 512, 65, 82, 1049, 1056, 114, 114, 111, 119, 59, 32768, 10232, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10234, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10233, 105, 103, 104, 116, 512, 65, 84, 1089, 1096, 114, 114, 111, 119, 59, 32768, 8658, 101, 101, 59, 32768, 8872, 112, 1042, 1108, 0, 0, 1115, 114, 114, 111, 119, 59, 32768, 8657, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8661, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8741, 110, 1536, 65, 66, 76, 82, 84, 97, 1152, 1179, 1186, 1236, 1272, 1288, 114, 114, 111, 119, 768, 59, 66, 85, 1163, 1165, 1170, 32768, 8595, 97, 114, 59, 32768, 10515, 112, 65, 114, 114, 111, 119, 59, 32768, 8693, 114, 101, 118, 101, 59, 32768, 785, 101, 102, 116, 1315, 1196, 0, 1209, 0, 1220, 105, 103, 104, 116, 86, 101, 99, 116, 111, 114, 59, 32768, 10576, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10590, 101, 99, 116, 111, 114, 512, 59, 66, 1229, 1231, 32768, 8637, 97, 114, 59, 32768, 10582, 105, 103, 104, 116, 805, 1245, 0, 1256, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10591, 101, 99, 116, 111, 114, 512, 59, 66, 1265, 1267, 32768, 8641, 97, 114, 59, 32768, 10583, 101, 101, 512, 59, 65, 1279, 1281, 32768, 8868, 114, 114, 111, 119, 59, 32768, 8615, 114, 114, 111, 119, 59, 32768, 8659, 512, 99, 116, 1300, 1305, 114, 59, 32896, 55349, 56479, 114, 111, 107, 59, 32768, 272, 4096, 78, 84, 97, 99, 100, 102, 103, 108, 109, 111, 112, 113, 115, 116, 117, 120, 1344, 1348, 1354, 1363, 1386, 1391, 1396, 1405, 1413, 1460, 1475, 1483, 1514, 1527, 1531, 1538, 71, 59, 32768, 330, 72, 33024, 208, 59, 32768, 208, 99, 117, 116, 101, 33024, 201, 59, 32768, 201, 768, 97, 105, 121, 1370, 1376, 1383, 114, 111, 110, 59, 32768, 282, 114, 99, 33024, 202, 59, 32768, 202, 59, 32768, 1069, 111, 116, 59, 32768, 278, 114, 59, 32896, 55349, 56584, 114, 97, 118, 101, 33024, 200, 59, 32768, 200, 101, 109, 101, 110, 116, 59, 32768, 8712, 512, 97, 112, 1418, 1423, 99, 114, 59, 32768, 274, 116, 121, 1060, 1431, 0, 0, 1444, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9723, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9643, 512, 103, 112, 1465, 1470, 111, 110, 59, 32768, 280, 102, 59, 32896, 55349, 56636, 115, 105, 108, 111, 110, 59, 32768, 917, 117, 512, 97, 105, 1489, 1504, 108, 512, 59, 84, 1495, 1497, 32768, 10869, 105, 108, 100, 101, 59, 32768, 8770, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 8652, 512, 99, 105, 1519, 1523, 114, 59, 32768, 8496, 109, 59, 32768, 10867, 97, 59, 32768, 919, 109, 108, 33024, 203, 59, 32768, 203, 512, 105, 112, 1543, 1549, 115, 116, 115, 59, 32768, 8707, 111, 110, 101, 110, 116, 105, 97, 108, 69, 59, 32768, 8519, 1280, 99, 102, 105, 111, 115, 1572, 1576, 1581, 1620, 1648, 121, 59, 32768, 1060, 114, 59, 32896, 55349, 56585, 108, 108, 101, 100, 1060, 1591, 0, 0, 1604, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9724, 101, 114, 121, 83, 109, 97, 108, 108, 83, 113, 117, 97, 114, 101, 59, 32768, 9642, 1601, 1628, 0, 1633, 0, 0, 1639, 102, 59, 32896, 55349, 56637, 65, 108, 108, 59, 32768, 8704, 114, 105, 101, 114, 116, 114, 102, 59, 32768, 8497, 99, 114, 59, 32768, 8497, 3072, 74, 84, 97, 98, 99, 100, 102, 103, 111, 114, 115, 116, 1678, 1683, 1688, 1701, 1708, 1729, 1734, 1739, 1742, 1748, 1828, 1834, 99, 121, 59, 32768, 1027, 33024, 62, 59, 32768, 62, 109, 109, 97, 512, 59, 100, 1696, 1698, 32768, 915, 59, 32768, 988, 114, 101, 118, 101, 59, 32768, 28
4466, 768, 101, 105, 121, 1715, 1721, 1726, 100, 105, 108, 59, 32768, 290, 114, 99, 59, 32768, 284, 59, 32768, 1043, 111, 116, 59, 32768, 288, 114, 59, 32896, 55349, 56586, 59, 32768, 8921, 112, 102, 59, 32896, 55349, 56638, 101, 97, 116, 101, 114, 1536, 69, 70, 71, 76, 83, 84, 1766, 1783, 1794, 1803, 1809, 1821, 113, 117, 97, 108, 512, 59, 76, 1775, 1777, 32768, 8805, 101, 115, 115, 59, 32768, 8923, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8807, 114, 101, 97, 116, 101, 114, 59, 32768, 10914, 101, 115, 115, 59, 32768, 8823, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 10878, 105, 108, 100, 101, 59, 32768, 8819, 99, 114, 59, 32896, 55349, 56482, 59, 32768, 8811, 2048, 65, 97, 99, 102, 105, 111, 115, 117, 1854, 1861, 1874, 1880, 1884, 1897, 1919, 1934, 82, 68, 99, 121, 59, 32768, 1066, 512, 99, 116, 1866, 1871, 101, 107, 59, 32768, 711, 59, 32768, 94, 105, 114, 99, 59, 32768, 292, 114, 59, 32768, 8460, 108, 98, 101, 114, 116, 83, 112, 97, 99, 101, 59, 32768, 8459, 833, 1902, 0, 1906, 102, 59, 32768, 8461, 105, 122, 111, 110, 116, 97, 108, 76, 105, 110, 101, 59, 32768, 9472, 512, 99, 116, 1924, 1928, 114, 59, 32768, 8459, 114, 111, 107, 59, 32768, 294, 109, 112, 533, 1940, 1950, 111, 119, 110, 72, 117, 109, 112, 59, 32768, 8782, 113, 117, 97, 108, 59, 32768, 8783, 3584, 69, 74, 79, 97, 99, 100, 102, 103, 109, 110, 111, 115, 116, 117, 1985, 1990, 1996, 2001, 2010, 2025, 2030, 2034, 2043, 2077, 2134, 2155, 2160, 2167, 99, 121, 59, 32768, 1045, 108, 105, 103, 59, 32768, 306, 99, 121, 59, 32768, 1025, 99, 117, 116, 101, 33024, 205, 59, 32768, 205, 512, 105, 121, 2015, 2022, 114, 99, 33024, 206, 59, 32768, 206, 59, 32768, 1048, 111, 116, 59, 32768, 304, 114, 59, 32768, 8465, 114, 97, 118, 101, 33024, 204, 59, 32768, 204, 768, 59, 97, 112, 2050, 2052, 2070, 32768, 8465, 512, 99, 103, 2057, 2061, 114, 59, 32768, 298, 105, 110, 97, 114, 121, 73, 59, 32768, 8520, 108, 105, 101, 115, 59, 32768, 8658, 837, 2082, 0, 2110, 512, 59, 101, 2086, 2088, 32768, 8748, 512, 103, 114, 2093, 2099, 114, 97, 108, 59, 32768, 8747, 115, 101, 99, 116, 105, 111, 110, 59, 32768, 8898, 105, 115, 105, 98, 108, 101, 512, 67, 84, 2120, 2127, 111, 109, 109, 97, 59, 32768, 8291, 105, 109, 101, 115, 59, 32768, 8290, 768, 103, 112, 116, 2141, 2146, 2151, 111, 110, 59, 32768, 302, 102, 59, 32896, 55349, 56640, 97, 59, 32768, 921, 99, 114, 59, 32768, 8464, 105, 108, 100, 101, 59, 32768, 296, 828, 2172, 0, 2177, 99, 121, 59, 32768, 1030, 108, 33024, 207, 59, 32768, 207, 1280, 99, 102, 111, 115, 117, 2193, 2206, 2211, 2217, 2232, 512, 105, 121, 2198, 2203, 114, 99, 59, 32768, 308, 59, 32768, 1049, 114, 59, 32896, 55349, 56589, 112, 102, 59, 32896, 55349, 56641, 820, 2222, 0, 2227, 114, 59, 32896, 55349, 56485, 114, 99, 121, 59, 32768, 1032, 107, 99, 121, 59, 32768, 1028, 1792, 72, 74, 97, 99, 102, 111, 115, 2253, 2258, 2263, 2269, 2283, 2288, 2294, 99, 121, 59, 32768, 1061, 99, 121, 59, 32768, 1036, 112, 112, 97, 59, 32768, 922, 512, 101, 121, 2274, 2280, 100, 105, 108, 59, 32768, 310, 59, 32768, 1050, 114, 59, 32896, 55349, 56590, 112, 102, 59, 32896, 55349, 56642, 99, 114, 59, 32896, 55349, 56486, 2816, 74, 84, 97, 99, 101, 102, 108, 109, 111, 115, 116, 2323, 2328, 2333, 2374, 2396, 2775, 2780, 2797, 2804, 2934, 2954, 99, 121, 59, 32768, 1033, 33024, 60, 59, 32768, 60, 1280, 99, 109, 110, 112, 114, 2344, 2350, 2356, 2360, 2370, 117, 116, 101, 59, 32768, 313, 98, 100, 97, 59, 32768, 923, 103, 59, 32768, 10218, 108, 97, 99, 101, 116, 114, 102, 59, 32768, 8466, 114, 59, 32768, 8606, 768, 97, 101, 121, 2381, 2387, 2393, 114, 111, 110, 59, 32768, 317, 100, 105, 108, 59, 32768, 315, 59, 32768, 1051, 512, 102, 115, 2401, 2702, 116, 2560, 65, 67, 68, 70, 82, 84, 85, 86, 97, 114, 2423, 2470, 2479, 2530, 2537, 2561, 2618, 2666, 2683, 2690, 512, 110, 114, 2428, 2441, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10216, 114, 111, 119, 768, 59, 66, 82, 2451, 2453, 2458, 32768, 8592, 97, 114, 59, 32768, 8676, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8646, 101, 105, 108, 105, 110, 103, 59, 32768, 8968, 111, 838, 2485, 0, 2498, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10214, 110, 805, 2503, 0, 2514, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10593, 101, 99, 116, 111, 114, 512, 59, 66, 2523, 2525, 32768, 8643, 97, 114, 59, 32768, 10585, 108, 111, 111, 114, 59, 32768, 8970, 105, 103, 104, 116, 512, 65, 86, 2546, 2553, 114, 114, 111, 119, 59, 32768, 8596, 101, 99, 116, 111, 114, 59, 32768, 10574, 512, 101, 114, 2566, 2591, 101, 768, 59, 65, 86, 2574, 2576, 2583, 32768, 8867, 114, 114, 111, 119, 59, 32768, 8612, 101, 99, 116, 111, 114, 59, 32768, 10586, 105, 97, 110, 103,
446108, 101, 768, 59, 66, 69, 2604, 2606, 2611, 32768, 8882, 97, 114, 59, 32768, 10703, 113, 117, 97, 108, 59, 32768, 8884, 112, 768, 68, 84, 86, 2626, 2638, 2649, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 32768, 10577, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10592, 101, 99, 116, 111, 114, 512, 59, 66, 2659, 2661, 32768, 8639, 97, 114, 59, 32768, 10584, 101, 99, 116, 111, 114, 512, 59, 66, 2676, 2678, 32768, 8636, 97, 114, 59, 32768, 10578, 114, 114, 111, 119, 59, 32768, 8656, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8660, 115, 1536, 69, 70, 71, 76, 83, 84, 2716, 2730, 2741, 2750, 2756, 2768, 113, 117, 97, 108, 71, 114, 101, 97, 116, 101, 114, 59, 32768, 8922, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8806, 114, 101, 97, 116, 101, 114, 59, 32768, 8822, 101, 115, 115, 59, 32768, 10913, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 10877, 105, 108, 100, 101, 59, 32768, 8818, 114, 59, 32896, 55349, 56591, 512, 59, 101, 2785, 2787, 32768, 8920, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8666, 105, 100, 111, 116, 59, 32768, 319, 768, 110, 112, 119, 2811, 2899, 2904, 103, 1024, 76, 82, 108, 114, 2821, 2848, 2860, 2887, 101, 102, 116, 512, 65, 82, 2829, 2836, 114, 114, 111, 119, 59, 32768, 10229, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10231, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 10230, 101, 102, 116, 512, 97, 114, 2868, 2875, 114, 114, 111, 119, 59, 32768, 10232, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10234, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10233, 102, 59, 32896, 55349, 56643, 101, 114, 512, 76, 82, 2911, 2922, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8601, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8600, 768, 99, 104, 116, 2941, 2945, 2948, 114, 59, 32768, 8466, 59, 32768, 8624, 114, 111, 107, 59, 32768, 321, 59, 32768, 8810, 2048, 97, 99, 101, 102, 105, 111, 115, 117, 2974, 2978, 2982, 3007, 3012, 3022, 3028, 3033, 112, 59, 32768, 10501, 121, 59, 32768, 1052, 512, 100, 108, 2987, 2998, 105, 117, 109, 83, 112, 97, 99, 101, 59, 32768, 8287, 108, 105, 110, 116, 114, 102, 59, 32768, 8499, 114, 59, 32896, 55349, 56592, 110, 117, 115, 80, 108, 117, 115, 59, 32768, 8723, 112, 102, 59, 32896, 55349, 56644, 99, 114, 59, 32768, 8499, 59, 32768, 924, 2304, 74, 97, 99, 101, 102, 111, 115, 116, 117, 3055, 3060, 3067, 3089, 3201, 3206, 3874, 3880, 3889, 99, 121, 59, 32768, 1034, 99, 117, 116, 101, 59, 32768, 323, 768, 97, 101, 121, 3074, 3080, 3086, 114, 111, 110, 59, 32768, 327, 100, 105, 108, 59, 32768, 325, 59, 32768, 1053, 768, 103, 115, 119, 3096, 3160, 3194, 97, 116, 105, 118, 101, 768, 77, 84, 86, 3108, 3121, 3145, 101, 100, 105, 117, 109, 83, 112, 97, 99, 101, 59, 32768, 8203, 104, 105, 512, 99, 110, 3128, 3137, 107, 83, 112, 97, 99, 101, 59, 32768, 8203, 83, 112, 97, 99, 101, 59, 32768, 8203, 101, 114, 121, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 32768, 8203, 116, 101, 100, 512, 71, 76, 3168, 3184, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 32768, 8811, 101, 115, 115, 76, 101, 115, 115, 59, 32768, 8810, 76, 105, 110, 101, 59, 32768, 10, 114, 59, 32896, 55349, 56593, 1024, 66, 110, 112, 116, 3215, 3222, 3238, 3242, 114, 101, 97, 107, 59, 32768, 8288, 66, 114, 101, 97, 107, 105, 110, 103, 83, 112, 97, 99, 101, 59, 32768, 160, 102, 59, 32768, 8469, 3328, 59, 67, 68, 69, 71, 72, 76, 78, 80, 82, 83, 84, 86, 3269, 3271, 3293, 3312, 3352, 3430, 3455, 3551, 3589, 3625, 3678, 3821, 3861, 32768, 10988, 512, 111, 117, 3276, 3286, 110, 103, 114, 117, 101, 110, 116, 59, 32768, 8802, 112, 67, 97, 112, 59, 32768, 8813, 111, 117, 98, 108, 101, 86, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8742, 768, 108, 113, 120, 3319, 3327, 3345, 101, 109, 101, 110, 116, 59, 32768, 8713, 117, 97, 108, 512, 59, 84, 3335, 3337, 32768, 8800, 105, 108, 100, 101, 59, 32896, 8770, 824, 105, 115, 116, 115, 59, 32768, 8708, 114, 101, 97, 116, 101, 114, 1792, 59, 69, 70, 71, 76, 83, 84, 3373, 3375, 3382, 3394, 3404, 3410, 3423, 32768, 8815, 113, 117, 97, 108, 59, 32768, 8817, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32896, 8807, 824, 114, 101, 97, 116, 101, 114, 59, 32896, 8811, 824, 101, 115, 115, 59, 32768, 8825, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32896, 10878, 824, 105, 108, 100, 101, 59, 32768, 8821, 117, 109, 112, 533, 3437, 3448, 111, 119, 110, 72, 117, 109, 112, 59, 32896, 8782, 824, 113, 117, 97, 108, 59, 32896, 8783, 824, 101, 512, 102, 115, 3461, 3492, 116, 84, 114, 105, 97, 110, 103,
446108, 101, 768, 59, 66, 69, 3477, 3479, 3485, 32768, 8938, 97, 114, 59, 32896, 10703, 824, 113, 117, 97, 108, 59, 32768, 8940, 115, 1536, 59, 69, 71, 76, 83, 84, 3506, 3508, 3515, 3524, 3531, 3544, 32768, 8814, 113, 117, 97, 108, 59, 32768, 8816, 114, 101, 97, 116, 101, 114, 59, 32768, 8824, 101, 115, 115, 59, 32896, 8810, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32896, 10877, 824, 105, 108, 100, 101, 59, 32768, 8820, 101, 115, 116, 101, 100, 512, 71, 76, 3561, 3578, 114, 101, 97, 116, 101, 114, 71, 114, 101, 97, 116, 101, 114, 59, 32896, 10914, 824, 101, 115, 115, 76, 101, 115, 115, 59, 32896, 10913, 824, 114, 101, 99, 101, 100, 101, 115, 768, 59, 69, 83, 3603, 3605, 3613, 32768, 8832, 113, 117, 97, 108, 59, 32896, 10927, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8928, 512, 101, 105, 3630, 3645, 118, 101, 114, 115, 101, 69, 108, 101, 109, 101, 110, 116, 59, 32768, 8716, 103, 104, 116, 84, 114, 105, 97, 110, 103, 108, 101, 768, 59, 66, 69, 3663, 3665, 3671, 32768, 8939, 97, 114, 59, 32896, 10704, 824, 113, 117, 97, 108, 59, 32768, 8941, 512, 113, 117, 3683, 3732, 117, 97, 114, 101, 83, 117, 512, 98, 112, 3694, 3712, 115, 101, 116, 512, 59, 69, 3702, 3705, 32896, 8847, 824, 113, 117, 97, 108, 59, 32768, 8930, 101, 114, 115, 101, 116, 512, 59, 69, 3722, 3725, 32896, 8848, 824, 113, 117, 97, 108, 59, 32768, 8931, 768, 98, 99, 112, 3739, 3757, 3801, 115, 101, 116, 512, 59, 69, 3747, 3750, 32896, 8834, 8402, 113, 117, 97, 108, 59, 32768, 8840, 99, 101, 101, 100, 115, 1024, 59, 69, 83, 84, 3771, 3773, 3781, 3793, 32768, 8833, 113, 117, 97, 108, 59, 32896, 10928, 824, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8929, 105, 108, 100, 101, 59, 32896, 8831, 824, 101, 114, 115, 101, 116, 512, 59, 69, 3811, 3814, 32896, 8835, 8402, 113, 117, 97, 108, 59, 32768, 8841, 105, 108, 100, 101, 1024, 59, 69, 70, 84, 3834, 3836, 3843, 3854, 32768, 8769, 113, 117, 97, 108, 59, 32768, 8772, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8775, 105, 108, 100, 101, 59, 32768, 8777, 101, 114, 116, 105, 99, 97, 108, 66, 97, 114, 59, 32768, 8740, 99, 114, 59, 32896, 55349, 56489, 105, 108, 100, 101, 33024, 209, 59, 32768, 209, 59, 32768, 925, 3584, 69, 97, 99, 100, 102, 103, 109, 111, 112, 114, 115, 116, 117, 118, 3921, 3927, 3936, 3951, 3958, 3963, 3972, 3996, 4002, 4034, 4037, 4055, 4071, 4078, 108, 105, 103, 59, 32768, 338, 99, 117, 116, 101, 33024, 211, 59, 32768, 211, 512, 105, 121, 3941, 3948, 114, 99, 33024, 212, 59, 32768, 212, 59, 32768, 1054, 98, 108, 97, 99, 59, 32768, 336, 114, 59, 32896, 55349, 56594, 114, 97, 118, 101, 33024, 210, 59, 32768, 210, 768, 97, 101, 105, 3979, 3984, 3989, 99, 114, 59, 32768, 332, 103, 97, 59, 32768, 937, 99, 114, 111, 110, 59, 32768, 927, 112, 102, 59, 32896, 55349, 56646, 101, 110, 67, 117, 114, 108, 121, 512, 68, 81, 4014, 4027, 111, 117, 98, 108, 101, 81, 117, 111, 116, 101, 59, 32768, 8220, 117, 111, 116, 101, 59, 32768, 8216, 59, 32768, 10836, 512, 99, 108, 4042, 4047, 114, 59, 32896, 55349, 56490, 97, 115, 104, 33024, 216, 59, 32768, 216, 105, 573, 4060, 4067, 100, 101, 33024, 213, 59, 32768, 213, 101, 115, 59, 32768, 10807, 109, 108, 33024, 214, 59, 32768, 214, 101, 114, 512, 66, 80, 4085, 4109, 512, 97, 114, 4090, 4094, 114, 59, 32768, 8254, 97, 99, 512, 101, 107, 4101, 4104, 59, 32768, 9182, 101, 116, 59, 32768, 9140, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 32768, 9180, 2304, 97, 99, 102, 104, 105, 108, 111, 114, 115, 4141, 4150, 4154, 4159, 4163, 4166, 4176, 4198, 4284, 114, 116, 105, 97, 108, 68, 59, 32768, 8706, 121, 59, 32768, 1055, 114, 59, 32896, 55349, 56595, 105, 59, 32768, 934, 59, 32768, 928, 117, 115, 77, 105, 110, 117, 115, 59, 32768, 177, 512, 105, 112, 4181, 4194, 110, 99, 97, 114, 101, 112, 108, 97, 110, 101, 59, 32768, 8460, 102, 59, 32768, 8473, 1024, 59, 101, 105, 111, 4207, 4209, 4251, 4256, 32768, 10939, 99, 101, 100, 101, 115, 1024, 59, 69, 83, 84, 4223, 4225, 4232, 4244, 32768, 8826, 113, 117, 97, 108, 59, 32768, 10927, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8828, 105, 108, 100, 101, 59, 32768, 8830, 109, 101, 59, 32768, 8243, 512, 100, 112, 4261, 4267, 117, 99, 116, 59, 32768, 8719, 111, 114, 116, 105, 111, 110, 512, 59, 97, 4278, 4280, 32768, 8759, 108, 59, 32768, 8733, 512, 99, 105, 4289, 4294, 114, 59, 32896, 55349, 56491, 59, 32768, 936, 1024, 85, 102, 111, 115, 4306, 4313, 4318, 4323, 79, 84, 33024, 34, 59, 32768, 34, 114, 59, 32896, 55349, 56596, 112, 102, 59, 32768, 8474, 99, 114, 59, 32896, 55349, 56492, 3072, 66, 69, 97, 99, 101, 102, 104, 105, 111, 114, 115, 117, 4354, 4360, 4366, 4395, 4417, 4473, 4477, 4481, 4743, 4764, 4776, 4788, 97, 114, 114, 59, 32768, 10512, 71, 33024,
446174, 59, 32768, 174, 768, 99, 110, 114, 4373, 4379, 4383, 117, 116, 101, 59, 32768, 340, 103, 59, 32768, 10219, 114, 512, 59, 116, 4389, 4391, 32768, 8608, 108, 59, 32768, 10518, 768, 97, 101, 121, 4402, 4408, 4414, 114, 111, 110, 59, 32768, 344, 100, 105, 108, 59, 32768, 342, 59, 32768, 1056, 512, 59, 118, 4422, 4424, 32768, 8476, 101, 114, 115, 101, 512, 69, 85, 4433, 4458, 512, 108, 113, 4438, 4446, 101, 109, 101, 110, 116, 59, 32768, 8715, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 8651, 112, 69, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 10607, 114, 59, 32768, 8476, 111, 59, 32768, 929, 103, 104, 116, 2048, 65, 67, 68, 70, 84, 85, 86, 97, 4501, 4547, 4556, 4607, 4614, 4671, 4719, 4736, 512, 110, 114, 4506, 4519, 103, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10217, 114, 111, 119, 768, 59, 66, 76, 4529, 4531, 4536, 32768, 8594, 97, 114, 59, 32768, 8677, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8644, 101, 105, 108, 105, 110, 103, 59, 32768, 8969, 111, 838, 4562, 0, 4575, 98, 108, 101, 66, 114, 97, 99, 107, 101, 116, 59, 32768, 10215, 110, 805, 4580, 0, 4591, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10589, 101, 99, 116, 111, 114, 512, 59, 66, 4600, 4602, 32768, 8642, 97, 114, 59, 32768, 10581, 108, 111, 111, 114, 59, 32768, 8971, 512, 101, 114, 4619, 4644, 101, 768, 59, 65, 86, 4627, 4629, 4636, 32768, 8866, 114, 114, 111, 119, 59, 32768, 8614, 101, 99, 116, 111, 114, 59, 32768, 10587, 105, 97, 110, 103, 108, 101, 768, 59, 66, 69, 4657, 4659, 4664, 32768, 8883, 97, 114, 59, 32768, 10704, 113, 117, 97, 108, 59, 32768, 8885, 112, 768, 68, 84, 86, 4679, 4691, 4702, 111, 119, 110, 86, 101, 99, 116, 111, 114, 59, 32768, 10575, 101, 101, 86, 101, 99, 116, 111, 114, 59, 32768, 10588, 101, 99, 116, 111, 114, 512, 59, 66, 4712, 4714, 32768, 8638, 97, 114, 59, 32768, 10580, 101, 99, 116, 111, 114, 512, 59, 66, 4729, 4731, 32768, 8640, 97, 114, 59, 32768, 10579, 114, 114, 111, 119, 59, 32768, 8658, 512, 112, 117, 4748, 4752, 102, 59, 32768, 8477, 110, 100, 73, 109, 112, 108, 105, 101, 115, 59, 32768, 10608,
446105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8667, 512, 99, 104, 4781, 4785, 114, 59, 32768, 8475, 59, 32768, 8625, 108, 101, 68, 101, 108, 97, 121, 101, 100, 59, 32768, 10740, 3328, 72, 79, 97, 99, 102, 104, 105, 109, 111, 113, 115, 116, 117, 4827, 4842, 4849, 4856, 4889, 4894, 4949, 4955, 4967, 4973, 5059, 5065, 5070, 512, 67, 99, 4832, 4838, 72, 99, 121, 59, 32768, 1065, 121, 59, 32768, 1064, 70, 84, 99, 121, 59, 32768, 1068, 99, 117, 116, 101, 59, 32768, 346, 1280, 59, 97, 101, 105, 121, 4867, 4869, 4875, 4881, 4886, 32768, 10940, 114, 111, 110, 59, 32768, 352, 100, 105, 108, 59, 32768, 350, 114, 99, 59, 32768, 348, 59, 32768, 1057, 114, 59, 32896, 55349, 56598, 111, 114, 116, 1024, 68, 76, 82, 85, 4906, 4917, 4928, 4940, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8595, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8592, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8594, 112, 65, 114, 114, 111, 119, 59, 32768, 8593, 103, 109, 97, 59, 32768, 931, 97, 108, 108, 67, 105, 114, 99, 108, 101, 59, 32768, 8728, 112, 102, 59, 32896, 55349, 56650, 1091, 4979, 0, 0, 4983, 116, 59, 32768, 8730, 97, 114, 101, 1024, 59, 73, 83, 85, 4994, 4996, 5010, 5052, 32768, 9633, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 59, 32768, 8851, 117, 512, 98, 112, 5016, 5033, 115, 101, 116, 512, 59, 69, 5024, 5026, 32768, 8847, 113, 117, 97, 108, 59, 32768, 8849, 101, 114, 115, 101, 116, 512, 59, 69, 5043, 5045, 32768, 8848, 113, 117, 97, 108, 59, 32768, 8850, 110, 105, 111, 110, 59, 32768, 8852, 99, 114, 59, 32896, 55349, 56494, 97, 114, 59, 32768, 8902, 1024, 98, 99, 109, 112, 5079, 5102, 5155, 5158, 512, 59, 115, 5084, 5086, 32768, 8912, 101, 116, 512, 59, 69, 5093, 5095, 32768, 8912, 113, 117, 97, 108, 59, 32768, 8838, 512, 99, 104, 5107, 5148, 101, 101, 100, 115, 1024, 59, 69, 83, 84, 5120, 5122, 5129, 5141, 32768, 8827, 113, 117, 97, 108, 59, 32768, 10928, 108, 97, 110, 116, 69, 113, 117, 97, 108, 59, 32768, 8829, 105, 108, 100, 101, 59, 32768, 8831, 84, 104, 97, 116, 59, 32768, 8715, 59, 32768, 8721, 768, 59, 101, 115, 5165, 5167, 5185, 32768, 8913, 114, 115, 101, 116, 512, 59, 69, 5176, 5178, 32768, 8835, 113, 117, 97, 108, 59, 32768, 8839, 101, 116, 59, 32768, 8913, 2816, 72, 82, 83, 97, 99, 102, 104, 105, 111, 114, 115, 5213, 5221, 5227, 5241, 5252, 5274, 5279, 5323, 5362, 5368, 5378, 79, 82, 78, 33024, 222, 59, 32768, 222, 65, 68, 69, 59, 32768, 8482, 512, 72, 99, 5232, 5237, 99, 121, 59, 32768, 1035, 121, 59, 32768, 1062, 512, 98, 117, 5246, 5249, 59, 32768, 9, 59, 32768, 932, 768, 97, 101, 121, 5259, 5265, 5271, 114, 111, 110, 59, 32768, 356, 100, 105, 108, 59, 32768, 354, 59, 32768, 1058, 114, 59, 32896, 55349, 56599, 512, 101, 105, 5284, 5300, 835, 5289, 0, 5297, 101, 102, 111, 114, 101, 59, 32768, 8756, 97, 59, 32768, 920, 512, 99, 110, 5305, 5315, 107, 83, 112, 97, 99, 101, 59, 32896, 8287, 8202, 83, 112, 97, 99, 101, 59, 32768, 8201, 108, 100, 101, 1024, 59, 69, 70, 84, 5335, 5337, 5344, 5355, 32768, 8764, 113, 117, 97, 108, 59, 32768, 8771, 117, 108, 108, 69, 113, 117, 97, 108, 59, 32768, 8773, 105, 108, 100, 101, 59, 32768, 8776, 112, 102, 59, 32896, 55349, 56651, 105, 112, 108, 101, 68, 111, 116, 59, 32768, 8411, 512, 99, 116, 5383, 5388, 114, 59, 32896, 55349, 56495, 114, 111, 107, 59, 32768, 358, 5426, 5417, 5444, 5458, 5473, 0, 5480, 5485, 0, 0, 0, 0, 0, 5494, 5500, 5564, 5579, 0, 5726, 5732, 5738, 5745, 512, 99, 114, 5421, 5429, 117, 116, 101, 33024, 218, 59, 32768, 218, 114, 512, 59, 111, 5435, 5437, 32768, 8607, 99, 105, 114, 59, 32768, 10569, 114, 820, 5449, 0, 5453, 121, 59, 32768, 1038, 118, 101, 59, 32768, 364, 512, 105, 121, 5462, 5469, 114, 99, 33024, 219, 59, 32768, 219, 59, 32768, 1059, 98, 108, 97, 99, 59, 32768, 368, 114, 59, 32896, 55349, 56600, 114, 97, 118, 101, 33024, 217, 59, 32768, 217, 97, 99, 114, 59, 32768, 362, 512, 100, 105, 5504, 5548, 101, 114, 512, 66, 80, 5511, 5535, 512, 97, 114, 5516, 5520, 114, 59, 32768, 95, 97, 99, 512, 101, 107, 5527, 5530, 59, 32768, 9183, 101, 116, 59, 32768, 9141, 97, 114, 101, 110, 116, 104, 101, 115, 105, 115, 59, 32768, 9181, 111, 110, 512, 59, 80, 5555, 5557, 32768, 8899, 108, 117, 115, 59, 32768, 8846, 512, 103, 112, 5568, 5573, 111, 110, 59, 32768, 370, 102, 59, 32896, 55349, 56652, 2048, 65, 68, 69, 84, 97, 100, 112, 115, 5595, 5624, 5635, 5648, 5664, 5671, 5682, 5712, 114, 114, 111, 119, 768, 59, 66, 68, 5606, 5608, 5613, 32768, 8593, 97, 114, 59, 32768, 10514, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8645, 111, 119, 110, 65, 114, 114, 111, 119, 59, 32768, 8597, 113, 117, 105, 108, 105, 98, 114, 105, 117, 109, 59, 32768, 10606, 101, 101, 512, 59, 65, 5655, 5657, 32768, 8869, 114, 114, 111, 119, 59, 32768, 8613, 114, 114, 111, 119, 59, 32768, 8657, 111, 119, 110, 97, 114, 114, 111, 119, 59, 32768, 8661, 101, 114, 512, 76, 82, 5689, 5700, 101, 102, 116, 65, 114, 114, 111, 119, 59, 32768, 8598, 105, 103, 104, 116, 65, 114, 114, 111, 119, 59, 32768, 8599, 105, 512, 59, 108, 5718, 5720, 32768, 978, 111, 110, 59, 32768, 933, 105, 110, 103, 59, 32768, 366, 99, 114, 59, 32896, 55349, 56496, 105, 108, 100, 101, 59, 32768, 360, 109, 108, 33024, 220, 59, 32768, 220, 2304, 68, 98, 99, 100, 101, 102, 111, 115, 118, 5770, 5776, 5781, 5785, 5798, 5878, 5883, 5889, 5895, 97, 115, 104, 59, 32768, 8875, 97, 114, 59, 32768, 10987, 121, 59, 32768, 1042, 97, 115, 104, 512, 59, 108, 5793, 5795, 32768, 8873, 59, 32768, 10982, 512, 101, 114, 5803, 5806, 59, 32768, 8897, 768, 98, 116, 121, 5813, 5818, 5866, 97, 114, 59, 32768, 8214, 512, 59, 105, 5823, 5825, 32768, 8214, 99, 97, 108, 1024, 66, 76, 83, 84, 5837, 5842, 5848, 5859, 97, 114, 59, 32768, 8739, 105, 110, 101, 59, 32768, 124, 101, 112, 97, 114, 97, 116, 111, 114, 59, 32768, 10072, 105, 108, 100, 101, 59, 32768, 8768, 84, 104, 105, 110, 83, 112, 97, 99, 101, 59, 32768, 8202, 114, 59, 32896, 55349, 56601, 112, 102, 59, 32896, 55349, 56653, 99, 114, 59, 32896, 55349, 56497, 100, 97, 115, 104, 59, 32768, 8874, 1280, 99, 101, 102, 111, 115, 5913, 5919, 5925, 5930, 5936, 105, 114, 99, 59, 32768, 372, 100, 103,
446101, 59, 32768, 8896, 114, 59, 32896, 55349, 56602, 112, 102, 59, 32896, 55349, 56654, 99, 114, 59, 32896, 55349, 56498, 1024, 102, 105, 111, 115, 5951, 5956, 5959, 5965, 114, 59, 32896, 55349, 56603, 59, 32768, 926, 112, 102, 59, 32896, 55349, 56655, 99, 114, 59, 32896, 55349, 56499, 2304, 65, 73, 85, 97, 99, 102, 111, 115, 117, 5990, 5995, 6000, 6005, 6014, 6027, 6032, 6038, 6044, 99, 121, 59, 32768, 1071, 99, 121, 59, 32768, 1031, 99, 121, 59, 32768, 1070, 99, 117, 116, 101, 33024, 221, 59, 32768, 221, 512, 105, 121, 6019, 6024, 114, 99, 59, 32768, 374, 59, 32768, 1067, 114, 59, 32896, 55349, 56604, 112, 102, 59, 32896, 55349, 56656, 99, 114, 59, 32896, 55349, 56500, 109, 108, 59, 32768, 376, 2048, 72, 97, 99, 100, 101, 102, 111, 115, 6066, 6071, 6078, 6092, 6097, 6119, 6123, 6128, 99, 121, 59, 32768, 1046, 99, 117, 116, 101, 59, 32768, 377, 512, 97, 121, 6083, 6089, 114, 111, 110, 59, 32768, 381, 59, 32768, 1047, 111, 116, 59, 32768, 379, 835, 6102, 0, 6116, 111, 87, 105, 100, 116, 104, 83, 112, 97, 99, 101, 59, 32768, 8203, 97, 59, 32768, 918, 114, 59, 32768, 8488, 112, 102, 59, 32768, 8484, 99, 114, 59, 32896, 55349, 56501, 5938, 6159, 6168, 6175, 0, 6214, 6222, 6233, 0, 0, 0, 0, 6242, 6267, 6290, 6429, 6444, 0, 6495, 6503, 6531, 6540, 0, 6547, 99, 117, 116, 101, 33024, 225, 59, 32768, 225, 114, 101, 118, 101, 59, 32768, 259, 1536, 59, 69, 100, 105, 117, 121, 6187, 6189, 6193, 6196, 6203, 6210, 32768, 8766, 59, 32896, 8766, 819, 59, 32768, 8767, 114, 99, 33024, 226, 59, 32768, 226, 116, 101, 33024, 180, 59, 32768, 180, 59, 32768, 1072, 108, 105, 103, 33024, 230, 59, 32768, 230, 512, 59, 114, 6226, 6228, 32768, 8289, 59, 32896, 55349, 56606, 114, 97, 118, 101, 33024, 224, 59, 32768, 224, 512, 101, 112, 6246, 6261, 512, 102, 112, 6251, 6257, 115, 121, 109, 59, 32768, 8501, 104, 59, 32768, 8501, 104, 97, 59, 32768, 945, 512, 97, 112, 6271, 6284, 512, 99, 108, 6276, 6280, 114, 59, 32768, 257, 103, 59, 32768, 10815, 33024, 38, 59, 32768, 38, 1077, 6295, 0, 0, 6326, 1280, 59, 97, 100, 115, 118, 6305, 6307, 6312, 6315, 6322, 32768, 8743, 110, 100, 59, 32768, 10837, 59, 32768, 10844, 108, 111, 112, 101, 59, 32768, 10840, 59, 32768, 10842, 1792, 59, 101, 108, 109, 114, 115, 122, 6340, 6342, 6345, 6349, 6391, 6410, 6422, 32768, 8736, 59, 32768, 10660, 101, 59, 32768, 8736, 115, 100, 512, 59, 97, 6356, 6358, 32768, 8737, 2098, 6368, 6371, 6374, 6377, 6380, 6383, 6386, 6389, 59, 32768, 10664, 59, 32768, 10665, 59, 32768, 10666, 59, 32768, 10667, 59, 32768, 10668, 59, 32768, 10669, 59, 32768, 10670, 59, 32768, 10671, 116, 512, 59, 118, 6397, 6399, 32768, 8735, 98, 512, 59, 100, 6405, 6407, 32768, 8894, 59, 32768, 10653, 512, 112, 116, 6415, 6419, 104, 59, 32768, 8738, 59, 32768, 197, 97, 114, 114, 59, 32768, 9084, 512, 103, 112, 6433, 6438, 111, 110, 59, 32768, 261, 102, 59, 32896, 55349, 56658, 1792, 59, 69, 97, 101, 105, 111, 112, 6458, 6460, 6463, 6469, 6472, 6476, 6480, 32768, 8776, 59, 32768, 10864, 99, 105, 114, 59, 32768, 10863, 59, 32768, 8778, 100, 59, 32768, 8779, 115, 59, 32768, 39, 114, 111, 120, 512, 59, 101, 6488, 6490, 32768, 8776, 113, 59, 32768, 8778, 105, 110, 103, 33024, 229, 59, 32768, 229, 768, 99, 116, 121, 6509, 6514, 6517, 114, 59, 32896, 55349, 56502, 59, 32768, 42, 109, 112, 512, 59, 101, 6524, 6526, 32768, 8776, 113, 59, 32768, 8781, 105, 108, 100, 101, 33024, 227, 59, 32768, 227, 109, 108, 33024, 228, 59, 32768, 228, 512, 99, 105, 6551, 6559, 111, 110, 105, 110, 116, 59, 32768, 8755, 110, 116, 59, 32768, 10769, 4096, 78, 97, 98, 99, 100, 101, 102, 105, 107, 108, 110, 111, 112, 114, 115, 117, 6597, 6602, 6673, 6688, 6701, 6707, 6768, 6773, 6891, 6898, 6999, 7023, 7309, 7316, 7334, 7383, 111, 116, 59, 32768, 10989, 512, 99, 114, 6607, 6652, 107, 1024, 99, 101, 112, 115, 6617, 6623, 6632, 6639, 111, 110, 103, 59, 32768, 8780, 112, 115, 105, 108, 111, 110, 59, 32768, 1014, 114, 105, 109, 101, 59, 32768, 8245, 105, 109, 512, 59, 101, 6646, 6648, 32768, 8765, 113, 59, 32768, 8909, 583, 6656, 6661, 101, 101, 59, 32768, 8893, 101, 100, 512, 59, 103, 6667, 6669, 32768, 8965, 101, 59, 32768, 8965, 114, 107, 512, 59, 116, 6680, 6682, 32768, 9141, 98, 114, 107, 59, 32768, 9142, 512, 111, 12
4461, 6693, 6698, 110, 103, 59, 32768, 8780, 59, 32768, 1073, 113, 117, 111, 59, 32768, 8222, 1280, 99, 109, 112, 114, 116, 6718, 6731, 6738, 6743, 6749, 97, 117, 115, 512, 59, 101, 6726, 6728, 32768, 8757, 59, 32768, 8757, 112, 116, 121, 118, 59, 32768, 10672, 115, 105, 59, 32768, 1014, 110, 111, 117, 59, 32768, 8492, 768, 97, 104, 119, 6756, 6759, 6762, 59, 32768, 946, 59, 32768, 8502, 101, 101, 110, 59, 32768, 8812, 114, 59, 32896, 55349, 56607, 103, 1792, 99, 111, 115, 116, 117, 118, 119, 6789, 6809, 6834, 6850, 6872, 6879, 6884, 768, 97, 105, 117, 6796, 6800, 6805, 112, 59, 32768, 8898, 114, 99, 59, 32768, 9711, 112, 59, 32768, 8899, 768, 100, 112, 116, 6816, 6821, 6827, 111, 116, 59, 32768, 10752, 108, 117, 115, 59, 32768, 10753, 105, 109, 101, 115, 59, 32768, 10754, 1090, 6840, 0, 0, 6846, 99, 117, 112, 59, 32768, 10758, 97, 114, 59, 32768, 9733, 114, 105, 97, 110, 103, 108, 101, 512, 100, 117, 6862, 6868, 111, 119, 110, 59, 32768, 9661, 112, 59, 32768, 9651, 112, 108, 117, 115, 59, 32768, 10756, 101, 101, 59, 32768, 8897, 101, 100, 103, 101, 59, 32768, 8896, 97, 114, 111, 119, 59, 32768, 10509, 768, 97, 107, 111, 6905, 6976, 6994, 512, 99, 110, 6910, 6972, 107, 768, 108, 115, 116, 6918, 6927, 6935, 111, 122, 101, 110, 103, 101, 59, 32768, 10731, 113, 117, 97, 114, 101, 59, 32768, 9642, 114, 105, 97, 110, 103, 108, 101, 1024, 59, 100, 108, 114, 6951, 6953, 6959, 6965, 32768, 9652, 111, 119, 110, 59, 32768, 9662, 101, 102, 116, 59, 32768, 9666, 105, 103, 104, 116, 59, 32768, 9656, 107, 59, 32768, 9251, 770, 6981, 0, 6991, 771, 6985, 0, 6988, 59, 32768, 9618, 59, 32768, 9617, 52, 59, 32768, 9619, 99, 107, 59, 32768, 9608, 512, 101, 111, 7004, 7019, 512, 59, 113, 7009, 7012, 32896, 61, 8421, 117, 105, 118, 59, 32896, 8801, 8421, 116, 59, 32768, 8976, 1024, 112, 116, 119, 120, 7032, 7037, 7049, 7055, 102, 59, 32896, 55349, 56659, 512, 59, 116, 7042, 7044, 32768, 8869, 111, 109, 59, 32768, 8869, 116, 105, 101, 59, 32768, 8904, 3072, 68, 72, 85, 86, 98, 100, 104, 109, 112, 116, 117, 118, 7080, 7101, 7126, 7147, 7182, 7187, 7208, 7233, 7240, 7246, 7253, 7274, 1024, 76, 82, 108, 114, 7089, 7092, 7095, 7098, 59, 32768, 9559, 59, 32768, 9556, 59, 32768, 9558, 59, 32768, 9555, 1280, 59, 68, 85, 100, 117, 7112, 7114, 7117, 7120, 7123, 32768, 9552, 59, 32768, 9574, 59, 32768, 9577, 59, 32768, 9572, 59, 32768, 9575, 1024, 76, 82, 108, 114, 7135, 7138, 7141, 7144, 59, 32768, 9565, 59, 32768, 9562, 59, 32768, 9564, 59, 32768, 9561, 1792, 59, 72, 76, 82, 104, 108, 114, 7162, 7164, 7167, 7170, 7173, 7176, 7179, 32768, 9553, 59, 32768, 9580, 59, 32768, 9571, 59, 32768, 9568, 59, 32768, 9579, 59, 32768, 9570, 59, 32768, 9567, 111, 120, 59, 32768, 10697, 1024, 76, 82, 108, 114, 7196, 7199, 7202, 7205, 59, 32768, 9557, 59, 32768, 9554, 59, 32768, 9488, 59, 32768, 9484, 1280, 59, 68, 85, 100, 117, 7219, 7221, 7224, 7227, 7230, 32768, 9472, 59, 32768, 9573, 59, 32768, 9576, 59, 32768, 9516, 59, 32768, 9524, 105, 110, 117, 115, 59, 32768, 8863, 108, 117, 115, 59, 32768, 8862, 105, 109, 101, 115, 59, 32768, 8864, 1024, 76, 82, 108, 114, 7262, 7265, 7268, 7271, 59, 32768, 9563, 59, 32768, 9560, 59, 32768, 9496, 59, 32768, 9492, 1792, 59, 72, 76, 82, 104, 108, 114, 7289, 7291, 7294, 7297, 7300, 7303, 7306, 32768, 9474, 59, 32768, 9578, 59, 32768, 9569, 59, 32768, 9566, 59, 32768, 9532, 59, 32768, 9508, 59, 32768, 9500, 114, 105, 109, 101, 59, 32768, 8245, 512, 101, 118, 7321, 7326, 118, 101, 59, 32768, 728, 98, 97, 114, 33024, 166, 59, 32768, 166, 1024, 99, 101, 105, 111, 7343, 7348, 7353, 7364, 114, 59, 32896, 55349, 56503, 109, 105, 59, 32768, 8271, 109, 512, 59, 101, 7359, 7361, 32768, 8765, 59, 32768, 8909, 108, 768, 59, 98, 104, 7372, 7374, 7377, 32768, 92, 59, 32768, 10693, 115, 117, 98, 59, 32768, 10184, 573, 7387, 7399, 108, 512, 59, 101, 7392, 7394, 32768, 8226, 116, 59, 32768, 8226, 112, 768, 59, 69, 101, 7406, 7408, 7411, 32768, 8782, 59, 32768, 10926, 512, 59, 113, 7416, 7418, 32768, 8783, 59, 32768, 8783, 6450, 7448, 0, 7523, 7571, 7576, 7613, 0, 7618, 7647, 0, 0, 7764, 0, 0, 7779, 0, 0, 7899, 7914, 7949, 7955, 0, 8158, 0, 8176, 768, 99, 112, 114, 7454, 7460, 7509, 117, 116, 101, 59, 32768, 263, 1536, 59, 97, 98, 99, 100, 115, 7473, 7475, 7480, 7487, 7500, 7505, 32768, 8745, 110, 100, 59, 32768, 10820, 114, 99, 117, 112, 59, 32768, 10825, 512, 97, 117, 7492, 7496, 112, 59, 32768, 10827, 112, 59, 32768, 10823, 111, 116, 59, 32768, 10816, 59, 32896, 8745, 65024, 512, 101, 111, 7514, 7518, 116, 59, 32768, 8257, 110, 59, 32768, 711, 1024, 97, 101, 105, 117, 7531, 7544, 7552, 7557, 833, 7536, 0, 7540, 115, 59, 32768, 10829, 111, 110, 59, 32768, 269, 100, 105, 108, 33024, 231, 59, 32768, 231, 114, 99, 59, 32768, 265, 112, 115, 512, 59, 115, 7564, 7566, 32768, 10828, 109, 59, 32768, 10832, 111, 116, 59, 32768, 267, 768, 100, 109, 110, 7582, 7589, 7596, 105, 108, 33024,
446184, 59, 32768, 184, 112, 116, 121, 118, 59, 32768, 10674, 116, 33280, 162, 59, 101, 7603, 7605, 32768, 162, 114, 100, 111, 116, 59, 32768, 183, 114, 59, 32896, 55349, 56608, 768, 99, 101, 105, 7624, 7628, 7643, 121, 59, 32768, 1095, 99, 107, 512, 59, 109, 7635, 7637, 32768, 10003, 97, 114, 107, 59, 32768, 10003, 59, 32768, 967, 114, 1792, 59, 69, 99, 101, 102, 109, 115, 7662, 7664, 7667, 7742, 7745, 7752, 7757, 32768, 9675, 59, 32768, 10691, 768, 59, 101, 108, 7674, 7676, 7680, 32768, 710, 113, 59, 32768, 8791, 101, 1074, 7687, 0, 0, 7709, 114, 114, 111, 119, 512, 108, 114, 7695, 7701, 101, 102, 116, 59, 32768, 8634, 105, 103, 104, 116, 59, 32768, 8635, 1280, 82, 83, 97, 99, 100, 7719, 7722, 7725, 7730, 7736, 59, 32768, 174, 59, 32768, 9416, 115, 116, 59, 32768, 8859, 105, 114, 99, 59, 32768, 8858, 97, 115, 104, 59, 32768, 8861, 59, 32768, 8791, 110, 105, 110, 116, 59, 32768, 10768, 105, 100, 59, 32768, 10991, 99, 105, 114, 59, 32768, 10690, 117, 98, 115, 512, 59, 117, 7771, 7773, 32768, 9827, 105, 116, 59, 32768, 9827, 1341, 7785, 7804, 7850, 0, 7871, 111, 110, 512, 59, 101, 7791, 7793, 32768, 58, 512, 59, 113, 7798, 7800, 32768, 8788, 59, 32768, 8788, 1086, 7809, 0, 0, 7820, 97, 512, 59, 116, 7814, 7816, 32768, 44, 59, 32768, 64, 768, 59, 102, 108, 7826, 7828, 7832, 32768, 8705, 110, 59, 32768, 8728, 101, 512, 109, 120, 7838, 7844, 101, 110, 116, 59, 32768, 8705, 101, 115, 59, 32768, 8450, 824, 7854, 0, 7866, 512, 59, 100, 7858, 7860, 32768, 8773, 111, 116, 59, 32768, 10861, 110, 116, 59, 32768, 8750, 768, 102, 114, 121, 7877, 7881, 7886, 59, 32896, 55349, 56660, 111, 100, 59, 32768, 8720, 33280, 169, 59, 115, 7892, 7894, 32768, 169, 114, 59, 32768, 8471, 512, 97, 111, 7903, 7908, 114, 114, 59, 32768, 8629, 115, 115, 59, 32768, 10007, 512, 99, 117, 7918, 7923, 114, 59, 32896, 55349, 56504, 512, 98, 112, 7928, 7938, 512, 59, 101, 7933, 7935, 32768, 10959, 59, 32768, 10961, 512, 59, 101, 7943, 7945, 32768, 10960, 59, 32768, 10962, 100, 111, 116, 59, 32768, 8943, 1792, 100, 101, 108, 112, 114, 118, 119, 7969, 7983, 7996, 8009, 8057, 8147, 8152, 97, 114, 114, 512, 108, 114, 7977, 7980, 59, 32768, 10552, 59, 32768, 10549, 1089, 7989, 0, 0, 7993, 114, 59, 32768, 8926, 99, 59, 32768, 8927, 97, 114, 114, 512, 59, 112, 8004, 8006, 32768, 8630, 59, 32768, 10557, 1536, 59, 98, 99, 100, 111, 115, 8022, 8024, 8031, 8044, 8049, 8053, 32768, 8746, 114, 99, 97, 112, 59, 32768, 10824, 512, 97, 117, 8036, 8040, 112, 59, 32768, 10822, 112, 59, 32768, 10826, 111, 116, 59, 32768, 8845, 114, 59, 32768, 10821, 59, 32896, 8746, 65024, 1024, 97, 108, 114, 118, 8066, 8078, 8116, 8123, 114, 114, 512, 59, 109, 8073, 8075, 32768, 8631, 59, 32768, 10556, 121, 768, 101, 118, 119, 8086, 8104, 8109, 113, 1089, 8093, 0, 0, 8099, 114, 101, 99, 59, 32768, 8926, 117, 99, 99, 59, 32768, 8927, 101, 101, 59, 32768, 8910, 101, 100, 103, 101, 59, 32768, 8911, 101, 110, 33024, 164, 59, 32768, 164, 101, 97, 114, 114, 111, 119, 512, 108, 114, 8134, 8140, 101, 102, 116, 59, 32768, 8630, 105, 103, 104, 116, 59, 32768, 8631, 101, 101, 59, 32768, 8910, 101, 100, 59, 32768, 8911, 512, 99, 105, 8162, 8170, 111, 110, 105, 110, 116, 59, 32768, 8754, 110, 116, 59, 32768, 8753, 108, 99, 116, 121, 59, 32768, 9005, 4864, 65, 72, 97, 98, 99, 100, 101, 102, 104, 105, 106, 108, 111, 114, 115, 116, 117, 119, 122, 8221, 8226, 8231, 8267, 8282, 8296, 8327, 8351, 8366, 8379, 8466, 8471, 8487, 8621, 8647, 8676, 8697, 8712, 8720, 114, 114, 59, 32768, 8659, 97, 114, 59, 32768, 10597, 1024, 103, 108, 114, 115, 8240, 8246, 8252, 8256, 103, 101, 114, 59, 32768, 8224, 101, 116, 104, 59, 32768, 8504, 114, 59, 32768, 8595, 104, 512, 59, 118, 8262, 8264, 32768, 8208, 59, 32768, 8867, 572, 8271, 8278, 97, 114, 111, 119, 59, 32768, 10511, 97, 99, 59, 32768, 733, 512, 97, 121, 8287, 8293, 114, 111, 110, 59, 32768, 271, 59, 32768, 1076, 768, 59, 97, 111, 8303, 8305, 8320, 32768, 8518, 512, 103, 114, 8310, 8316, 103, 101, 114, 59, 32768, 8225, 114, 59, 32768, 8650, 116, 115, 101, 113, 59, 32768, 10871, 768, 103, 108, 109, 8334, 8339, 8344, 33024, 176, 59, 32768, 176, 116, 97, 59, 32768, 948, 112, 116, 121, 118, 59, 32768, 10673, 512, 105, 114, 8356, 8362, 115, 104, 116, 59, 32768, 10623, 59, 32896, 55349, 56609, 97, 114, 512, 108, 114, 8373, 8376, 59, 32768, 8643, 59, 32768, 8642, 1280, 97, 101, 103,
446115, 118, 8390, 8418, 8421, 8428, 8433, 109, 768, 59, 111, 115, 8398, 8400, 8415, 32768, 8900, 110, 100, 512, 59, 115, 8407, 8409, 32768, 8900, 117, 105, 116, 59, 32768, 9830, 59, 32768, 9830, 59, 32768, 168, 97, 109, 109, 97, 59, 32768, 989, 105, 110, 59, 32768, 8946, 768, 59, 105, 111, 8440, 8442, 8461, 32768, 247, 100, 101, 33280, 247, 59, 111, 8450, 8452, 32768, 247, 110, 116, 105, 109, 101, 115, 59, 32768, 8903, 110, 120, 59, 32768, 8903, 99, 121, 59, 32768, 1106, 99, 1088, 8478, 0, 0, 8483, 114, 110, 59, 32768, 8990, 111, 112, 59, 32768, 8973, 1280, 108, 112, 116, 117, 119, 8498, 8504, 8509, 8556, 8570, 108, 97, 114, 59, 32768, 36, 102, 59, 32896, 55349, 56661, 1280, 59, 101, 109, 112, 115, 8520, 8522, 8535, 8542, 8548, 32768, 729, 113, 512, 59, 100, 8528, 8530, 32768, 8784, 111, 116, 59, 32768, 8785, 105, 110, 117, 115, 59, 32768, 8760, 108, 117, 115, 59, 32768, 8724, 113, 117, 97, 114, 101, 59, 32768, 8865, 98, 108, 101, 98, 97, 114, 119, 101, 100, 103, 101, 59, 32768, 8966, 110, 768, 97, 100, 104, 8578, 8585, 8597, 114, 114, 111, 119, 59, 32768, 8595, 111, 119, 110, 97, 114, 114, 111, 119, 115, 59, 32768, 8650, 97, 114, 112, 111, 111, 110, 512, 108, 114, 8608, 8614, 101, 102, 116, 59, 32768, 8643, 105, 103, 104, 116, 59, 32768, 8642, 563, 8625, 8633, 107, 97, 114, 111, 119, 59, 32768, 10512, 1088, 8638, 0, 0, 8643, 114, 110, 59, 32768, 8991, 111, 112, 59, 32768, 8972, 768, 99, 111, 116, 8654, 8666, 8670, 512, 114, 121, 8659, 8663, 59, 32896, 55349, 56505, 59, 32768, 1109, 108, 59, 32768, 10742, 114, 111, 107, 59, 32768, 273, 512, 100, 114, 8681, 8686, 111, 116, 59, 32768, 8945, 105, 512, 59, 102, 8692, 8694, 32768, 9663, 59, 32768, 9662, 512, 97, 104, 8702, 8707, 114, 114, 59, 32768, 8693, 97, 114, 59, 32768, 10607, 97, 110, 103, 108, 101, 59, 32768, 10662, 512, 99, 105, 8725, 8729, 121, 59, 32768, 1119, 103, 114, 97, 114, 114, 59, 32768, 10239, 4608, 68, 97, 99, 100, 101, 102, 103, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 120, 8774, 8788, 8807, 8844, 8849, 8852, 8866, 8895, 8929, 8977, 8989, 9004, 9046, 9136, 9151, 9171, 9184, 9199, 512, 68, 111, 8779, 8784, 111, 116, 59, 32768, 10871, 116, 59, 32768, 8785, 512, 99, 115, 8793, 8801, 117, 116, 101, 33024, 233, 59, 32768, 233, 116, 101, 114, 59, 32768, 10862, 1024, 97, 105, 111, 121, 8816, 8822, 8835, 8841, 114, 111, 110, 59, 32768, 283, 114, 512, 59, 99, 8828, 8830, 32768, 8790, 33024, 234, 59, 32768, 234, 108, 111, 110, 59, 32768, 8789, 59, 32768, 1101, 111, 116, 59, 32768, 279, 59, 32768, 8519, 512, 68, 114, 8857, 8862, 111, 116, 59, 32768, 8786, 59, 32896, 55349, 56610, 768, 59, 114, 115, 8873, 8875, 8883, 32768, 10906, 97, 118, 101, 33024, 232, 59, 32768, 232, 512, 59, 100, 8888, 8890, 32768, 10902, 111, 116, 59, 32768, 10904, 1024, 59, 105, 108, 115, 8904, 8906, 8914, 8917, 32768, 10905, 110, 116, 101, 114, 115, 59, 32768, 9191, 59, 32768, 8467, 512, 59, 100, 8922, 8924, 32768, 10901, 111, 116, 59, 32768, 10903, 768, 97, 112, 115, 8936, 8941, 8960, 99, 114, 59, 32768, 275, 116, 121, 768, 59, 115, 118, 8950, 8952, 8957, 32768, 8709, 101, 116, 59, 32768, 8709, 59, 32768, 8709, 112, 512, 49, 59, 8966, 8975, 516, 8970, 8973, 59, 32768, 8196, 59, 32768, 8197, 32768, 8195, 512, 103, 115, 8982, 8985, 59, 32768, 331, 112, 59, 32768, 8194, 512, 103, 112, 8994, 8999, 111, 110, 59, 32768, 281, 102, 59, 32896, 55349, 56662, 768, 97, 108, 115, 9011, 9023, 9028, 114, 512, 59, 115, 9017, 9019, 32768, 8917, 108, 59, 32768, 10723, 117, 115, 59, 32768, 10865, 105, 768, 59, 108, 118, 9036, 9038, 9043, 32768, 949, 111, 110, 59, 32768, 949, 59, 32768, 1013, 1024, 99, 115, 117, 118, 9055, 9071, 9099, 9128, 512, 105, 111, 9060, 9065, 114, 99, 59, 32768, 8790, 108, 111, 110, 59, 32768, 8789, 1082, 9077, 0, 0, 9081, 109, 59, 32768, 8770, 97, 110, 116, 512, 103, 108, 9088, 9093, 116, 114, 59, 32768, 10902, 101, 115, 115, 59, 32768, 10901, 768, 97, 101, 105, 9106, 9111, 9116, 108, 115, 59, 32768, 61, 115, 116, 59, 32768, 8799, 118, 512, 59, 68, 9122, 9124, 32768, 8801, 68, 59, 32768, 10872, 112, 97, 114, 115, 108, 59, 32768, 10725, 512, 68, 97, 9141, 9146, 111, 116, 59, 32768, 8787, 114, 114, 59, 32768, 10609, 768, 99, 100, 105, 9158, 9162, 9167, 114, 59, 32768, 8495, 111, 116, 59, 32768, 8784, 109, 59, 32768, 8770, 512, 97, 104, 9176, 9179, 59, 32768, 951, 33024, 240, 59, 32768, 240, 512, 109, 114, 9189, 9195, 108, 33024, 235, 59, 32768, 235, 111, 59, 32768, 8364, 768, 99, 105, 112, 9206, 9210, 9215, 108, 59, 32768, 33, 115, 116, 59, 32768, 8707, 512, 101, 111, 9220, 9230, 99, 116, 97, 116, 105, 111, 110, 59, 32768, 8496, 110, 101, 110, 116, 105, 97, 108, 101, 59, 32768, 8519, 4914, 9262, 0, 9276, 0, 9280, 9287, 0, 0, 9318, 9324, 0, 9331, 0, 9352, 9357, 9386, 0, 9395, 9497, 108, 108, 105, 110, 103,
446100, 111, 116, 115, 101, 113, 59, 32768, 8786, 121, 59, 32768, 1092, 109, 97, 108, 101, 59, 32768, 9792, 768, 105, 108, 114, 9293, 9299, 9313, 108, 105, 103, 59, 32768, 64259, 1082, 9305, 0, 0, 9309, 103, 59, 32768, 64256, 105, 103, 59, 32768, 64260, 59, 32896, 55349, 56611, 108, 105, 103, 59, 32768, 64257, 108, 105, 103, 59, 32896, 102, 106, 768, 97, 108, 116, 9337, 9341, 9346, 116, 59, 32768, 9837, 105, 103, 59, 32768, 64258, 110, 115, 59, 32768, 9649, 111, 102, 59, 32768, 402, 833, 9361, 0, 9366, 102, 59, 32896, 55349, 56663, 512, 97, 107, 9370, 9375, 108, 108, 59, 32768, 8704, 512, 59, 118, 9380, 9382, 32768, 8916, 59, 32768, 10969, 97, 114, 116, 105, 110, 116, 59, 32768, 10765, 512, 97, 111, 9399, 9491, 512, 99, 115, 9404, 9487, 1794, 9413, 9443, 9453, 9470, 9474, 0, 9484, 1795, 9421, 9426, 9429, 9434, 9437, 0, 9440, 33024, 189, 59, 32768, 189, 59, 32768, 8531, 33024, 188, 59, 32768, 188, 59, 32768, 8533, 59, 32768, 8537, 59, 32768, 8539, 772, 9447, 0, 9450, 59, 32768, 8532, 59, 32768, 8534, 1285, 9459, 9464, 0, 0, 9467, 33024, 190, 59, 32768, 190, 59, 32768, 8535, 59, 32768, 8540, 53, 59, 32768, 8536, 775, 9478, 0, 9481, 59, 32768, 8538, 59, 32768, 8541, 56, 59, 32768, 8542, 108, 59, 32768, 8260, 119, 110, 59, 32768, 8994, 99, 114, 59, 32896, 55349, 56507, 4352, 69, 97, 98, 99, 100, 101, 102, 103, 105, 106, 108, 110, 111, 114, 115, 116, 118, 9537, 9547, 9575, 9582, 9595, 9600, 9679, 9684, 9694, 9700, 9705, 9725, 9773, 9779, 9785, 9810, 9917, 512, 59, 108, 9542, 9544, 32768, 8807, 59, 32768, 10892, 768, 99, 109, 112, 9554, 9560, 9572, 117, 116, 101, 59, 32768, 501, 109, 97, 512, 59, 100, 9567, 9569, 32768, 947, 59, 32768, 989, 59, 32768, 10886, 114, 101, 118, 101, 59, 32768, 287, 512, 105, 121, 9587, 9592, 114, 99, 59, 32768, 285, 59, 32768, 1075, 111, 116, 59, 32768, 289, 1024, 59, 108, 113, 115, 9609, 9611, 9614, 9633, 32768, 8805, 59, 32768, 8923, 768, 59, 113, 115, 9621, 9623, 9626, 32768, 8805, 59, 32768, 8807, 108, 97, 110, 116, 59, 32768, 10878, 1024, 59, 99, 100, 108, 9642, 9644, 9648, 9667, 32768, 10878, 99, 59, 32768, 10921, 111, 116, 512, 59, 111, 9655, 9657, 32768, 10880, 512, 59, 108, 9662, 9664, 32768, 10882, 59, 32768, 10884, 512, 59, 101, 9672, 9675, 32896, 8923, 65024, 115, 59, 32768, 10900, 114, 59, 32896, 55349, 56612, 512, 59, 103, 9689, 9691, 32768, 8811, 59, 32768, 8921, 109, 101, 108, 59, 32768, 8503, 99, 121, 59, 32768, 1107, 1024, 59, 69, 97, 106, 9714, 9716, 9719, 9722, 32768, 8823, 59, 32768, 10898, 59, 32768, 10917, 59, 32768, 10916, 1024, 69, 97, 101, 115, 9734, 9737, 9751, 9768, 59, 32768, 8809, 112, 512, 59, 112, 9743, 9745, 32768, 10890, 114, 111, 120, 59, 32768, 10890, 512, 59, 113, 9756, 9758, 32768, 10888, 512, 59, 113, 9763, 9765, 32768, 10888, 59, 32768, 8809, 105, 109, 59, 32768, 8935, 112, 102, 59, 32896, 55349, 56664, 97, 118, 101, 59, 32768, 96, 512, 99, 105, 9790, 9794, 114, 59, 32768, 8458, 109, 768, 59, 101, 108, 9802, 9804, 9807, 32768, 8819, 59, 32768, 10894, 59, 32768, 10896, 34304, 62, 59, 99, 100, 108, 113, 114, 9824, 9826, 9838, 9843, 9849, 9856, 32768, 62, 512, 99, 105, 9831, 9834, 59, 32768, 10919, 114, 59, 32768, 10874, 111, 116, 59, 32768, 8919, 80, 97, 114, 59, 32768, 10645, 117, 101, 115, 116, 59, 32768, 10876, 1280, 97, 100, 101, 108, 115, 9867, 9882, 9887, 9906, 9912, 833, 9872, 0, 9879, 112, 114, 111, 120, 59, 32768, 10886, 114, 59, 32768, 10616, 111, 116, 59, 32768, 8919, 113, 512, 108, 113, 9893, 9899, 101, 115, 115, 59, 32768, 8923, 108, 101, 115, 115, 59, 32768, 10892, 101, 115, 115, 59, 32768, 8823, 105, 109, 59, 32768, 8819, 512, 101, 110, 9922, 9932, 114, 116, 110, 101, 113, 113, 59, 32896, 8809, 65024, 69, 59, 32896, 8809, 65024, 2560, 65, 97, 98, 99, 101, 102, 107, 111, 115, 121, 9958, 9963, 10015, 10020, 10026, 10060, 10065, 10085, 10147, 10171, 114, 114, 59, 32768, 8660, 1024, 105, 108, 109, 114, 9972, 9978, 9982, 9988, 114, 115, 112, 59, 32768, 8202, 102, 59, 32768, 189, 105, 108, 116, 59, 32768, 8459, 512, 100, 114, 9993, 9998, 99, 121, 59, 32768, 1098, 768, 59, 99, 119, 10005, 10007, 10012, 32768, 8596, 105, 114, 59, 32768, 10568, 59, 32768, 8621, 97, 114, 59, 32768, 8463, 105, 114, 99, 59, 32768, 293, 768, 97, 108, 114, 10033, 10048, 10054, 114, 116, 115, 512, 59, 117, 10041, 10043, 32768, 9829, 105, 116, 59, 32768, 9829, 108, 105, 112, 59, 32768, 8230, 99, 111, 110, 59, 32768, 8889, 114, 59, 32896, 55349, 56613, 115, 512, 101, 119, 10071, 10078, 97, 114, 111, 119, 59, 32768, 10533, 97, 114, 111, 119, 59, 32768, 10534, 1280, 97, 109, 111, 112, 114, 10096, 10101, 10107, 10136, 10141, 114, 114, 59, 32768, 8703, 116, 104, 116, 59, 32768, 8763, 107, 512, 108, 114, 10113, 10124, 101, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8617, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8618, 102, 59, 32896, 55349, 56665, 98, 97, 114, 59, 32768, 8213, 768, 99, 108, 116, 10154, 10159, 10165, 114, 59, 32896, 55349, 56509, 97, 115, 104, 59, 32768, 8463, 114, 111, 107, 59, 32768, 295, 512, 98, 112, 10176, 10182, 117, 108, 108, 59, 32768, 8259, 104, 101, 110, 59, 32768, 8208, 5426, 10211, 0, 10220, 0, 10239, 10255, 10267, 0, 10276, 10312, 0, 0, 10318, 10371, 10458, 10485, 10491, 0, 10500, 10545, 10558, 99, 117, 116, 101, 33024, 237, 59, 32768, 237, 768, 59, 105, 121, 10226, 10228, 10235, 32768, 8291, 114, 99, 33024, 238, 59, 32768, 238, 59, 32768, 1080, 512, 99, 120, 10243, 10247, 121, 59, 32768, 1077, 99, 108, 33024,
446161, 59, 32768, 161, 512, 102, 114, 10259, 10262, 59, 32768, 8660, 59, 32896, 55349, 56614, 114, 97, 118, 101, 33024, 236, 59, 32768, 236, 1024, 59, 105, 110, 111, 10284, 10286, 10300, 10306, 32768, 8520, 512, 105, 110, 10291, 10296, 110, 116, 59, 32768, 10764, 116, 59, 32768, 8749, 102, 105, 110, 59, 32768, 10716, 116, 97, 59, 32768, 8489, 108, 105, 103, 59, 32768, 307, 768, 97, 111, 112, 10324, 10361, 10365, 768, 99, 103, 116, 10331, 10335, 10357, 114, 59, 32768, 299, 768, 101, 108, 112, 10342, 10345, 10351, 59, 32768, 8465, 105, 110, 101, 59, 32768, 8464, 97, 114, 116, 59, 32768, 8465, 104, 59, 32768, 305, 102, 59, 32768, 8887, 101, 100, 59, 32768, 437, 1280, 59, 99, 102, 111, 116, 10381, 10383, 10389, 10403, 10409, 32768, 8712, 97, 114, 101, 59, 32768, 8453, 105, 110, 512, 59, 116, 10396, 10398, 32768, 8734, 105, 101, 59, 32768, 10717, 100, 111, 116, 59, 32768, 305, 1280, 59, 99, 101, 108, 112, 10420, 10422, 10427, 10444, 10451, 32768, 8747, 97, 108, 59, 32768, 8890, 512, 103, 114, 10432, 10438, 101, 114, 115, 59, 32768, 8484, 99, 97, 108, 59, 32768, 8890, 97, 114, 104, 107, 59, 32768, 10775, 114, 111, 100, 59, 32768, 10812, 1024, 99, 103, 112, 116, 10466, 10470, 10475, 10480, 121, 59, 32768, 1105, 111, 110, 59, 32768, 303, 102, 59, 32896, 55349, 56666, 97, 59, 32768, 953, 114, 111, 100, 59, 32768, 10812, 117, 101, 115, 116, 33024, 191, 59, 32768, 191, 512, 99, 105, 10504, 10509, 114, 59, 32896, 55349, 56510, 110, 1280, 59, 69, 100, 115, 118, 10521, 10523, 10526, 10531, 10541, 32768, 8712, 59, 32768, 8953, 111, 116, 59, 32768, 8949, 512, 59, 118, 10536, 10538, 32768, 8948, 59, 32768, 8947, 59, 32768, 8712, 512, 59, 105, 10549, 10551, 32768, 8290, 108, 100, 101, 59, 32768, 297, 828, 10562, 0, 10567, 99, 121, 59, 32768, 1110, 108, 33024, 239, 59, 32768, 239, 1536, 99, 102, 109, 111, 115, 117, 10585, 10598, 10603, 10609, 10615, 10630, 512, 105, 121, 10590, 10595, 114, 99, 59, 32768, 309, 59, 32768, 1081, 114, 59, 32896, 55349, 56615, 97, 116, 104, 59, 32768, 567, 112, 102, 59, 32896, 55349, 56667, 820, 10620, 0, 10625, 114, 59, 32896, 55349, 56511, 114, 99, 121, 59, 32768, 1112, 107, 99, 121, 59, 32768, 1108, 2048, 97, 99, 102, 103, 104, 106, 111, 115, 10653, 10666, 10680, 10685, 10692, 10697, 10702, 10708, 112, 112, 97, 512, 59, 118, 10661, 10663, 32768, 954, 59, 32768, 1008, 512, 101, 121, 10671, 10677, 100, 105, 108, 59, 32768, 311, 59, 32768, 1082, 114, 59, 32896, 55349, 56616, 114, 101, 101, 110, 59, 32768, 312, 99, 121, 59, 32768, 1093, 99, 121, 59, 32768, 1116, 112, 102, 59, 32896, 55349, 56668, 99, 114, 59, 32896, 55349, 56512, 5888, 65, 66, 69, 72, 97, 98, 99, 100, 101, 102, 103, 104, 106, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 10761, 10783, 10789, 10799, 10804, 10957, 11011, 11047, 11094, 11349, 11372, 11382, 11409, 11414, 11451, 11478, 11526, 11698, 11711, 11755, 11823, 11910, 11929, 768, 97, 114, 116, 10768, 10773, 10777, 114, 114, 59, 32768, 8666, 114, 59, 32768, 8656, 97, 105, 108, 59, 32768, 10523, 97, 114, 114, 59, 32768, 10510, 512, 59, 103, 10794, 10796, 32768, 8806, 59, 32768, 10891, 97, 114, 59, 32768, 10594, 4660, 10824, 0, 10830, 0, 10838, 0, 0, 0, 0, 0, 10844, 10850, 0, 10867, 10870, 10877, 0, 10933, 117, 116, 101, 59, 32768, 314, 109, 112, 116, 121, 118, 59, 32768, 10676, 114, 97, 110, 59, 32768, 8466, 98, 100, 97, 59, 32768, 955, 103, 768, 59, 100, 108, 10857, 10859, 10862, 32768, 10216, 59, 32768, 10641, 101, 59, 32768, 10216, 59, 32768, 10885, 117, 111, 33024, 171, 59, 32768, 171, 114, 2048, 59, 98, 102, 104, 108, 112, 115, 116, 10894, 10896, 10907, 10911, 10915, 10919, 10923, 10928, 32768, 8592, 512, 59, 102, 10901, 10903, 32768, 8676, 115, 59, 32768, 10527, 115, 59, 32768, 10525, 107, 59, 32768, 8617, 112, 59, 32768, 8619, 108, 59, 32768, 10553, 105, 109, 59, 32768, 10611, 108, 59, 32768, 8610, 768, 59, 97, 101, 10939, 10941, 10946, 32768, 10923, 105, 108, 59, 32768, 10521, 512, 59, 115, 10951, 10953, 32768, 10925, 59, 32896, 10925, 65024, 768, 97, 98, 114, 10964, 10969, 10974, 114, 114, 59, 32768, 10508, 114, 107, 59, 32768, 10098, 512, 97, 107, 10979, 10991, 99, 512, 101, 107, 10985, 10988, 59, 32768, 123, 59, 32768, 91, 512, 101, 115, 10996, 10999, 59, 32768, 10635, 108, 512, 100, 117, 11005, 11008, 59, 32768, 10639, 59, 32768, 10637, 1024, 97, 101, 117, 121, 11020, 11026, 11040, 11044, 114, 111, 110, 59, 32768, 318, 512, 100, 105, 11031, 11036, 105, 108, 59, 32768, 316, 108, 59, 32768, 8968, 98, 59, 32768, 123, 59, 32768, 1083, 1024, 99, 113, 114, 115, 11056, 11060, 11072, 11090, 97, 59, 32768, 10550, 117, 111, 512, 59, 114, 11067, 11069, 32768, 8220, 59, 32768, 8222, 512, 100, 117, 11077, 11083, 104, 97, 114, 59, 32768, 10599, 115, 104, 97, 114, 59, 32768, 10571, 104, 59, 32768, 8626, 1280, 59, 102, 103, 113, 115, 11105, 11107, 11228, 11231, 11250, 32768, 8804, 116, 1280, 97, 104, 108, 114, 116, 11119, 11136, 11157, 11169, 11216, 114, 114, 111, 119, 512, 59, 116, 11128, 11130, 32768, 8592, 97, 105, 108, 59, 32768, 8610, 97, 114, 112, 111, 111, 110, 512, 100, 117, 11147, 11153, 111, 119, 110, 59, 32768, 8637, 112, 59, 32768, 8636, 101, 102, 116, 97, 114, 114, 111, 119, 115, 59, 32768, 8647, 105, 103, 104, 116, 768, 97, 104, 115, 11180, 11194, 11204, 114, 114, 111, 119, 512, 59, 115, 11189, 11191, 32768, 8596, 59, 32768, 8646, 97, 114, 112, 111, 111, 110, 115, 59, 32768, 8651, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 32768, 8621, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 32768, 8907, 59, 32768, 8922, 768, 59, 113, 115, 11238, 11240, 11243, 32768, 8804, 59, 32768, 8806, 108, 97, 110, 116, 59, 32768, 10877, 1280, 59, 99, 100, 103,
446115, 11261, 11263, 11267, 11286, 11298, 32768, 10877, 99, 59, 32768, 10920, 111, 116, 512, 59, 111, 11274, 11276, 32768, 10879, 512, 59, 114, 11281, 11283, 32768, 10881, 59, 32768, 10883, 512, 59, 101, 11291, 11294, 32896, 8922, 65024, 115, 59, 32768, 10899, 1280, 97, 100, 101, 103, 115, 11309, 11317, 11322, 11339, 11344, 112, 112, 114, 111, 120, 59, 32768, 10885, 111, 116, 59, 32768, 8918, 113, 512, 103, 113, 11328, 11333, 116, 114, 59, 32768, 8922, 103, 116, 114, 59, 32768, 10891, 116, 114, 59, 32768, 8822, 105, 109, 59, 32768, 8818, 768, 105, 108, 114, 11356, 11362, 11368, 115, 104, 116, 59, 32768, 10620, 111, 111, 114, 59, 32768, 8970, 59, 32896, 55349, 56617, 512, 59, 69, 11377, 11379, 32768, 8822, 59, 32768, 10897, 562, 11386, 11405, 114, 512, 100, 117, 11391, 11394, 59, 32768, 8637, 512, 59, 108, 11399, 11401, 32768, 8636, 59, 32768, 10602, 108, 107, 59, 32768, 9604, 99, 121, 59, 32768, 1113, 1280, 59, 97, 99, 104, 116, 11425, 11427, 11432, 11440, 11446, 32768, 8810, 114, 114, 59, 32768, 8647, 111, 114, 110, 101, 114, 59, 32768, 8990, 97, 114, 100, 59, 32768, 10603, 114, 105, 59, 32768, 9722, 512, 105, 111, 11456, 11462, 100, 111, 116, 59, 32768, 320, 117, 115, 116, 512, 59, 97, 11470, 11472, 32768, 9136, 99, 104, 101, 59, 32768, 9136, 1024, 69, 97, 101, 115, 11487, 11490, 11504, 11521, 59, 32768, 8808, 112, 512, 59, 112, 11496, 11498, 32768, 10889, 114, 111, 120, 59, 32768, 10889, 512, 59, 113, 11509, 11511, 32768, 10887, 512, 59, 113, 11516, 11518, 32768, 10887, 59, 32768, 8808, 105, 109, 59, 32768, 8934, 2048, 97, 98, 110, 111, 112, 116, 119, 122, 11543, 11556, 11561, 11616, 11640, 11660, 11667, 11680, 512, 110, 114, 11548, 11552, 103, 59, 32768, 10220, 114, 59, 32768, 8701, 114, 107, 59, 32768, 10214, 103, 768, 108, 109, 114, 11569, 11596, 11604, 101, 102, 116, 512, 97, 114, 11577, 11584, 114, 114, 111, 119, 59, 32768, 10229, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10231, 97, 112, 115, 116, 111, 59, 32768, 10236, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 10230, 112, 97, 114, 114, 111, 119, 512, 108, 114, 11627, 11633, 101, 102, 116, 59, 32768, 8619, 105, 103, 104, 116, 59, 32768, 8620, 768, 97, 102, 108, 11647, 11651, 11655, 114, 59, 32768, 10629, 59, 32896, 55349, 56669, 117, 115, 59, 32768, 10797, 105, 109, 101, 115, 59, 32768, 10804, 562, 11671, 11676, 115, 116, 59, 32768, 8727, 97, 114, 59, 32768, 95, 768, 59, 101, 102, 11687, 11689, 11695, 32768, 9674, 110, 103, 101, 59, 32768, 9674, 59, 32768, 10731, 97, 114, 512, 59, 108, 11705, 11707, 32768, 40, 116, 59, 32768, 10643, 1280, 97, 99, 104, 109, 116, 11722, 11727, 11735, 11747, 11750, 114, 114, 59, 32768, 8646, 111, 114, 110, 101, 114, 59, 32768, 8991, 97, 114, 512, 59, 100, 11742, 11744, 32768, 8651, 59, 32768, 10605, 59, 32768, 8206, 114, 105, 59, 32768, 8895, 1536, 97, 99, 104, 105, 113, 116, 11768, 11774, 11779, 11782, 11798, 11817, 113, 117, 111, 59, 32768, 8249, 114, 59, 32896, 55349, 56513, 59, 32768, 8624, 109, 768, 59, 101, 103, 11790, 11792, 11795, 32768, 8818, 59, 32768, 10893, 59, 32768, 10895, 512, 98, 117, 11803, 11806, 59, 32768, 91, 111, 512, 59, 114, 11812, 11814, 32768, 8216, 59, 32768, 8218, 114, 111, 107, 59, 32768, 322, 34816, 60, 59, 99, 100, 104, 105, 108, 113, 114, 11841, 11843, 11855, 11860, 11866, 11872, 11878, 11885, 32768, 60, 512, 99, 105, 11848, 11851, 59, 32768, 10918, 114, 59, 32768, 10873, 111, 116, 59, 32768, 8918, 114, 101, 101, 59, 32768, 8907, 109, 101, 115, 59, 32768, 8905, 97, 114, 114, 59, 32768, 10614, 117, 101, 115, 116, 59, 32768, 10875, 512, 80, 105, 11890, 11895, 97, 114, 59, 32768, 10646, 768, 59, 101, 102, 11902, 11904, 11907, 32768, 9667, 59, 32768, 8884, 59, 32768, 9666, 114, 512, 100, 117, 11916, 11923, 115, 104, 97, 114, 59, 32768, 10570, 104, 97, 114, 59, 32768, 10598, 512, 101, 110, 11934, 11944, 114, 116, 110, 101, 113, 113, 59, 32896, 8808, 65024, 69, 59, 32896, 8808, 65024, 3584, 68, 97, 99, 100, 101, 102, 104, 105, 108, 110, 111, 112, 115, 117, 11978, 11984, 12061, 12075, 12081, 12095, 12100, 12104, 12170, 12181, 12188, 12204, 12207, 12223, 68, 111, 116, 59, 32768, 8762, 1024, 99, 108, 112, 114, 11993, 11999, 12019, 12055, 114, 33024,
446175, 59, 32768, 175, 512, 101, 116, 12004, 12007, 59, 32768, 9794, 512, 59, 101, 12012, 12014, 32768, 10016, 115, 101, 59, 32768, 10016, 512, 59, 115, 12024, 12026, 32768, 8614, 116, 111, 1024, 59, 100, 108, 117, 12037, 12039, 12045, 12051, 32768, 8614, 111, 119, 110, 59, 32768, 8615, 101, 102, 116, 59, 32768, 8612, 112, 59, 32768, 8613, 107, 101, 114, 59, 32768, 9646, 512, 111, 121, 12066, 12072, 109, 109, 97, 59, 32768, 10793, 59, 32768, 1084, 97, 115, 104, 59, 32768, 8212, 97, 115, 117, 114, 101, 100, 97, 110, 103, 108, 101, 59, 32768, 8737, 114, 59, 32896, 55349, 56618, 111, 59, 32768, 8487, 768, 99, 100, 110, 12111, 12118, 12146, 114, 111, 33024, 181, 59, 32768, 181, 1024, 59, 97, 99, 100, 12127, 12129, 12134, 12139, 32768, 8739, 115, 116, 59, 32768, 42, 105, 114, 59, 32768, 10992, 111, 116, 33024, 183, 59, 32768, 183, 117, 115, 768, 59, 98, 100, 12155, 12157, 12160, 32768, 8722, 59, 32768, 8863, 512, 59, 117, 12165, 12167, 32768, 8760, 59, 32768, 10794, 564, 12174, 12178, 112, 59, 32768, 10971, 114, 59, 32768, 8230, 112, 108, 117, 115, 59, 32768, 8723, 512, 100, 112, 12193, 12199, 101, 108, 115, 59, 32768, 8871, 102, 59, 32896, 55349, 56670, 59, 32768, 8723, 512, 99, 116, 12212, 12217, 114, 59, 32896, 55349, 56514, 112, 111, 115, 59, 32768, 8766, 768, 59, 108, 109, 12230, 12232, 12240, 32768, 956, 116, 105, 109, 97, 112, 59, 32768, 8888, 97, 112, 59, 32768, 8888, 6144, 71, 76, 82, 86, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 12294, 12315, 12364, 12376, 12393, 12472, 12496, 12547, 12553, 12636, 12641, 12703, 12725, 12747, 12752, 12876, 12881, 12957, 13033, 13089, 13294, 13359, 13384, 13499, 512, 103, 116, 12299, 12303, 59, 32896, 8921, 824, 512, 59, 118, 12308, 12311, 32896, 8811, 8402, 59, 32896, 8811, 824, 768, 101, 108, 116, 12322, 12348, 12352, 102, 116, 512, 97, 114, 12329, 12336, 114, 114, 111, 119, 59, 32768, 8653, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8654, 59, 32896, 8920, 824, 512, 59, 118, 12357, 12360, 32896, 8810, 8402, 59, 32896, 8810, 824, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8655, 512, 68, 100, 12381, 12387, 97, 115, 104, 59, 32768, 8879, 97, 115, 104, 59, 32768, 8878, 1280, 98, 99, 110, 112, 116, 12404, 12409, 12415, 12420, 12452, 108, 97, 59, 32768, 8711, 117, 116, 101, 59, 32768, 324, 103, 59, 32896, 8736, 8402, 1280, 59, 69, 105, 111, 112, 12431, 12433, 12437, 12442, 12446, 32768, 8777, 59, 32896, 10864, 824, 100, 59, 32896, 8779, 824, 115, 59, 32768, 329, 114, 111, 120, 59, 32768, 8777, 117, 114, 512, 59, 97, 12459, 12461, 32768, 9838, 108, 512, 59, 115, 12467, 12469, 32768, 9838, 59, 32768, 8469, 836, 12477, 0, 12483, 112, 33024, 160, 59, 32768, 160, 109, 112, 512, 59, 101, 12489, 12492, 32896, 8782, 824, 59, 32896, 8783, 824, 1280, 97, 101, 111, 117, 121, 12507, 12519, 12525, 12540, 12544, 833, 12512, 0, 12515, 59, 32768, 10819, 111, 110, 59, 32768, 328, 100, 105, 108, 59, 32768, 326, 110, 103, 512, 59, 100, 12532, 12534, 32768, 8775, 111, 116, 59, 32896, 10861, 824, 112, 59, 32768, 10818, 59, 32768, 1085, 97, 115, 104, 59, 32768, 8211, 1792, 59, 65, 97, 100, 113, 115, 120, 12568, 12570, 12575, 12596, 12602, 12608, 12623, 32768, 8800, 114, 114, 59, 32768, 8663, 114, 512, 104, 114, 12581, 12585, 107, 59, 32768, 10532, 512, 59, 111, 12590, 12592, 32768, 8599, 119, 59, 32768, 8599, 111, 116, 59, 32896, 8784, 824, 117, 105, 118, 59, 32768, 8802, 512, 101, 105, 12613, 12618, 97, 114, 59, 32768, 10536, 109, 59, 32896, 8770, 824, 105, 115, 116, 512, 59, 115, 12631, 12633, 32768, 8708, 59, 32768, 8708, 114, 59, 32896, 55349, 56619, 1024, 69, 101, 115, 116, 12650, 12654, 12688, 12693, 59, 32896, 8807, 824, 768, 59, 113, 115, 12661, 12663, 12684, 32768, 8817, 768, 59, 113, 115, 12670, 12672, 12676, 32768, 8817, 59, 32896, 8807, 824, 108, 97, 110, 116, 59, 32896, 10878, 824, 59, 32896, 10878, 824, 105, 109, 59, 32768, 8821, 512, 59, 114, 12698, 12700, 32768, 8815, 59, 32768, 8815, 768, 65, 97, 112, 12710, 12715, 12720, 114, 114, 59, 32768, 8654, 114, 114, 59, 32768, 8622, 97, 114, 59, 32768, 10994, 768, 59, 115, 118, 12732, 12734, 12744, 32768, 8715, 512, 59, 100, 12739, 12741, 32768, 8956, 59, 32768, 8954, 59, 32768, 8715, 99, 121, 59, 32768, 1114, 1792, 65, 69, 97, 100, 101, 115, 116, 12767, 12772, 12776, 12781, 12785, 12853, 12858, 114, 114, 59, 32768, 8653, 59, 32896, 8806, 824, 114, 114, 59, 32768, 8602, 114, 59, 32768, 8229, 1024, 59, 102, 113, 115, 12794, 12796, 12821, 12842, 32768, 8816, 116, 512, 97, 114, 12802, 12809, 114, 114, 111, 119, 59, 32768, 8602, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8622, 768, 59, 113, 115, 12828, 12830, 12834, 32768, 8816, 59, 32896, 8806, 824, 108, 97, 110, 116, 59, 32896, 10877, 824, 512, 59, 115, 12847, 12850, 32896, 10877, 824, 59, 32768, 8814, 105, 109, 59, 32768, 8820, 512, 59, 114, 12863, 12865, 32768, 8814, 105, 512, 59, 101, 12871, 12873, 32768, 8938, 59, 32768, 8940, 105, 100, 59, 32768, 8740, 512, 112, 116, 12886, 12891, 102, 59, 32896, 55349, 56671, 33536, 172, 59, 105, 110, 12899, 12901, 12936, 32768, 172, 110, 1024, 59, 69, 100, 118, 12911, 12913, 12917, 12923, 32768, 8713, 59, 32896, 8953, 824, 111, 116, 59, 32896, 8949, 824, 818, 12928, 12931, 12934, 59, 32768, 8713, 59, 32768, 8951, 59, 32768, 8950, 105, 512, 59, 118, 12942, 12944, 32768, 8716, 818, 12949, 12952, 12955, 59, 32768, 8716, 59, 32768, 8958, 59, 32768, 8957, 768, 97, 111, 114, 12964, 12992, 12999, 114, 1024, 59, 97, 115, 116, 12974, 12976, 12983, 12988, 32768, 8742, 108, 108, 101, 108, 59, 32768, 8742, 108, 59, 32896, 11005, 8421, 59, 32896, 8706, 824, 108, 105, 110, 116, 59, 32768, 10772, 768, 59, 99, 101, 13006, 13008, 13013, 32768, 8832, 117, 101, 59, 32768, 8928, 512, 59, 99, 13018, 13021, 32896, 10927, 824, 512, 59, 101, 13026, 13028, 32768, 8832, 113, 59, 32896, 10927, 824, 1024, 65, 97, 105, 116, 13042, 13047, 13066, 13077, 114, 114, 59, 32768, 8655, 114, 114, 768, 59, 99, 119, 13056, 13058, 13062, 32768, 8603, 59, 32896, 10547, 824, 59, 32896, 8605, 824, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8603,
446114, 105, 512, 59, 101, 13084, 13086, 32768, 8939, 59, 32768, 8941, 1792, 99, 104, 105, 109, 112, 113, 117, 13104, 13128, 13151, 13169, 13174, 13179, 13194, 1024, 59, 99, 101, 114, 13113, 13115, 13120, 13124, 32768, 8833, 117, 101, 59, 32768, 8929, 59, 32896, 10928, 824, 59, 32896, 55349, 56515, 111, 114, 116, 1086, 13137, 0, 0, 13142, 105, 100, 59, 32768, 8740, 97, 114, 97, 108, 108, 101, 108, 59, 32768, 8742, 109, 512, 59, 101, 13157, 13159, 32768, 8769, 512, 59, 113, 13164, 13166, 32768, 8772, 59, 32768, 8772, 105, 100, 59, 32768, 8740, 97, 114, 59, 32768, 8742, 115, 117, 512, 98, 112, 13186, 13190, 101, 59, 32768, 8930, 101, 59, 32768, 8931, 768, 98, 99, 112, 13201, 13241, 13254, 1024, 59, 69, 101, 115, 13210, 13212, 13216, 13219, 32768, 8836, 59, 32896, 10949, 824, 59, 32768, 8840, 101, 116, 512, 59, 101, 13226, 13229, 32896, 8834, 8402, 113, 512, 59, 113, 13235, 13237, 32768, 8840, 59, 32896, 10949, 824, 99, 512, 59, 101, 13247, 13249, 32768, 8833, 113, 59, 32896, 10928, 824, 1024, 59, 69, 101, 115, 13263, 13265, 13269, 13272, 32768, 8837, 59, 32896, 10950, 824, 59, 32768, 8841, 101, 116, 512, 59, 101, 13279, 13282, 32896, 8835, 8402, 113, 512, 59, 113, 13288, 13290, 32768, 8841, 59, 32896, 10950, 824, 1024, 103, 105, 108, 114, 13303, 13307, 13315, 13319, 108, 59, 32768, 8825, 108, 100, 101, 33024, 241, 59, 32768, 241, 103, 59, 32768, 8824, 105, 97, 110, 103, 108, 101, 512, 108, 114, 13330, 13344, 101, 102, 116, 512, 59, 101, 13338, 13340, 32768, 8938, 113, 59, 32768, 8940, 105, 103, 104, 116, 512, 59, 101, 13353, 13355, 32768, 8939, 113, 59, 32768, 8941, 512, 59, 109, 13364, 13366, 32768, 957, 768, 59, 101, 115, 13373, 13375, 13380, 32768, 35, 114, 111, 59, 32768, 8470, 112, 59, 32768, 8199, 2304, 68, 72, 97, 100, 103, 105, 108, 114, 115, 13403, 13409, 13415, 13420, 13426, 13439, 13446, 13476, 13493, 97, 115, 104, 59, 32768, 8877, 97, 114, 114, 59, 32768, 10500, 112, 59, 32896, 8781, 8402, 97, 115, 104, 59, 32768, 8876, 512, 101, 116, 13431, 13435, 59, 32896, 8805, 8402, 59, 32896, 62, 8402, 110, 102, 105, 110, 59, 32768, 10718, 768, 65, 101, 116, 13453, 13458, 13462, 114, 114, 59, 32768, 10498, 59, 32896, 8804, 8402, 512, 59, 114, 13467, 13470, 32896, 60, 8402, 105, 101, 59, 32896, 8884, 8402, 512, 65, 116, 13481, 13486, 114, 114, 59, 32768, 10499, 114, 105, 101, 59, 32896, 8885, 8402, 105, 109, 59, 32896, 8764, 8402, 768, 65, 97, 110, 13506, 13511, 13532, 114, 114, 59, 32768, 8662, 114, 512, 104, 114, 13517, 13521, 107, 59, 32768, 10531, 512, 59, 111, 13526, 13528, 32768, 8598, 119, 59, 32768, 8598, 101, 97, 114, 59, 32768, 10535, 9252, 13576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13579, 0, 13596, 13617, 13653, 13659, 13673, 13695, 13708, 0, 0, 13713, 13750, 0, 13788, 13794, 0, 13815, 13890, 13913, 13937, 13944, 59, 32768, 9416, 512, 99, 115, 13583, 13591, 117, 116, 101, 33024, 243, 59, 32768, 243, 116, 59, 32768, 8859, 512, 105, 121, 13600, 13613, 114, 512, 59, 99, 13606, 13608, 32768, 8858, 33024, 244, 59, 32768, 244, 59, 32768, 1086, 1280, 97, 98, 105, 111, 115, 13627, 13632, 13638, 13642, 13646, 115, 104, 59, 32768, 8861, 108, 97, 99, 59, 32768, 337, 118, 59, 32768, 10808, 116, 59, 32768, 8857, 111, 108, 100, 59, 32768, 10684, 108, 105, 103, 59, 32768, 339, 512, 99, 114, 13663, 13668, 105, 114, 59, 32768, 10687, 59, 32896, 55349, 56620, 1600, 13680, 0, 0, 13684, 0, 13692, 110, 59, 32768, 731, 97, 118, 101, 33024, 242, 59, 32768, 242, 59, 32768, 10689, 512, 98, 109, 13699, 13704, 97, 114, 59, 32768, 10677, 59, 32768, 937, 110, 116, 59, 32768, 8750, 1024, 97, 99, 105, 116, 13721, 13726, 13741, 13746, 114, 114, 59, 32768, 8634, 512, 105, 114, 13731, 13735, 114, 59, 32768, 10686, 111, 115, 115, 59, 32768, 10683, 110, 101, 59, 32768, 8254, 59, 32768, 10688, 768, 97, 101, 105, 13756, 13761, 13766, 99, 114, 59, 32768, 333, 103, 97, 59, 32768, 969, 768, 99, 100, 110, 13773, 13779, 13782, 114, 111, 110, 59, 32768, 959, 59, 32768, 10678, 117, 115, 59, 32768, 8854, 112, 102, 59, 32896, 55349, 56672, 768, 97, 101, 108, 13800, 13804, 13809, 114, 59, 32768, 10679, 114, 112, 59, 32768, 10681, 117, 115, 59, 32768, 8853, 1792, 59, 97, 100, 105, 111, 115, 118, 13829, 13831, 13836, 13869, 13875, 13879, 13886, 32768, 8744,
446114, 114, 59, 32768, 8635, 1024, 59, 101, 102, 109, 13845, 13847, 13859, 13864, 32768, 10845, 114, 512, 59, 111, 13853, 13855, 32768, 8500, 102, 59, 32768, 8500, 33024, 170, 59, 32768, 170, 33024, 186, 59, 32768, 186, 103, 111, 102, 59, 32768, 8886, 114, 59, 32768, 10838, 108, 111, 112, 101, 59, 32768, 10839, 59, 32768, 10843, 768, 99, 108, 111, 13896, 13900, 13908, 114, 59, 32768, 8500, 97, 115, 104, 33024, 248, 59, 32768, 248, 108, 59, 32768, 8856, 105, 573, 13917, 13924, 100, 101, 33024, 245, 59, 32768, 245, 101, 115, 512, 59, 97, 13930, 13932, 32768, 8855, 115, 59, 32768, 10806, 109, 108, 33024, 246, 59, 32768, 246, 98, 97, 114, 59, 32768, 9021, 5426, 13972, 0, 14013, 0, 14017, 14053, 0, 14058, 14086, 0, 0, 14107, 14199, 0, 14202, 0, 0, 14229, 14425, 0, 14438, 114, 1024, 59, 97, 115, 116, 13981, 13983, 13997, 14009, 32768, 8741, 33280, 182, 59, 108, 13989, 13991, 32768, 182, 108, 101, 108, 59, 32768, 8741, 1082, 14003, 0, 0, 14007, 109, 59, 32768, 10995, 59, 32768, 11005, 59, 32768, 8706, 121, 59, 32768, 1087, 114, 1280, 99, 105, 109, 112, 116, 14028, 14033, 14038, 14043, 14046, 110, 116, 59, 32768, 37, 111, 100, 59, 32768, 46, 105, 108, 59, 32768, 8240, 59, 32768, 8869, 101, 110, 107, 59, 32768, 8241, 114, 59, 32896, 55349, 56621, 768, 105, 109, 111, 14064, 14074, 14080, 512, 59, 118, 14069, 14071, 32768, 966, 59, 32768, 981, 109, 97, 116, 59, 32768, 8499, 110, 101, 59, 32768, 9742, 768, 59, 116, 118, 14092, 14094, 14103, 32768, 960, 99, 104, 102, 111, 114, 107, 59, 32768, 8916, 59, 32768, 982, 512, 97, 117, 14111, 14132, 110, 512, 99, 107, 14117, 14128, 107, 512, 59, 104, 14123, 14125, 32768, 8463, 59, 32768, 8462, 118, 59, 32768, 8463, 115, 2304, 59, 97, 98, 99, 100, 101, 109, 115, 116, 14152, 14154, 14160, 14163, 14168, 14179, 14182, 14188, 14193, 32768, 43, 99, 105, 114, 59, 32768, 10787, 59, 32768, 8862, 105, 114, 59, 32768, 10786, 512, 111, 117, 14173, 14176, 59, 32768, 8724, 59, 32768, 10789, 59, 32768, 10866, 110, 33024, 177, 59, 32768, 177, 105, 109, 59, 32768, 10790, 119, 111, 59, 32768, 10791, 59, 32768, 177, 768, 105, 112, 117, 14208, 14216, 14221, 110, 116, 105, 110, 116, 59, 32768, 10773, 102, 59, 32896, 55349, 56673, 110, 100, 33024, 163, 59, 32768, 163, 2560, 59, 69, 97, 99, 101, 105, 110, 111, 115, 117, 14249, 14251, 14254, 14258, 14263, 14336, 14348, 14367, 14413, 14418, 32768, 8826, 59, 32768, 10931, 112, 59, 32768, 10935, 117, 101, 59, 32768, 8828, 512, 59, 99, 14268, 14270, 32768, 10927, 1536, 59, 97, 99, 101, 110, 115, 14283, 14285, 14293, 14302, 14306, 14331, 32768, 8826, 112, 112, 114, 111, 120, 59, 32768, 10935, 117, 114, 108, 121, 101, 113, 59, 32768, 8828, 113, 59, 32768, 10927, 768, 97, 101, 115, 14313, 14321, 14326, 112, 112, 114, 111, 120, 59, 32768, 10937, 113, 113, 59, 32768, 10933, 105, 109, 59, 32768, 8936, 105, 109, 59, 32768, 8830, 109, 101, 512, 59, 115, 14343, 14345, 32768, 8242, 59, 32768, 8473, 768, 69, 97, 115, 14355, 14358, 14362, 59, 32768, 10933, 112, 59, 32768, 10937, 105, 109, 59, 32768, 8936, 768, 100, 102, 112, 14374, 14377, 14402, 59, 32768, 8719, 768, 97, 108, 115, 14384, 14390, 14396, 108, 97, 114, 59, 32768, 9006, 105, 110, 101, 59, 32768, 8978, 117, 114, 102, 59, 32768, 8979, 512, 59, 116, 14407, 14409, 32768, 8733, 111, 59, 32768, 8733, 105, 109, 59, 32768, 8830, 114, 101, 108, 59, 32768, 8880, 512, 99, 105, 14429, 14434, 114, 59, 32896, 55349, 56517, 59, 32768, 968, 110, 99, 115, 112, 59, 32768, 8200, 1536, 102, 105, 111, 112, 115, 117, 14457, 14462, 14467, 14473, 14480, 14486, 114, 59, 32896, 55349, 56622, 110, 116, 59, 32768, 10764, 112, 102, 59, 32896, 55349, 56674, 114, 105, 109, 101, 59, 32768, 8279, 99, 114, 59, 32896, 55349, 56518, 768, 97, 101, 111, 14493, 14513, 14526, 116, 512, 101, 105, 14499, 14508, 114, 110, 105, 111, 110, 115, 59, 32768, 8461, 110, 116, 59, 32768, 10774, 115, 116, 512, 59, 101, 14520, 14522, 32768, 63, 113, 59, 32768, 8799, 116, 33024, 34, 59, 32768, 34, 5376, 65, 66, 72, 97, 98, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 114, 115, 116, 117, 120, 14575, 14597, 14603, 14608, 14775, 14829, 14865, 14901, 14943, 14966, 15000, 15139, 15159, 15176, 15182, 15236, 15261, 152
44667, 15309, 15352, 15360, 768, 97, 114, 116, 14582, 14587, 14591, 114, 114, 59, 32768, 8667, 114, 59, 32768, 8658, 97, 105, 108, 59, 32768, 10524, 97, 114, 114, 59, 32768, 10511, 97, 114, 59, 32768, 10596, 1792, 99, 100, 101, 110, 113, 114, 116, 14623, 14637, 14642, 14650, 14672, 14679, 14751, 512, 101, 117, 14628, 14632, 59, 32896, 8765, 817, 116, 101, 59, 32768, 341, 105, 99, 59, 32768, 8730, 109, 112, 116, 121, 118, 59, 32768, 10675, 103, 1024, 59, 100, 101, 108, 14660, 14662, 14665, 14668, 32768, 10217, 59, 32768, 10642, 59, 32768, 10661, 101, 59, 32768, 10217, 117, 111, 33024, 187, 59, 32768, 187, 114, 2816, 59, 97, 98, 99, 102, 104, 108, 112, 115, 116, 119, 14703, 14705, 14709, 14720, 14723, 14727, 14731, 14735, 14739, 14744, 14748, 32768, 8594, 112, 59, 32768, 10613, 512, 59, 102, 14714, 14716, 32768, 8677, 115, 59, 32768, 10528, 59, 32768, 10547, 115, 59, 32768, 10526, 107, 59, 32768, 8618, 112, 59, 32768, 8620, 108, 59, 32768, 10565, 105, 109, 59, 32768, 10612, 108, 59, 32768, 8611, 59, 32768, 8605, 512, 97, 105, 14756, 14761, 105, 108, 59, 32768, 10522, 111, 512, 59, 110, 14767, 14769, 32768, 8758, 97, 108, 115, 59, 32768, 8474, 768, 97, 98, 114, 14782, 14787, 14792, 114, 114, 59, 32768, 10509, 114, 107, 59, 32768, 10099, 512, 97, 107, 14797, 14809, 99, 512, 101, 107, 14803, 14806, 59, 32768, 125, 59, 32768, 93, 512, 101, 115, 14814, 14817, 59, 32768, 10636, 108, 512, 100, 117, 14823, 14826, 59, 32768, 10638, 59, 32768, 10640, 1024, 97, 101, 117, 121, 14838, 14844, 14858, 14862, 114, 111, 110, 59, 32768, 345, 512, 100, 105, 14849, 14854, 105, 108, 59, 32768, 343, 108, 59, 32768, 8969, 98, 59, 32768, 125, 59, 32768, 1088, 1024, 99, 108, 113, 115, 14874, 14878, 14885, 14897, 97, 59, 32768, 10551, 100, 104, 97, 114, 59, 32768, 10601, 117, 111, 512, 59, 114, 14892, 14894, 32768, 8221, 59, 32768, 8221, 104, 59, 32768, 8627, 768, 97, 99, 103, 14908, 14934, 14938, 108, 1024, 59, 105, 112, 115, 14918, 14920, 14925, 14931, 32768, 8476, 110, 101, 59, 32768, 8475, 97, 114, 116, 59, 32768, 8476, 59, 32768, 8477, 116, 59, 32768, 9645, 33024, 174, 59, 32768, 174, 768, 105, 108, 114, 14950, 14956, 14962, 115, 104, 116, 59, 32768, 10621, 111, 111, 114, 59, 32768, 8971, 59, 32896, 55349, 56623, 512, 97, 111, 14971, 14990, 114, 512, 100, 117, 14977, 14980, 59, 32768, 8641, 512, 59, 108, 14985, 14987, 32768, 8640, 59, 32768, 10604, 512, 59, 118, 14995, 14997, 32768, 961, 59, 32768, 1009, 768, 103, 110, 115, 15007, 15123, 15127, 104, 116, 1536, 97, 104, 108, 114, 115, 116, 15022, 15039, 15060, 15086, 15099, 15111, 114, 114, 111, 119, 512, 59, 116, 15031, 15033, 32768, 8594, 97, 105, 108, 59, 32768, 8611, 97, 114, 112, 111, 111, 110, 512, 100, 117, 15050, 15056, 111, 119, 110, 59, 32768, 8641, 112, 59, 32768, 8640, 101, 102, 116, 512, 97, 104, 15068, 15076, 114, 114, 111, 119, 115, 59, 32768, 8644, 97, 114, 112, 111, 111, 110, 115, 59, 32768, 8652, 105, 103, 104, 116, 97, 114, 114, 111, 119, 115, 59, 32768, 8649, 113, 117, 105, 103, 97, 114, 114, 111, 119, 59, 32768, 8605, 104, 114, 101, 101, 116, 105, 109, 101, 115, 59, 32768, 8908, 103, 59, 32768, 730, 105, 110, 103, 100, 111, 116, 115, 101, 113, 59, 32768, 8787, 768, 97, 104, 109, 15146, 15151, 15156, 114, 114, 59, 32768, 8644, 97, 114, 59, 32768, 8652, 59, 32768, 8207, 111, 117, 115, 116, 512, 59, 97, 15168, 15170, 32768, 9137, 99, 104, 101, 59, 32768, 9137, 109, 105, 100, 59, 32768, 10990, 1024, 97, 98, 112, 116, 15191, 15204, 15209, 15229, 512, 110, 114, 15196, 15200, 103, 59, 32768, 10221, 114, 59, 32768, 8702, 114, 107, 59, 32768, 10215, 768, 97, 102, 108, 15216, 15220, 15224, 114, 59, 32768, 10630, 59, 32896, 55349, 56675, 117, 115, 59, 32768, 10798, 105, 109, 101, 115, 59, 32768, 10805, 512, 97, 112, 15241, 15253, 114, 512, 59, 103, 15247, 15249, 32768, 41, 116, 59, 32768, 10644, 111, 108, 105, 110, 116, 59, 32768, 10770, 97, 114, 114, 59, 32768, 8649, 1024, 97, 99, 104, 113, 15276, 15282, 15287, 15290, 113, 117, 111, 59, 32768, 8250, 114, 59, 32896, 55349, 56519, 59, 32768, 8625, 512, 98, 117, 15295, 15298, 59, 32768, 93, 111, 512, 59, 114, 15304, 15306, 32768, 8217, 59, 32768, 8217, 768, 104, 105, 114, 15316, 15322, 15328, 114, 101, 101, 59, 32768, 8908, 109, 101, 115, 59, 32768, 8906, 105, 1024, 59, 101, 102, 108, 15338, 15340, 15343, 15346, 32768, 9657, 59, 32768, 8885, 59, 32768, 9656, 116, 114, 105, 59, 32768, 10702, 108, 117, 104, 97, 114, 59, 32768, 10600, 59, 32768, 8478, 6706, 15391, 15398, 15404, 15499, 15516, 15592, 0, 15606, 15660, 0, 0, 15752, 15758, 0, 15827, 15863, 15886, 16000, 16006, 16038, 16086, 0, 16467, 0, 0, 16506, 99, 117, 116, 101, 59, 32768, 347, 113, 117, 111, 59, 32768, 8218, 2560, 59, 69, 97, 99, 101, 105, 110, 112, 115, 121, 15424, 15426, 15429, 15441, 15446, 15458, 15463, 15482, 15490, 15495, 32768, 8827, 59, 32768, 10932, 833, 15434, 0, 15437, 59, 32768, 10936, 111, 110, 59, 32768, 353, 117, 101, 59, 32768, 8829, 512, 59, 100, 15451, 15453, 32768, 10928, 105, 108, 59, 32768, 351, 114, 99, 59, 32768, 349, 768, 69, 97, 115, 15470, 15473, 15477, 59, 32768, 10934, 112, 59, 32768, 10938, 105, 109, 59, 32768, 8937, 111, 108, 105, 110, 116, 59, 32768, 10771, 105, 109, 59, 32768, 8831, 59, 32768, 1089, 111, 116, 768, 59, 98, 101, 15507, 15509, 15512, 32768, 8901, 59, 32768, 8865, 59, 32768, 10854, 1792, 65, 97, 99, 109, 115, 116, 120, 15530, 15535, 15556, 15562, 15566, 15572, 15587, 114, 114, 59, 32768, 8664, 114, 512, 104, 114, 15541, 15545, 10
4467, 59, 32768, 10533, 512, 59, 111, 15550, 15552, 32768, 8600, 119, 59, 32768, 8600, 116, 33024, 167, 59, 32768, 167, 105, 59, 32768, 59, 119, 97, 114, 59, 32768, 10537, 109, 512, 105, 110, 15578, 15584, 110, 117, 115, 59, 32768, 8726, 59, 32768, 8726, 116, 59, 32768, 10038, 114, 512, 59, 111, 15597, 15600, 32896, 55349, 56624, 119, 110, 59, 32768, 8994, 1024, 97, 99, 111, 121, 15614, 15619, 15632, 15654, 114, 112, 59, 32768, 9839, 512, 104, 121, 15624, 15629, 99, 121, 59, 32768, 1097, 59, 32768, 1096, 114, 116, 1086, 15640, 0, 0, 15645, 105, 100, 59, 32768, 8739, 97, 114, 97, 108, 108, 101, 108, 59, 32768, 8741, 33024, 173, 59, 32768, 173, 512, 103, 109, 15664, 15681, 109, 97, 768, 59, 102, 118, 15673, 15675, 15678, 32768, 963, 59, 32768, 962, 59, 32768, 962, 2048, 59, 100, 101, 103, 108, 110, 112, 114, 15698, 15700, 15705, 15715, 15725, 15735, 15739, 15745, 32768, 8764, 111, 116, 59, 32768, 10858, 512, 59, 113, 15710, 15712, 32768, 8771, 59, 32768, 8771, 512, 59, 69, 15720, 15722, 32768, 10910, 59, 32768, 10912, 512, 59, 69, 15730, 15732, 32768, 10909, 59, 32768, 10911, 101, 59, 32768, 8774, 108, 117, 115, 59, 32768, 10788, 97, 114, 114, 59, 32768, 10610, 97, 114, 114, 59, 32768, 8592, 1024, 97, 101, 105, 116, 15766, 15788, 15796, 15808, 512, 108, 115, 15771, 15783, 108, 115, 101, 116, 109, 105, 110, 117, 115, 59, 32768, 8726, 104, 112, 59, 32768, 10803, 112, 97, 114, 115, 108, 59, 32768, 10724, 512, 100, 108, 15801, 15804, 59, 32768, 8739, 101, 59, 32768, 8995, 512, 59, 101, 15813, 15815, 32768, 10922, 512, 59, 115, 15820, 15822, 32768, 10924, 59, 32896, 10924, 65024, 768, 102, 108, 112, 15833, 15839, 15857, 116, 99, 121, 59, 32768, 1100, 512, 59, 98, 15844, 15846, 32768, 47, 512, 59, 97, 15851, 15853, 32768, 10692, 114, 59, 32768, 9023, 102, 59, 32896, 55349, 56676, 97, 512, 100, 114, 15868, 15882, 101, 115, 512, 59, 117, 15875, 15877, 32768, 9824, 105, 116, 59, 32768, 9824, 59, 32768, 8741, 768, 99, 115, 117, 15892, 15921, 15977, 512, 97, 117, 15897, 15909, 112, 512, 59, 115, 15903, 15905, 32768, 8851, 59, 32896, 8851, 65024, 112, 512, 59, 115, 15915, 15917, 32768, 8852, 59, 32896, 8852, 65024, 117, 512, 98, 112, 15927, 15952, 768, 59, 101, 115, 15934, 15936, 15939, 32768, 8847, 59, 32768, 8849, 101, 116, 512, 59, 101, 15946, 15948, 32768, 8847, 113, 59, 32768, 8849, 768, 59, 101, 115, 15959, 15961, 15964, 32768, 8848, 59, 32768, 8850, 101, 116, 512, 59, 101, 15971, 15973, 32768, 8848, 113, 59, 32768, 8850, 768, 59, 97, 102, 15984, 15986, 15996, 32768, 9633, 114, 566, 15991, 15994, 59, 32768, 9633, 59, 32768, 9642, 59, 32768, 9642, 97, 114, 114, 59, 32768, 8594, 1024, 99, 101, 109, 116, 16014, 16019, 16025, 16031, 114, 59, 32896, 55349, 56520, 116, 109, 110, 59, 32768, 8726, 105, 108, 101, 59, 32768, 8995, 97, 114, 102, 59, 32768, 8902, 512, 97, 114, 16042, 16053, 114, 512, 59, 102, 16048, 16050, 32768, 9734, 59, 32768, 9733, 512, 97, 110, 16058, 16081, 105, 103, 104, 116, 512, 101, 112, 16067, 16076, 112, 115, 105, 108, 111, 110, 59, 32768, 1013, 104, 105, 59, 32768, 981, 115, 59, 32768, 175, 1280, 98, 99, 109, 110, 112, 16096, 16221, 16288, 16291, 16295, 2304, 59, 69, 100, 101, 109, 110, 112, 114, 115, 16115, 16117, 16120, 16125, 16137, 16143, 16154, 16160, 16166, 32768, 8834, 59, 32768, 10949, 111, 116, 59, 32768, 10941, 512, 59, 100, 16130, 16132, 32768, 8838, 111, 116, 59, 32768, 10947, 117, 108, 116, 59, 32768, 10945, 512, 69, 101, 16148, 16151, 59, 32768, 10955, 59, 32768, 8842, 108, 117, 115, 59, 32768, 10943, 97, 114, 114, 59, 32768, 10617, 768, 101, 105, 117, 16173, 16206, 16210, 116, 768, 59, 101, 110, 16181, 16183, 16194, 32768, 8834, 113, 512, 59, 113, 16189, 16191, 32768, 8838, 59, 32768, 10949, 101, 113, 512, 59, 113, 16201, 16203, 32768, 8842, 59, 32768, 10955, 109, 59, 32768, 10951, 512, 98, 112, 16215, 16218, 59, 32768, 10965, 59, 32768, 10963, 99, 1536, 59, 97, 99, 101, 110, 115, 16235, 16237, 16245, 16254, 16258, 16283, 32768, 8827, 112, 112, 114, 111, 120, 59, 32768, 10936, 117, 114, 108, 121, 101, 113, 59, 32768, 8829, 113, 59, 32768, 10928, 768, 97, 101, 115, 16265, 16273, 16278, 112, 112, 114, 111, 120, 59, 32768, 10938, 113, 113, 59, 32768, 10934, 105, 109, 59, 32768, 8937, 105, 109, 59, 32768, 8831, 59, 32768, 8721, 103, 59, 32768, 9834, 3328, 49, 50, 51, 59, 69, 100, 101, 104, 108, 109, 110, 112, 115, 16322, 16327, 16332, 16337, 16339, 16342, 16356, 16368, 16382, 16388, 16394, 16405, 16411, 33024,
446185, 59, 32768, 185, 33024, 178, 59, 32768, 178, 33024, 179, 59, 32768, 179, 32768, 8835, 59, 32768, 10950, 512, 111, 115, 16347, 16351, 116, 59, 32768, 10942, 117, 98, 59, 32768, 10968, 512, 59, 100, 16361, 16363, 32768, 8839, 111, 116, 59, 32768, 10948, 115, 512, 111, 117, 16374, 16378, 108, 59, 32768, 10185, 98, 59, 32768, 10967, 97, 114, 114, 59, 32768, 10619, 117, 108, 116, 59, 32768, 10946, 512, 69, 101, 16399, 16402, 59, 32768, 10956, 59, 32768, 8843, 108, 117, 115, 59, 32768, 10944, 768, 101, 105, 117, 16418, 16451, 16455, 116, 768, 59, 101, 110, 16426, 16428, 16439, 32768, 8835, 113, 512, 59, 113, 16434, 16436, 32768, 8839, 59, 32768, 10950, 101, 113, 512, 59, 113, 16446, 16448, 32768, 8843, 59, 32768, 10956, 109, 59, 32768, 10952, 512, 98, 112, 16460, 16463, 59, 32768, 10964, 59, 32768, 10966, 768, 65, 97, 110, 16473, 16478, 16499, 114, 114, 59, 32768, 8665, 114, 512, 104, 114, 16484, 16488, 107, 59, 32768, 10534, 512, 59, 111, 16493, 16495, 32768, 8601, 119, 59, 32768, 8601, 119, 97, 114, 59, 32768, 10538, 108, 105, 103, 33024, 223, 59, 32768, 223, 5938, 16538, 16552, 16557, 16579, 16584, 16591, 0, 16596, 16692, 0, 0, 0, 0, 0, 16731, 16780, 0, 16787, 16908, 0, 0, 0, 16938, 1091, 16543, 0, 0, 16549, 103, 101, 116, 59, 32768, 8982, 59, 32768, 964, 114, 107, 59, 32768, 9140, 768, 97, 101, 121, 16563, 16569, 16575, 114, 111, 110, 59, 32768, 357, 100, 105, 108, 59, 32768, 355, 59, 32768, 1090, 111, 116, 59, 32768, 8411, 108, 114, 101, 99, 59, 32768, 8981, 114, 59, 32896, 55349, 56625, 1024, 101, 105, 107, 111, 16604, 16641, 16670, 16684, 835, 16609, 0, 16624, 101, 512, 52, 102, 16614, 16617, 59, 32768, 8756, 111, 114, 101, 59, 32768, 8756, 97, 768, 59, 115, 118, 16631, 16633, 16638, 32768, 952, 121, 109, 59, 32768, 977, 59, 32768, 977, 512, 99, 110, 16646, 16665, 107, 512, 97, 115, 16652, 16660, 112, 112, 114, 111, 120, 59, 32768, 8776, 105, 109, 59, 32768, 8764, 115, 112, 59, 32768, 8201, 512, 97, 115, 16675, 16679, 112, 59, 32768, 8776, 105, 109, 59, 32768, 8764, 114, 110, 33024, 254, 59, 32768, 254, 829, 16696, 16701, 16727, 100, 101, 59, 32768, 732, 101, 115, 33536, 215, 59, 98, 100, 16710, 16712, 16723, 32768, 215, 512, 59, 97, 16717, 16719, 32768, 8864, 114, 59, 32768, 10801, 59, 32768, 10800, 116, 59, 32768, 8749, 768, 101, 112, 115, 16737, 16741, 16775, 97, 59, 32768, 10536, 1024, 59, 98, 99, 102, 16750, 16752, 16757, 16762, 32768, 8868, 111, 116, 59, 32768, 9014, 105, 114, 59, 32768, 10993, 512, 59, 111, 16767, 16770, 32896, 55349, 56677, 114, 107, 59, 32768, 10970, 97, 59, 32768, 10537, 114, 105, 109, 101, 59, 32768, 8244, 768, 97, 105, 112, 16793, 16798, 16899, 100, 101, 59, 32768, 8482, 1792, 97, 100, 101, 109, 112, 115, 116, 16813, 16868, 16873, 16876, 16883, 16889, 16893, 110, 103, 108, 101, 1280, 59, 100, 108, 113, 114, 16828, 16830, 16836, 16850, 16853, 32768, 9653, 111, 119, 110, 59, 32768, 9663, 101, 102, 116, 512, 59, 101, 16844, 16846, 32768, 9667, 113, 59, 32768, 8884, 59, 32768, 8796, 105, 103, 104, 116, 512, 59, 101, 16862, 16864, 32768, 9657, 113, 59, 32768, 8885, 111, 116, 59, 32768, 9708, 59, 32768, 8796, 105, 110, 117, 115, 59, 32768, 10810, 108, 117, 115, 59, 32768, 10809, 98, 59, 32768, 10701, 105, 109, 101, 59, 32768, 10811, 101, 122, 105, 117, 109, 59, 32768, 9186, 768, 99, 104, 116, 16914, 16926, 16931, 512, 114, 121, 16919, 16923, 59, 32896, 55349, 56521, 59, 32768, 1094, 99, 121, 59, 32768, 1115, 114, 111, 107, 59, 32768, 359, 512, 105, 111, 16942, 16947, 120, 116, 59, 32768, 8812, 104, 101, 97, 100, 512, 108, 114, 16956, 16967, 101, 102, 116, 97, 114, 114, 111, 119, 59, 32768, 8606, 105, 103, 104, 116, 97, 114, 114, 111, 119, 59, 32768, 8608, 4608, 65, 72, 97, 98, 99, 100, 102, 103, 104, 108, 109, 111, 112, 114, 115, 116, 117, 119, 17016, 17021, 17026, 17043, 17057, 17072, 17095, 17110, 17119, 17139, 17172, 17187, 17202, 17290, 17330, 17336, 17365, 17381, 114, 114, 59, 32768, 8657, 97, 114, 59, 32768, 10595, 512, 99, 114, 17031, 17039, 117, 116, 101, 33024, 250, 59, 32768, 250, 114, 59, 32768, 8593, 114, 820, 17049, 0, 17053, 121, 59, 32768, 1118, 118, 101, 59, 32768, 365, 512, 105, 121, 17062, 17069, 114, 99, 33024, 251, 59, 32768, 251, 59, 32768, 1091, 768, 97, 98, 104, 17079, 17084, 17090, 114, 114, 59, 32768, 8645, 108, 97, 99, 59, 32768, 369, 97, 114, 59, 32768, 10606, 512, 105, 114, 17100, 17106, 115, 104, 116, 59, 32768, 10622, 59, 32896, 55349, 56626, 114, 97, 118, 101, 33024, 249, 59, 32768, 249, 562, 17123, 17135, 114, 512, 108, 114, 17128, 17131, 59, 32768, 8639, 59, 32768, 8638, 108, 107, 59, 32768, 9600, 512, 99, 116, 17144, 17167, 1088, 17150, 0, 0, 17163, 114, 110, 512, 59, 101, 17156, 17158, 32768, 8988, 114, 59, 32768, 8988, 111, 112, 59, 32768, 8975, 114, 105, 59, 32768, 9720, 512, 97, 108, 17177, 17182, 99, 114, 59, 32768, 363, 33024,
446168, 59, 32768, 168, 512, 103, 112, 17192, 17197, 111, 110, 59, 32768, 371, 102, 59, 32896, 55349, 56678, 1536, 97, 100, 104, 108, 115, 117, 17215, 17222, 17233, 17257, 17262, 17280, 114, 114, 111, 119, 59, 32768, 8593, 111, 119, 110, 97, 114, 114, 111, 119, 59, 32768, 8597, 97, 114, 112, 111, 111, 110, 512, 108, 114, 17244, 17250, 101, 102, 116, 59, 32768, 8639, 105, 103, 104, 116, 59, 32768, 8638, 117, 115, 59, 32768, 8846, 105, 768, 59, 104, 108, 17270, 17272, 17275, 32768, 965, 59, 32768, 978, 111, 110, 59, 32768, 965, 112, 97, 114, 114, 111, 119, 115, 59, 32768, 8648, 768, 99, 105, 116, 17297, 17320, 17325, 1088, 17303, 0, 0, 17316, 114, 110, 512, 59, 101, 17309, 17311, 32768, 8989, 114, 59, 32768, 8989, 111, 112, 59, 32768, 8974, 110, 103, 59, 32768, 367, 114, 105, 59, 32768, 9721, 99, 114, 59, 32896, 55349, 56522, 768, 100, 105, 114, 17343, 17348, 17354, 111, 116, 59, 32768, 8944, 108, 100, 101, 59, 32768, 361, 105, 512, 59, 102, 17360, 17362, 32768, 9653, 59, 32768, 9652, 512, 97, 109, 17370, 17375, 114, 114, 59, 32768, 8648, 108, 33024, 252, 59, 32768, 252, 97, 110, 103, 108, 101, 59, 32768, 10663, 3840, 65, 66, 68, 97, 99, 100, 101, 102, 108, 110, 111, 112, 114, 115, 122, 17420, 17425, 17437, 17443, 17613, 17617, 17623, 17667, 17672, 17678, 17693, 17699, 17705, 17711, 17754, 114, 114, 59, 32768, 8661, 97, 114, 512, 59, 118, 17432, 17434, 32768, 10984, 59, 32768, 10985, 97, 115, 104, 59, 32768, 8872, 512, 110, 114, 17448, 17454, 103, 114, 116, 59, 32768, 10652, 1792, 101, 107, 110, 112, 114, 115, 116, 17469, 17478, 17485, 17494, 17515, 17526, 17578, 112, 115, 105, 108, 111, 110, 59, 32768, 1013, 97, 112, 112, 97, 59, 32768, 1008, 111, 116, 104, 105, 110, 103, 59, 32768, 8709, 768, 104, 105, 114, 17501, 17505, 17508, 105, 59, 32768, 981, 59, 32768, 982, 111, 112, 116, 111, 59, 32768, 8733, 512, 59, 104, 17520, 17522, 32768, 8597, 111, 59, 32768, 1009, 512, 105, 117, 17531, 17537, 103, 109, 97, 59, 32768, 962, 512, 98, 112, 17542, 17560, 115, 101, 116, 110, 101, 113, 512, 59, 113, 17553, 17556, 32896, 8842, 65024, 59, 32896, 10955, 65024, 115, 101, 116, 110, 101, 113, 512, 59, 113, 17571, 17574, 32896, 8843, 65024, 59, 32896, 10956, 65024, 512, 104, 114, 17583, 17589, 101, 116, 97, 59, 32768, 977, 105, 97, 110, 103, 108, 101, 512, 108, 114, 17600, 17606, 101, 102, 116, 59, 32768, 8882, 105, 103, 104, 116, 59, 32768, 8883, 121, 59, 32768, 1074, 97, 115, 104, 59, 32768, 8866, 768, 101, 108, 114, 17630, 17648, 17654, 768, 59, 98, 101, 17637, 17639, 17644, 32768, 8744, 97, 114, 59, 32768, 8891, 113, 59, 32768, 8794, 108, 105, 112, 59, 32768, 8942, 512, 98, 116, 17659, 17664, 97, 114, 59, 32768, 124, 59, 32768, 124, 114, 59, 32896, 55349, 56627, 116, 114, 105, 59, 32768, 8882, 115, 117, 512, 98, 112, 17685, 17689, 59, 32896, 8834, 8402, 59, 32896, 8835, 8402, 112, 102, 59, 32896, 55349, 56679, 114, 111, 112, 59, 32768, 8733, 116, 114, 105, 59, 32768, 8883, 512, 99, 117, 17716, 17721, 114, 59, 32896, 55349, 56523, 512, 98, 112, 17726, 17740, 110, 512, 69, 101, 17732, 17736, 59, 32896, 10955, 65024, 59, 32896, 8842, 65024, 110, 512, 69, 101, 17746, 17750, 59, 32896, 10956, 65024, 59, 32896, 8843, 65024, 105, 103, 122, 97, 103, 59, 32768, 10650, 1792, 99, 101, 102, 111, 112, 114, 115, 17777, 17783, 17815, 17820, 17826, 17829, 17842, 105, 114, 99, 59, 32768, 373, 512, 100, 105, 17788, 17809, 512, 98, 103, 17793, 17798, 97, 114, 59, 32768, 10847, 101, 512, 59, 113, 17804, 17806, 32768, 8743, 59, 32768, 8793, 101, 114, 112, 59, 32768, 8472, 114, 59, 32896, 55349, 56628, 112, 102, 59, 32896, 55349, 56680, 59, 32768, 8472, 512, 59, 101, 17834, 17836, 32768, 8768, 97, 116, 104, 59, 32768, 8768, 99, 114, 59, 32896, 55349, 56524, 5428, 17871, 17891, 0, 17897, 0, 17902, 17917, 0, 0, 17920, 17935, 17940, 17945, 0, 0, 17977, 17992, 0, 18008, 18024, 18029, 768, 97, 105, 117, 17877, 17881, 17886, 112, 59, 32768, 8898, 114, 99, 59, 32768, 9711, 112, 59, 32768, 8899, 116, 114, 105, 59, 32768, 9661, 114, 59, 32896, 55349, 56629, 512, 65, 97, 17906, 17911, 114, 114, 59, 32768, 10234, 114, 114, 59, 32768, 10231, 59, 32768, 958, 512, 65, 97, 17924, 17929, 114, 114, 59, 32768, 10232, 114, 114, 59, 32768, 10229, 97, 112, 59, 32768, 10236, 105, 115, 59, 32768, 8955, 768, 100, 112, 116, 17951, 17956, 17970, 111, 116, 59, 32768, 10752, 512, 102, 108, 17961, 17965, 59, 32896, 55349, 56681, 11
4467, 115, 59, 32768, 10753, 105, 109, 101, 59, 32768, 10754, 512, 65, 97, 17981, 17986, 114, 114, 59, 32768, 10233, 114, 114, 59, 32768, 10230, 512, 99, 113, 17996, 18001, 114, 59, 32896, 55349, 56525, 99, 117, 112, 59, 32768, 10758, 512, 112, 116, 18012, 18018, 108, 117, 115, 59, 32768, 10756, 114, 105, 59, 32768, 9651, 101, 101, 59, 32768, 8897, 101, 100, 103, 101, 59, 32768, 8896, 2048, 97, 99, 101, 102, 105, 111, 115, 117, 18052, 18068, 18081, 18087, 18092, 18097, 18103, 18109, 99, 512, 117, 121, 18058, 18065, 116, 101, 33024, 253, 59, 32768, 253, 59, 32768, 1103, 512, 105, 121, 18073, 18078, 114, 99, 59, 32768, 375, 59, 32768, 1099, 110, 33024, 165, 59, 32768, 165, 114, 59, 32896, 55349, 56630, 99, 121, 59, 32768, 1111, 112, 102, 59, 32896, 55349, 56682, 99, 114, 59, 32896, 55349, 56526, 512, 99, 109, 18114, 18118, 121, 59, 32768, 1102, 108, 33024, 255, 59, 32768, 255, 2560, 97, 99, 100, 101, 102, 104, 105, 111, 115, 119, 18145, 18152, 18166, 18171, 18186, 18191, 18196, 18204, 18210, 18216, 99, 117, 116, 101, 59, 32768, 378, 512, 97, 121, 18157, 18163, 114, 111, 110, 59, 32768, 382, 59, 32768, 1079, 111, 116, 59, 32768, 380, 512, 101, 116, 18176, 18182, 116, 114, 102, 59, 32768, 8488, 97, 59, 32768, 950, 114, 59, 32896, 55349, 56631, 99, 121, 59, 32768, 1078, 103, 114, 97, 114, 114, 59, 32768, 8669, 112, 102, 59, 32896, 55349, 56683, 99, 114, 59, 32896, 55349, 56527, 512, 106, 110, 18221, 18224, 59, 32768, 8205, 106, 59, 32768, 8204]); 447 }); 448 449 unwrapExports(decodeDataHtml); 450 451 var decodeDataXml = createCommonjsModule(function (module, exports) { 452 Object.defineProperty(exports, "__esModule", { value: true }); 453 // Generated using scripts/write-decode-map.ts 454 // prettier-ignore 455 exports.default = new Uint16Array([1024, 97, 103, 108, 113, 9, 23, 27, 31, 1086, 15, 0, 0, 19, 112, 59, 32768, 38, 111, 115, 59, 32768, 39, 116, 59, 32768, 62, 116, 59, 32768, 60, 117, 111, 116, 59, 32768, 34]); 456 }); 457 458 unwrapExports(decodeDataXml); 459 460 var decode_codepoint = createCommonjsModule(function (module, exports) { 461 // Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 462 Object.defineProperty(exports, "__esModule", { value: true }); 463 var decodeMap = new Map([ 464 [0, 65533], 465 [128, 8364], 466 [130, 8218], 467 [131, 402], 468 [132, 8222], 469 [133, 8230], 470 [134, 8224], 471 [135, 8225], 472 [136, 710], 473 [137, 8240], 474 [138, 352], 475 [139, 8249], 476 [140, 338], 477 [142, 381], 478 [145, 8216], 479 [146, 8217], 480 [147, 8220], 481 [148, 8221], 482 [149, 8226], 483 [150, 8211], 484 [151, 8212], 485 [152, 732], 486 [153, 8482], 487 [154, 353], 488 [155, 8250], 489 [156, 339], 490 [158, 382], 491 [159, 376], 492 ]); 493 var fromCodePoint = 494 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins 495 String.fromCodePoint || 496 function (codePoint) { 497 var output = ""; 498 if (codePoint > 0xffff) { 499 codePoint -= 0x10000; 500 output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800); 501 codePoint = 0xdc00 | (codePoint & 0x3ff); 502 } 503 output += String.fromCharCode(codePoint); 504 return output; 505 }; 506 function decodeCodePoint(codePoint) { 507 var _a; 508 if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { 509 return "\uFFFD"; 510 } 511 return fromCodePoint((_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint); 512 } 513 exports.default = decodeCodePoint; 514 }); 515 516 unwrapExports(decode_codepoint); 517 518 var decode = createCommonjsModule(function (module, exports) { 519 var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) { 520 return (mod && mod.__esModule) ? mod : { "default": mod }; 521 }; 522 Object.defineProperty(exports, "__esModule", { value: true }); 523 exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTML = exports.determineBranch = exports.JUMP_OFFSET_BASE = exports.BinTrieFlags = exp
523orts.xmlDecodeTree = exports.htmlDecodeTree = void 0; 524 var decode_data_html_1 = __importDefault(decodeDataHtml); 525 exports.htmlDecodeTree = decode_data_html_1.default; 526 var decode_data_xml_1 = __importDefault(decodeDataXml); 527 exports.xmlDecodeTree = decode_data_xml_1.default; 528 var decode_codepoint_1 = __importDefault(decode_codepoint); 529 var BinTrieFlags; 530 (function (BinTrieFlags) { 531 BinTrieFlags[BinTrieFlags["HAS_VALUE"] = 32768] = "HAS_VALUE"; 532 BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 32512] = "BRANCH_LENGTH"; 533 BinTrieFlags[BinTrieFlags["MULTI_BYTE"] = 128] = "MULTI_BYTE"; 534 BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; 535 })(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {})); 536 exports.JUMP_OFFSET_BASE = 48 /* ZERO */ - 1; 537 function getDecoder(decodeTree) { 538 return function decodeHTMLBinary(str, strict) { 539 var ret = ""; 540 var lastIdx = 0; 541 var strIdx = 0; 542 while ((strIdx = str.indexOf("&", strIdx)) >= 0) { 543 ret += str.slice(lastIdx, strIdx); 544 lastIdx = strIdx; 545 // Skip the "&" 546 strIdx += 1; 547 // If we have a numeric entity, handle this separately. 548 if (str.charCodeAt(strIdx) === 35 /* NUM */) { 549 // Skip the leading "&#". For hex entities, also skip the leading "x". 550 var start = strIdx + 1; 551 var base = 10; 552 var cp = str.charCodeAt(start); 553 if ((cp | 32 /* To_LOWER_BIT */) === 120 /* LOWER_X */) { 554 base = 16; 555 strIdx += 1; 556 start += 1; 557 } 558 while (((cp = str.charCodeAt(++strIdx)) >= 48 /* ZERO */ && 559 cp <= 57 /* NINE */) || 560 (base === 16 && 561 (cp | 32 /* To_LOWER_BIT */) >= 97 /* LOWER_A */ && 562 (cp | 32 /* To_LOWER_BIT */) <= 102 /* LOWER_F */)) 563 ; 564 if (start !== strIdx) { 565 var entity = str.substring(start, strIdx); 566 var parsed = parseInt(entity, base); 567 if (str.charCodeAt(strIdx) === 59 /* SEMI */) { 568 strIdx += 1; 569 } 570 else if (strict) { 571 continue; 572 } 573 ret += decode_codepoint_1.default(parsed); 574 lastIdx = strIdx; 575 } 576 continue; 577 } 578 var result = null; 579 var excess = 1; 580 var treeIdx = 0; 581 var current = decodeTree[treeIdx]; 582 for (; strIdx < str.length; strIdx++, excess++) { 583 treeIdx = determineBranch(decodeTree, current, treeIdx + 1, str.charCodeAt(strIdx)); 584 if (treeIdx < 0) 585 break; 586 current = decodeTree[treeIdx]; 587 // If the branch is a value, store it and continue 588 if (current & BinTrieFlags.HAS_VALUE) { 589 // If we have a legacy entity while parsing strictly, just skip the number of bytes 590 if (strict && str.charCodeAt(strIdx) !== 59 /* SEMI */) { 591 // No need to consider multi-byte values, as the legacy entity is always a single byte 592 treeIdx += 1; 593 } 594 else { 595 // If this is a surrogate pair, combine the higher bits from the node with the next byte 596 result = 597 current & BinTrieFlags.MULTI_BYTE 598 ? String.fromCharCode(decodeTree[++treeIdx], decodeTree[++treeIdx]) 599 : String.fromCharCode(decodeTree[++treeIdx]); 600 excess = 0; 601 } 602 } 603 } 604 if (result != null) { 605 ret += result; 606 lastIdx = strIdx - excess + 1; 607 } 608 } 609 return ret + str.slice(lastIdx); 610 }; 611 } 612 function determineBranch(decodeTree, current, nodeIdx, char) { 613 if (current <= 128) { 614 return char === current ? nodeIdx : -1; 615 } 616 var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 8; 617 if (branchCount === 0) { 618 return -1; 619 } 620 if (branchCount === 1) { 621 return char === decodeTree[nodeIdx] ? nodeIdx + 1 : -1; 622 } 623 var jumpOffset = current & BinTrieFlags.JUMP_TABLE; 624 if (jumpOffset) { 625 var value = char - exports.JUMP_OFFSET_BASE - jumpOffset; 626 return value < 0 || value > branchCount 627 ? -1 628 : decodeTree[nodeIdx + value] - 1; 629 } 630 // Binary search for the character. 631 var lo = nodeIdx; 632 var hi = lo + branchCount - 1; 633 while (lo <= hi) { 634 var mid = (lo + hi) >>> 1; 635 var midVal = decodeTree[mid]; 636 if (midVal < char) { 637 lo = mid + 1; 638 } 639 else if (midVal > char) { 640 hi = mid - 1; 641 } 642 else { 643 return decodeTree[mid + branchCount]; 644 } 645 } 646 return -1; 647 } 648 exports.determineBranch = determineBranch; 649 var htmlDecoder = getDecoder(decode_data_html_1.default); 650 var xmlDecoder = getDecoder(decode_data_xml_1.default); 651 function decodeHTML(str) { 652 return htmlDecoder(str, false); 653 } 654 exports.decodeHTML = decodeHTML; 655 function decodeHTMLStrict(str) { 656 return htmlDecoder(str, true); 657 } 658 exports.decodeHTMLStrict = decodeHTMLStrict; 659 function decodeXML(str) { 660 return xmlDecoder(str, true); 661 } 662 exports.decodeXML = decodeXML; 663 }); 664 665 unwrapExports(decode); 666 var decode_1 = decode.decodeXML; 667 var decode_2 = decode.decodeHTMLStrict; 668 var decode_3 = decode.decodeHTML; 669 var decode_4 = decode.determineBranch; 670 var decode_5 = decode.JUMP_OFFSET_BASE; 671 var decode_6 = decode.BinTrieFlags; 672 var decode_7 = decode.xmlDecodeTree; 673 var decode_8 = decode.htmlDecodeTree; 674 675 var amp = "&"; 676 var apos = "'"; 677 var gt = ">"; 678 var lt = "<"; 679 var quot = "\""; 680 var xml = { 681 amp: amp, 682 apos: apos, 683 gt: gt, 684 lt: lt, 685 quot: quot 686 }; 687 688 var xml$1 = /*#__PURE__*/Object.freeze({ 689 __proto__: null, 690 amp: amp, 691 apos: apos, 692 gt: gt, 693 lt: lt, 694 quot: quot, 695 'default': xml 696 }); 697 698 var Aacute = "Ã"; 699 var aacute = "á"; 700 var Abreve = "Ä"; 701 var abreve = "Ä"; 702 var ac = "â¾"; 703 var acd = "â¿"; 704 var acE = "â¾Ì³"; 705 var Acirc = "Ã"; 706 var acirc = "â"; 707 var acute = "´"; 708 var Acy = "Ð"; 709 var acy = "а"; 710 var AElig = "Ã"; 711 var aelig = "æ"; 712 var af = "â¡"; 713 var Afr = "ð"; 714 var afr = "ð"; 715 var Agrave = "Ã"; 716 var agrave = "à "; 717 var alefsym = "âµ"; 718 var aleph = "âµ"; 719 var Alpha = "Î"; 720 var alpha = "α"; 721 var Amacr = "Ä";
722 var amacr = "Ä"; 723 var amalg = "⨿"; 724 var amp$1 = "&"; 725 var AMP = "&"; 726 var andand = "â©"; 727 var And = "â©"; 728 var and = "â§"; 729 var andd = "â©"; 730 var andslope = "â©"; 731 var andv = "â©"; 732 var ang = "â "; 733 var ange = "⦤"; 734 var angle = "â "; 735 var angmsdaa = "⦨"; 736 var angmsdab = "⦩"; 737 var angmsdac = "⦪"; 738 var angmsdad = "⦫"; 739 var angmsdae = "⦬"; 740 var angmsdaf = "â¦"; 741 var angmsdag = "⦮"; 742 var angmsdah = "⦯"; 743 var angmsd = "â¡"; 744 var angrt = "â"; 745 var angrtvb = "â¾"; 746 var angrtvbd = "â¦"; 747 var angsph = "â¢"; 748 var angst = "à "; 749 var angzarr = "â¼"; 750 var Aogon = "Ä"; 751 var aogon = "Ä "; 752 var Aopf = "ð¸"; 753 var aopf = "ð"; 754 var apacir = "⩯"; 755 var ap = "â"; 756 var apE = "â©°"; 757 var ape = "â"; 758 var apid = "â"; 759 var apos$1 = "'"; 760 var ApplyFunction = "â¡"; 761 var approx = "â"; 762 var approxeq = "â"; 763 var Aring = "à "; 764 var aring = "Ã¥"; 765 var Ascr = "ð"; 766 var ascr = "ð¶"; 767 var Assign = "â"; 768 var ast = "*"; 769 var asymp = "â"; 770 var asympeq = "â"; 771 var Atilde = "Ã"; 772 var atilde = "ã"; 773 var Auml = "Ã"; 774 var auml = "ä"; 775 var awconint = "â³"; 776 var awint = "â¨"; 777 var backcong = "â"; 778 var backepsilon = "϶"; 779 var backprime = "âµ"; 780 var backsim = "â½"; 781 var backsimeq = "â"; 782 var Backslash = "â"; 783 var Barv = "â«§"; 784 var barvee = "â½"; 785 var barwed = "â "; 786 var Barwed = "â"; 787 var barwedge = "â "; 788 var bbrk = "âµ"; 789 var bbrktbrk = "â¶"; 790 var bcong = "â"; 791 var Bcy = "Ð"; 792 var bcy = "б"; 793 var bdquo = "â"; 794 var becaus = "âµ"; 795 var because = "âµ"; 796 var Because = "âµ"; 797 var bemptyv = "⦰"; 798 var bepsi = "϶"; 799 var bernou = "â¬"; 800 var Bernoullis = "â¬"; 801 var Beta = "Î"; 802 var beta = "β"; 803 var beth = "â¶"; 804 var between = "â¬"; 805 var Bfr = "ð "; 806 var bfr = "ð"; 807 var bigcap = "â"; 808 var bigcirc = "â¯"; 809 var bigcup = "â"; 810 var bigodot = "â¨"; 811 var bigoplus = "â¨"; 812 var bigotimes = "â¨"; 813 var bigsqcup = "â¨"; 814 var bigstar = "â "; 815 var bigtriangledown = "â½"; 816 var bigtriangleup = "â³"; 817 var biguplus = "â¨"; 818 var bigvee = "â"; 819 var bigwedge = "â"; 820 var bkarow = "â¤"; 821 var blacklozenge = "â§«"; 822 var blacksquare = "âª"; 823 var blacktriangle = "â´"; 824 var blacktriangledown = "â¾"; 825 var blacktriangleleft = "â"; 826 var blacktriangleright = "â¸"; 827 var blank = "â£"; 828 var blk12 = "â"; 829 var blk14 = "â"; 830 var blk34 = "â"; 831 var block = "â"; 832 var bne = "=â¥"; 833 var bnequiv = "â¡â¥"; 834 var bNot = "â«"; 835 var bnot = "â"; 836 var Bopf = "ð¹"; 837 var bopf = "ð"; 838 var bot = "â¥"; 839 var bottom = "â¥"; 840 var bowtie = "â"; 841 var boxbox = "â§"; 842 var boxdl = "â"; 843 var boxdL = "â"; 844 var boxDl = "â"; 845 var boxDL = "â"; 846 var boxdr = "â"; 847 var boxdR = "â"; 848 var boxDr = "â"; 849 var boxDR = "â"; 850 var boxh = "â"; 851 var boxH = "â"; 852 var boxhd = "â¬"; 853 var boxHd = "â¤"; 854 var boxhD = "â¥"; 855 var boxHD = "â¦"; 856 var boxhu = "â´"; 857 var boxHu = "â§"; 858 var boxhU = "â¨"; 859 var boxHU = "â©"; 860 var boxminus = "â"; 861 var boxplus = "â"; 862 var boxtimes = "â "; 863 var boxul = "â"; 864 var boxuL = "â"; 865 var boxUl = "â"; 866 var boxUL = "â"; 867 var boxur = "â"; 868 var boxuR = "â"; 869 var boxUr = "â"; 870 var boxUR = "â"; 871 var boxv = "â"; 872 var boxV = "â"; 873 var boxvh = "â¼"; 874 var boxvH = "âª"; 875 var boxVh = "â«"; 876 var boxVH = "â¬"; 877 var boxvl = "â¤"; 878 var boxvL = "â¡"; 879 var boxVl = "â¢"; 880 var boxVL = "â£"; 881 var boxvr = "â"; 882 var boxvR = "â"; 883 var boxVr = "â"; 884 var boxVR = "â "; 885 var bprime = "âµ"; 886 var breve = "Ë"; 887 var Breve = "Ë"; 888 var brvbar = "¦"; 889 var bscr = "ð·"; 890 var Bscr = "â¬"; 891 var bsemi = "â"; 892 var bsim = "â½"; 893 var bsime = "â"; 894 var bsolb = "â§ "; 895 var bsol = "\\"; 896 var bsolhsub = "â"; 897 var bull = "â¢"; 898 var bullet = "â¢"; 899 var bump = "â"; 900 var bumpE = "⪮"; 901 var bumpe = "â"; 902 var Bumpeq = "â"; 903 var bumpeq = "â"; 904 var Cacute = "Ä"; 905 var cacute = "Ä"; 906 var capand = "â©"; 907 var capbrcup = "â©"; 908 var capcap = "â©"; 909 var cap = "â©"; 910 var Cap = "â"; 911 var capcup = "â©"; 912 var capdot = "â©"; 913 var CapitalDifferentialD = "â "; 914 var caps = "â©ï¸"; 915 var caret = "â"; 916 var caron = "Ë"; 917 var Cayleys = "â"; 918 var ccaps = "â©"; 919 var Ccaron = "Ä"; 920 var ccaron = "Ä"; 921 var Ccedil = "Ã"; 922 var ccedil = "ç"; 923 var Ccirc = "Ä"; 924 var ccirc = "Ä"; 925 var Cconint = "â°"; 926 var ccups = "â©"; 927 var ccupssm = "â©"; 928 var Cdot = "Ä"; 929 var cdot = "Ä"; 930 var cedil = "¸"; 931 var Cedilla = "¸"; 932 var cemptyv = "⦲"; 933 var cent = "¢"; 934 var centerdot = "·"; 935 var CenterDot = "·"; 936 var cfr = "ð "; 937 var Cfr = "â"; 938 var CHcy = "Ч"; 939 var chcy = "Ñ"; 940 var check = "â"; 941 var checkmark = "â"; 942 var Chi = "Χ"; 943 var chi = "Ï"; 944 var circ = "Ë"; 945 var circeq = "â"; 946 var circlearrowleft = "âº"; 947 var circlearrowright = "â»"; 948 var circledast = "â"; 949 var circledcirc = "â"; 950 var circleddash = "â"; 951 var CircleDot = "â"; 952 var circledR = "®";
953 var circledS = "â"; 954 var CircleMinus = "â"; 955 var CirclePlus = "â"; 956 var CircleTimes = "â"; 957 var cir = "â"; 958 var cirE = "â§"; 959 var cire = "â"; 960 var cirfnint = "â¨"; 961 var cirmid = "⫯"; 962 var cirscir = "â§"; 963 var ClockwiseContourIntegral = "â²"; 964 var CloseCurlyDoubleQuote = "â"; 965 var CloseCurlyQuote = "â"; 966 var clubs = "â£"; 967 var clubsuit = "â£"; 968 var colon = ":"; 969 var Colon = "â·"; 970 var Colone = "â©´"; 971 var colone = "â"; 972 var coloneq = "â"; 973 var comma = ","; 974 var commat = "@"; 975 var comp = "â"; 976 var compfn = "â"; 977 var complement = "â"; 978 var complexes = "â"; 979 var cong = "â "; 980 var congdot = "â©"; 981 var Congruent = "â¡"; 982 var conint = "â®"; 983 var Conint = "â¯"; 984 var ContourIntegral = "â®"; 985 var copf = "ð"; 986 var Copf = "â"; 987 var coprod = "â"; 988 var Coproduct = "â"; 989 var copy = "©"; 990 var COPY = "©"; 991 var copysr = "â"; 992 var CounterClockwiseContourIntegral = "â³"; 993 var crarr = "âµ"; 994 var cross = "â"; 995 var Cross = "⨯"; 996 var Cscr = "ð"; 997 var cscr = "ð¸"; 998 var csub = "â«"; 999 var csube = "â«"; 1000 var csup = "â«"; 1001 var csupe = "â«"; 1002 var ctdot = "â¯"; 1003 var cudarrl = "⤸"; 1004 var cudarrr = "⤵"; 1005 var cuepr = "â"; 1006 var cuesc = "â"; 1007 var cularr = "â¶"; 1008 var cularrp = "⤽"; 1009 var cupbrcap = "â©"; 1010 var cupcap = "â©"; 1011 var CupCap = "â"; 1012 var cup = "âª"; 1013 var Cup = "â"; 1014 var cupcup = "â©"; 1015 var cupdot = "â"; 1016 var cupor = "â© "; 1017 var cups = "âªï¸"; 1018 var curarr = "â·"; 1019 var curarrm = "⤼"; 1020 var curlyeqprec = "â"; 1021 var curlyeqsucc = "â"; 1022 var curlyvee = "â"; 1023 var curlywedge = "â"; 1024 var curren = "¤"; 1025 var curvearrowleft = "â¶"; 1026 var curvearrowright = "â·"; 1027 var cuvee = "â"; 1028 var cuwed = "â"; 1029 var cwconint = "â²"; 1030 var cwint = "â±"; 1031 var cylcty = "â"; 1032 var dagger = "â "; 1033 var Dagger = "â¡"; 1034 var daleth = "â¸"; 1035 var darr = "â"; 1036 var Darr = "â¡"; 1037 var dArr = "â"; 1038 var dash = "â"; 1039 var Dashv = "⫤"; 1040 var dashv = "â£"; 1041 var dbkarow = "â¤"; 1042 var dblac = "Ë"; 1043 var Dcaron = "Ä"; 1044 var dcaron = "Ä"; 1045 var Dcy = "Ð"; 1046 var dcy = "д"; 1047 var ddagger = "â¡"; 1048 var ddarr = "â"; 1049 var DD = "â "; 1050 var dd = "â "; 1051 var DDotrahd = "â¤"; 1052 var ddotseq = "â©·"; 1053 var deg = "°"; 1054 var Del = "â"; 1055 var Delta = "Î"; 1056 var delta = "δ"; 1057 var demptyv = "⦱"; 1058 var dfisht = "⥿"; 1059 var Dfr = "ð"; 1060 var dfr = "ð¡"; 1061 var dHar = "⥥"; 1062 var dharl = "â"; 1063 var dharr = "â"; 1064 var DiacriticalAcute = "´"; 1065 var DiacriticalDot = "Ë"; 1066 var DiacriticalDoubleAcute = "Ë"; 1067 var DiacriticalGrave = "`"; 1068 var DiacriticalTilde = "Ë"; 1069 var diam = "â"; 1070 var diamond = "â"; 1071 var Diamond = "â"; 1072 var diamondsuit = "â¦"; 1073 var diams = "â¦"; 1074 var die = "¨"; 1075 var DifferentialD = "â "; 1076 var digamma = "Ï"; 1077 var disin = "â²"; 1078 var div = "÷"; 1079 var divide = "÷"; 1080 var divideontimes = "â"; 1081 var divonx = "â"; 1082 var DJcy = "Ð"; 1083 var djcy = "Ñ"; 1084 var dlcorn = "â"; 1085 var dlcrop = "â"; 1086 var dollar = "$"; 1087 var Dopf = "ð»"; 1088 var dopf = "ð"; 1089 var Dot = "¨"; 1090 var dot = "Ë"; 1091 var DotDot = "â"; 1092 var doteq = "â"; 1093 var doteqdot = "â"; 1094 var DotEqual = "â"; 1095 var dotminus = "â¸"; 1096 var dotplus = "â"; 1097 var dotsquare = "â¡"; 1098 var doublebarwedge = "â"; 1099 var DoubleContourIntegral = "â¯"; 1100 var DoubleDot = "¨"; 1101 var DoubleDownArrow = "â"; 1102 var DoubleLeftArrow = "â"; 1103 var DoubleLeftRightArrow = "â"; 1104 var DoubleLeftTee = "⫤"; 1105 var DoubleLongLeftArrow = "â¸"; 1106 var DoubleLongLeftRightArrow = "âº"; 1107 var DoubleLongRightArrow = "â¹"; 1108 var DoubleRightArrow = "â"; 1109 var DoubleRightTee = "â¨"; 1110 var DoubleUpArrow = "â"; 1111 var DoubleUpDownArrow = "â"; 1112 var DoubleVerticalBar = "â¥"; 1113 var DownArrowBar = "â¤";
1114 var downarrow = "â"; 1115 var DownArrow = "â"; 1116 var Downarrow = "â"; 1117 var DownArrowUpArrow = "âµ"; 1118 var DownBreve = "Ì"; 1119 var downdownarrows = "â"; 1120 var downharpoonleft = "â"; 1121 var downharpoonright = "â"; 1122 var DownLeftRightVector = "â¥"; 1123 var DownLeftTeeVector = "â¥"; 1124 var DownLeftVectorBar = "â¥"; 1125 var DownLeftVector = "â½"; 1126 var DownRightTeeVector = "â¥"; 1127 var DownRightVectorBar = "â¥"; 1128 var DownRightVector = "â"; 1129 var DownTeeArrow = "â§"; 1130 var DownTee = "â¤"; 1131 var drbkarow = "â¤"; 1132 var drcorn = "â"; 1133 var drcrop = "â"; 1134 var Dscr = "ð"; 1135 var dscr = "ð¹"; 1136 var DScy = "Ð "; 1137 var dscy = "Ñ"; 1138 var dsol = "â§¶"; 1139 var Dstrok = "Ä"; 1140 var dstrok = "Ä"; 1141 var dtdot = "â±"; 1142 var dtri = "â¿"; 1143 var dtrif = "â¾"; 1144 var duarr = "âµ"; 1145 var duhar = "⥯"; 1146 var dwangle = "⦦"; 1147 var DZcy = "Ð"; 1148 var dzcy = "Ñ"; 1149 var dzigrarr = "â¿"; 1150 var Eacute = "Ã"; 1151 var eacute = "é"; 1152 var easter = "â©®"; 1153 var Ecaron = "Ä"; 1154 var ecaron = "Ä"; 1155 var Ecirc = "Ã"; 1156 var ecirc = "ê"; 1157 var ecir = "â"; 1158 var ecolon = "â"; 1159 var Ecy = "Ð"; 1160 var ecy = "Ñ"; 1161 var eDDot = "â©·"; 1162 var Edot = "Ä"; 1163 var edot = "Ä"; 1164 var eDot = "â"; 1165 var ee = "â "; 1166 var efDot = "â"; 1167 var Efr = "ð"; 1168 var efr = "ð¢"; 1169 var eg = "âª"; 1170 var Egrave = "Ã"; 1171 var egrave = "è"; 1172 var egs = "âª"; 1173 var egsdot = "âª"; 1174 var el = "âª"; 1175 var Element = "â"; 1176 var elinters = "â§"; 1177 var ell = "â"; 1178 var els = "âª"; 1179 var elsdot = "âª"; 1180 var Emacr = "Ä"; 1181 var emacr = "Ä"; 1182 var empty = "â "; 1183 var emptyset = "â "; 1184 var EmptySmallSquare = "â»"; 1185 var emptyv = "â "; 1186 var EmptyVerySmallSquare = "â«"; 1187 var emsp13 = "â"; 1188 var emsp14 = "â "; 1189 var emsp = "â"; 1190 var ENG = "Å"; 1191 var eng = "Å"; 1192 var ensp = "â"; 1193 var Eogon = "Ä"; 1194 var eogon = "Ä"; 1195 var Eopf = "ð¼"; 1196 var eopf = "ð"; 1197 var epar = "â"; 1198 var eparsl = "â§£"; 1199 var eplus = "⩱"; 1200 var epsi = "ε"; 1201 var Epsilon = "Î"; 1202 var epsilon = "ε"; 1203 var epsiv = "ϵ"; 1204 var eqcirc = "â"; 1205 var eqcolon = "â"; 1206 var eqsim = "â"; 1207 var eqslantgtr = "âª"; 1208 var eqslantless = "âª"; 1209 var Equal = "⩵"; 1210 var equals = "="; 1211 var EqualTilde = "â"; 1212 var equest = "â"; 1213 var Equilibrium = "â"; 1214 var equiv = "â¡"; 1215 var equivDD = "⩸"; 1216 var eqvparsl = "â§¥"; 1217 var erarr = "⥱"; 1218 var erDot = "â"; 1219 var escr = "â¯"; 1220 var Escr = "â°"; 1221 var esdot = "â"; 1222 var Esim = "⩳"; 1223 var esim = "â"; 1224 var Eta = "Î"; 1225 var eta = "η"; 1226 var ETH = "Ã"; 1227 var eth = "ð"; 1228 var Euml = "Ã"; 1229 var euml = "ë"; 1230 var euro = "â¬"; 1231 var excl = "!"; 1232 var exist = "â"; 1233 var Exists = "â"; 1234 var expectation = "â°"; 1235 var exponentiale = "â "; 1236 var ExponentialE = "â "; 1237 var fallingdotseq = "â"; 1238 var Fcy = "Ф"; 1239 var fcy = "Ñ"; 1240 var female = "â"; 1241 var ffilig = "ï¬"; 1242 var fflig = "ï¬"; 1243 var ffllig = "ï¬"; 1244 var Ffr = "ð"; 1245 var ffr = "ð£"; 1246 var filig = "ï¬"; 1247 var FilledSmallSquare = "â¼"; 1248 var FilledVerySmallSquare = "âª"; 1249 var fjlig = "fj"; 1250 var flat = "â"; 1251 var fllig = "ï¬"; 1252 var fltns = "â±"; 1253 var fnof = "Æ"; 1254 var Fopf = "ð½"; 1255 var fopf = "ð"; 1256 var forall = "â"; 1257 var ForAll = "â"; 1258 var fork = "â"; 1259 var forkv = "â«"; 1260 var Fouriertrf = "â±"; 1261 var fpartint = "â¨"; 1262 var frac12 = "½"; 1263 var frac13 = "â "; 1264 var frac14 = "¼"; 1265 var frac15 = "â "; 1266 var frac16 = "â "; 1267 var frac18 = "â "; 1268 var frac23 = "â "; 1269 var frac25 = "â "; 1270 var frac34 = "¾"; 1271 var frac35 = "â "; 1272 var frac38 = "â "; 1273 var frac45 = "â "; 1274 var frac56 = "â "; 1275 var frac58 = "â "; 1276 var frac78 = "â "; 1277 var frasl = "â"; 1278 var frown = "â¢"; 1279 var fscr = "ð»"; 1280 var Fscr = "â±"; 1281 var gacute = "ǵ"; 1282 var Gamma = "Î"; 1283 var gamma = "γ"; 1284 var Gammad = "Ï"; 1285 var gammad = "Ï"; 1286 var gap = "âª"; 1287 var Gbreve = "Ä"; 1288 var gbreve = "Ä"; 1289 var Gcedil = "Ä¢"; 1290 var Gcirc = "Ä"; 1291 var gcirc = "Ä"; 1292 var Gcy = "Ð"; 1293 var gcy = "г"; 1294 var Gdot = "Ä "; 1295 var gdot = "Ä¡"; 1296 var ge = "â¥"; 1297 var gE = "â§"; 1298 var gEl = "âª"; 1299 var gel = "â"; 1300 var geq = "â¥"; 1301 var geqq = "â§"; 1302 var geqslant = "⩾"; 1303 var gescc = "⪩"; 1304 var ges = "⩾"; 1305 var gesdot = "âª"; 1306 var gesdoto = "âª"; 1307 var gesdotol = "âª"; 1308 var gesl = "âï¸"; 1309 var gesles = "âª"; 1310 var Gfr = "ð"; 1311 var gfr = "ð¤"; 1312 var gg = "â«"; 1313 var Gg = "â"; 1314 var ggg = "â"; 1315 var gimel = "â·"; 1316 var GJcy = "Ð"; 1317 var gjcy = "Ñ"; 1318 var gla = "⪥"; 1319 var gl = "â·"; 1320 var glE = "âª"; 1321 var glj = "⪤"; 1322 var gnap = "âª"; 1323 var gnapprox = "âª"; 1324 var gne = "âª"; 1325 var gnE = "â©"; 1326 var gneq = "âª"; 1327 var gneqq = "â©"; 1328 var gnsim = "â§"; 1329 var Gopf = "ð¾"; 1330 var gopf = "ð"; 1331 var grave = "`"; 1332 var GreaterEqual = "â¥"; 1333 var GreaterEqualLess = "â"; 1334 var GreaterFullEqual = "â§"; 1335 var GreaterGreater = "⪢";
1336 var GreaterLess = "â·"; 1337 var GreaterSlantEqual = "⩾"; 1338 var GreaterTilde = "â³"; 1339 var Gscr = "ð¢"; 1340 var gscr = "â"; 1341 var gsim = "â³"; 1342 var gsime = "âª"; 1343 var gsiml = "âª"; 1344 var gtcc = "⪧"; 1345 var gtcir = "⩺"; 1346 var gt$1 = ">"; 1347 var GT = ">"; 1348 var Gt = "â«"; 1349 var gtdot = "â"; 1350 var gtlPar = "â¦"; 1351 var gtquest = "⩼"; 1352 var gtrapprox = "âª"; 1353 var gtrarr = "⥸"; 1354 var gtrdot = "â"; 1355 var gtreqless = "â"; 1356 var gtreqqless = "âª"; 1357 var gtrless = "â·"; 1358 var gtrsim = "â³"; 1359 var gvertneqq = "â©ï¸"; 1360 var gvnE = "â©ï¸"; 1361 var Hacek = "Ë"; 1362 var hairsp = "â"; 1363 var half = "½"; 1364 var hamilt = "â"; 1365 var HARDcy = "Ъ"; 1366 var hardcy = "Ñ"; 1367 var harrcir = "â¥"; 1368 var harr = "â"; 1369 var hArr = "â"; 1370 var harrw = "â"; 1371 var Hat = "^"; 1372 var hbar = "â"; 1373 var Hcirc = "Ĥ"; 1374 var hcirc = "Ä¥"; 1375 var hearts = "â¥"; 1376 var heartsuit = "â¥"; 1377 var hellip = "â¦"; 1378 var hercon = "â¹"; 1379 var hfr = "ð¥"; 1380 var Hfr = "â"; 1381 var HilbertSpace = "â"; 1382 var hksearow = "⤥"; 1383 var hkswarow = "⤦"; 1384 var hoarr = "â¿"; 1385 var homtht = "â»"; 1386 var hookleftarrow = "â©"; 1387 var hookrightarrow = "âª"; 1388 var hopf = "ð"; 1389 var Hopf = "â"; 1390 var horbar = "â"; 1391 var HorizontalLine = "â"; 1392 var hscr = "ð½"; 1393 var Hscr = "â"; 1394 var hslash = "â"; 1395 var Hstrok = "Ħ"; 1396 var hstrok = "ħ"; 1397 var HumpDownHump = "â"; 1398 var HumpEqual = "â"; 1399 var hybull = "â"; 1400 var hyphen = "â"; 1401 var Iacute = "Ã"; 1402 var iacute = "Ã"; 1403 var ic = "â£"; 1404 var Icirc = "Ã"; 1405 var icirc = "î"; 1406 var Icy = "Ð"; 1407 var icy = "и"; 1408 var Idot = "İ"; 1409 var IEcy = "Ð"; 1410 var iecy = "е"; 1411 var iexcl = "¡"; 1412 var iff = "â"; 1413 var ifr = "ð¦"; 1414 var Ifr = "â"; 1415 var Igrave = "Ã"; 1416 var igrave = "ì"; 1417 var ii = "â "; 1418 var iiiint = "â¨"; 1419 var iiint = "â"; 1420 var iinfin = "â§"; 1421 var iiota = "â©"; 1422 var IJlig = "IJ"; 1423 var ijlig = "ij"; 1424 var Imacr = "Ī"; 1425 var imacr = "Ä«"; 1426 var image = "â"; 1427 var ImaginaryI = "â "; 1428 var imagline = "â"; 1429 var imagpart = "â"; 1430 var imath = "ı"; 1431 var Im = "â"; 1432 var imof = "â·"; 1433 var imped = "Ƶ"; 1434 var Implies = "â"; 1435 var incare = "â "; 1436 var infin = "â"; 1437 var infintie = "â§"; 1438 var inodot = "ı"; 1439 var intcal = "âº"; 1440 var int = "â«"; 1441 var Int = "â¬"; 1442 var integers = "â¤"; 1443 var Integral = "â«"; 1444 var intercal = "âº"; 1445 var Intersection = "â"; 1446 var intlarhk = "â¨"; 1447 var intprod = "⨼"; 1448 var InvisibleComma = "â£"; 1449 var InvisibleTimes = "â¢"; 1450 var IOcy = "Ð"; 1451 var iocy = "Ñ"; 1452 var Iogon = "Ä®"; 1453 var iogon = "į"; 1454 var Iopf = "ð"; 1455 var iopf = "ð"; 1456 var Iota = "Î"; 1457 var iota = "ι"; 1458 var iprod = "⨼"; 1459 var iquest = "¿"; 1460 var iscr = "ð¾"; 1461 var Iscr = "â"; 1462 var isin = "â"; 1463 var isindot = "âµ"; 1464 var isinE = "â¹"; 1465 var isins = "â´"; 1466 var isinsv = "â³"; 1467 var isinv = "â"; 1468 var it = "â¢"; 1469 var Itilde = "Ĩ"; 1470 var itilde = "Ä©"; 1471 var Iukcy = "Ð"; 1472 var iukcy = "Ñ"; 1473 var Iuml = "Ã"; 1474 var iuml = "ï"; 1475 var Jcirc = "Ä´"; 1476 var jcirc = "ĵ"; 1477 var Jcy = "Ð"; 1478 var jcy = "й"; 1479 var Jfr = "ð"; 1480 var jfr = "ð§"; 1481 var jmath = "È·"; 1482 var Jopf = "ð"; 1483 var jopf = "ð"; 1484 var Jscr = "ð¥"; 1485 var jscr = "ð¿"; 1486 var Jsercy = "Ð"; 1487 var jsercy = "Ñ"; 1488 var Jukcy = "Ð"; 1489 var jukcy = "Ñ"; 1490 var Kappa = "Î"; 1491 var kappa = "κ"; 1492 var kappav = "ϰ"; 1493 var Kcedil = "Ķ"; 1494 var kcedil = "Ä·"; 1495 var Kcy = "Ð"; 1496 var kcy = "к"; 1497 var Kfr = "ð"; 1498 var kfr = "ð¨"; 1499 var kgreen = "ĸ"; 1500 var KHcy = "Ð¥"; 1501 var khcy = "Ñ "; 1502 var KJcy = "Ð"; 1503 var kjcy = "Ñ"; 1504 var Kopf = "ð"; 1505 var kopf = "ð"; 1506 var Kscr = "ð¦"; 1507 var kscr = "ð"; 1508 var lAarr = "â"; 1509 var Lacute = "Ĺ"; 1510 var lacute = "ĺ"; 1511 var laemptyv = "⦴"; 1512 var lagran = "â"; 1513 var Lambda = "Î"; 1514 var lambda = "λ"; 1515 var lang = "â¨"; 1516 var Lang = "âª"; 1517 var langd = "â¦"; 1518 var langle = "â¨"; 1519 var lap = "⪠"; 1520 var Laplacetrf = "â"; 1521 var laquo = "«"; 1522 var larrb = "â¤"; 1523 var larrbfs = "â¤"; 1524 var larr = "â"; 1525 var Larr = "â"; 1526 var lArr = "â"; 1527 var larrfs = "â¤"; 1528 var larrhk = "â©"; 1529 var larrlp = "â«"; 1530 var larrpl = "⤹"; 1531 var larrsim = "⥳"; 1532 var larrtl = "â¢"; 1533 var latail = "â¤"; 1534 var lAtail = "â¤"; 1535 var lat = "⪫"; 1536 var late = "âª"; 1537 var lates = "âªï¸"; 1538 var lbarr = "â¤"; 1539 var lBarr = "â¤"; 1540 var lbbrk = "â²"; 1541 var lbrace = "{"; 1542 var lbrack = "["; 1543 var lbrke = "â¦"; 1544 var lbrksld = "â¦"; 1545 var lbrkslu = "â¦"; 1546 var Lcaron = "Ľ"; 1547 var lcaron = "ľ"; 1548 var Lcedil = "Ä»"; 1549 var lcedil = "ļ"; 1550 var lceil = "â"; 1551 var lcub = "{"; 1552 var Lcy = "Ð"; 1553 var lcy = "л"; 1554 var ldca = "⤶"; 1555 var ldquo = "â"; 1556 var ldquor = "â"; 1557 var ldrdhar = "⥧"; 1558 var ldrushar = "â¥"; 1559 var ldsh = "â²"; 1560 var le = "â¤"; 1561 var lE = "â¦"; 1562 var LeftAngleBracket = "â¨"; 1563 var LeftArrowBar = "â¤"; 1564 var leftarrow = "â"; 1565 var LeftArrow = "â"; 1566 var Leftarrow = "â"; 1567 var LeftArrowRightArrow = "â"; 1568 var leftarrowtail = "â¢"; 1569 var LeftCeiling = "â"; 1570 var LeftDoubleBracket = "â¦"; 1571 var LeftDownTeeVector = "⥡"; 1572 var LeftDownVectorBar = "â¥"; 1573 var LeftDownVector = "â"; 1574 var LeftFloor = "â"; 1575 var leftharpoondown = "â½"; 1576 var leftharpoonup = "â¼"; 1577 var leftleftarrows = "â"; 1578 var leftrightarrow = "â"; 1579 var LeftRightArrow = "â"; 1580 var Leftrightarrow = "â"; 1581 var leftrightarrows = "â"; 1582 var leftrightharpoons = "â"; 1583 var leftrightsquigarrow = "â"; 1584 var LeftRightVector = "â¥"; 1585 var LeftTeeArrow = "â¤"; 1586 var LeftTee = "â£"; 1587 var LeftTeeVector = "â¥"; 1588 var leftthreetimes = "â"; 1589 var LeftTriangleBar = "â§"; 1590 var LeftTriangle = "â²"; 1591 var LeftTriangleEqual = "â´";
1592 var LeftUpDownVector = "â¥"; 1593 var LeftUpTeeVector = "⥠"; 1594 var LeftUpVectorBar = "â¥"; 1595 var LeftUpVector = "â¿"; 1596 var LeftVectorBar = "â¥"; 1597 var LeftVector = "â¼"; 1598 var lEg = "âª"; 1599 var leg = "â"; 1600 var leq = "â¤"; 1601 var leqq = "â¦"; 1602 var leqslant = "⩽"; 1603 var lescc = "⪨"; 1604 var les = "⩽"; 1605 var lesdot = "â©¿"; 1606 var lesdoto = "âª"; 1607 var lesdotor = "âª"; 1608 var lesg = "âï¸"; 1609 var lesges = "âª"; 1610 var lessapprox = "⪠"; 1611 var lessdot = "â"; 1612 var lesseqgtr = "â"; 1613 var lesseqqgtr = "âª"; 1614 var LessEqualGreater = "â"; 1615 var LessFullEqual = "â¦"; 1616 var LessGreater = "â¶"; 1617 var lessgtr = "â¶"; 1618 var LessLess = "⪡"; 1619 var lesssim = "â²"; 1620 var LessSlantEqual = "⩽"; 1621 var LessTilde = "â²"; 1622 var lfisht = "⥼"; 1623 var lfloor = "â"; 1624 var Lfr = "ð"; 1625 var lfr = "ð©"; 1626 var lg = "â¶"; 1627 var lgE = "âª"; 1628 var lHar = "⥢"; 1629 var lhard = "â½"; 1630 var lharu = "â¼"; 1631 var lharul = "⥪"; 1632 var lhblk = "â"; 1633 var LJcy = "Ð"; 1634 var ljcy = "Ñ"; 1635 var llarr = "â"; 1636 var ll = "âª"; 1637 var Ll = "â"; 1638 var llcorner = "â"; 1639 var Lleftarrow = "â"; 1640 var llhard = "⥫"; 1641 var lltri = "âº"; 1642 var Lmidot = "Ä¿"; 1643 var lmidot = "Å"; 1644 var lmoustache = "â°"; 1645 var lmoust = "â°"; 1646 var lnap = "âª"; 1647 var lnapprox = "âª"; 1648 var lne = "âª"; 1649 var lnE = "â¨"; 1650 var lneq = "âª"; 1651 var lneqq = "â¨"; 1652 var lnsim = "â¦"; 1653 var loang = "â¬"; 1654 var loarr = "â½"; 1655 var lobrk = "â¦"; 1656 var longleftarrow = "âµ"; 1657 var LongLeftArrow = "âµ"; 1658 var Longleftarrow = "â¸"; 1659 var longleftrightarrow = "â·"; 1660 var LongLeftRightArrow = "â·"; 1661 var Longleftrightarrow = "âº"; 1662 var longmapsto = "â¼"; 1663 var longrightarrow = "â¶"; 1664 var LongRightArrow = "â¶"; 1665 var Longrightarrow = "â¹"; 1666 var looparrowleft = "â«"; 1667 var looparrowright = "â¬"; 1668 var lopar = "⦠"; 1669 var Lopf = "ð"; 1670 var lopf = "ð"; 1671 var loplus = "â¨"; 1672 var lotimes = "⨴"; 1673 var lowast = "â"; 1674 var lowbar = "_"; 1675 var LowerLeftArrow = "â"; 1676 var LowerRightArrow = "â"; 1677 var loz = "â"; 1678 var lozenge = "â"; 1679 var lozf = "â§«"; 1680 var lpar = "("; 1681 var lparlt = "â¦"; 1682 var lrarr = "â"; 1683 var lrcorner = "â"; 1684 var lrhar = "â"; 1685 var lrhard = "â¥"; 1686 var lrm = "â"; 1687 var lrtri = "â¿"; 1688 var lsaquo = "â¹"; 1689 var lscr = "ð"; 1690 var Lscr = "â"; 1691 var lsh = "â°"; 1692 var Lsh = "â°"; 1693 var lsim = "â²"; 1694 var lsime = "âª"; 1695 var lsimg = "âª"; 1696 var lsqb = "["; 1697 var lsquo = "â"; 1698 var lsquor = "â"; 1699 var Lstrok = "Å"; 1700 var lstrok = "Å"; 1701 var ltcc = "⪦"; 1702 var ltcir = "⩹"; 1703 var lt$1 = "<"; 1704 var LT = "<"; 1705 var Lt = "âª"; 1706 var ltdot = "â"; 1707 var lthree = "â"; 1708 var ltimes = "â"; 1709 var ltlarr = "⥶"; 1710 var ltquest = "â©»"; 1711 var ltri = "â"; 1712 var ltrie = "â´"; 1713 var ltrif = "â"; 1714 var ltrPar = "â¦"; 1715 var lurdshar = "â¥"; 1716 var luruhar = "⥦"; 1717 var lvertneqq = "â¨ï¸"; 1718 var lvnE = "â¨ï¸"; 1719 var macr = "¯"; 1720 var male = "â"; 1721 var malt = "â "; 1722 var maltese = "â "; 1723 var map = "â¦"; 1724 var mapsto = "â¦"; 1725 var mapstodown = "â§"; 1726 var mapstoleft = "â¤"; 1727 var mapstoup = "â¥"; 1728 var marker = "â®"; 1729 var mcomma = "⨩"; 1730 var Mcy = "Ð"; 1731 var mcy = "м"; 1732 var mdash = "â"; 1733 var mDDot = "âº"; 1734 var measuredangle = "â¡"; 1735 var MediumSpace = "â"; 1736 var Mellintrf = "â³"; 1737 var Mfr = "ð"; 1738 var mfr = "ðª"; 1739 var mho = "â§"; 1740 var micro = "µ"; 1741 var midast = "*"; 1742 var midcir = "â«°"; 1743 var mid = "â£"; 1744 var middot = "·"; 1745 var minusb = "â"; 1746 var minus = "â"; 1747 var minusd = "â¸"; 1748 var minusdu = "⨪"; 1749 var MinusPlus = "â"; 1750 var mlcp = "â«"; 1751 var mldr = "â¦"; 1752 var mnplus = "â"; 1753 var models = "â§"; 1754 var Mopf = "ð"; 1755 var mopf = "ð"; 1756 var mp = "â"; 1757 var mscr = "ð"; 1758 var Mscr = "â³"; 1759 var mstpos = "â¾"; 1760 var Mu = "Î"; 1761 var mu = "μ"; 1762 var multimap = "â¸"; 1763 var mumap = "â¸"; 1764 var nabla = "â"; 1765 var Nacute = "Å"; 1766 var nacute = "Å"; 1767 var nang = "â â"; 1768 var nap = "â"; 1769 var napE = "⩰̸"; 1770 var napid = "â̸"; 1771 var napos = "Å"; 1772 var napprox = "â"; 1773 var natural = "â®"; 1774 var naturals = "â"; 1775 var natur = "â®"; 1776 var nbsp = " ";
1777 var nbump = "â̸"; 1778 var nbumpe = "â̸"; 1779 var ncap = "â©"; 1780 var Ncaron = "Å"; 1781 var ncaron = "Å"; 1782 var Ncedil = "Å "; 1783 var ncedil = "Å"; 1784 var ncong = "â"; 1785 var ncongdot = "â©Ì¸"; 1786 var ncup = "â©"; 1787 var Ncy = "Ð"; 1788 var ncy = "н"; 1789 var ndash = "â"; 1790 var nearhk = "⤤"; 1791 var nearr = "â"; 1792 var neArr = "â"; 1793 var nearrow = "â"; 1794 var ne = "â "; 1795 var nedot = "â̸"; 1796 var NegativeMediumSpace = "â"; 1797 var NegativeThickSpace = "â"; 1798 var NegativeThinSpace = "â"; 1799 var NegativeVeryThinSpace = "â"; 1800 var nequiv = "â¢"; 1801 var nesear = "⤨"; 1802 var nesim = "â̸"; 1803 var NestedGreaterGreater = "â«"; 1804 var NestedLessLess = "âª"; 1805 var NewLine = "\n"; 1806 var nexist = "â"; 1807 var nexists = "â"; 1808 var Nfr = "ð"; 1809 var nfr = "ð«"; 1810 var ngE = "â§Ì¸"; 1811 var nge = "â±"; 1812 var ngeq = "â±"; 1813 var ngeqq = "â§Ì¸"; 1814 var ngeqslant = "⩾̸"; 1815 var nges = "⩾̸"; 1816 var nGg = "â̸"; 1817 var ngsim = "âµ"; 1818 var nGt = "â«â"; 1819 var ngt = "â¯"; 1820 var ngtr = "â¯"; 1821 var nGtv = "â«Ì¸"; 1822 var nharr = "â®"; 1823 var nhArr = "â"; 1824 var nhpar = "⫲"; 1825 var ni = "â"; 1826 var nis = "â¼"; 1827 var nisd = "âº"; 1828 var niv = "â"; 1829 var NJcy = "Ð"; 1830 var njcy = "Ñ"; 1831 var nlarr = "â"; 1832 var nlArr = "â"; 1833 var nldr = "â¥"; 1834 var nlE = "â¦Ì¸"; 1835 var nle = "â°"; 1836 var nleftarrow = "â"; 1837 var nLeftarrow = "â"; 1838 var nleftrightarrow = "â®"; 1839 var nLeftrightarrow = "â"; 1840 var nleq = "â°"; 1841 var nleqq = "â¦Ì¸"; 1842 var nleqslant = "⩽̸"; 1843 var nles = "⩽̸"; 1844 var nless = "â®"; 1845 var nLl = "â̸"; 1846 var nlsim = "â´"; 1847 var nLt = "âªâ"; 1848 var nlt = "â®"; 1849 var nltri = "âª"; 1850 var nltrie = "â¬"; 1851 var nLtv = "âªÌ¸"; 1852 var nmid = "â¤"; 1853 var NoBreak = "â "; 1854 var NonBreakingSpace = " "; 1855 var nopf = "ð"; 1856 var Nopf = "â"; 1857 var Not = "⫬"; 1858 var not = "¬"; 1859 var NotCongruent = "â¢"; 1860 var NotCupCap = "â"; 1861 var NotDoubleVerticalBar = "â¦"; 1862 var NotElement = "â"; 1863 var NotEqual = "â "; 1864 var NotEqualTilde = "â̸"; 1865 var NotExists = "â"; 1866 var NotGreater = "â¯"; 1867 var NotGreaterEqual = "â±"; 1868 var NotGreaterFullEqual = "â§Ì¸"; 1869 var NotGreaterGreater = "â«Ì¸"; 1870 var NotGreaterLess = "â¹"; 1871 var NotGreaterSlantEqual = "⩾̸"; 1872 var NotGreaterTilde = "âµ"; 1873 var NotHumpDownHump = "â̸"; 1874 var NotHumpEqual = "â̸"; 1875 var notin = "â"; 1876 var notindot = "âµÌ¸"; 1877 var notinE = "â¹Ì¸"; 1878 var notinva = "â"; 1879 var notinvb = "â·"; 1880 var notinvc = "â¶"; 1881 var NotLeftTriangleBar = "â§Ì¸"; 1882 var NotLeftTriangle = "âª"; 1883 var NotLeftTriangleEqual = "â¬"; 1884 var NotLess = "â®"; 1885 var NotLessEqual = "â°"; 1886 var NotLessGreater = "â¸"; 1887 var NotLessLess = "âªÌ¸"; 1888 var NotLessSlantEqual = "⩽̸"; 1889 var NotLessTilde = "â´"; 1890 var NotNestedGreaterGreater = "⪢̸"; 1891 var NotNestedLessLess = "⪡̸"; 1892 var notni = "â"; 1893 var notniva = "â"; 1894 var notnivb = "â¾"; 1895 var notnivc = "â½"; 1896 var NotPrecedes = "â"; 1897 var NotPrecedesEqual = "⪯̸"; 1898 var NotPrecedesSlantEqual = "â "; 1899 var NotReverseElement = "â"; 1900 var NotRightTriangleBar = "â§Ì¸"; 1901 var NotRightTriangle = "â«"; 1902 var NotRightTriangleEqual = "â"; 1903 var NotSquareSubset = "â̸"; 1904 var NotSquareSubsetEqual = "â¢"; 1905 var NotSquareSuperset = "â̸"; 1906 var NotSquareSupersetEqual = "â£"; 1907 var NotSubset = "ââ"; 1908 var NotSubsetEqual = "â"; 1909 var NotSucceeds = "â"; 1910 var NotSucceedsEqual = "⪰̸"; 1911 var NotSucceedsSlantEqual = "â¡"; 1912 var NotSucceedsTilde = "â¿Ì¸"; 1913 var NotSuperset = "ââ"; 1914 var NotSupersetEqual = "â"; 1915 var NotTilde = "â"; 1916 var NotTildeEqual = "â"; 1917 var NotTildeFullEqual = "â"; 1918 var NotTildeTilde = "â"; 1919 var NotVerticalBar = "â¤"; 1920 var nparallel = "â¦"; 1921 var npar = "â¦"; 1922 var nparsl = "⫽â¥"; 1923 var npart = "â̸"; 1924 var npolint = "â¨"; 1925 var npr = "â"; 1926 var nprcue = "â "; 1927 var nprec = "â"; 1928 var npreceq = "⪯̸"; 1929 var npre = "⪯̸"; 1930 var nrarrc = "⤳̸"; 1931 var nrarr = "â"; 1932 var nrArr = "â"; 1933 var nrarrw = "â̸"; 1934 var nrightarrow = "â"; 1935 var nRightarrow = "â"; 1936 var nrtri = "â«"; 1937 var nrtrie = "â"; 1938 var nsc = "â"; 1939 var nsccue = "â¡"; 1940 var nsce = "⪰̸"; 1941 var Nscr = "ð©"; 1942 var nscr = "ð"; 1943 var nshortmid = "â¤"; 1944 var nshortparallel = "â¦"; 1945 var nsim = "â"; 1946 var nsime = "â"; 1947 var nsimeq = "â"; 1948 var nsmid = "â¤"; 1949 var nspar = "â¦"; 1950 var nsqsube = "â¢"; 1951 var nsqsupe = "â£"; 1952 var nsub = "â"; 1953 var nsubE = "⫠̸"; 1954 var nsube = "â"; 1955 var nsubset = "ââ"; 1956 var nsubseteq = "â"; 1957 var nsubseteqq = "⫠̸"; 1958 var nsucc = "â"; 1959 var nsucceq = "⪰̸"; 1960 var nsup = "â "; 1961 var nsupE = "â«Ì¸"; 1962 var nsupe = "â"; 1963 var nsupset = "ââ"; 1964 var nsupseteq = "â"; 1965 var nsupseteqq = "â«Ì¸"; 1966 var ntgl = "â¹"; 1967 var Ntilde = "Ã"; 1968 var ntilde = "ñ"; 1969 var ntlg = "â¸"; 1970 var ntriangleleft = "âª"; 1971 var ntrianglelefteq = "â¬"; 1972 var ntriangleright = "â«"; 1973 var ntrianglerighteq = "â"; 1974 var Nu = "Î"; 1975 var nu = "ν"; 1976 var num = "#"; 1977 var numero = "â"; 1978 var numsp = "â"; 1979 var nvap = "ââ"; 1980 var nvdash = "â¬"; 1981 var nvDash = "â"; 1982 var nVdash = "â®"; 1983 var nVDash = "â¯"; 1984 var nvge = "â¥â"; 1985 var nvgt = ">â"; 1986 var nvHarr = "â¤"; 1987 var nvinfin = "â§"; 1988 var nvlArr = "â¤"; 1989 var nvle = "â¤â"; 1990 var nvlt = "<â"; 1991 var nvltrie = "â´â"; 1992 var nvrArr = "â¤"; 1993 var nvrtrie = "âµâ"; 1994 var nvsim = "â¼â"; 1995 var nwarhk = "⤣"; 1996 var nwarr = "â"; 1997 var nwArr = "â"; 1998 var nwarrow = "â"; 1999 var nwnear = "⤧"; 2000 var Oacute = "Ã"; 2001 var oacute = "ó"; 2002 var oast = "â"; 2003 var Ocirc = "Ã"; 2004 var ocirc = "ô"; 2005 var ocir = "â"; 2006 var Ocy = "Ð"; 2007 var ocy = "о"; 2008 var odash = "â"; 2009 var Odblac = "Å"; 2010 var odblac = "Å"; 2011 var odiv = "⨸"; 2012 var odot = "â"; 2013 var odsold = "⦼"; 2014 var OElig = "Å"; 2015 var oelig = "Å"; 2016 var ofcir = "⦿"; 2017 var Ofr = "ð"; 2018 var ofr = "ð¬"; 2019 var ogon = "Ë"; 2020 var Ograve = "Ã"; 2021 var ograve = "ò"; 2022 var ogt = "â§"; 2023 var ohbar = "⦵"; 2024 var ohm = "Ω"; 2025 var oint = "â®"; 2026 var olarr = "âº"; 2027 var olcir = "⦾"; 2028 var olcross = "⦻"; 2029 var oline = "â¾"; 2030 var olt = "â§"; 2031 var Omacr = "Å"; 2032 var omacr = "Å"; 2033 var Omega = "Ω"; 2034 var omega = "Ï"; 2035 var Omicron = "Î"; 2036 var omicron = "ο"; 2037 var omid = "⦶"; 2038 var ominus = "â"; 2039 var Oopf = "ð"; 2040 var oopf = "ð "; 2041 var opar = "⦷"; 2042 var OpenCurlyDoubleQuote = "â"; 2043 var OpenCurlyQuote = "â"; 2044 var operp = "⦹"; 2045 var oplus = "â"; 2046 var orarr = "â»"; 2047 var Or = "â©"; 2048 var or = "â¨"; 2049 var ord = "â©"; 2050 var order = "â´"; 2051 var orderof = "â´"; 2052 var ordf = "ª"; 2053 var ordm = "º"; 2054 var origof = "â¶"; 2055 var oror = "â©"; 2056 var orslope = "â©"; 2057 var orv = "â©"; 2058 var oS = "â"; 2059 var Oscr = "ðª"; 2060 var oscr = "â´"; 2061 var Oslash = "Ã"; 2062 var oslash = "ø"; 2063 var osol = "â"; 2064 var Otilde = "Ã"; 2065 var otilde = "õ"; 2066 var otimesas = "⨶"; 2067 var Otimes = "⨷"; 2068 var otimes = "â"; 2069 var Ouml = "Ã"; 2070 var ouml = "ö"; 2071 var ovbar = "â½"; 2072 var OverBar = "â¾"; 2073 var OverBrace = "â"; 2074 var OverBracket = "â´"; 2075 var OverParenthesis = "â"; 2076 var para = "¶"; 2077 var parallel = "â¥"; 2078 var par = "â¥"; 2079 var parsim = "⫳"; 2080 var parsl = "⫽"; 2081 var part = "â"; 2082 var PartialD = "â"; 2083 var Pcy = "Ð"; 2084 var pcy = "п"; 2085 var percnt = "%"; 2086 var period = "."; 2087 var permil = "â°"; 2088 var perp = "â¥"; 2089 var pertenk = "â±"; 2090 var Pfr = "ð"; 2091 var pfr = "ð"; 2092 var Phi = "Φ"; 2093 var phi = "Ï"; 2094 var phiv = "Ï"; 2095 var phmmat = "â³"; 2096 var phone = "â"; 2097 var Pi = "Î "; 2098 var pi = "Ï"; 2099 var pitchfork = "â"; 2100 var piv = "Ï"; 2101 var planck = "â"; 2102 var planckh = "â"; 2103 var plankv = "â"; 2104 var plusacir = "⨣"; 2105 var plusb = "â"; 2106 var pluscir = "⨢"; 2107 var plus = "+"; 2108 var plusdo = "â"; 2109 var plusdu = "⨥";
2110 var pluse = "⩲"; 2111 var PlusMinus = "±"; 2112 var plusmn = "±"; 2113 var plussim = "⨦"; 2114 var plustwo = "⨧"; 2115 var pm = "±"; 2116 var Poincareplane = "â"; 2117 var pointint = "â¨"; 2118 var popf = "ð¡"; 2119 var Popf = "â"; 2120 var pound = "£"; 2121 var prap = "⪷"; 2122 var Pr = "⪻"; 2123 var pr = "âº"; 2124 var prcue = "â¼"; 2125 var precapprox = "⪷"; 2126 var prec = "âº"; 2127 var preccurlyeq = "â¼"; 2128 var Precedes = "âº"; 2129 var PrecedesEqual = "⪯"; 2130 var PrecedesSlantEqual = "â¼"; 2131 var PrecedesTilde = "â¾"; 2132 var preceq = "⪯"; 2133 var precnapprox = "⪹"; 2134 var precneqq = "⪵"; 2135 var precnsim = "â¨"; 2136 var pre = "⪯"; 2137 var prE = "⪳"; 2138 var precsim = "â¾"; 2139 var prime = "â²"; 2140 var Prime = "â³"; 2141 var primes = "â"; 2142 var prnap = "⪹"; 2143 var prnE = "⪵"; 2144 var prnsim = "â¨"; 2145 var prod = "â"; 2146 var Product = "â"; 2147 var profalar = "â®"; 2148 var profline = "â"; 2149 var profsurf = "â"; 2150 var prop = "â"; 2151 var Proportional = "â"; 2152 var Proportion = "â·"; 2153 var propto = "â"; 2154 var prsim = "â¾"; 2155 var prurel = "â°"; 2156 var Pscr = "ð«"; 2157 var pscr = "ð "; 2158 var Psi = "Ψ"; 2159 var psi = "Ï"; 2160 var puncsp = "â"; 2161 var Qfr = "ð"; 2162 var qfr = "ð®"; 2163 var qint = "â¨"; 2164 var qopf = "ð¢"; 2165 var Qopf = "â"; 2166 var qprime = "â"; 2167 var Qscr = "ð¬"; 2168 var qscr = "ð"; 2169 var quaternions = "â"; 2170 var quatint = "â¨"; 2171 var quest = "?"; 2172 var questeq = "â"; 2173 var quot$1 = "\""; 2174 var QUOT = "\""; 2175 var rAarr = "â"; 2176 var race = "â½Ì±"; 2177 var Racute = "Å"; 2178 var racute = "Å"; 2179 var radic = "â"; 2180 var raemptyv = "⦳"; 2181 var rang = "â©"; 2182 var Rang = "â«"; 2183 var rangd = "â¦"; 2184 var range = "⦥"; 2185 var rangle = "â©"; 2186 var raquo = "»"; 2187 var rarrap = "⥵"; 2188 var rarrb = "â¥"; 2189 var rarrbfs = "⤠"; 2190 var rarrc = "⤳"; 2191 var rarr = "â"; 2192 var Rarr = "â "; 2193 var rArr = "â"; 2194 var rarrfs = "â¤"; 2195 var rarrhk = "âª"; 2196 var rarrlp = "â¬"; 2197 var rarrpl = "⥠"; 2198 var rarrsim = "⥴"; 2199 var Rarrtl = "â¤"; 2200 var rarrtl = "â£"; 2201 var rarrw = "â"; 2202 var ratail = "â¤"; 2203 var rAtail = "â¤"; 2204 var ratio = "â¶"; 2205 var rationals = "â"; 2206 var rbarr = "â¤"; 2207 var rBarr = "â¤"; 2208 var RBarr = "â¤"; 2209 var rbbrk = "â³"; 2210 var rbrace = "}"; 2211 var rbrack = "]"; 2212 var rbrke = "â¦"; 2213 var rbrksld = "â¦"; 2214 var rbrkslu = "â¦"; 2215 var Rcaron = "Å"; 2216 var rcaron = "Å"; 2217 var Rcedil = "Å"; 2218 var rcedil = "Å"; 2219 var rceil = "â"; 2220 var rcub = "}"; 2221 var Rcy = "Ð "; 2222 var rcy = "Ñ"; 2223 var rdca = "⤷"; 2224 var rdldhar = "⥩"; 2225 var rdquo = "â"; 2226 var rdquor = "â"; 2227 var rdsh = "â³"; 2228 var real = "â"; 2229 var realine = "â"; 2230 var realpart = "â"; 2231 var reals = "â"; 2232 var Re = "â"; 2233 var rect = "â"; 2234 var reg = "®"; 2235 var REG = "®"; 2236 var ReverseElement = "â"; 2237 var ReverseEquilibrium = "â"; 2238 var ReverseUpEquilibrium = "⥯"; 2239 var rfisht = "⥽"; 2240 var rfloor = "â"; 2241 var rfr = "ð¯"; 2242 var Rfr = "â"; 2243 var rHar = "⥤"; 2244 var rhard = "â"; 2245 var rharu = "â"; 2246 var rharul = "⥬"; 2247 var Rho = "Ρ"; 2248 var rho = "Ï"; 2249 var rhov = "ϱ"; 2250 var RightAngleBracket = "â©"; 2251 var RightArrowBar = "â¥"; 2252 var rightarrow = "â"; 2253 var RightArrow = "â"; 2254 var Rightarrow = "â"; 2255 var RightArrowLeftArrow = "â"; 2256 var rightarrowtail = "â£"; 2257 var RightCeiling = "â"; 2258 var RightDoubleBracket = "â§"; 2259 var RightDownTeeVector = "â¥"; 2260 var RightDownVectorBar = "â¥"; 2261 var RightDownVector = "â"; 2262 var RightFloor = "â"; 2263 var rightharpoondown = "â"; 2264 var rightharpoonup = "â"; 2265 var rightleftarrows = "â"; 2266 var rightleftharpoons = "â"; 2267 var rightrightarrows = "â"; 2268 var rightsquigarrow = "â"; 2269 var RightTeeArrow = "â¦"; 2270 var RightTee = "â¢"; 2271 var RightTeeVector = "â¥"; 2272 var rightthreetimes = "â"; 2273 var RightTriangleBar = "â§"; 2274 var RightTriangle = "â³"; 2275 var RightTriangleEqual = "âµ"; 2276 var RightUpDownVector = "â¥"; 2277 var RightUpTeeVector = "â¥"; 2278 var RightUpVectorBar = "â¥"; 2279 var RightUpVector = "â¾"; 2280 var RightVectorBar = "â¥"; 2281 var RightVector = "â"; 2282 var ring = "Ë"; 2283 var risingdotseq = "â"; 2284 var rlarr = "â"; 2285 var rlhar = "â"; 2286 var rlm = "â"; 2287 var rmoustache = "â±"; 2288 var rmoust = "â±"; 2289 var rnmid = "â«®"; 2290 var roang = "â"; 2291 var roarr = "â¾"; 2292 var robrk = "â§"; 2293 var ropar = "â¦"; 2294 var ropf = "ð£"; 2295 var Ropf = "â"; 2296 var roplus = "⨮"; 2297 var rotimes = "⨵"; 2298 var RoundImplies = "⥰"; 2299 var rpar = ")"; 2300 var rpargt = "â¦"; 2301 var rppolint = "â¨"; 2302 var rrarr = "â"; 2303 var Rrightarrow = "â"; 2304 var rsaquo = "âº"; 2305 var rscr = "ð"; 2306 var Rscr = "â"; 2307 var rsh = "â±"; 2308 var Rsh = "â±"; 2309 var rsqb = "]"; 2310 var rsquo = "â"; 2311 var rsquor = "â"; 2312 var rthree = "â"; 2313 var rtimes = "â"; 2314 var rtri = "â¹"; 2315 var rtrie = "âµ"; 2316 var rtrif = "â¸"; 2317 var rtriltri = "â§"; 2318 var RuleDelayed = "â§´"; 2319 var ruluhar = "⥨"; 2320 var rx = "â"; 2321 var Sacute = "Å"; 2322 var sacute = "Å";
2323 var sbquo = "â"; 2324 var scap = "⪸"; 2325 var Scaron = "Å "; 2326 var scaron = "Å¡"; 2327 var Sc = "⪼"; 2328 var sc = "â»"; 2329 var sccue = "â½"; 2330 var sce = "⪰"; 2331 var scE = "⪴"; 2332 var Scedil = "Å"; 2333 var scedil = "Å"; 2334 var Scirc = "Å"; 2335 var scirc = "Å"; 2336 var scnap = "⪺"; 2337 var scnE = "⪶"; 2338 var scnsim = "â©"; 2339 var scpolint = "â¨"; 2340 var scsim = "â¿"; 2341 var Scy = "С"; 2342 var scy = "Ñ"; 2343 var sdotb = "â¡"; 2344 var sdot = "â "; 2345 var sdote = "⩦"; 2346 var searhk = "⤥"; 2347 var searr = "â"; 2348 var seArr = "â"; 2349 var searrow = "â"; 2350 var sect = "§"; 2351 var semi = ";"; 2352 var seswar = "⤩"; 2353 var setminus = "â"; 2354 var setmn = "â"; 2355 var sext = "â¶"; 2356 var Sfr = "ð"; 2357 var sfr = "ð°"; 2358 var sfrown = "â¢"; 2359 var sharp = "â¯"; 2360 var SHCHcy = "Щ"; 2361 var shchcy = "Ñ"; 2362 var SHcy = "Ш"; 2363 var shcy = "Ñ"; 2364 var ShortDownArrow = "â"; 2365 var ShortLeftArrow = "â"; 2366 var shortmid = "â£"; 2367 var shortparallel = "â¥"; 2368 var ShortRightArrow = "â"; 2369 var ShortUpArrow = "â"; 2370 var shy = "Â"; 2371 var Sigma = "Σ"; 2372 var sigma = "Ï"; 2373 var sigmaf = "Ï"; 2374 var sigmav = "Ï"; 2375 var sim = "â¼"; 2376 var simdot = "⩪"; 2377 var sime = "â"; 2378 var simeq = "â"; 2379 var simg = "âª"; 2380 var simgE = "⪠"; 2381 var siml = "âª"; 2382 var simlE = "âª"; 2383 var simne = "â"; 2384 var simplus = "⨤"; 2385 var simrarr = "⥲"; 2386 var slarr = "â"; 2387 var SmallCircle = "â"; 2388 var smallsetminus = "â"; 2389 var smashp = "⨳"; 2390 var smeparsl = "⧤"; 2391 var smid = "â£"; 2392 var smile = "â£"; 2393 var smt = "⪪"; 2394 var smte = "⪬"; 2395 var smtes = "⪬ï¸"; 2396 var SOFTcy = "Ь"; 2397 var softcy = "Ñ"; 2398 var solbar = "â¿"; 2399 var solb = "â§"; 2400 var sol = "/"; 2401 var Sopf = "ð"; 2402 var sopf = "ð¤"; 2403 var spades = "â "; 2404 var spadesuit = "â "; 2405 var spar = "â¥"; 2406 var sqcap = "â"; 2407 var sqcaps = "âï¸"; 2408 var sqcup = "â"; 2409 var sqcups = "âï¸"; 2410 var Sqrt = "â"; 2411 var sqsub = "â"; 2412 var sqsube = "â"; 2413 var sqsubset = "â"; 2414 var sqsubseteq = "â"; 2415 var sqsup = "â"; 2416 var sqsupe = "â"; 2417 var sqsupset = "â"; 2418 var sqsupseteq = "â"; 2419 var square = "â¡"; 2420 var Square = "â¡"; 2421 var SquareIntersection = "â"; 2422 var SquareSubset = "â"; 2423 var SquareSubsetEqual = "â"; 2424 var SquareSuperset = "â"; 2425 var SquareSupersetEqual = "â"; 2426 var SquareUnion = "â"; 2427 var squarf = "âª"; 2428 var squ = "â¡"; 2429 var squf = "âª"; 2430 var srarr = "â"; 2431 var Sscr = "ð®"; 2432 var sscr = "ð"; 2433 var ssetmn = "â"; 2434 var ssmile = "â£"; 2435 var sstarf = "â"; 2436 var Star = "â"; 2437 var star = "â"; 2438 var starf = "â "; 2439 var straightepsilon = "ϵ"; 2440 var straightphi = "Ï"; 2441 var strns = "¯"; 2442 var sub = "â"; 2443 var Sub = "â"; 2444 var subdot = "⪽"; 2445 var subE = "â« "; 2446 var sube = "â"; 2447 var subedot = "â«"; 2448 var submult = "â«"; 2449 var subnE = "â«"; 2450 var subne = "â"; 2451 var subplus = "⪿"; 2452 var subrarr = "⥹"; 2453 var subset = "â"; 2454 var Subset = "â"; 2455 var subseteq = "â"; 2456 var subseteqq = "â« "; 2457 var SubsetEqual = "â"; 2458 var subsetneq = "â"; 2459 var subsetneqq = "â«"; 2460 var subsim = "â«"; 2461 var subsub = "â«"; 2462 var subsup = "â«"; 2463 var succapprox = "⪸"; 2464 var succ = "â»"; 2465 var succcurlyeq = "â½"; 2466 var Succeeds = "â»"; 2467 var SucceedsEqual = "⪰"; 2468 var SucceedsSlantEqual = "â½"; 2469 var SucceedsTilde = "â¿"; 2470 var succeq = "⪰"; 2471 var succnapprox = "⪺"; 2472 var succneqq = "⪶"; 2473 var succnsim = "â©"; 2474 var succsim = "â¿"; 2475 var SuchThat = "â"; 2476 var sum = "â"; 2477 var Sum = "â"; 2478 var sung = "âª"; 2479 var sup1 = "¹"; 2480 var sup2 = "²"; 2481 var sup3 = "³"; 2482 var sup = "â"; 2483 var Sup = "â"; 2484 var supdot = "⪾"; 2485 var supdsub = "â«"; 2486 var supE = "â«"; 2487 var supe = "â"; 2488 var supedot = "â«"; 2489 var Superset = "â"; 2490 var SupersetEqual = "â"; 2491 var suphsol = "â"; 2492 var suphsub = "â«"; 2493 var suplarr = "⥻"; 2494 var supmult = "â«"; 2495 var supnE = "â«"; 2496 var supne = "â"; 2497 var supplus = "â«"; 2498 var supset = "â"; 2499 var Supset = "â"; 2500 var supseteq = "â"; 2501 var supseteqq = "â«"; 2502 var supsetneq = "â"; 2503 var supsetneqq = "â«"; 2504 var supsim = "â«"; 2505 var supsub = "â«"; 2506 var supsup = "â«"; 2507 var swarhk = "⤦"; 2508 var swarr = "â"; 2509 var swArr = "â"; 2510 var swarrow = "â"; 2511 var swnwar = "⤪"; 2512 var szlig = "Ã"; 2513 var Tab = "\t"; 2514 var target = "â"; 2515 var Tau = "Τ"; 2516 var tau = "Ï"; 2517 var tbrk = "â´"; 2518 var Tcaron = "Ť"; 2519 var tcaron = "Å¥"; 2520 var Tcedil = "Å¢"; 2521 var tcedil = "Å£"; 2522 var Tcy = "Т"; 2523 var tcy = "Ñ"; 2524 var tdot = "â"; 2525 var telrec = "â"; 2526 var Tfr = "ð"; 2527 var tfr = "ð±"; 2528 var there4 = "â´"; 2529 var therefore = "â´"; 2530 var Therefore = "â´"; 2531 var Theta = "Î"; 2532 var theta = "θ"; 2533 var thetasym = "Ï"; 2534 var thetav = "Ï"; 2535 var thickapprox = "â"; 2536 var thicksim = "â¼"; 2537 var ThickSpace = "ââ"; 2538 var ThinSpace = "â"; 2539 var thinsp = "â"; 2540 var thkap = "â"; 2541 var thksim = "â¼"; 2542 var THORN = "Ã"; 2543 var thorn = "þ"; 2544 var tilde = "Ë"; 2545 var Tilde = "â¼"; 2546 var TildeEqual = "â"; 2547 var TildeFullEqual = "â "; 2548 var TildeTilde = "â"; 2549 var timesbar = "⨱"; 2550 var timesb = "â "; 2551 var times = "Ã"; 2552 var timesd = "⨰"; 2553 var tint = "â"; 2554 var toea = "⤨"; 2555 var topbot = "â¶"; 2556 var topcir = "⫱"; 2557 var top = "â¤"; 2558 var Topf = "ð"; 2559 var topf = "ð¥"; 2560 var topfork = "â«"; 2561 var tosa = "⤩"; 2562 var tprime = "â´"; 2563 var trade = "â¢"; 2564 var TRADE = "â¢"; 2565 var triangle = "âµ"; 2566 var triangledown = "â¿"; 2567 var triangleleft = "â"; 2568 var trianglelefteq = "â´"; 2569 var triangleq = "â"; 2570 var triangleright = "â¹"; 2571 var trianglerighteq = "âµ"; 2572 var tridot = "â¬"; 2573 var trie = "â"; 2574 var triminus = "⨺"; 2575 var TripleDot = "â"; 2576 var triplus = "⨹"; 2577 var trisb = "â§"; 2578 var tritime = "⨻"; 2579 var trpezium = "â¢"; 2580 var Tscr = "ð¯"; 2581 var tscr = "ð"; 2582 var TScy = "Ц"; 2583 var tscy = "Ñ"; 2584 var TSHcy = "Ð"; 2585 var tshcy = "Ñ"; 2586 var Tstrok = "Ŧ";
2587 var tstrok = "ŧ"; 2588 var twixt = "â¬"; 2589 var twoheadleftarrow = "â"; 2590 var twoheadrightarrow = "â "; 2591 var Uacute = "Ã"; 2592 var uacute = "ú"; 2593 var uarr = "â"; 2594 var Uarr = "â"; 2595 var uArr = "â"; 2596 var Uarrocir = "â¥"; 2597 var Ubrcy = "Ð"; 2598 var ubrcy = "Ñ"; 2599 var Ubreve = "Ŭ"; 2600 var ubreve = "Å"; 2601 var Ucirc = "Ã"; 2602 var ucirc = "û"; 2603 var Ucy = "У"; 2604 var ucy = "Ñ"; 2605 var udarr = "â "; 2606 var Udblac = "Ű"; 2607 var udblac = "ű"; 2608 var udhar = "⥮"; 2609 var ufisht = "⥾"; 2610 var Ufr = "ð"; 2611 var ufr = "ð²"; 2612 var Ugrave = "Ã"; 2613 var ugrave = "ù"; 2614 var uHar = "⥣"; 2615 var uharl = "â¿"; 2616 var uharr = "â¾"; 2617 var uhblk = "â"; 2618 var ulcorn = "â"; 2619 var ulcorner = "â"; 2620 var ulcrop = "â"; 2621 var ultri = "â¸"; 2622 var Umacr = "Ū"; 2623 var umacr = "Å«"; 2624 var uml = "¨"; 2625 var UnderBar = "_"; 2626 var UnderBrace = "â"; 2627 var UnderBracket = "âµ"; 2628 var UnderParenthesis = "â"; 2629 var Union = "â"; 2630 var UnionPlus = "â"; 2631 var Uogon = "Ų"; 2632 var uogon = "ų"; 2633 var Uopf = "ð"; 2634 var uopf = "ð¦"; 2635 var UpArrowBar = "â¤"; 2636 var uparrow = "â"; 2637 var UpArrow = "â"; 2638 var Uparrow = "â"; 2639 var UpArrowDownArrow = "â "; 2640 var updownarrow = "â"; 2641 var UpDownArrow = "â"; 2642 var Updownarrow = "â"; 2643 var UpEquilibrium = "⥮"; 2644 var upharpoonleft = "â¿"; 2645 var upharpoonright = "â¾"; 2646 var uplus = "â"; 2647 var UpperLeftArrow = "â"; 2648 var UpperRightArrow = "â"; 2649 var upsi = "Ï "; 2650 var Upsi = "Ï"; 2651 var upsih = "Ï"; 2652 var Upsilon = "Î¥"; 2653 var upsilon = "Ï "; 2654 var UpTeeArrow = "â¥"; 2655 var UpTee = "â¥"; 2656 var upuparrows = "â"; 2657 var urcorn = "â"; 2658 var urcorner = "â"; 2659 var urcrop = "â"; 2660 var Uring = "Å®"; 2661 var uring = "ů"; 2662 var urtri = "â¹"; 2663 var Uscr = "ð°"; 2664 var uscr = "ð"; 2665 var utdot = "â°"; 2666 var Utilde = "Ũ"; 2667 var utilde = "Å©"; 2668 var utri = "âµ"; 2669 var utrif = "â´"; 2670 var uuarr = "â"; 2671 var Uuml = "Ã"; 2672 var uuml = "ü"; 2673 var uwangle = "⦧"; 2674 var vangrt = "â¦"; 2675 var varepsilon = "ϵ"; 2676 var varkappa = "ϰ"; 2677 var varnothing = "â "; 2678 var varphi = "Ï"; 2679 var varpi = "Ï"; 2680 var varpropto = "â"; 2681 var varr = "â"; 2682 var vArr = "â"; 2683 var varrho = "ϱ"; 2684 var varsigma = "Ï"; 2685 var varsubsetneq = "âï¸"; 2686 var varsubsetneqq = "â«ï¸"; 2687 var varsupsetneq = "âï¸"; 2688 var varsupsetneqq = "â«ï¸"; 2689 var vartheta = "Ï"; 2690 var vartriangleleft = "â²"; 2691 var vartriangleright = "â³"; 2692 var vBar = "⫨"; 2693 var Vbar = "â««"; 2694 var vBarv = "â«©"; 2695 var Vcy = "Ð"; 2696 var vcy = "в"; 2697 var vdash = "â¢"; 2698 var vDash = "â¨"; 2699 var Vdash = "â©"; 2700 var VDash = "â«"; 2701 var Vdashl = "⫦"; 2702 var veebar = "â»"; 2703 var vee = "â¨"; 2704 var Vee = "â"; 2705 var veeeq = "â"; 2706 var vellip = "â®"; 2707 var verbar = "|"; 2708 var Verbar = "â"; 2709 var vert = "|"; 2710 var Vert = "â"; 2711 var VerticalBar = "â£"; 2712 var VerticalLine = "|"; 2713 var VerticalSeparator = "â"; 2714 var VerticalTilde = "â"; 2715 var VeryThinSpace = "â"; 2716 var Vfr = "ð"; 2717 var vfr = "ð³"; 2718 var vltri = "â²"; 2719 var vnsub = "ââ"; 2720 var vnsup = "ââ"; 2721 var Vopf = "ð"; 2722 var vopf = "ð§"; 2723 var vprop = "â"; 2724 var vrtri = "â³"; 2725 var Vscr = "ð±"; 2726 var vscr = "ð"; 2727 var vsubnE = "â«ï¸"; 2728 var vsubne = "âï¸"; 2729 var vsupnE = "â«ï¸"; 2730 var vsupne = "âï¸"; 2731 var Vvdash = "âª"; 2732 var vzigzag = "â¦"; 2733 var Wcirc = "Å´"; 2734 var wcirc = "ŵ"; 2735 var wedbar = "â©"; 2736 var wedge = "â§"; 2737 var Wedge = "â"; 2738 var wedgeq = "â"; 2739 var weierp = "â"; 2740 var Wfr = "ð"; 2741 var wfr = "ð´"; 2742 var Wopf = "ð"; 2743 var wopf = "ð¨"; 2744 var wp = "â"; 2745 var wr = "â"; 2746 var wreath = "â"; 2747 var Wscr = "ð²"; 2748 var wscr = "ð"; 2749 var xcap = "â"; 2750 var xcirc = "â¯"; 2751 var xcup = "â"; 2752 var xdtri = "â½"; 2753 var Xfr = "ð"; 2754 var xfr = "ðµ"; 2755 var xharr = "â·"; 2756 var xhArr = "âº"; 2757 var Xi = "Î"; 2758 var xi = "ξ"; 2759 var xlarr = "âµ"; 2760 var xlArr = "â¸"; 2761 var xmap = "â¼"; 2762 var xnis = "â»"; 2763 var xodot = "â¨";
2764 var Xopf = "ð"; 2765 var xopf = "ð©"; 2766 var xoplus = "â¨"; 2767 var xotime = "â¨"; 2768 var xrarr = "â¶"; 2769 var xrArr = "â¹"; 2770 var Xscr = "ð³"; 2771 var xscr = "ð"; 2772 var xsqcup = "â¨"; 2773 var xuplus = "â¨"; 2774 var xutri = "â³"; 2775 var xvee = "â"; 2776 var xwedge = "â"; 2777 var Yacute = "Ã"; 2778 var yacute = "ý"; 2779 var YAcy = "Я"; 2780 var yacy = "Ñ"; 2781 var Ycirc = "Ŷ"; 2782 var ycirc = "Å·"; 2783 var Ycy = "Ы"; 2784 var ycy = "Ñ"; 2785 var yen = "Â¥"; 2786 var Yfr = "ð"; 2787 var yfr = "ð¶"; 2788 var YIcy = "Ð"; 2789 var yicy = "Ñ"; 2790 var Yopf = "ð"; 2791 var yopf = "ðª"; 2792 var Yscr = "ð´"; 2793 var yscr = "ð"; 2794 var YUcy = "Ю"; 2795 var yucy = "Ñ"; 2796 var yuml = "ÿ"; 2797 var Yuml = "Ÿ"; 2798 var Zacute = "Ź"; 2799 var zacute = "ź"; 2800 var Zcaron = "Ž"; 2801 var zcaron = "ž"; 2802 var Zcy = "Ð"; 2803 var zcy = "з"; 2804 var Zdot = "Å»"; 2805 var zdot = "ż"; 2806 var zeetrf = "â¨"; 2807 var ZeroWidthSpace = "â"; 2808 var Zeta = "Î"; 2809 var zeta = "ζ"; 2810 var zfr = "ð·"; 2811 var Zfr = "â¨"; 2812 var ZHcy = "Ð"; 2813 var zhcy = "ж"; 2814 var zigrarr = "â"; 2815 var zopf = "ð«"; 2816 var Zopf = "â¤"; 2817 var Zscr = "ðµ"; 2818 var zscr = "ð"; 2819 var zwj = "â"; 2820 var zwnj = "â"; 2821 var entities = { 2822 Aacute: Aacute, 2823 aacute: aacute, 2824 Abreve: Abreve, 2825 abreve: abreve, 2826 ac: ac, 2827 acd: acd, 2828 acE: acE, 2829 Acirc: Acirc, 2830 acirc: acirc, 2831 acute: acute, 2832 Acy: Acy, 2833 acy: acy, 2834 AElig: AElig, 2835 aelig: aelig, 2836 af: af, 2837 Afr: Afr, 2838 afr: afr, 2839 Agrave: Agrave, 2840 agrave: agrave, 2841 alefsym: alefsym, 2842 aleph: aleph, 2843 Alpha: Alpha, 2844 alpha: alpha, 2845 Amacr: Amacr, 2846 amacr: amacr, 2847 amalg: amalg, 2848 amp: amp$1, 2849 AMP: AMP, 2850 andand: andand, 2851 And: And, 2852 and: and, 2853 andd: andd, 2854 andslope: andslope, 2855 andv: andv, 2856 ang: ang, 2857 ange: ange, 2858 angle: angle, 2859 angmsdaa: angmsdaa, 2860 angmsdab: angmsdab, 2861 angmsdac: angmsdac, 2862 angmsdad: angmsdad, 2863 angmsdae: angmsdae, 2864 angmsdaf: angmsdaf, 2865 angmsdag: angmsdag, 2866 angmsdah: angmsdah, 2867 angmsd: angmsd, 2868 angrt: angrt, 2869 angrtvb: angrtvb, 2870 angrtvbd: angrtvbd, 2871 angsph: angsph, 2872 angst: angst, 2873 angzarr: angzarr, 2874 Aogon: Aogon, 2875 aogon: aogon, 2876 Aopf: Aopf, 2877 aopf: aopf, 2878 apacir: apacir, 2879 ap: ap, 2880 apE: apE, 2881 ape: ape, 2882 apid: apid, 2883 apos: apos$1, 2884 ApplyFunction: ApplyFunction, 2885 approx: approx, 2886 approxeq: approxeq, 2887 Aring: Aring, 2888 aring: aring, 2889 Ascr: Ascr, 2890 ascr: ascr, 2891 Assign: Assign, 2892 ast: ast, 2893 asymp: asymp, 2894 asympeq: asympeq, 2895 Atilde: Atilde, 2896 atilde: atilde, 2897 Auml: Auml, 2898 auml: auml, 2899 awconint: awconint, 2900 awint: awint, 2901 backcong: backcong, 2902 backepsilon: backepsilon, 2903 backprime: backprime, 2904 backsim: backsim, 2905 backsimeq: backsimeq, 2906 Backslash: Backslash, 2907 Barv: Barv, 2908 barvee: barvee, 2909 barwed: barwed, 2910 Barwed: Barwed, 2911 barwedge: barwedge, 2912 bbrk: bbrk, 2913 bbrktbrk: bbrktbrk, 2914 bcong: bcong, 2915 Bcy: Bcy, 2916 bcy: bcy, 2917 bdquo: bdquo, 2918 becaus: becaus, 2919 because: because, 2920 Because: Because, 2921 bemptyv: bemptyv, 2922 bepsi: bepsi, 2923 bernou: bernou, 2924 Bernoullis: Bernoullis, 2925 Beta: Beta, 2926 beta: beta, 2927 beth: beth, 2928 between: between, 2929 Bfr: Bfr, 2930 bfr: bfr, 2931 bigcap: bigcap, 2932 bigcirc: bigcirc, 2933 bigcup: bigcup, 2934 bigodot: bigodot, 2935 bigoplus: bigoplus, 2936 bigotimes: bigotimes, 2937 bigsqcup: bigsqcup, 2938 bigstar: bigstar, 2939 bigtriangledown: bigtriangledown, 2940 bigtriangleup: bigtriangleup, 2941 biguplus: biguplus, 2942 bigvee: bigvee, 2943 bigwedge: bigwedge, 2944 bkarow: bkarow, 2945 blacklozenge: blacklozenge, 2946 blacksquare: blacksquare, 2947 blacktriangle: blacktriangle, 2948 blacktriangledown: blacktriangledown, 2949 blacktriangleleft: blacktriangleleft, 2950 blacktriangleright: blacktriangleright, 2951 blank: blank, 2952 blk12: blk12, 2953 blk14: blk14, 2954 blk34: blk34, 2955 block: block, 2956 bne: bne, 2957 bnequiv: bnequiv, 2958 bNot: bNot, 2959 bnot: bnot, 2960 Bopf: Bopf, 2961 bopf: bopf, 2962 bot: bot, 2963 bottom: bottom, 2964 bowtie: bowtie, 2965 boxbox: boxbox, 2966 boxdl: boxdl, 2967 boxdL: boxdL, 2968 boxDl: boxDl, 2969 boxDL: boxDL, 2970 boxdr: boxdr, 2971 boxdR: boxdR, 2972 boxDr: boxDr, 2973 boxDR: boxDR, 2974 boxh: boxh, 2975 boxH: boxH, 2976 boxhd: boxhd, 2977 boxHd: boxHd, 2978 boxhD: boxhD, 2979 boxHD: boxHD, 2980 boxhu: boxhu, 2981 boxHu: boxHu, 2982 boxhU: boxhU, 2983 boxHU: boxHU, 2984 boxminus: boxminus, 2985 boxplus: boxplus, 2986 boxtimes: boxtimes, 2987 boxul: boxul, 2988 boxuL: boxuL, 2989 boxUl: boxUl, 2990 boxUL: boxUL, 2991 boxur: boxur, 2992 boxuR: boxuR, 2993 boxUr: boxUr, 2994 boxUR: boxUR, 2995 boxv: boxv, 2996 boxV: boxV, 2997 boxvh: boxvh, 2998 boxvH: boxvH, 2999 boxVh: boxVh, 3000 boxVH: boxVH, 3001 boxvl: boxvl, 3002 boxvL: boxvL, 3003 boxVl: boxVl, 3004 boxVL: boxVL, 3005 boxvr: boxvr, 3006 boxvR: boxvR, 3007 boxVr: boxVr, 3008 boxVR: boxVR, 3009 bprime: bprime, 3010 breve: breve, 3011 Breve: Breve, 3012 brvbar: brvbar, 3013 bscr: bscr, 3014 Bscr: Bscr, 3015 bsemi: bsemi, 3016 bsim: bsim, 3017 bsime: bsime, 3018 bsolb: bsolb, 3019 bsol: bsol, 3020 bsolhsub: bsolhsub, 3021 bull: bull, 3022 bullet: bullet, 3023 bump: bump, 3024 bumpE: bumpE, 3025 bumpe: bumpe, 3026 Bumpeq: Bumpeq, 3027 bumpeq: bumpeq, 3028 Cacute: Cacute, 3029 cacute: cacute, 3030 capand: capand, 3031 capbrcup: capbrcup, 3032 capcap: capcap, 3033 cap: cap, 3034 Cap: Cap, 3035 capcup: capcup, 3036 capdot: capdot, 3037 CapitalDifferentialD: CapitalDifferentialD, 3038 caps: caps, 3039 caret: caret, 3040 caron: caron, 3041 Cayleys: Cayleys,
3042 ccaps: ccaps, 3043 Ccaron: Ccaron, 3044 ccaron: ccaron, 3045 Ccedil: Ccedil, 3046 ccedil: ccedil, 3047 Ccirc: Ccirc, 3048 ccirc: ccirc, 3049 Cconint: Cconint, 3050 ccups: ccups, 3051 ccupssm: ccupssm, 3052 Cdot: Cdot, 3053 cdot: cdot, 3054 cedil: cedil, 3055 Cedilla: Cedilla, 3056 cemptyv: cemptyv, 3057 cent: cent, 3058 centerdot: centerdot, 3059 CenterDot: CenterDot, 3060 cfr: cfr, 3061 Cfr: Cfr, 3062 CHcy: CHcy, 3063 chcy: chcy, 3064 check: check, 3065 checkmark: checkmark, 3066 Chi: Chi, 3067 chi: chi, 3068 circ: circ, 3069 circeq: circeq, 3070 circlearrowleft: circlearrowleft, 3071 circlearrowright: circlearrowright, 3072 circledast: circledast, 3073 circledcirc: circledcirc, 3074 circleddash: circleddash, 3075 CircleDot: CircleDot, 3076 circledR: circledR, 3077 circledS: circledS, 3078 CircleMinus: CircleMinus, 3079 CirclePlus: CirclePlus, 3080 CircleTimes: CircleTimes, 3081 cir: cir, 3082 cirE: cirE, 3083 cire: cire, 3084 cirfnint: cirfnint, 3085 cirmid: cirmid, 3086 cirscir: cirscir, 3087 ClockwiseContourIntegral: ClockwiseContourIntegral, 3088 CloseCurlyDoubleQuote: CloseCurlyDoubleQuote, 3089 CloseCurlyQuote: CloseCurlyQuote, 3090 clubs: clubs, 3091 clubsuit: clubsuit, 3092 colon: colon, 3093 Colon: Colon, 3094 Colone: Colone, 3095 colone: colone, 3096 coloneq: coloneq, 3097 comma: comma, 3098 commat: commat, 3099 comp: comp, 3100 compfn: compfn, 3101 complement: complement, 3102 complexes: complexes, 3103 cong: cong, 3104 congdot: congdot, 3105 Congruent: Congruent, 3106 conint: conint, 3107 Conint: Conint, 3108 ContourIntegral: ContourIntegral, 3109 copf: copf, 3110 Copf: Copf, 3111 coprod: coprod, 3112 Coproduct: Coproduct, 3113 copy: copy, 3114 COPY: COPY, 3115 copysr: copysr, 3116 CounterClockwiseContourIntegral: CounterClockwiseContourIntegral, 3117 crarr: crarr, 3118 cross: cross, 3119 Cross: Cross, 3120 Cscr: Cscr, 3121 cscr: cscr, 3122 csub: csub, 3123 csube: csube, 3124 csup: csup, 3125 csupe: csupe, 3126 ctdot: ctdot, 3127 cudarrl: cudarrl, 3128 cudarrr: cudarrr, 3129 cuepr: cuepr, 3130 cuesc: cuesc, 3131 cularr: cularr, 3132 cularrp: cularrp, 3133 cupbrcap: cupbrcap, 3134 cupcap: cupcap, 3135 CupCap: CupCap, 3136 cup: cup, 3137 Cup: Cup, 3138 cupcup: cupcup, 3139 cupdot: cupdot, 3140 cupor: cupor, 3141 cups: cups, 3142 curarr: curarr, 3143 curarrm: curarrm, 3144 curlyeqprec: curlyeqprec, 3145 curlyeqsucc: curlyeqsucc, 3146 curlyvee: curlyvee, 3147 curlywedge: curlywedge, 3148 curren: curren, 3149 curvearrowleft: curvearrowleft, 3150 curvearrowright: curvearrowright, 3151 cuvee: cuvee, 3152 cuwed: cuwed, 3153 cwconint: cwconint, 3154 cwint: cwint, 3155 cylcty: cylcty, 3156 dagger: dagger, 3157 Dagger: Dagger, 3158 daleth: daleth, 3159 darr: darr, 3160 Darr: Darr, 3161 dArr: dArr, 3162 dash: dash, 3163 Dashv: Dashv, 3164 dashv: dashv, 3165 dbkarow: dbkarow, 3166 dblac: dblac, 3167 Dcaron: Dcaron, 3168 dcaron: dcaron, 3169 Dcy: Dcy, 3170 dcy: dcy, 3171 ddagger: ddagger, 3172 ddarr: ddarr, 3173 DD: DD, 3174 dd: dd, 3175 DDotrahd: DDotrahd, 3176 ddotseq: ddotseq, 3177 deg: deg, 3178 Del: Del, 3179 Delta: Delta, 3180 delta: delta, 3181 demptyv: demptyv, 3182 dfisht: dfisht, 3183 Dfr: Dfr, 3184 dfr: dfr, 3185 dHar: dHar, 3186 dharl: dharl, 3187 dharr: dharr, 3188 DiacriticalAcute: DiacriticalAcute, 3189 DiacriticalDot: DiacriticalDot, 3190 DiacriticalDoubleAcute: DiacriticalDoubleAcute, 3191 DiacriticalGrave: DiacriticalGrave, 3192 DiacriticalTilde: DiacriticalTilde, 3193 diam: diam, 3194 diamond: diamond, 3195 Diamond: Diamond, 3196 diamondsuit: diamondsuit, 3197 diams: diams, 3198 die: die, 3199 DifferentialD: DifferentialD, 3200 digamma: digamma, 3201 disin: disin, 3202 div: div, 3203 divide: divide, 3204 divideontimes: divideontimes, 3205 divonx: divonx, 3206 DJcy: DJcy, 3207 djcy: djcy, 3208 dlcorn: dlcorn, 3209 dlcrop: dlcrop, 3210 dollar: dollar, 3211 Dopf: Dopf, 3212 dopf: dopf, 3213 Dot: Dot, 3214 dot: dot, 3215 DotDot: DotDot, 3216 doteq: doteq, 3217 doteqdot: doteqdot, 3218 DotEqual: DotEqual, 3219 dotminus: dotminus, 3220 dotplus: dotplus, 3221 dotsquare: dotsquare, 3222 doublebarwedge: doublebarwedge, 3223 DoubleContourIntegral: DoubleContourIntegral, 3224 DoubleDot: DoubleDot, 3225 DoubleDownArrow: DoubleDownArrow, 3226 DoubleLeftArrow: DoubleLeftArrow, 3227 DoubleLeftRightArrow: DoubleLeftRightArrow, 3228 DoubleLeftTee: DoubleLeftTee, 3229 DoubleLongLeftArrow: DoubleLongLeftArrow, 3230 DoubleLongLeftRightArrow: DoubleLongLeftRightArrow, 3231 DoubleLongRightArrow: DoubleLongRightArrow, 3232 DoubleRightArrow: DoubleRightArrow, 3233 DoubleRightTee: DoubleRightTee, 3234 DoubleUpArrow: DoubleUpArrow, 3235 DoubleUpDownArrow: DoubleUpDownArrow, 3236 DoubleVerticalBar: DoubleVerticalBar, 3237 DownArrowBar: DownArrowBar, 3238 downarrow: downarrow, 3239 DownArrow: DownArrow, 3240 Downarrow: Downarrow, 3241 DownArrowUpArrow: DownArrowUpArrow, 3242 DownBreve: DownBreve, 3243 downdownarrows: downdownarrows, 3244 downharpoonleft: downharpoonleft, 3245 downharpoonright: downharpoonright, 3246 DownLeftRightVector: DownLeftRightVector, 3247 DownLeftTeeVector: DownLeftTeeVector, 3248 DownLeftVectorBar: DownLeftVectorBar, 3249 DownLeftVector: DownLeftVector, 3250 DownRightTeeVector: DownRightTeeVector, 3251 DownRightVectorBar: DownRightVectorBar, 3252 DownRightVector: DownRightVector, 3253 DownTeeArrow: DownTeeArrow, 3254 DownTee: DownTee, 3255 drbkarow: drbkarow, 3256 drcorn: drcorn, 3257 drcrop: drcrop, 3258 Dscr: Dscr, 3259 dscr: dscr, 3260 DScy: DScy, 3261 dscy: dscy, 3262 dsol: dsol, 3263 Dstrok: Dstrok, 3264 dstrok: dstrok, 3265 dtdot: dtdot, 3266 dtri: dtri, 3267 dtrif: dtrif, 3268 duarr: duarr, 3269 duhar: duhar, 3270 dwangle: dwangle, 3271 DZcy: DZcy, 3272 dzcy: dzcy, 3273 dzigrarr: dzigrarr, 3274 Eacute: Eacute, 3275 eacute: eacute, 3276 easter: easter, 3277 Ecaron: Ecaron, 3278 ecaron: ecaron, 3279 Ecirc: Ecirc, 3280 ecirc: ecirc, 3281 ecir: ecir, 3282 ecolon: ecolon, 3283 Ecy: Ecy, 3284 ecy: ecy, 3285 eDDot: eDDot, 3286 Edot: Edot, 3287 edot: edot, 3288 eDot: eDot, 3289 ee: ee, 3290 efDot: efDot, 3291 Efr: Efr, 3292 efr: efr, 3293 eg: eg, 3294 Egrave: Egrave, 3295 egrave: egrave, 3296 egs: egs, 3297 egsdot: egsdot, 3298 el: el, 3299 Element: Element, 3300 elinters: elinters, 3301 ell: ell, 3302 els: els, 3303 elsdot: elsdot, 3304 Emacr: Emacr, 3305 emacr: emacr, 3306 empty: empty, 3307 emptyset: emptyset, 3308 EmptySmallSquare: EmptySmallSquare, 3309 emptyv: emptyv, 3310 EmptyVerySmallSquare: EmptyVerySmallSquare, 3311 emsp13: emsp13, 3312 emsp14: emsp14, 3313 emsp: emsp, 3314 ENG: ENG, 3315 eng: eng, 3316 ensp: ensp, 3317 Eogon: Eogon, 3318 eogon: eogon, 3319 Eopf: Eopf, 3320 eopf: eopf, 3321 epar: epar, 3322 eparsl: eparsl, 3323 eplus: eplus, 3324 epsi: epsi, 3325 Epsilon: Epsilon, 3326 epsilon: epsilon, 3327 epsiv: epsiv, 3328 eqcirc: eqcirc, 3329 eqcolon: eqcolon, 3330 eqsim: eqsim, 3331 eqslantgtr: eqslantgtr, 3332 eqslantless: eqslantless, 3333 Equal: Equal, 3334 equals: equals, 3335 EqualTilde: EqualTilde, 3336 equest: equest, 3337 Equilibrium: Equilibrium, 3338 equiv: equiv, 3339 equivDD: equivDD, 3340 eqvparsl: eqvparsl, 3341 erarr: erarr, 3342 erDot: erDot, 3343 escr: escr, 3344 Escr: Escr, 3345 esdot: esdot, 3346 Esim: Esim, 3347 esim: esim, 3348 Eta: Eta, 3349 eta: eta, 3350 ETH: ETH, 3351 eth: eth,
3352 Euml: Euml, 3353 euml: euml, 3354 euro: euro, 3355 excl: excl, 3356 exist: exist, 3357 Exists: Exists, 3358 expectation: expectation, 3359 exponentiale: exponentiale, 3360 ExponentialE: ExponentialE, 3361 fallingdotseq: fallingdotseq, 3362 Fcy: Fcy, 3363 fcy: fcy, 3364 female: female, 3365 ffilig: ffilig, 3366 fflig: fflig, 3367 ffllig: ffllig, 3368 Ffr: Ffr, 3369 ffr: ffr, 3370 filig: filig, 3371 FilledSmallSquare: FilledSmallSquare, 3372 FilledVerySmallSquare: FilledVerySmallSquare, 3373 fjlig: fjlig, 3374 flat: flat, 3375 fllig: fllig, 3376 fltns: fltns, 3377 fnof: fnof, 3378 Fopf: Fopf, 3379 fopf: fopf, 3380 forall: forall, 3381 ForAll: ForAll, 3382 fork: fork, 3383 forkv: forkv, 3384 Fouriertrf: Fouriertrf, 3385 fpartint: fpartint, 3386 frac12: frac12, 3387 frac13: frac13, 3388 frac14: frac14, 3389 frac15: frac15, 3390 frac16: frac16, 3391 frac18: frac18, 3392 frac23: frac23, 3393 frac25: frac25, 3394 frac34: frac34, 3395 frac35: frac35, 3396 frac38: frac38, 3397 frac45: frac45, 3398 frac56: frac56, 3399 frac58: frac58, 3400 frac78: frac78, 3401 frasl: frasl, 3402 frown: frown, 3403 fscr: fscr, 3404 Fscr: Fscr, 3405 gacute: gacute, 3406 Gamma: Gamma, 3407 gamma: gamma, 3408 Gammad: Gammad, 3409 gammad: gammad, 3410 gap: gap, 3411 Gbreve: Gbreve, 3412 gbreve: gbreve, 3413 Gcedil: Gcedil, 3414 Gcirc: Gcirc, 3415 gcirc: gcirc, 3416 Gcy: Gcy, 3417 gcy: gcy, 3418 Gdot: Gdot, 3419 gdot: gdot, 3420 ge: ge, 3421 gE: gE, 3422 gEl: gEl, 3423 gel: gel, 3424 geq: geq, 3425 geqq: geqq, 3426 geqslant: geqslant, 3427 gescc: gescc, 3428 ges: ges, 3429 gesdot: gesdot, 3430 gesdoto: gesdoto, 3431 gesdotol: gesdotol, 3432 gesl: gesl, 3433 gesles: gesles, 3434 Gfr: Gfr, 3435 gfr: gfr, 3436 gg: gg, 3437 Gg: Gg, 3438 ggg: ggg, 3439 gimel: gimel, 3440 GJcy: GJcy, 3441 gjcy: gjcy, 3442 gla: gla, 3443 gl: gl, 3444 glE: glE, 3445 glj: glj, 3446 gnap: gnap, 3447 gnapprox: gnapprox, 3448 gne: gne, 3449 gnE: gnE, 3450 gneq: gneq, 3451 gneqq: gneqq, 3452 gnsim: gnsim, 3453 Gopf: Gopf, 3454 gopf: gopf, 3455 grave: grave, 3456 GreaterEqual: GreaterEqual, 3457 GreaterEqualLess: GreaterEqualLess, 3458 GreaterFullEqual: GreaterFullEqual, 3459 GreaterGreater: GreaterGreater, 3460 GreaterLess: GreaterLess, 3461 GreaterSlantEqual: GreaterSlantEqual, 3462 GreaterTilde: GreaterTilde, 3463 Gscr: Gscr, 3464 gscr: gscr, 3465 gsim: gsim, 3466 gsime: gsime, 3467 gsiml: gsiml, 3468 gtcc: gtcc, 3469 gtcir: gtcir, 3470 gt: gt$1, 3471 GT: GT, 3472 Gt: Gt, 3473 gtdot: gtdot, 3474 gtlPar: gtlPar, 3475 gtquest: gtquest, 3476 gtrapprox: gtrapprox, 3477 gtrarr: gtrarr, 3478 gtrdot: gtrdot, 3479 gtreqless: gtreqless, 3480 gtreqqless: gtreqqless, 3481 gtrless: gtrless, 3482 gtrsim: gtrsim, 3483 gvertneqq: gvertneqq, 3484 gvnE: gvnE, 3485 Hacek: Hacek, 3486 hairsp: hairsp, 3487 half: half, 3488 hamilt: hamilt, 3489 HARDcy: HARDcy, 3490 hardcy: hardcy, 3491 harrcir: harrcir, 3492 harr: harr, 3493 hArr: hArr, 3494 harrw: harrw, 3495 Hat: Hat, 3496 hbar: hbar, 3497 Hcirc: Hcirc, 3498 hcirc: hcirc, 3499 hearts: hearts, 3500 heartsuit: heartsuit, 3501 hellip: hellip, 3502 hercon: hercon, 3503 hfr: hfr, 3504 Hfr: Hfr, 3505 HilbertSpace: HilbertSpace, 3506 hksearow: hksearow, 3507 hkswarow: hkswarow, 3508 hoarr: hoarr, 3509 homtht: homtht, 3510 hookleftarrow: hookleftarrow, 3511 hookrightarrow: hookrightarrow, 3512 hopf: hopf, 3513 Hopf: Hopf, 3514 horbar: horbar, 3515 HorizontalLine: HorizontalLine, 3516 hscr: hscr, 3517 Hscr: Hscr, 3518 hslash: hslash, 3519 Hstrok: Hstrok, 3520 hstrok: hstrok, 3521 HumpDownHump: HumpDownHump, 3522 HumpEqual: HumpEqual, 3523 hybull: hybull, 3524 hyphen: hyphen, 3525 Iacute: Iacute, 3526 iacute: iacute, 3527 ic: ic, 3528 Icirc: Icirc, 3529 icirc: icirc, 3530 Icy: Icy, 3531 icy: icy, 3532 Idot: Idot, 3533 IEcy: IEcy, 3534 iecy: iecy, 3535 iexcl: iexcl, 3536 iff: iff, 3537 ifr: ifr, 3538 Ifr: Ifr, 3539 Igrave: Igrave, 3540 igrave: igrave, 3541 ii: ii, 3542 iiiint: iiiint, 3543 iiint: iiint, 3544 iinfin: iinfin, 3545 iiota: iiota, 3546 IJlig: IJlig, 3547 ijlig: ijlig, 3548 Imacr: Imacr, 3549 imacr: imacr, 3550 image: image, 3551 ImaginaryI: ImaginaryI, 3552 imagline: imagline, 3553 imagpart: imagpart, 3554 imath: imath, 3555 Im: Im, 3556 imof: imof, 3557 imped: imped, 3558 Implies: Implies, 3559 incare: incare, 3560 "in": "â", 3561 infin: infin, 3562 infintie: infintie, 3563 inodot: inodot, 3564 intcal: intcal, 3565 int: int, 3566 Int: Int, 3567 integers: integers, 3568 Integral: Integral, 3569 intercal: intercal, 3570 Intersection: Intersection, 3571 intlarhk: intlarhk, 3572 intprod: intprod, 3573 InvisibleComma: InvisibleComma, 3574 InvisibleTimes: InvisibleTimes, 3575 IOcy: IOcy, 3576 iocy: iocy, 3577 Iogon: Iogon, 3578 iogon: iogon, 3579 Iopf: Iopf, 3580 iopf: iopf, 3581 Iota: Iota, 3582 iota: iota, 3583 iprod: iprod, 3584 iquest: iquest, 3585 iscr: iscr, 3586 Iscr: Iscr, 3587 isin: isin, 3588 isindot: isindot, 3589 isinE: isinE, 3590 isins: isins, 3591 isinsv: isinsv,
3592 isinv: isinv, 3593 it: it, 3594 Itilde: Itilde, 3595 itilde: itilde, 3596 Iukcy: Iukcy, 3597 iukcy: iukcy, 3598 Iuml: Iuml, 3599 iuml: iuml, 3600 Jcirc: Jcirc, 3601 jcirc: jcirc, 3602 Jcy: Jcy, 3603 jcy: jcy, 3604 Jfr: Jfr, 3605 jfr: jfr, 3606 jmath: jmath, 3607 Jopf: Jopf, 3608 jopf: jopf, 3609 Jscr: Jscr, 3610 jscr: jscr, 3611 Jsercy: Jsercy, 3612 jsercy: jsercy, 3613 Jukcy: Jukcy, 3614 jukcy: jukcy, 3615 Kappa: Kappa, 3616 kappa: kappa, 3617 kappav: kappav, 3618 Kcedil: Kcedil, 3619 kcedil: kcedil, 3620 Kcy: Kcy, 3621 kcy: kcy, 3622 Kfr: Kfr, 3623 kfr: kfr, 3624 kgreen: kgreen, 3625 KHcy: KHcy, 3626 khcy: khcy, 3627 KJcy: KJcy, 3628 kjcy: kjcy, 3629 Kopf: Kopf, 3630 kopf: kopf, 3631 Kscr: Kscr, 3632 kscr: kscr, 3633 lAarr: lAarr, 3634 Lacute: Lacute, 3635 lacute: lacute, 3636 laemptyv: laemptyv, 3637 lagran: lagran, 3638 Lambda: Lambda, 3639 lambda: lambda, 3640 lang: lang, 3641 Lang: Lang, 3642 langd: langd, 3643 langle: langle, 3644 lap: lap, 3645 Laplacetrf: Laplacetrf, 3646 laquo: laquo, 3647 larrb: larrb, 3648 larrbfs: larrbfs, 3649 larr: larr, 3650 Larr: Larr, 3651 lArr: lArr, 3652 larrfs: larrfs, 3653 larrhk: larrhk, 3654 larrlp: larrlp, 3655 larrpl: larrpl, 3656 larrsim: larrsim, 3657 larrtl: larrtl, 3658 latail: latail, 3659 lAtail: lAtail, 3660 lat: lat, 3661 late: late, 3662 lates: lates, 3663 lbarr: lbarr, 3664 lBarr: lBarr, 3665 lbbrk: lbbrk, 3666 lbrace: lbrace, 3667 lbrack: lbrack, 3668 lbrke: lbrke, 3669 lbrksld: lbrksld, 3670 lbrkslu: lbrkslu, 3671 Lcaron: Lcaron, 3672 lcaron: lcaron, 3673 Lcedil: Lcedil, 3674 lcedil: lcedil, 3675 lceil: lceil, 3676 lcub: lcub, 3677 Lcy: Lcy, 3678 lcy: lcy, 3679 ldca: ldca, 3680 ldquo: ldquo, 3681 ldquor: ldquor, 3682 ldrdhar: ldrdhar, 3683 ldrushar: ldrushar, 3684 ldsh: ldsh, 3685 le: le, 3686 lE: lE, 3687 LeftAngleBracket: LeftAngleBracket, 3688 LeftArrowBar: LeftArrowBar, 3689 leftarrow: leftarrow, 3690 LeftArrow: LeftArrow, 3691 Leftarrow: Leftarrow, 3692 LeftArrowRightArrow: LeftArrowRightArrow, 3693 leftarrowtail: leftarrowtail, 3694 LeftCeiling: LeftCeiling, 3695 LeftDoubleBracket: LeftDoubleBracket, 3696 LeftDownTeeVector: LeftDownTeeVector, 3697 LeftDownVectorBar: LeftDownVectorBar, 3698 LeftDownVector: LeftDownVector, 3699 LeftFloor: LeftFloor, 3700 leftharpoondown: leftharpoondown, 3701 leftharpoonup: leftharpoonup, 3702 leftleftarrows: leftleftarrows, 3703 leftrightarrow: leftrightarrow, 3704 LeftRightArrow: LeftRightArrow, 3705 Leftrightarrow: Leftrightarrow, 3706 leftrightarrows: leftrightarrows, 3707 leftrightharpoons: leftrightharpoons, 3708 leftrightsquigarrow: leftrightsquigarrow, 3709 LeftRightVector: LeftRightVector, 3710 LeftTeeArrow: LeftTeeArrow, 3711 LeftTee: LeftTee, 3712 LeftTeeVector: LeftTeeVector, 3713 leftthreetimes: leftthreetimes, 3714 LeftTriangleBar: LeftTriangleBar, 3715 LeftTriangle: LeftTriangle, 3716 LeftTriangleEqual: LeftTriangleEqual, 3717 LeftUpDownVector: LeftUpDownVector, 3718 LeftUpTeeVector: LeftUpTeeVector, 3719 LeftUpVectorBar: LeftUpVectorBar, 3720 LeftUpVector: LeftUpVector, 3721 LeftVectorBar: LeftVectorBar, 3722 LeftVector: LeftVector, 3723 lEg: lEg, 3724 leg: leg, 3725 leq: leq, 3726 leqq: leqq, 3727 leqslant: leqslant, 3728 lescc: lescc, 3729 les: les, 3730 lesdot: lesdot, 3731 lesdoto: lesdoto, 3732 lesdotor: lesdotor, 3733 lesg: lesg, 3734 lesges: lesges, 3735 lessapprox: lessapprox, 3736 lessdot: lessdot, 3737 lesseqgtr: lesseqgtr, 3738 lesseqqgtr: lesseqqgtr, 3739 LessEqualGreater: LessEqualGreater, 3740 LessFullEqual: LessFullEqual, 3741 LessGreater: LessGreater, 3742 lessgtr: lessgtr, 3743 LessLess: LessLess, 3744 lesssim: lesssim, 3745 LessSlantEqual: LessSlantEqual, 3746 LessTilde: LessTilde, 3747 lfisht: lfisht, 3748 lfloor: lfloor, 3749 Lfr: Lfr, 3750 lfr: lfr, 3751 lg: lg, 3752 lgE: lgE, 3753 lHar: lHar, 3754 lhard: lhard, 3755 lharu: lharu, 3756 lharul: lharul, 3757 lhblk: lhblk, 3758 LJcy: LJcy, 3759 ljcy: ljcy, 3760 llarr: llarr, 3761 ll: ll, 3762 Ll: Ll, 3763 llcorner: llcorner, 3764 Lleftarrow: Lleftarrow, 3765 llhard: llhard, 3766 lltri: lltri, 3767 Lmidot: Lmidot, 3768 lmidot: lmidot,
3769 lmoustache: lmoustache, 3770 lmoust: lmoust, 3771 lnap: lnap, 3772 lnapprox: lnapprox, 3773 lne: lne, 3774 lnE: lnE, 3775 lneq: lneq, 3776 lneqq: lneqq, 3777 lnsim: lnsim, 3778 loang: loang, 3779 loarr: loarr, 3780 lobrk: lobrk, 3781 longleftarrow: longleftarrow, 3782 LongLeftArrow: LongLeftArrow, 3783 Longleftarrow: Longleftarrow, 3784 longleftrightarrow: longleftrightarrow, 3785 LongLeftRightArrow: LongLeftRightArrow, 3786 Longleftrightarrow: Longleftrightarrow, 3787 longmapsto: longmapsto, 3788 longrightarrow: longrightarrow, 3789 LongRightArrow: LongRightArrow, 3790 Longrightarrow: Longrightarrow, 3791 looparrowleft: looparrowleft, 3792 looparrowright: looparrowright, 3793 lopar: lopar, 3794 Lopf: Lopf, 3795 lopf: lopf, 3796 loplus: loplus, 3797 lotimes: lotimes, 3798 lowast: lowast, 3799 lowbar: lowbar, 3800 LowerLeftArrow: LowerLeftArrow, 3801 LowerRightArrow: LowerRightArrow, 3802 loz: loz, 3803 lozenge: lozenge, 3804 lozf: lozf, 3805 lpar: lpar, 3806 lparlt: lparlt, 3807 lrarr: lrarr, 3808 lrcorner: lrcorner, 3809 lrhar: lrhar, 3810 lrhard: lrhard, 3811 lrm: lrm, 3812 lrtri: lrtri, 3813 lsaquo: lsaquo, 3814 lscr: lscr, 3815 Lscr: Lscr, 3816 lsh: lsh, 3817 Lsh: Lsh, 3818 lsim: lsim, 3819 lsime: lsime, 3820 lsimg: lsimg, 3821 lsqb: lsqb, 3822 lsquo: lsquo, 3823 lsquor: lsquor, 3824 Lstrok: Lstrok, 3825 lstrok: lstrok, 3826 ltcc: ltcc, 3827 ltcir: ltcir, 3828 lt: lt$1, 3829 LT: LT, 3830 Lt: Lt, 3831 ltdot: ltdot, 3832 lthree: lthree, 3833 ltimes: ltimes, 3834 ltlarr: ltlarr, 3835 ltquest: ltquest, 3836 ltri: ltri, 3837 ltrie: ltrie, 3838 ltrif: ltrif, 3839 ltrPar: ltrPar, 3840 lurdshar: lurdshar, 3841 luruhar: luruhar, 3842 lvertneqq: lvertneqq, 3843 lvnE: lvnE, 3844 macr: macr, 3845 male: male, 3846 malt: malt, 3847 maltese: maltese, 3848 "Map": "⤠", 3849 map: map, 3850 mapsto: mapsto, 3851 mapstodown: mapstodown, 3852 mapstoleft: mapstoleft, 3853 mapstoup: mapstoup, 3854 marker: marker, 3855 mcomma: mcomma, 3856 Mcy: Mcy, 3857 mcy: mcy, 3858 mdash: mdash, 3859 mDDot: mDDot, 3860 measuredangle: measuredangle, 3861 MediumSpace: MediumSpace, 3862 Mellintrf: Mellintrf, 3863 Mfr: Mfr, 3864 mfr: mfr, 3865 mho: mho, 3866 micro: micro, 3867 midast: midast, 3868 midcir: midcir, 3869 mid: mid, 3870 middot: middot, 3871 minusb: minusb, 3872 minus: minus, 3873 minusd: minusd, 3874 minusdu: minusdu, 3875 MinusPlus: MinusPlus, 3876 mlcp: mlcp, 3877 mldr: mldr, 3878 mnplus: mnplus, 3879 models: models, 3880 Mopf: Mopf, 3881 mopf: mopf, 3882 mp: mp, 3883 mscr: mscr, 3884 Mscr: Mscr, 3885 mstpos: mstpos, 3886 Mu: Mu, 3887 mu: mu, 3888 multimap: multimap, 3889 mumap: mumap, 3890 nabla: nabla, 3891 Nacute: Nacute, 3892 nacute: nacute, 3893 nang: nang, 3894 nap: nap, 3895 napE: napE, 3896 napid: napid, 3897 napos: napos, 3898 napprox: napprox, 3899 natural: natural, 3900 naturals: naturals, 3901 natur: natur, 3902 nbsp: nbsp, 3903 nbump: nbump, 3904 nbumpe: nbumpe, 3905 ncap: ncap, 3906 Ncaron: Ncaron, 3907 ncaron: ncaron, 3908 Ncedil: Ncedil, 3909 ncedil: ncedil, 3910 ncong: ncong, 3911 ncongdot: ncongdot, 3912 ncup: ncup, 3913 Ncy: Ncy, 3914 ncy: ncy, 3915 ndash: ndash, 3916 nearhk: nearhk, 3917 nearr: nearr, 3918 neArr: neArr, 3919 nearrow: nearrow, 3920 ne: ne, 3921 nedot: nedot, 3922 NegativeMediumSpace: NegativeMediumSpace, 3923 NegativeThickSpace: NegativeThickSpace, 3924 NegativeThinSpace: NegativeThinSpace, 3925 NegativeVeryThinSpace: NegativeVeryThinSpace, 3926 nequiv: nequiv, 3927 nesear: nesear, 3928 nesim: nesim, 3929 NestedGreaterGreater: NestedGreaterGreater, 3930 NestedLessLess: NestedLessLess, 3931 NewLine: NewLine, 3932 nexist: nexist, 3933 nexists: nexists, 3934 Nfr: Nfr, 3935 nfr: nfr, 3936 ngE: ngE, 3937 nge: nge, 3938 ngeq: ngeq, 3939 ngeqq: ngeqq, 3940 ngeqslant: ngeqslant, 3941 nges: nges, 3942 nGg: nGg, 3943 ngsim: ngsim, 3944 nGt: nGt, 3945 ngt: ngt, 3946 ngtr: ngtr, 3947 nGtv: nGtv, 3948 nharr: nharr, 3949 nhArr: nhArr, 3950 nhpar: nhpar, 3951 ni: ni, 3952 nis: nis, 3953 nisd: nisd, 3954 niv: niv, 3955 NJcy: NJcy, 3956 njcy: njcy, 3957 nlarr: nlarr, 3958 nlArr: nlArr, 3959 nldr: nldr, 3960 nlE: nlE, 3961 nle: nle,
3962 nleftarrow: nleftarrow, 3963 nLeftarrow: nLeftarrow, 3964 nleftrightarrow: nleftrightarrow, 3965 nLeftrightarrow: nLeftrightarrow, 3966 nleq: nleq, 3967 nleqq: nleqq, 3968 nleqslant: nleqslant, 3969 nles: nles, 3970 nless: nless, 3971 nLl: nLl, 3972 nlsim: nlsim, 3973 nLt: nLt, 3974 nlt: nlt, 3975 nltri: nltri, 3976 nltrie: nltrie, 3977 nLtv: nLtv, 3978 nmid: nmid, 3979 NoBreak: NoBreak, 3980 NonBreakingSpace: NonBreakingSpace, 3981 nopf: nopf, 3982 Nopf: Nopf, 3983 Not: Not, 3984 not: not, 3985 NotCongruent: NotCongruent, 3986 NotCupCap: NotCupCap, 3987 NotDoubleVerticalBar: NotDoubleVerticalBar, 3988 NotElement: NotElement, 3989 NotEqual: NotEqual, 3990 NotEqualTilde: NotEqualTilde, 3991 NotExists: NotExists, 3992 NotGreater: NotGreater, 3993 NotGreaterEqual: NotGreaterEqual, 3994 NotGreaterFullEqual: NotGreaterFullEqual, 3995 NotGreaterGreater: NotGreaterGreater, 3996 NotGreaterLess: NotGreaterLess, 3997 NotGreaterSlantEqual: NotGreaterSlantEqual, 3998 NotGreaterTilde: NotGreaterTilde, 3999 NotHumpDownHump: NotHumpDownHump, 4000 NotHumpEqual: NotHumpEqual, 4001 notin: notin, 4002 notindot: notindot, 4003 notinE: notinE, 4004 notinva: notinva, 4005 notinvb: notinvb, 4006 notinvc: notinvc, 4007 NotLeftTriangleBar: NotLeftTriangleBar, 4008 NotLeftTriangle: NotLeftTriangle, 4009 NotLeftTriangleEqual: NotLeftTriangleEqual, 4010 NotLess: NotLess, 4011 NotLessEqual: NotLessEqual, 4012 NotLessGreater: NotLessGreater, 4013 NotLessLess: NotLessLess, 4014 NotLessSlantEqual: NotLessSlantEqual, 4015 NotLessTilde: NotLessTilde, 4016 NotNestedGreaterGreater: NotNestedGreaterGreater, 4017 NotNestedLessLess: NotNestedLessLess, 4018 notni: notni, 4019 notniva: notniva, 4020 notnivb: notnivb, 4021 notnivc: notnivc, 4022 NotPrecedes: NotPrecedes, 4023 NotPrecedesEqual: NotPrecedesEqual, 4024 NotPrecedesSlantEqual: NotPrecedesSlantEqual, 4025 NotReverseElement: NotReverseElement, 4026 NotRightTriangleBar: NotRightTriangleBar, 4027 NotRightTriangle: NotRightTriangle, 4028 NotRightTriangleEqual: NotRightTriangleEqual, 4029 NotSquareSubset: NotSquareSubset, 4030 NotSquareSubsetEqual: NotSquareSubsetEqual, 4031 NotSquareSuperset: NotSquareSuperset, 4032 NotSquareSupersetEqual: NotSquareSupersetEqual, 4033 NotSubset: NotSubset, 4034 NotSubsetEqual: NotSubsetEqual, 4035 NotSucceeds: NotSucceeds, 4036 NotSucceedsEqual: NotSucceedsEqual, 4037 NotSucceedsSlantEqual: NotSucceedsSlantEqual, 4038 NotSucceedsTilde: NotSucceedsTilde, 4039 NotSuperset: NotSuperset, 4040 NotSupersetEqual: NotSupersetEqual, 4041 NotTilde: NotTilde, 4042 NotTildeEqual: NotTildeEqual, 4043 NotTildeFullEqual: NotTildeFullEqual, 4044 NotTildeTilde: NotTildeTilde, 4045 NotVerticalBar: NotVerticalBar, 4046 nparallel: nparallel, 4047 npar: npar, 4048 nparsl: nparsl, 4049 npart: npart, 4050 npolint: npolint, 4051 npr: npr, 4052 nprcue: nprcue, 4053 nprec: nprec, 4054 npreceq: npreceq, 4055 npre: npre, 4056 nrarrc: nrarrc, 4057 nrarr: nrarr, 4058 nrArr: nrArr, 4059 nrarrw: nrarrw, 4060 nrightarrow: nrightarrow, 4061 nRightarrow: nRightarrow, 4062 nrtri: nrtri, 4063 nrtrie: nrtrie, 4064 nsc: nsc, 4065 nsccue: nsccue, 4066 nsce: nsce, 4067 Nscr: Nscr, 4068 nscr: nscr, 4069 nshortmid: nshortmid, 4070 nshortparallel: nshortparallel, 4071 nsim: nsim, 4072 nsime: nsime, 4073 nsimeq: nsimeq, 4074 nsmid: nsmid, 4075 nspar: nspar, 4076 nsqsube: nsqsube, 4077 nsqsupe: nsqsupe, 4078 nsub: nsub, 4079 nsubE: nsubE, 4080 nsube: nsube, 4081 nsubset: nsubset, 4082 nsubseteq: nsubseteq, 4083 nsubseteqq: nsubseteqq, 4084 nsucc: nsucc, 4085 nsucceq: nsucceq, 4086 nsup: nsup, 4087 nsupE: nsupE, 4088 nsupe: nsupe, 4089 nsupset: nsupset, 4090 nsupseteq: nsupseteq, 4091 nsupseteqq: nsupseteqq, 4092 ntgl: ntgl, 4093 Ntilde: Ntilde, 4094 ntilde: ntilde, 4095 ntlg: ntlg, 4096 ntriangleleft: ntriangleleft, 4097 ntrianglelefteq: ntrianglelefteq, 4098 ntriangleright: ntriangleright, 4099 ntrianglerighteq: ntrianglerighteq, 4100 Nu: Nu, 4101 nu: nu, 4102 num: num, 4103 numero: numero, 4104 numsp: numsp, 4105 nvap: nvap, 4106 nvdash: nvdash, 4107 nvDash: nvDash, 4108 nVdash: nVdash, 4109 nVDash: nVDash, 4110 nvge: nvge, 4111 nvgt: nvgt, 4112 nvHarr: nvHarr, 4113 nvinfin: nvinfin, 4114 nvlArr: nvlArr, 4115 nvle: nvle, 4116 nvlt: nvlt, 4117 nvltrie: nvltrie, 4118 nvrArr: nvrArr, 4119 nvrtrie: nvrtrie, 4120 nvsim: nvsim, 4121 nwarhk: nwarhk, 4122 nwarr: nwarr, 4123 nwArr: nwArr, 4124 nwarrow: nwarrow, 4125 nwnear: nwnear, 4126 Oacute: Oacute, 4127 oacute: oacute, 4128 oast: oast, 4129 Ocirc: Ocirc, 4130 ocirc: ocirc, 4131 ocir: ocir, 4132 Ocy: Ocy, 4133 ocy: ocy, 4134 odash: odash, 4135 Odblac: Odblac, 4136 odblac: odblac, 4137 odiv: odiv, 4138 odot: odot, 4139 odsold: odsold, 4140 OElig: OElig, 4141 oelig: oelig, 4142 ofcir: ofcir, 4143 Ofr: Ofr, 4144 ofr: ofr, 4145 ogon: ogon, 4146 Ograve: Ograve, 4147 ograve: ograve, 4148 ogt: ogt, 4149 ohbar: ohbar, 4150 ohm: ohm, 4151 oint: oint, 4152 olarr: olarr, 4153 olcir: olcir, 4154 olcross: olcross, 4155 oline: oline, 4156 olt: olt, 4157 Omacr: Omacr, 4158 omacr: omacr, 4159 Omega: Omega, 4160 omega: omega, 4161 Omicron: Omicron, 4162 omicron: omicron, 4163 omid: omid, 4164 ominus: ominus, 4165 Oopf: Oopf, 4166 oopf: oopf, 4167 opar: opar, 4168 OpenCurlyDoubleQuote: OpenCurlyDoubleQuote, 4169 OpenCurlyQuote: OpenCurlyQuote, 4170 operp: operp, 4171 oplus: oplus, 4172 orarr: orarr, 4173 Or: Or, 4174 or: or, 4175 ord: ord, 4176 order: order, 4177 orderof: orderof, 4178 ordf: ordf, 4179 ordm: ordm, 4180 origof: origof, 4181 oror: oror, 4182 orslope: orslope, 4183 orv: orv, 4184 oS: oS, 4185 Oscr: Oscr, 4186 oscr: oscr, 4187 Oslash: Oslash,
4188 oslash: oslash, 4189 osol: osol, 4190 Otilde: Otilde, 4191 otilde: otilde, 4192 otimesas: otimesas, 4193 Otimes: Otimes, 4194 otimes: otimes, 4195 Ouml: Ouml, 4196 ouml: ouml, 4197 ovbar: ovbar, 4198 OverBar: OverBar, 4199 OverBrace: OverBrace, 4200 OverBracket: OverBracket, 4201 OverParenthesis: OverParenthesis, 4202 para: para, 4203 parallel: parallel, 4204 par: par, 4205 parsim: parsim, 4206 parsl: parsl, 4207 part: part, 4208 PartialD: PartialD, 4209 Pcy: Pcy, 4210 pcy: pcy, 4211 percnt: percnt, 4212 period: period, 4213 permil: permil, 4214 perp: perp, 4215 pertenk: pertenk, 4216 Pfr: Pfr, 4217 pfr: pfr, 4218 Phi: Phi, 4219 phi: phi, 4220 phiv: phiv, 4221 phmmat: phmmat, 4222 phone: phone, 4223 Pi: Pi, 4224 pi: pi, 4225 pitchfork: pitchfork, 4226 piv: piv, 4227 planck: planck, 4228 planckh: planckh, 4229 plankv: plankv, 4230 plusacir: plusacir, 4231 plusb: plusb, 4232 pluscir: pluscir, 4233 plus: plus, 4234 plusdo: plusdo, 4235 plusdu: plusdu, 4236 pluse: pluse, 4237 PlusMinus: PlusMinus, 4238 plusmn: plusmn, 4239 plussim: plussim, 4240 plustwo: plustwo, 4241 pm: pm, 4242 Poincareplane: Poincareplane, 4243 pointint: pointint, 4244 popf: popf, 4245 Popf: Popf, 4246 pound: pound, 4247 prap: prap, 4248 Pr: Pr, 4249 pr: pr, 4250 prcue: prcue, 4251 precapprox: precapprox, 4252 prec: prec, 4253 preccurlyeq: preccurlyeq, 4254 Precedes: Precedes, 4255 PrecedesEqual: PrecedesEqual, 4256 PrecedesSlantEqual: PrecedesSlantEqual, 4257 PrecedesTilde: PrecedesTilde, 4258 preceq: preceq, 4259 precnapprox: precnapprox, 4260 precneqq: precneqq, 4261 precnsim: precnsim, 4262 pre: pre, 4263 prE: prE, 4264 precsim: precsim, 4265 prime: prime, 4266 Prime: Prime, 4267 primes: primes, 4268 prnap: prnap, 4269 prnE: prnE, 4270 prnsim: prnsim, 4271 prod: prod, 4272 Product: Product, 4273 profalar: profalar, 4274 profline: profline, 4275 profsurf: profsurf, 4276 prop: prop, 4277 Proportional: Proportional, 4278 Proportion: Proportion, 4279 propto: propto, 4280 prsim: prsim, 4281 prurel: prurel, 4282 Pscr: Pscr, 4283 pscr: pscr, 4284 Psi: Psi, 4285 psi: psi, 4286 puncsp: puncsp, 4287 Qfr: Qfr, 4288 qfr: qfr, 4289 qint: qint, 4290 qopf: qopf, 4291 Qopf: Qopf, 4292 qprime: qprime, 4293 Qscr: Qscr, 4294 qscr: qscr, 4295 quaternions: quaternions, 4296 quatint: quatint, 4297 quest: quest, 4298 questeq: questeq, 4299 quot: quot$1, 4300 QUOT: QUOT, 4301 rAarr: rAarr, 4302 race: race, 4303 Racute: Racute, 4304 racute: racute, 4305 radic: radic, 4306 raemptyv: raemptyv, 4307 rang: rang, 4308 Rang: Rang, 4309 rangd: rangd, 4310 range: range, 4311 rangle: rangle, 4312 raquo: raquo, 4313 rarrap: rarrap, 4314 rarrb: rarrb, 4315 rarrbfs: rarrbfs, 4316 rarrc: rarrc, 4317 rarr: rarr, 4318 Rarr: Rarr, 4319 rArr: rArr, 4320 rarrfs: rarrfs, 4321 rarrhk: rarrhk, 4322 rarrlp: rarrlp, 4323 rarrpl: rarrpl, 4324 rarrsim: rarrsim, 4325 Rarrtl: Rarrtl, 4326 rarrtl: rarrtl, 4327 rarrw: rarrw, 4328 ratail: ratail, 4329 rAtail: rAtail, 4330 ratio: ratio, 4331 rationals: rationals, 4332 rbarr: rbarr, 4333 rBarr: rBarr, 4334 RBarr: RBarr, 4335 rbbrk: rbbrk, 4336 rbrace: rbrace, 4337 rbrack: rbrack, 4338 rbrke: rbrke, 4339 rbrksld: rbrksld, 4340 rbrkslu: rbrkslu, 4341 Rcaron: Rcaron, 4342 rcaron: rcaron, 4343 Rcedil: Rcedil, 4344 rcedil: rcedil, 4345 rceil: rceil, 4346 rcub: rcub, 4347 Rcy: Rcy, 4348 rcy: rcy, 4349 rdca: rdca, 4350 rdldhar: rdldhar, 4351 rdquo: rdquo, 4352 rdquor: rdquor, 4353 rdsh: rdsh, 4354 real: real, 4355 realine: realine, 4356 realpart: realpart, 4357 reals: reals, 4358 Re: Re, 4359 rect: rect, 4360 reg: reg, 4361 REG: REG, 4362 ReverseElement: ReverseElement, 4363 ReverseEquilibrium: ReverseEquilibrium, 4364 ReverseUpEquilibrium: ReverseUpEquilibrium, 4365 rfisht: rfisht, 4366 rfloor: rfloor, 4367 rfr: rfr, 4368 Rfr: Rfr, 4369 rHar: rHar, 4370 rhard: rhard, 4371 rharu: rharu, 4372 rharul: rharul, 4373 Rho: Rho, 4374 rho: rho, 4375 rhov: rhov, 4376 RightAngleBracket: RightAngleBracket, 4377 RightArrowBar: RightArrowBar, 4378 rightarrow: rightarrow, 4379 RightArrow: RightArrow, 4380 Rightarrow: Rightarrow, 4381 RightArrowLeftArrow: RightArrowLeftArrow, 4382 rightarrowtail: rightarrowtail, 4383 RightCeiling: RightCeiling, 4384 RightDoubleBracket: RightDoubleBracket, 4385 RightDownTeeVector: RightDownTeeVector, 4386 RightDownVectorBar: RightDownVectorBar, 4387 RightDownVector: RightDownVector, 4388 RightFloor: RightFloor, 4389 rightharpoondown: rightharpoondown, 4390 rightharpoonup: rightharpoonup, 4391 rightleftarrows: rightleftarrows, 4392 rightleftharpoons: rightleftharpoons, 4393 rightrightarrows: rightrightarrows, 4394 rightsquigarrow: rightsquigarrow, 4395 RightTeeArrow: RightTeeArrow, 4396 RightTee: RightTee, 4397 RightTeeVector: RightTeeVector, 4398 rightthreetimes: rightthreetimes, 4399 RightTriangleBar: RightTriangleBar, 4400 RightTriangle: RightTriangle, 4401 RightTriangleEqual: RightTriangleEqual, 4402 RightUpDownVector: RightUpDownVector, 4403 RightUpTeeVector: RightUpTeeVector, 4404 RightUpVectorBar: RightUpVectorBar, 4405 RightUpVector: RightUpVector, 4406 RightVectorBar: RightVectorBar, 4407 RightVector: RightVector, 4408 ring: ring, 4409 risingdotseq: risingdotseq, 4410 rlarr: rlarr, 4411 rlhar: rlhar, 4412 rlm: rlm, 4413 rmoustache: rmoustache, 4414 rmoust: rmoust, 4415 rnmid: rnmid, 4416 roang: roang, 4417 roarr: roarr, 4418 robrk: robrk, 4419 ropar: ropar, 4420 ropf: ropf, 4421 Ropf: Ropf, 4422 roplus: roplus, 4423 rotimes: rotimes, 4424 RoundImplies: RoundImplies, 4425 rpar: rpar, 4426 rpargt: rpargt,
4427 rppolint: rppolint, 4428 rrarr: rrarr, 4429 Rrightarrow: Rrightarrow, 4430 rsaquo: rsaquo, 4431 rscr: rscr, 4432 Rscr: Rscr, 4433 rsh: rsh, 4434 Rsh: Rsh, 4435 rsqb: rsqb, 4436 rsquo: rsquo, 4437 rsquor: rsquor, 4438 rthree: rthree, 4439 rtimes: rtimes, 4440 rtri: rtri, 4441 rtrie: rtrie, 4442 rtrif: rtrif, 4443 rtriltri: rtriltri, 4444 RuleDelayed: RuleDelayed, 4445 ruluhar: ruluhar, 4446 rx: rx, 4447 Sacute: Sacute, 4448 sacute: sacute, 4449 sbquo: sbquo, 4450 scap: scap, 4451 Scaron: Scaron, 4452 scaron: scaron, 4453 Sc: Sc, 4454 sc: sc, 4455 sccue: sccue, 4456 sce: sce, 4457 scE: scE, 4458 Scedil: Scedil, 4459 scedil: scedil, 4460 Scirc: Scirc, 4461 scirc: scirc, 4462 scnap: scnap, 4463 scnE: scnE, 4464 scnsim: scnsim, 4465 scpolint: scpolint, 4466 scsim: scsim, 4467 Scy: Scy, 4468 scy: scy, 4469 sdotb: sdotb, 4470 sdot: sdot, 4471 sdote: sdote, 4472 searhk: searhk, 4473 searr: searr, 4474 seArr: seArr, 4475 searrow: searrow, 4476 sect: sect, 4477 semi: semi, 4478 seswar: seswar, 4479 setminus: setminus, 4480 setmn: setmn, 4481 sext: sext, 4482 Sfr: Sfr, 4483 sfr: sfr, 4484 sfrown: sfrown, 4485 sharp: sharp, 4486 SHCHcy: SHCHcy, 4487 shchcy: shchcy, 4488 SHcy: SHcy, 4489 shcy: shcy, 4490 ShortDownArrow: ShortDownArrow, 4491 ShortLeftArrow: ShortLeftArrow, 4492 shortmid: shortmid, 4493 shortparallel: shortparallel, 4494 ShortRightArrow: ShortRightArrow, 4495 ShortUpArrow: ShortUpArrow, 4496 shy: shy, 4497 Sigma: Sigma, 4498 sigma: sigma, 4499 sigmaf: sigmaf, 4500 sigmav: sigmav, 4501 sim: sim, 4502 simdot: simdot, 4503 sime: sime, 4504 simeq: simeq, 4505 simg: simg, 4506 simgE: simgE, 4507 siml: siml, 4508 simlE: simlE, 4509 simne: simne, 4510 simplus: simplus, 4511 simrarr: simrarr, 4512 slarr: slarr, 4513 SmallCircle: SmallCircle, 4514 smallsetminus: smallsetminus, 4515 smashp: smashp, 4516 smeparsl: smeparsl, 4517 smid: smid, 4518 smile: smile, 4519 smt: smt, 4520 smte: smte, 4521 smtes: smtes, 4522 SOFTcy: SOFTcy, 4523 softcy: softcy, 4524 solbar: solbar, 4525 solb: solb, 4526 sol: sol, 4527 Sopf: Sopf, 4528 sopf: sopf, 4529 spades: spades, 4530 spadesuit: spadesuit, 4531 spar: spar, 4532 sqcap: sqcap, 4533 sqcaps: sqcaps, 4534 sqcup: sqcup, 4535 sqcups: sqcups, 4536 Sqrt: Sqrt, 4537 sqsub: sqsub, 4538 sqsube: sqsube, 4539 sqsubset: sqsubset, 4540 sqsubseteq: sqsubseteq, 4541 sqsup: sqsup, 4542 sqsupe: sqsupe, 4543 sqsupset: sqsupset, 4544 sqsupseteq: sqsupseteq, 4545 square: square, 4546 Square: Square, 4547 SquareIntersection: SquareIntersection, 4548 SquareSubset: SquareSubset, 4549 SquareSubsetEqual: SquareSubsetEqual, 4550 SquareSuperset: SquareSuperset, 4551 SquareSupersetEqual: SquareSupersetEqual, 4552 SquareUnion: SquareUnion, 4553 squarf: squarf, 4554 squ: squ, 4555 squf: squf, 4556 srarr: srarr, 4557 Sscr: Sscr, 4558 sscr: sscr, 4559 ssetmn: ssetmn, 4560 ssmile: ssmile, 4561 sstarf: sstarf, 4562 Star: Star, 4563 star: star, 4564 starf: starf, 4565 straightepsilon: straightepsilon, 4566 straightphi: straightphi, 4567 strns: strns, 4568 sub: sub, 4569 Sub: Sub, 4570 subdot: subdot, 4571 subE: subE, 4572 sube: sube, 4573 subedot: subedot, 4574 submult: submult, 4575 subnE: subnE, 4576 subne: subne, 4577 subplus: subplus, 4578 subrarr: subrarr, 4579 subset: subset, 4580 Subset: Subset, 4581 subseteq: subseteq, 4582 subseteqq: subseteqq, 4583 SubsetEqual: SubsetEqual, 4584 subsetneq: subsetneq, 4585 subsetneqq: subsetneqq, 4586 subsim: subsim, 4587 subsub: subsub, 4588 subsup: subsup, 4589 succapprox: succapprox, 4590 succ: succ, 4591 succcurlyeq: succcurlyeq, 4592 Succeeds: Succeeds, 4593 SucceedsEqual: SucceedsEqual, 4594 SucceedsSlantEqual: SucceedsSlantEqual, 4595 SucceedsTilde: SucceedsTilde, 4596 succeq: succeq, 4597 succnapprox: succnapprox, 4598 succneqq: succneqq, 4599 succnsim: succnsim, 4600 succsim: succsim, 4601 SuchThat: SuchThat, 4602 sum: sum, 4603 Sum: Sum, 4604 sung: sung, 4605 sup1: sup1, 4606 sup2: sup2, 4607 sup3: sup3, 4608 sup: sup, 4609 Sup: Sup, 4610 supdot: supdot, 4611 supdsub: supdsub, 4612 supE: supE, 4613 supe: supe, 4614 supedot: supedot, 4615 Superset: Superset, 4616 SupersetEqual: SupersetEqual, 4617 suphsol: suphsol, 4618 suphsub: suphsub, 4619 suplarr: suplarr, 4620 supmult: supmult, 4621 supnE: supnE, 4622 supne: supne, 4623 supplus: supplus, 4624 supset: supset, 4625 Supset: Supset, 4626 supseteq: supseteq, 4627 supseteqq: supseteqq, 4628 supsetneq: supsetneq, 4629 supsetneqq: supsetneqq, 4630 supsim: supsim, 4631 supsub: supsub, 4632 supsup: supsup, 4633 swarhk: swarhk, 4634 swarr: swarr, 4635 swArr: swArr, 4636 swarrow: swarrow, 4637 swnwar: swnwar, 4638 szlig: szlig, 4639 Tab: Tab, 4640 target: target, 4641 Tau: Tau, 4642 tau: tau, 4643 tbrk: tbrk,
4644 Tcaron: Tcaron, 4645 tcaron: tcaron, 4646 Tcedil: Tcedil, 4647 tcedil: tcedil, 4648 Tcy: Tcy, 4649 tcy: tcy, 4650 tdot: tdot, 4651 telrec: telrec, 4652 Tfr: Tfr, 4653 tfr: tfr, 4654 there4: there4, 4655 therefore: therefore, 4656 Therefore: Therefore, 4657 Theta: Theta, 4658 theta: theta, 4659 thetasym: thetasym, 4660 thetav: thetav, 4661 thickapprox: thickapprox, 4662 thicksim: thicksim, 4663 ThickSpace: ThickSpace, 4664 ThinSpace: ThinSpace, 4665 thinsp: thinsp, 4666 thkap: thkap, 4667 thksim: thksim, 4668 THORN: THORN, 4669 thorn: thorn, 4670 tilde: tilde, 4671 Tilde: Tilde, 4672 TildeEqual: TildeEqual, 4673 TildeFullEqual: TildeFullEqual, 4674 TildeTilde: TildeTilde, 4675 timesbar: timesbar, 4676 timesb: timesb, 4677 times: times, 4678 timesd: timesd, 4679 tint: tint, 4680 toea: toea, 4681 topbot: topbot, 4682 topcir: topcir, 4683 top: top, 4684 Topf: Topf, 4685 topf: topf, 4686 topfork: topfork, 4687 tosa: tosa, 4688 tprime: tprime, 4689 trade: trade, 4690 TRADE: TRADE, 4691 triangle: triangle, 4692 triangledown: triangledown, 4693 triangleleft: triangleleft, 4694 trianglelefteq: trianglelefteq, 4695 triangleq: triangleq, 4696 triangleright: triangleright, 4697 trianglerighteq: trianglerighteq, 4698 tridot: tridot, 4699 trie: trie, 4700 triminus: triminus, 4701 TripleDot: TripleDot, 4702 triplus: triplus, 4703 trisb: trisb, 4704 tritime: tritime, 4705 trpezium: trpezium, 4706 Tscr: Tscr, 4707 tscr: tscr, 4708 TScy: TScy, 4709 tscy: tscy, 4710 TSHcy: TSHcy, 4711 tshcy: tshcy, 4712 Tstrok: Tstrok, 4713 tstrok: tstrok, 4714 twixt: twixt, 4715 twoheadleftarrow: twoheadleftarrow, 4716 twoheadrightarrow: twoheadrightarrow, 4717 Uacute: Uacute, 4718 uacute: uacute, 4719 uarr: uarr, 4720 Uarr: Uarr, 4721 uArr: uArr, 4722 Uarrocir: Uarrocir, 4723 Ubrcy: Ubrcy, 4724 ubrcy: ubrcy, 4725 Ubreve: Ubreve, 4726 ubreve: ubreve, 4727 Ucirc: Ucirc, 4728 ucirc: ucirc, 4729 Ucy: Ucy, 4730 ucy: ucy, 4731 udarr: udarr, 4732 Udblac: Udblac, 4733 udblac: udblac, 4734 udhar: udhar, 4735 ufisht: ufisht, 4736 Ufr: Ufr, 4737 ufr: ufr, 4738 Ugrave: Ugrave, 4739 ugrave: ugrave, 4740 uHar: uHar, 4741 uharl: uharl, 4742 uharr: uharr, 4743 uhblk: uhblk, 4744 ulcorn: ulcorn, 4745 ulcorner: ulcorner, 4746 ulcrop: ulcrop, 4747 ultri: ultri, 4748 Umacr: Umacr, 4749 umacr: umacr, 4750 uml: uml, 4751 UnderBar: UnderBar, 4752 UnderBrace: UnderBrace, 4753 UnderBracket: UnderBracket, 4754 UnderParenthesis: UnderParenthesis, 4755 Union: Union, 4756 UnionPlus: UnionPlus, 4757 Uogon: Uogon, 4758 uogon: uogon, 4759 Uopf: Uopf, 4760 uopf: uopf, 4761 UpArrowBar: UpArrowBar, 4762 uparrow: uparrow, 4763 UpArrow: UpArrow, 4764 Uparrow: Uparrow, 4765 UpArrowDownArrow: UpArrowDownArrow, 4766 updownarrow: updownarrow, 4767 UpDownArrow: UpDownArrow, 4768 Updownarrow: Updownarrow, 4769 UpEquilibrium: UpEquilibrium, 4770 upharpoonleft: upharpoonleft, 4771 upharpoonright: upharpoonright, 4772 uplus: uplus, 4773 UpperLeftArrow: UpperLeftArrow, 4774 UpperRightArrow: UpperRightArrow, 4775 upsi: upsi, 4776 Upsi: Upsi, 4777 upsih: upsih, 4778 Upsilon: Upsilon, 4779 upsilon: upsilon, 4780 UpTeeArrow: UpTeeArrow, 4781 UpTee: UpTee, 4782 upuparrows: upuparrows, 4783 urcorn: urcorn, 4784 urcorner: urcorner, 4785 urcrop: urcrop, 4786 Uring: Uring, 4787 uring: uring, 4788 urtri: urtri, 4789 Uscr: Uscr, 4790 uscr: uscr, 4791 utdot: utdot, 4792 Utilde: Utilde, 4793 utilde: utilde, 4794 utri: utri, 4795 utrif: utrif, 4796 uuarr: uuarr, 4797 Uuml: Uuml, 4798 uuml: uuml, 4799 uwangle: uwangle, 4800 vangrt: vangrt, 4801 varepsilon: varepsilon, 4802 varkappa: varkappa, 4803 varnothing: varnothing, 4804 varphi: varphi, 4805 varpi: varpi, 4806 varpropto: varpropto, 4807 varr: varr, 4808 vArr: vArr, 4809 varrho: varrho, 4810 varsigma: varsigma, 4811 varsubsetneq: varsubsetneq, 4812 varsubsetneqq: varsubsetneqq, 4813 varsupsetneq: varsupsetneq, 4814 varsupsetneqq: varsupsetneqq, 4815 vartheta: vartheta, 4816 vartriangleleft: vartriangleleft, 4817 vartriangleright: vartriangleright, 4818 vBar: vBar, 4819 Vbar: Vbar, 4820 vBarv: vBarv, 4821 Vcy: Vcy, 4822 vcy: vcy, 4823 vdash: vdash, 4824 vDash: vDash, 4825 Vdash: Vdash, 4826 VDash: VDash, 4827 Vdashl: Vdashl, 4828 veebar: veebar, 4829 vee: vee, 4830 Vee: Vee, 4831 veeeq: veeeq, 4832 vellip: vellip, 4833 verbar: verbar, 4834 Verbar: Verbar, 4835 vert: vert,
4836 Vert: Vert, 4837 VerticalBar: VerticalBar, 4838 VerticalLine: VerticalLine, 4839 VerticalSeparator: VerticalSeparator, 4840 VerticalTilde: VerticalTilde, 4841 VeryThinSpace: VeryThinSpace, 4842 Vfr: Vfr, 4843 vfr: vfr, 4844 vltri: vltri, 4845 vnsub: vnsub, 4846 vnsup: vnsup, 4847 Vopf: Vopf, 4848 vopf: vopf, 4849 vprop: vprop, 4850 vrtri: vrtri, 4851 Vscr: Vscr, 4852 vscr: vscr, 4853 vsubnE: vsubnE, 4854 vsubne: vsubne, 4855 vsupnE: vsupnE, 4856 vsupne: vsupne, 4857 Vvdash: Vvdash, 4858 vzigzag: vzigzag, 4859 Wcirc: Wcirc, 4860 wcirc: wcirc, 4861 wedbar: wedbar, 4862 wedge: wedge, 4863 Wedge: Wedge, 4864 wedgeq: wedgeq, 4865 weierp: weierp, 4866 Wfr: Wfr, 4867 wfr: wfr, 4868 Wopf: Wopf, 4869 wopf: wopf, 4870 wp: wp, 4871 wr: wr, 4872 wreath: wreath, 4873 Wscr: Wscr, 4874 wscr: wscr, 4875 xcap: xcap, 4876 xcirc: xcirc, 4877 xcup: xcup, 4878 xdtri: xdtri, 4879 Xfr: Xfr, 4880 xfr: xfr, 4881 xharr: xharr, 4882 xhArr: xhArr, 4883 Xi: Xi, 4884 xi: xi, 4885 xlarr: xlarr, 4886 xlArr: xlArr, 4887 xmap: xmap, 4888 xnis: xnis, 4889 xodot: xodot, 4890 Xopf: Xopf, 4891 xopf: xopf, 4892 xoplus: xoplus, 4893 xotime: xotime, 4894 xrarr: xrarr, 4895 xrArr: xrArr, 4896 Xscr: Xscr, 4897 xscr: xscr, 4898 xsqcup: xsqcup, 4899 xuplus: xuplus, 4900 xutri: xutri, 4901 xvee: xvee, 4902 xwedge: xwedge, 4903 Yacute: Yacute, 4904 yacute: yacute, 4905 YAcy: YAcy, 4906 yacy: yacy, 4907 Ycirc: Ycirc, 4908 ycirc: ycirc, 4909 Ycy: Ycy, 4910 ycy: ycy, 4911 yen: yen, 4912 Yfr: Yfr, 4913 yfr: yfr, 4914 YIcy: YIcy, 4915 yicy: yicy, 4916 Yopf: Yopf, 4917 yopf: yopf, 4918 Yscr: Yscr, 4919 yscr: yscr, 4920 YUcy: YUcy, 4921 yucy: yucy, 4922 yuml: yuml, 4923 Yuml: Yuml, 4924 Zacute: Zacute, 4925 zacute: zacute, 4926 Zcaron: Zcaron, 4927 zcaron: zcaron, 4928 Zcy: Zcy, 4929 zcy: zcy, 4930 Zdot: Zdot, 4931 zdot: zdot, 4932 zeetrf: zeetrf, 4933 ZeroWidthSpace: ZeroWidthSpace, 4934 Zeta: Zeta, 4935 zeta: zeta, 4936 zfr: zfr, 4937 Zfr: Zfr, 4938 ZHcy: ZHcy, 4939 zhcy: zhcy, 4940 zigrarr: zigrarr, 4941 zopf: zopf, 4942 Zopf: Zopf, 4943 Zscr: Zscr, 4944 zscr: zscr, 4945 zwj: zwj, 4946 zwnj: zwnj 4947 }; 4948 4949 var entities$1 = /*#__PURE__*/Object.freeze({ 4950 __proto__: null, 4951 Aacute: Aacute, 4952 aacute: aacute, 4953 Abreve: Abreve, 4954 abreve: abreve, 4955 ac: ac, 4956 acd: acd, 4957 acE: acE, 4958 Acirc: Acirc, 4959 acirc: acirc, 4960 acute: acute, 4961 Acy: Acy, 4962 acy: acy, 4963 AElig: AElig, 4964 aelig: aelig, 4965 af: af, 4966 Afr: Afr, 4967 afr: afr, 4968 Agrave: Agrave, 4969 agrave: agrave, 4970 alefsym: alefsym, 4971 aleph: aleph, 4972 Alpha: Alpha, 4973 alpha: alpha, 4974 Amacr: Amacr, 4975 amacr: amacr, 4976 amalg: amalg, 4977 amp: amp$1, 4978 AMP: AMP, 4979 andand: andand, 4980 And: And, 4981 and: and, 4982 andd: andd, 4983 andslope: andslope, 4984 andv: andv, 4985 ang: ang, 4986 ange: ange, 4987 angle: angle, 4988 angmsdaa: angmsdaa, 4989 angmsdab: angmsdab, 4990 angmsdac: angmsdac, 4991 angmsdad: angmsdad, 4992 angmsdae: angmsdae, 4993 angmsdaf: angmsdaf, 4994 angmsdag: angmsdag, 4995 angmsdah: angmsdah, 4996 angmsd: angmsd, 4997 angrt: angrt, 4998 angrtvb: angrtvb, 4999 angrtvbd: angrtvbd, 5000 angsph: angsph, 5001 angst: angst, 5002 angzarr: angzarr, 5003 Aogon: Aogon, 5004 aogon: aogon, 5005 Aopf: Aopf, 5006 aopf: aopf, 5007 apacir: apacir, 5008 ap: ap, 5009 apE: apE, 5010 ape: ape, 5011 apid: apid, 5012 apos: apos$1, 5013 ApplyFunction: ApplyFunction, 5014 approx: approx, 5015 approxeq: approxeq, 5016 Aring: Aring, 5017 aring: aring, 5018 Ascr: Ascr, 5019 ascr: ascr, 5020 Assign: Assign, 5021 ast: ast, 5022 asymp: asymp, 5023 asympeq: asympeq, 5024 Atilde: Atilde, 5025 atilde: atilde, 5026 Auml: Auml, 5027 auml: auml, 5028 awconint: awconint, 5029 awint: awint, 5030 backcong: backcong, 5031 backepsilon: backepsilon, 5032 backprime: backprime, 5033 backsim: backsim, 5034 backsimeq: backsimeq, 5035 Backslash: Backslash, 5036 Barv: Barv, 5037 barvee: barvee, 5038 barwed: barwed, 5039 Barwed: Barwed, 5040 barwedge: barwedge, 5041 bbrk: bbrk, 5042 bbrktbrk: bbrktbrk, 5043 bcong: bcong, 5044 Bcy: Bcy, 5045 bcy: bcy, 5046 bdquo: bdquo, 5047 becaus: becaus, 5048 because: because, 5049 Because: Because, 5050 bemptyv: bemptyv, 5051 bepsi: bepsi, 5052 bernou: bernou, 5053 Bernoullis: Bernoullis, 5054 Beta: Beta, 5055 beta: beta, 5056 beth: beth, 5057 between: between, 5058 Bfr: Bfr, 5059 bfr: bfr, 5060 bigcap: bigcap, 5061 bigcirc: bigcirc, 5062 bigcup: bigcup, 5063 bigodot: bigodot, 5064 bigoplus: bigoplus, 5065 bigotimes: bigotimes, 5066 bigsqcup: bigsqcup, 5067 bigstar: bigstar, 5068 bigtriangledown: bigtriangledown, 5069 bigtriangleup: bigtriangleup, 5070 biguplus: biguplus, 5071 bigvee: bigvee, 5072 bigwedge: bigwedge, 5073 bkarow: bkarow, 5074 blacklozenge: blacklozenge, 5075 blacksquare: blacksquare, 5076 blacktriangle: blacktriangle, 5077 blacktriangledown: blacktriangledown, 5078 blacktriangleleft: blacktriangleleft, 5079 blacktriangleright: blacktriangleright, 5080 blank: blank, 5081 blk12: blk12, 5082 blk14: blk14, 5083 blk34: blk34, 5084 block: block, 5085 bne: bne, 5086 bnequiv: bnequiv, 5087 bNot: bNot, 5088 bnot: bnot, 5089 Bopf: Bopf, 5090 bopf: bopf, 5091 bot: bot, 5092 bottom: bottom, 5093 bowtie: bowtie, 5094 boxbox: boxbox, 5095 boxdl: boxdl, 5096 boxdL: boxdL, 5097 boxDl: boxDl, 5098 boxDL: boxDL, 5099 boxdr: boxdr, 5100 boxdR: boxdR, 5101 boxDr: boxDr, 5102 boxDR: boxDR, 5103 boxh: boxh, 5104 boxH: boxH, 5105 boxhd: boxhd, 5106 boxHd: boxHd, 5107 boxhD: boxhD, 5108 boxHD: boxHD, 5109 boxhu: boxhu, 5110 boxHu: boxHu, 5111 boxhU: boxhU, 5112 boxHU: boxHU, 5113 boxminus: boxminus, 5114 boxplus: boxplus, 5115 boxtimes: boxtimes, 5116 boxul: boxul, 5117 boxuL: boxuL, 5118 boxUl: boxUl, 5119 boxUL: boxUL, 5120 boxur: boxur, 5121 boxuR: boxuR, 5122 boxUr: boxUr, 5123 boxUR: boxUR, 5124 boxv: boxv, 5125 boxV: boxV, 5126 boxvh: boxvh, 5127 boxvH: boxvH, 5128 boxVh: boxVh, 5129 boxVH: boxVH, 5130 boxvl: boxvl, 5131 boxvL: boxvL, 5132 boxVl: boxVl, 5133 boxVL: boxVL, 5134 boxvr: boxvr, 5135 boxvR: boxvR, 5136 boxVr: boxVr, 5137 boxVR: boxVR, 5138 bprime: bprime, 5139 breve: breve, 5140 Breve: Breve, 5141 brvbar: brvbar, 5142 bscr: bscr, 5143 Bscr: Bscr, 5144 bsemi: bsemi, 5145 bsim: bsim, 5146 bsime: bsime, 5147 bsolb: bsolb, 5148 bsol: bsol, 5149 bsolhsub: bsolhsub, 5150 bull: bull, 5151 bullet: bullet, 5152 bump: bump, 5153 bumpE: bumpE, 5154 bumpe: bumpe, 5155 Bumpeq: Bumpeq, 5156 bumpeq: bumpeq, 5157 Cacute: Cacute, 5158 cacute: cacute, 5159 capand: capand, 5160 capbrcup: capbrcup, 5161 capcap: capcap, 5162 cap: cap, 5163 Cap: Cap, 5164 capcup: capcup, 5165 capdot: capdot, 5166 CapitalDifferentialD: CapitalDifferentialD, 5167 caps: caps, 5168 caret: caret, 5169 caron: caron, 5170 Cayleys: Cayleys,
5171 ccaps: ccaps, 5172 Ccaron: Ccaron, 5173 ccaron: ccaron, 5174 Ccedil: Ccedil, 5175 ccedil: ccedil, 5176 Ccirc: Ccirc, 5177 ccirc: ccirc, 5178 Cconint: Cconint, 5179 ccups: ccups, 5180 ccupssm: ccupssm, 5181 Cdot: Cdot, 5182 cdot: cdot, 5183 cedil: cedil, 5184 Cedilla: Cedilla, 5185 cemptyv: cemptyv, 5186 cent: cent, 5187 centerdot: centerdot, 5188 CenterDot: CenterDot, 5189 cfr: cfr, 5190 Cfr: Cfr, 5191 CHcy: CHcy, 5192 chcy: chcy, 5193 check: check, 5194 checkmark: checkmark, 5195 Chi: Chi, 5196 chi: chi, 5197 circ: circ, 5198 circeq: circeq, 5199 circlearrowleft: circlearrowleft, 5200 circlearrowright: circlearrowright, 5201 circledast: circledast, 5202 circledcirc: circledcirc, 5203 circleddash: circleddash, 5204 CircleDot: CircleDot, 5205 circledR: circledR, 5206 circledS: circledS, 5207 CircleMinus: CircleMinus, 5208 CirclePlus: CirclePlus, 5209 CircleTimes: CircleTimes, 5210 cir: cir, 5211 cirE: cirE, 5212 cire: cire, 5213 cirfnint: cirfnint, 5214 cirmid: cirmid, 5215 cirscir: cirscir, 5216 ClockwiseContourIntegral: ClockwiseContourIntegral, 5217 CloseCurlyDoubleQuote: CloseCurlyDoubleQuote, 5218 CloseCurlyQuote: CloseCurlyQuote, 5219 clubs: clubs, 5220 clubsuit: clubsuit, 5221 colon: colon, 5222 Colon: Colon, 5223 Colone: Colone, 5224 colone: colone, 5225 coloneq: coloneq, 5226 comma: comma, 5227 commat: commat, 5228 comp: comp, 5229 compfn: compfn, 5230 complement: complement, 5231 complexes: complexes, 5232 cong: cong, 5233 congdot: congdot, 5234 Congruent: Congruent, 5235 conint: conint, 5236 Conint: Conint, 5237 ContourIntegral: ContourIntegral, 5238 copf: copf, 5239 Copf: Copf, 5240 coprod: coprod, 5241 Coproduct: Coproduct, 5242 copy: copy, 5243 COPY: COPY, 5244 copysr: copysr, 5245 CounterClockwiseContourIntegral: CounterClockwiseContourIntegral, 5246 crarr: crarr, 5247 cross: cross, 5248 Cross: Cross, 5249 Cscr: Cscr, 5250 cscr: cscr, 5251 csub: csub, 5252 csube: csube, 5253 csup: csup, 5254 csupe: csupe, 5255 ctdot: ctdot, 5256 cudarrl: cudarrl, 5257 cudarrr: cudarrr, 5258 cuepr: cuepr, 5259 cuesc: cuesc, 5260 cularr: cularr, 5261 cularrp: cularrp, 5262 cupbrcap: cupbrcap, 5263 cupcap: cupcap, 5264 CupCap: CupCap, 5265 cup: cup, 5266 Cup: Cup, 5267 cupcup: cupcup, 5268 cupdot: cupdot, 5269 cupor: cupor, 5270 cups: cups, 5271 curarr: curarr, 5272 curarrm: curarrm, 5273 curlyeqprec: curlyeqprec, 5274 curlyeqsucc: curlyeqsucc, 5275 curlyvee: curlyvee, 5276 curlywedge: curlywedge, 5277 curren: curren, 5278 curvearrowleft: curvearrowleft, 5279 curvearrowright: curvearrowright, 5280 cuvee: cuvee, 5281 cuwed: cuwed, 5282 cwconint: cwconint, 5283 cwint: cwint, 5284 cylcty: cylcty, 5285 dagger: dagger, 5286 Dagger: Dagger, 5287 daleth: daleth, 5288 darr: darr, 5289 Darr: Darr, 5290 dArr: dArr, 5291 dash: dash, 5292 Dashv: Dashv, 5293 dashv: dashv, 5294 dbkarow: dbkarow, 5295 dblac: dblac, 5296 Dcaron: Dcaron, 5297 dcaron: dcaron, 5298 Dcy: Dcy, 5299 dcy: dcy, 5300 ddagger: ddagger, 5301 ddarr: ddarr, 5302 DD: DD, 5303 dd: dd, 5304 DDotrahd: DDotrahd, 5305 ddotseq: ddotseq, 5306 deg: deg, 5307 Del: Del, 5308 Delta: Delta, 5309 delta: delta, 5310 demptyv: demptyv, 5311 dfisht: dfisht, 5312 Dfr: Dfr, 5313 dfr: dfr, 5314 dHar: dHar, 5315 dharl: dharl, 5316 dharr: dharr, 5317 DiacriticalAcute: DiacriticalAcute, 5318 DiacriticalDot: DiacriticalDot, 5319 DiacriticalDoubleAcute: DiacriticalDoubleAcute, 5320 DiacriticalGrave: DiacriticalGrave, 5321 DiacriticalTilde: DiacriticalTilde, 5322 diam: diam, 5323 diamond: diamond, 5324 Diamond: Diamond, 5325 diamondsuit: diamondsuit, 5326 diams: diams, 5327 die: die, 5328 DifferentialD: DifferentialD, 5329 digamma: digamma, 5330 disin: disin, 5331 div: div, 5332 divide: divide, 5333 divideontimes: divideontimes, 5334 divonx: divonx, 5335 DJcy: DJcy, 5336 djcy: djcy, 5337 dlcorn: dlcorn, 5338 dlcrop: dlcrop, 5339 dollar: dollar, 5340 Dopf: Dopf, 5341 dopf: dopf, 5342 Dot: Dot, 5343 dot: dot, 5344 DotDot: DotDot, 5345 doteq: doteq, 5346 doteqdot: doteqdot, 5347 DotEqual: DotEqual, 5348 dotminus: dotminus, 5349 dotplus: dotplus, 5350 dotsquare: dotsquare, 5351 doublebarwedge: doublebarwedge, 5352 DoubleContourIntegral: DoubleContourIntegral, 5353 DoubleDot: DoubleDot, 5354 DoubleDownArrow: DoubleDownArrow, 5355 DoubleLeftArrow: DoubleLeftArrow, 5356 DoubleLeftRightArrow: DoubleLeftRightArrow, 5357 DoubleLeftTee: DoubleLeftTee, 5358 DoubleLongLeftArrow: DoubleLongLeftArrow, 5359 DoubleLongLeftRightArrow: DoubleLongLeftRightArrow, 5360 DoubleLongRightArrow: DoubleLongRightArrow, 5361 DoubleRightArrow: DoubleRightArrow, 5362 DoubleRightTee: DoubleRightTee, 5363 DoubleUpArrow: DoubleUpArrow, 5364 DoubleUpDownArrow: DoubleUpDownArrow, 5365 DoubleVerticalBar: DoubleVerticalBar, 5366 DownArrowBar: DownArrowBar, 5367 downarrow: downarrow, 5368 DownArrow: DownArrow, 5369 Downarrow: Downarrow, 5370 DownArrowUpArrow: DownArrowUpArrow, 5371 DownBreve: DownBreve, 5372 downdownarrows: downdownarrows, 5373 downharpoonleft: downharpoonleft, 5374 downharpoonright: downharpoonright, 5375 DownLeftRightVector: DownLeftRightVector, 5376 DownLeftTeeVector: DownLeftTeeVector, 5377 DownLeftVectorBar: DownLeftVectorBar, 5378 DownLeftVector: DownLeftVector, 5379 DownRightTeeVector: DownRightTeeVector, 5380 DownRightVectorBar: DownRightVectorBar, 5381 DownRightVector: DownRightVector, 5382 DownTeeArrow: DownTeeArrow, 5383 DownTee: DownTee, 5384 drbkarow: drbkarow, 5385 drcorn: drcorn, 5386 drcrop: drcrop, 5387 Dscr: Dscr, 5388 dscr: dscr, 5389 DScy: DScy, 5390 dscy: dscy, 5391 dsol: dsol, 5392 Dstrok: Dstrok, 5393 dstrok: dstrok, 5394 dtdot: dtdot, 5395 dtri: dtri, 5396 dtrif: dtrif, 5397 duarr: duarr, 5398 duhar: duhar, 5399 dwangle: dwangle, 5400 DZcy: DZcy, 5401 dzcy: dzcy, 5402 dzigrarr: dzigrarr, 5403 Eacute: Eacute, 5404 eacute: eacute, 5405 easter: easter, 5406 Ecaron: Ecaron,
5407 ecaron: ecaron, 5408 Ecirc: Ecirc, 5409 ecirc: ecirc, 5410 ecir: ecir, 5411 ecolon: ecolon, 5412 Ecy: Ecy, 5413 ecy: ecy, 5414 eDDot: eDDot, 5415 Edot: Edot, 5416 edot: edot, 5417 eDot: eDot, 5418 ee: ee, 5419 efDot: efDot, 5420 Efr: Efr, 5421 efr: efr, 5422 eg: eg, 5423 Egrave: Egrave, 5424 egrave: egrave, 5425 egs: egs, 5426 egsdot: egsdot, 5427 el: el, 5428 Element: Element, 5429 elinters: elinters, 5430 ell: ell, 5431 els: els, 5432 elsdot: elsdot, 5433 Emacr: Emacr, 5434 emacr: emacr, 5435 empty: empty, 5436 emptyset: emptyset, 5437 EmptySmallSquare: EmptySmallSquare, 5438 emptyv: emptyv, 5439 EmptyVerySmallSquare: EmptyVerySmallSquare, 5440 emsp13: emsp13, 5441 emsp14: emsp14, 5442 emsp: emsp, 5443 ENG: ENG, 5444 eng: eng, 5445 ensp: ensp, 5446 Eogon: Eogon, 5447 eogon: eogon, 5448 Eopf: Eopf, 5449 eopf: eopf, 5450 epar: epar, 5451 eparsl: eparsl, 5452 eplus: eplus, 5453 epsi: epsi, 5454 Epsilon: Epsilon, 5455 epsilon: epsilon, 5456 epsiv: epsiv, 5457 eqcirc: eqcirc, 5458 eqcolon: eqcolon, 5459 eqsim: eqsim, 5460 eqslantgtr: eqslantgtr, 5461 eqslantless: eqslantless, 5462 Equal: Equal, 5463 equals: equals, 5464 EqualTilde: EqualTilde, 5465 equest: equest, 5466 Equilibrium: Equilibrium, 5467 equiv: equiv, 5468 equivDD: equivDD, 5469 eqvparsl: eqvparsl, 5470 erarr: erarr, 5471 erDot: erDot, 5472 escr: escr, 5473 Escr: Escr, 5474 esdot: esdot, 5475 Esim: Esim, 5476 esim: esim, 5477 Eta: Eta, 5478 eta: eta, 5479 ETH: ETH, 5480 eth: eth, 5481 Euml: Euml, 5482 euml: euml, 5483 euro: euro, 5484 excl: excl, 5485 exist: exist, 5486 Exists: Exists, 5487 expectation: expectation, 5488 exponentiale: exponentiale, 5489 ExponentialE: ExponentialE, 5490 fallingdotseq: fallingdotseq, 5491 Fcy: Fcy, 5492 fcy: fcy, 5493 female: female, 5494 ffilig: ffilig, 5495 fflig: fflig, 5496 ffllig: ffllig, 5497 Ffr: Ffr, 5498 ffr: ffr, 5499 filig: filig, 5500 FilledSmallSquare: FilledSmallSquare, 5501 FilledVerySmallSquare: FilledVerySmallSquare, 5502 fjlig: fjlig, 5503 flat: flat, 5504 fllig: fllig, 5505 fltns: fltns, 5506 fnof: fnof, 5507 Fopf: Fopf, 5508 fopf: fopf, 5509 forall: forall, 5510 ForAll: ForAll, 5511 fork: fork, 5512 forkv: forkv, 5513 Fouriertrf: Fouriertrf, 5514 fpartint: fpartint, 5515 frac12: frac12, 5516 frac13: frac13, 5517 frac14: frac14, 5518 frac15: frac15, 5519 frac16: frac16, 5520 frac18: frac18, 5521 frac23: frac23, 5522 frac25: frac25, 5523 frac34: frac34, 5524 frac35: frac35, 5525 frac38: frac38, 5526 frac45: frac45, 5527 frac56: frac56, 5528 frac58: frac58, 5529 frac78: frac78, 5530 frasl: frasl, 5531 frown: frown, 5532 fscr: fscr, 5533 Fscr: Fscr, 5534 gacute: gacute, 5535 Gamma: Gamma, 5536 gamma: gamma, 5537 Gammad: Gammad, 5538 gammad: gammad, 5539 gap: gap, 5540 Gbreve: Gbreve, 5541 gbreve: gbreve, 5542 Gcedil: Gcedil, 5543 Gcirc: Gcirc, 5544 gcirc: gcirc, 5545 Gcy: Gcy, 5546 gcy: gcy, 5547 Gdot: Gdot, 5548 gdot: gdot, 5549 ge: ge, 5550 gE: gE, 5551 gEl: gEl, 5552 gel: gel, 5553 geq: geq, 5554 geqq: geqq, 5555 geqslant: geqslant, 5556 gescc: gescc, 5557 ges: ges, 5558 gesdot: gesdot, 5559 gesdoto: gesdoto, 5560 gesdotol: gesdotol, 5561 gesl: gesl, 5562 gesles: gesles, 5563 Gfr: Gfr, 5564 gfr: gfr, 5565 gg: gg, 5566 Gg: Gg, 5567 ggg: ggg, 5568 gimel: gimel, 5569 GJcy: GJcy, 5570 gjcy: gjcy, 5571 gla: gla, 5572 gl: gl, 5573 glE: glE, 5574 glj: glj, 5575 gnap: gnap, 5576 gnapprox: gnapprox, 5577 gne: gne, 5578 gnE: gnE, 5579 gneq: gneq, 5580 gneqq: gneqq, 5581 gnsim: gnsim, 5582 Gopf: Gopf, 5583 gopf: gopf, 5584 grave: grave, 5585 GreaterEqual: GreaterEqual, 5586 GreaterEqualLess: GreaterEqualLess, 5587 GreaterFullEqual: GreaterFullEqual, 5588 GreaterGreater: GreaterGreater, 5589 GreaterLess: GreaterLess, 5590 GreaterSlantEqual: GreaterSlantEqual, 5591 GreaterTilde: GreaterTilde, 5592 Gscr: Gscr, 5593 gscr: gscr, 5594 gsim: gsim, 5595 gsime: gsime, 5596 gsiml: gsiml, 5597 gtcc: gtcc, 5598 gtcir: gtcir, 5599 gt: gt$1, 5600 GT: GT, 5601 Gt: Gt, 5602 gtdot: gtdot, 5603 gtlPar: gtlPar, 5604 gtquest: gtquest, 5605 gtrapprox: gtrapprox, 5606 gtrarr: gtrarr, 5607 gtrdot: gtrdot, 5608 gtreqless: gtreqless, 5609 gtreqqless: gtreqqless, 5610 gtrless: gtrless, 5611 gtrsim: gtrsim, 5612 gvertneqq: gvertneqq, 5613 gvnE: gvnE, 5614 Hacek: Hacek, 5615 hairsp: hairsp, 5616 half: half, 5617 hamilt: hamilt, 5618 HARDcy: HARDcy, 5619 hardcy: hardcy, 5620 harrcir: harrcir, 5621 harr: harr, 5622 hArr: hArr, 5623 harrw: harrw, 5624 Hat: Hat, 5625 hbar: hbar, 5626 Hcirc: Hcirc, 5627 hcirc: hcirc, 5628 hearts: hearts, 5629 heartsuit: heartsuit, 5630 hellip: hellip, 5631 hercon: hercon, 5632 hfr: hfr, 5633 Hfr: Hfr, 5634 HilbertSpace: HilbertSpace, 5635 hksearow: hksearow, 5636 hkswarow: hkswarow, 5637 hoarr: hoarr, 5638 homtht: homtht, 5639 hookleftarrow: hookleftarrow, 5640 hookrightarrow: hookrightarrow, 5641 hopf: hopf, 5642 Hopf: Hopf, 5643 horbar: horbar, 5644 HorizontalLine: HorizontalLine, 5645 hscr: hscr, 5646 Hscr: Hscr,
5647 hslash: hslash, 5648 Hstrok: Hstrok, 5649 hstrok: hstrok, 5650 HumpDownHump: HumpDownHump, 5651 HumpEqual: HumpEqual, 5652 hybull: hybull, 5653 hyphen: hyphen, 5654 Iacute: Iacute, 5655 iacute: iacute, 5656 ic: ic, 5657 Icirc: Icirc, 5658 icirc: icirc, 5659 Icy: Icy, 5660 icy: icy, 5661 Idot: Idot, 5662 IEcy: IEcy, 5663 iecy: iecy, 5664 iexcl: iexcl, 5665 iff: iff, 5666 ifr: ifr, 5667 Ifr: Ifr, 5668 Igrave: Igrave, 5669 igrave: igrave, 5670 ii: ii, 5671 iiiint: iiiint, 5672 iiint: iiint, 5673 iinfin: iinfin, 5674 iiota: iiota, 5675 IJlig: IJlig, 5676 ijlig: ijlig, 5677 Imacr: Imacr, 5678 imacr: imacr, 5679 image: image, 5680 ImaginaryI: ImaginaryI, 5681 imagline: imagline, 5682 imagpart: imagpart, 5683 imath: imath, 5684 Im: Im, 5685 imof: imof, 5686 imped: imped, 5687 Implies: Implies, 5688 incare: incare, 5689 infin: infin, 5690 infintie: infintie, 5691 inodot: inodot, 5692 intcal: intcal, 5693 int: int, 5694 Int: Int, 5695 integers: integers, 5696 Integral: Integral, 5697 intercal: intercal, 5698 Intersection: Intersection, 5699 intlarhk: intlarhk, 5700 intprod: intprod, 5701 InvisibleComma: InvisibleComma, 5702 InvisibleTimes: InvisibleTimes, 5703 IOcy: IOcy, 5704 iocy: iocy, 5705 Iogon: Iogon, 5706 iogon: iogon, 5707 Iopf: Iopf, 5708 iopf: iopf, 5709 Iota: Iota, 5710 iota: iota, 5711 iprod: iprod, 5712 iquest: iquest, 5713 iscr: iscr, 5714 Iscr: Iscr, 5715 isin: isin, 5716 isindot: isindot, 5717 isinE: isinE, 5718 isins: isins, 5719 isinsv: isinsv, 5720 isinv: isinv, 5721 it: it, 5722 Itilde: Itilde, 5723 itilde: itilde, 5724 Iukcy: Iukcy, 5725 iukcy: iukcy, 5726 Iuml: Iuml, 5727 iuml: iuml, 5728 Jcirc: Jcirc, 5729 jcirc: jcirc, 5730 Jcy: Jcy, 5731 jcy: jcy, 5732 Jfr: Jfr, 5733 jfr: jfr, 5734 jmath: jmath, 5735 Jopf: Jopf, 5736 jopf: jopf, 5737 Jscr: Jscr, 5738 jscr: jscr, 5739 Jsercy: Jsercy, 5740 jsercy: jsercy, 5741 Jukcy: Jukcy, 5742 jukcy: jukcy, 5743 Kappa: Kappa, 5744 kappa: kappa, 5745 kappav: kappav, 5746 Kcedil: Kcedil, 5747 kcedil: kcedil, 5748 Kcy: Kcy, 5749 kcy: kcy, 5750 Kfr: Kfr, 5751 kfr: kfr, 5752 kgreen: kgreen, 5753 KHcy: KHcy, 5754 khcy: khcy, 5755 KJcy: KJcy, 5756 kjcy: kjcy, 5757 Kopf: Kopf, 5758 kopf: kopf, 5759 Kscr: Kscr, 5760 kscr: kscr, 5761 lAarr: lAarr, 5762 Lacute: Lacute, 5763 lacute: lacute, 5764 laemptyv: laemptyv, 5765 lagran: lagran, 5766 Lambda: Lambda, 5767 lambda: lambda, 5768 lang: lang, 5769 Lang: Lang, 5770 langd: langd, 5771 langle: langle, 5772 lap: lap, 5773 Laplacetrf: Laplacetrf, 5774 laquo: laquo, 5775 larrb: larrb, 5776 larrbfs: larrbfs, 5777 larr: larr, 5778 Larr: Larr, 5779 lArr: lArr, 5780 larrfs: larrfs, 5781 larrhk: larrhk, 5782 larrlp: larrlp, 5783 larrpl: larrpl, 5784 larrsim: larrsim, 5785 larrtl: larrtl, 5786 latail: latail, 5787 lAtail: lAtail, 5788 lat: lat, 5789 late: late, 5790 lates: lates, 5791 lbarr: lbarr, 5792 lBarr: lBarr, 5793 lbbrk: lbbrk, 5794 lbrace: lbrace, 5795 lbrack: lbrack, 5796 lbrke: lbrke, 5797 lbrksld: lbrksld, 5798 lbrkslu: lbrkslu, 5799 Lcaron: Lcaron, 5800 lcaron: lcaron, 5801 Lcedil: Lcedil, 5802 lcedil: lcedil, 5803 lceil: lceil, 5804 lcub: lcub, 5805 Lcy: Lcy, 5806 lcy: lcy, 5807 ldca: ldca, 5808 ldquo: ldquo, 5809 ldquor: ldquor, 5810 ldrdhar: ldrdhar, 5811 ldrushar: ldrushar, 5812 ldsh: ldsh, 5813 le: le, 5814 lE: lE, 5815 LeftAngleBracket: LeftAngleBracket, 5816 LeftArrowBar: LeftArrowBar, 5817 leftarrow: leftarrow, 5818 LeftArrow: LeftArrow, 5819 Leftarrow: Leftarrow, 5820 LeftArrowRightArrow: LeftArrowRightArrow, 5821 leftarrowtail: leftarrowtail, 5822 LeftCeiling: LeftCeiling, 5823 LeftDoubleBracket: LeftDoubleBracket, 5824 LeftDownTeeVector: LeftDownTeeVector, 5825 LeftDownVectorBar: LeftDownVectorBar, 5826 LeftDownVector: LeftDownVector, 5827 LeftFloor: LeftFloor, 5828 leftharpoondown: leftharpoondown, 5829 leftharpoonup: leftharpoonup, 5830 leftleftarrows: leftleftarrows, 5831 leftrightarrow: leftrightarrow, 5832 LeftRightArrow: LeftRightArrow, 5833 Leftrightarrow: Leftrightarrow, 5834 leftrightarrows: leftrightarrows, 5835 leftrightharpoons: leftrightharpoons, 5836 leftrightsquigarrow: leftrightsquigarrow, 5837 LeftRightVector: LeftRightVector, 5838 LeftTeeArrow: LeftTeeArrow, 5839 LeftTee: LeftTee, 5840 LeftTeeVector: LeftTeeVector, 5841 leftthreetimes: leftthreetimes, 5842 LeftTriangleBar: LeftTriangleBar, 5843 LeftTriangle: LeftTriangle, 5844 LeftTriangleEqual: LeftTriangleEqual,
5845 LeftUpDownVector: LeftUpDownVector, 5846 LeftUpTeeVector: LeftUpTeeVector, 5847 LeftUpVectorBar: LeftUpVectorBar, 5848 LeftUpVector: LeftUpVector, 5849 LeftVectorBar: LeftVectorBar, 5850 LeftVector: LeftVector, 5851 lEg: lEg, 5852 leg: leg, 5853 leq: leq, 5854 leqq: leqq, 5855 leqslant: leqslant, 5856 lescc: lescc, 5857 les: les, 5858 lesdot: lesdot, 5859 lesdoto: lesdoto, 5860 lesdotor: lesdotor, 5861 lesg: lesg, 5862 lesges: lesges, 5863 lessapprox: lessapprox, 5864 lessdot: lessdot, 5865 lesseqgtr: lesseqgtr, 5866 lesseqqgtr: lesseqqgtr, 5867 LessEqualGreater: LessEqualGreater, 5868 LessFullEqual: LessFullEqual, 5869 LessGreater: LessGreater, 5870 lessgtr: lessgtr, 5871 LessLess: LessLess, 5872 lesssim: lesssim, 5873 LessSlantEqual: LessSlantEqual, 5874 LessTilde: LessTilde, 5875 lfisht: lfisht, 5876 lfloor: lfloor, 5877 Lfr: Lfr, 5878 lfr: lfr, 5879 lg: lg, 5880 lgE: lgE, 5881 lHar: lHar, 5882 lhard: lhard, 5883 lharu: lharu, 5884 lharul: lharul, 5885 lhblk: lhblk, 5886 LJcy: LJcy, 5887 ljcy: ljcy, 5888 llarr: llarr, 5889 ll: ll, 5890 Ll: Ll, 5891 llcorner: llcorner, 5892 Lleftarrow: Lleftarrow, 5893 llhard: llhard, 5894 lltri: lltri, 5895 Lmidot: Lmidot, 5896 lmidot: lmidot, 5897 lmoustache: lmoustache, 5898 lmoust: lmoust, 5899 lnap: lnap, 5900 lnapprox: lnapprox, 5901 lne: lne, 5902 lnE: lnE, 5903 lneq: lneq, 5904 lneqq: lneqq, 5905 lnsim: lnsim, 5906 loang: loang, 5907 loarr: loarr, 5908 lobrk: lobrk, 5909 longleftarrow: longleftarrow, 5910 LongLeftArrow: LongLeftArrow, 5911 Longleftarrow: Longleftarrow, 5912 longleftrightarrow: longleftrightarrow, 5913 LongLeftRightArrow: LongLeftRightArrow, 5914 Longleftrightarrow: Longleftrightarrow, 5915 longmapsto: longmapsto, 5916 longrightarrow: longrightarrow, 5917 LongRightArrow: LongRightArrow, 5918 Longrightarrow: Longrightarrow, 5919 looparrowleft: looparrowleft, 5920 looparrowright: looparrowright, 5921 lopar: lopar, 5922 Lopf: Lopf, 5923 lopf: lopf, 5924 loplus: loplus, 5925 lotimes: lotimes, 5926 lowast: lowast, 5927 lowbar: lowbar, 5928 LowerLeftArrow: LowerLeftArrow, 5929 LowerRightArrow: LowerRightArrow, 5930 loz: loz, 5931 lozenge: lozenge, 5932 lozf: lozf, 5933 lpar: lpar, 5934 lparlt: lparlt, 5935 lrarr: lrarr, 5936 lrcorner: lrcorner, 5937 lrhar: lrhar, 5938 lrhard: lrhard, 5939 lrm: lrm, 5940 lrtri: lrtri, 5941 lsaquo: lsaquo, 5942 lscr: lscr, 5943 Lscr: Lscr, 5944 lsh: lsh, 5945 Lsh: Lsh, 5946 lsim: lsim, 5947 lsime: lsime, 5948 lsimg: lsimg, 5949 lsqb: lsqb, 5950 lsquo: lsquo, 5951 lsquor: lsquor, 5952 Lstrok: Lstrok, 5953 lstrok: lstrok, 5954 ltcc: ltcc, 5955 ltcir: ltcir, 5956 lt: lt$1, 5957 LT: LT, 5958 Lt: Lt, 5959 ltdot: ltdot, 5960 lthree: lthree, 5961 ltimes: ltimes, 5962 ltlarr: ltlarr, 5963 ltquest: ltquest, 5964 ltri: ltri, 5965 ltrie: ltrie, 5966 ltrif: ltrif, 5967 ltrPar: ltrPar, 5968 lurdshar: lurdshar, 5969 luruhar: luruhar, 5970 lvertneqq: lvertneqq, 5971 lvnE: lvnE, 5972 macr: macr, 5973 male: male, 5974 malt: malt, 5975 maltese: maltese, 5976 map: map, 5977 mapsto: mapsto, 5978 mapstodown: mapstodown, 5979 mapstoleft: mapstoleft, 5980 mapstoup: mapstoup, 5981 marker: marker, 5982 mcomma: mcomma, 5983 Mcy: Mcy, 5984 mcy: mcy, 5985 mdash: mdash, 5986 mDDot: mDDot, 5987 measuredangle: measuredangle, 5988 MediumSpace: MediumSpace, 5989 Mellintrf: Mellintrf, 5990 Mfr: Mfr, 5991 mfr: mfr, 5992 mho: mho, 5993 micro: micro, 5994 midast: midast, 5995 midcir: midcir, 5996 mid: mid, 5997 middot: middot, 5998 minusb: minusb, 5999 minus: minus, 6000 minusd: minusd, 6001 minusdu: minusdu, 6002 MinusPlus: MinusPlus, 6003 mlcp: mlcp, 6004 mldr: mldr, 6005 mnplus: mnplus, 6006 models: models, 6007 Mopf: Mopf, 6008 mopf: mopf, 6009 mp: mp, 6010 mscr: mscr, 6011 Mscr: Mscr, 6012 mstpos: mstpos, 6013 Mu: Mu, 6014 mu: mu, 6015 multimap: multimap, 6016 mumap: mumap, 6017 nabla: nabla, 6018 Nacute: Nacute, 6019 nacute: nacute, 6020 nang: nang, 6021 nap: nap, 6022 napE: napE, 6023 napid: napid, 6024 napos: napos, 6025 napprox: napprox, 6026 natural: natural, 6027 naturals: naturals, 6028 natur: natur, 6029 nbsp: nbsp, 6030 nbump: nbump, 6031 nbumpe: nbumpe, 6032 ncap: ncap, 6033 Ncaron: Ncaron, 6034 ncaron: ncaron,
6035 Ncedil: Ncedil, 6036 ncedil: ncedil, 6037 ncong: ncong, 6038 ncongdot: ncongdot, 6039 ncup: ncup, 6040 Ncy: Ncy, 6041 ncy: ncy, 6042 ndash: ndash, 6043 nearhk: nearhk, 6044 nearr: nearr, 6045 neArr: neArr, 6046 nearrow: nearrow, 6047 ne: ne, 6048 nedot: nedot, 6049 NegativeMediumSpace: NegativeMediumSpace, 6050 NegativeThickSpace: NegativeThickSpace, 6051 NegativeThinSpace: NegativeThinSpace, 6052 NegativeVeryThinSpace: NegativeVeryThinSpace, 6053 nequiv: nequiv, 6054 nesear: nesear, 6055 nesim: nesim, 6056 NestedGreaterGreater: NestedGreaterGreater, 6057 NestedLessLess: NestedLessLess, 6058 NewLine: NewLine, 6059 nexist: nexist, 6060 nexists: nexists, 6061 Nfr: Nfr, 6062 nfr: nfr, 6063 ngE: ngE, 6064 nge: nge, 6065 ngeq: ngeq, 6066 ngeqq: ngeqq, 6067 ngeqslant: ngeqslant, 6068 nges: nges, 6069 nGg: nGg, 6070 ngsim: ngsim, 6071 nGt: nGt, 6072 ngt: ngt, 6073 ngtr: ngtr, 6074 nGtv: nGtv, 6075 nharr: nharr, 6076 nhArr: nhArr, 6077 nhpar: nhpar, 6078 ni: ni, 6079 nis: nis, 6080 nisd: nisd, 6081 niv: niv, 6082 NJcy: NJcy, 6083 njcy: njcy, 6084 nlarr: nlarr, 6085 nlArr: nlArr, 6086 nldr: nldr, 6087 nlE: nlE, 6088 nle: nle, 6089 nleftarrow: nleftarrow, 6090 nLeftarrow: nLeftarrow, 6091 nleftrightarrow: nleftrightarrow, 6092 nLeftrightarrow: nLeftrightarrow, 6093 nleq: nleq, 6094 nleqq: nleqq, 6095 nleqslant: nleqslant, 6096 nles: nles, 6097 nless: nless, 6098 nLl: nLl, 6099 nlsim: nlsim, 6100 nLt: nLt, 6101 nlt: nlt, 6102 nltri: nltri, 6103 nltrie: nltrie, 6104 nLtv: nLtv, 6105 nmid: nmid, 6106 NoBreak: NoBreak, 6107 NonBreakingSpace: NonBreakingSpace, 6108 nopf: nopf, 6109 Nopf: Nopf, 6110 Not: Not, 6111 not: not, 6112 NotCongruent: NotCongruent, 6113 NotCupCap: NotCupCap, 6114 NotDoubleVerticalBar: NotDoubleVerticalBar, 6115 NotElement: NotElement, 6116 NotEqual: NotEqual, 6117 NotEqualTilde: NotEqualTilde, 6118 NotExists: NotExists, 6119 NotGreater: NotGreater, 6120 NotGreaterEqual: NotGreaterEqual, 6121 NotGreaterFullEqual: NotGreaterFullEqual, 6122 NotGreaterGreater: NotGreaterGreater, 6123 NotGreaterLess: NotGreaterLess, 6124 NotGreaterSlantEqual: NotGreaterSlantEqual, 6125 NotGreaterTilde: NotGreaterTilde, 6126 NotHumpDownHump: NotHumpDownHump, 6127 NotHumpEqual: NotHumpEqual, 6128 notin: notin, 6129 notindot: notindot, 6130 notinE: notinE, 6131 notinva: notinva, 6132 notinvb: notinvb, 6133 notinvc: notinvc, 6134 NotLeftTriangleBar: NotLeftTriangleBar, 6135 NotLeftTriangle: NotLeftTriangle, 6136 NotLeftTriangleEqual: NotLeftTriangleEqual, 6137 NotLess: NotLess, 6138 NotLessEqual: NotLessEqual, 6139 NotLessGreater: NotLessGreater, 6140 NotLessLess: NotLessLess, 6141 NotLessSlantEqual: NotLessSlantEqual, 6142 NotLessTilde: NotLessTilde, 6143 NotNestedGreaterGreater: NotNestedGreaterGreater, 6144 NotNestedLessLess: NotNestedLessLess, 6145 notni: notni, 6146 notniva: notniva, 6147 notnivb: notnivb, 6148 notnivc: notnivc, 6149 NotPrecedes: NotPrecedes, 6150 NotPrecedesEqual: NotPrecedesEqual, 6151 NotPrecedesSlantEqual: NotPrecedesSlantEqual, 6152 NotReverseElement: NotReverseElement, 6153 NotRightTriangleBar: NotRightTriangleBar, 6154 NotRightTriangle: NotRightTriangle, 6155 NotRightTriangleEqual: NotRightTriangleEqual, 6156 NotSquareSubset: NotSquareSubset, 6157 NotSquareSubsetEqual: NotSquareSubsetEqual, 6158 NotSquareSuperset: NotSquareSuperset, 6159 NotSquareSupersetEqual: NotSquareSupersetEqual, 6160 NotSubset: NotSubset, 6161 NotSubsetEqual: NotSubsetEqual, 6162 NotSucceeds: NotSucceeds, 6163 NotSucceedsEqual: NotSucceedsEqual, 6164 NotSucceedsSlantEqual: NotSucceedsSlantEqual, 6165 NotSucceedsTilde: NotSucceedsTilde, 6166 NotSuperset: NotSuperset, 6167 NotSupersetEqual: NotSupersetEqual, 6168 NotTilde: NotTilde, 6169 NotTildeEqual: NotTildeEqual, 6170 NotTildeFullEqual: NotTildeFullEqual, 6171 NotTildeTilde: NotTildeTilde, 6172 NotVerticalBar: NotVerticalBar, 6173 nparallel: nparallel, 6174 npar: npar, 6175 nparsl: nparsl, 6176 npart: npart, 6177 npolint: npolint, 6178 npr: npr, 6179 nprcue: nprcue, 6180 nprec: nprec, 6181 npreceq: npreceq, 6182 npre: npre, 6183 nrarrc: nrarrc, 6184 nrarr: nrarr, 6185 nrArr: nrArr, 6186 nrarrw: nrarrw, 6187 nrightarrow: nrightarrow, 6188 nRightarrow: nRightarrow, 6189 nrtri: nrtri, 6190 nrtrie: nrtrie, 6191 nsc: nsc, 6192 nsccue: nsccue, 6193 nsce: nsce, 6194 Nscr: Nscr, 6195 nscr: nscr, 6196 nshortmid: nshortmid, 6197 nshortparallel: nshortparallel, 6198 nsim: nsim, 6199 nsime: nsime, 6200 nsimeq: nsimeq, 6201 nsmid: nsmid, 6202 nspar: nspar, 6203 nsqsube: nsqsube, 6204 nsqsupe: nsqsupe, 6205 nsub: nsub, 6206 nsubE: nsubE, 6207 nsube: nsube, 6208 nsubset: nsubset, 6209 nsubseteq: nsubseteq, 6210 nsubseteqq: nsubseteqq, 6211 nsucc: nsucc, 6212 nsucceq: nsucceq, 6213 nsup: nsup, 6214 nsupE: nsupE, 6215 nsupe: nsupe, 6216 nsupset: nsupset, 6217 nsupseteq: nsupseteq, 6218 nsupseteqq: nsupseteqq, 6219 ntgl: ntgl, 6220 Ntilde: Ntilde, 6221 ntilde: ntilde, 6222 ntlg: ntlg, 6223 ntriangleleft: ntriangleleft, 6224 ntrianglelefteq: ntrianglelefteq, 6225 ntriangleright: ntriangleright, 6226 ntrianglerighteq: ntrianglerighteq, 6227 Nu: Nu, 6228 nu: nu, 6229 num: num, 6230 numero: numero, 6231 numsp: numsp, 6232 nvap: nvap, 6233 nvdash: nvdash, 6234 nvDash: nvDash, 6235 nVdash: nVdash, 6236 nVDash: nVDash, 6237 nvge: nvge, 6238 nvgt: nvgt, 6239 nvHarr: nvHarr, 6240 nvinfin: nvinfin, 6241 nvlArr: nvlArr, 6242 nvle: nvle, 6243 nvlt: nvlt, 6244 nvltrie: nvltrie, 6245 nvrArr: nvrArr, 6246 nvrtrie: nvrtrie, 6247 nvsim: nvsim, 6248 nwarhk: nwarhk, 6249 nwarr: nwarr, 6250 nwArr: nwArr, 6251 nwarrow: nwarrow, 6252 nwnear: nwnear, 6253 Oacute: Oacute, 6254 oacute: oacute, 6255 oast: oast, 6256 Ocirc: Ocirc, 6257 ocirc: ocirc, 6258 ocir: ocir, 6259 Ocy: Ocy, 6260 ocy: ocy, 6261 odash: odash, 6262 Odblac: Odblac, 6263 odblac: odblac, 6264 odiv: odiv, 6265 odot: odot, 6266 odsold: odsold, 6267 OElig: OElig, 6268 oelig: oelig, 6269 ofcir: ofcir, 6270 Ofr: Ofr, 6271 ofr: ofr, 6272 ogon: ogon, 6273 Ograve: Ograve, 6274 ograve: ograve, 6275 ogt: ogt, 6276 ohbar: ohbar, 6277 ohm: ohm, 6278 oint: oint, 6279 olarr: olarr, 6280 olcir: olcir, 6281 olcross: olcross, 6282 oline: oline, 6283 olt: olt, 6284 Omacr: Omacr, 6285 omacr: omacr, 6286 Omega: Omega, 6287 omega: omega, 6288 Omicron: Omicron, 6289 omicron: omicron, 6290 omid: omid, 6291 ominus: ominus, 6292 Oopf: Oopf, 6293 oopf: oopf, 6294 opar: opar, 6295 OpenCurlyDoubleQuote: OpenCurlyDoubleQuote, 6296 OpenCurlyQuote: OpenCurlyQuote, 6297 operp: operp, 6298 oplus: oplus, 6299 orarr: orarr, 6300 Or: Or, 6301 or: or, 6302 ord: ord, 6303 order: order, 6304 orderof: orderof, 6305 ordf: ordf, 6306 ordm: ordm, 6307 origof: origof, 6308 oror: oror, 6309 orslope: orslope, 6310 orv: orv, 6311 oS: oS, 6312 Oscr: Oscr, 6313 oscr: oscr, 6314 Oslash: Oslash,
6315 oslash: oslash, 6316 osol: osol, 6317 Otilde: Otilde, 6318 otilde: otilde, 6319 otimesas: otimesas, 6320 Otimes: Otimes, 6321 otimes: otimes, 6322 Ouml: Ouml, 6323 ouml: ouml, 6324 ovbar: ovbar, 6325 OverBar: OverBar, 6326 OverBrace: OverBrace, 6327 OverBracket: OverBracket, 6328 OverParenthesis: OverParenthesis, 6329 para: para, 6330 parallel: parallel, 6331 par: par, 6332 parsim: parsim, 6333 parsl: parsl, 6334 part: part, 6335 PartialD: PartialD, 6336 Pcy: Pcy, 6337 pcy: pcy, 6338 percnt: percnt, 6339 period: period, 6340 permil: permil, 6341 perp: perp, 6342 pertenk: pertenk, 6343 Pfr: Pfr, 6344 pfr: pfr, 6345 Phi: Phi, 6346 phi: phi, 6347 phiv: phiv, 6348 phmmat: phmmat, 6349 phone: phone, 6350 Pi: Pi, 6351 pi: pi, 6352 pitchfork: pitchfork, 6353 piv: piv, 6354 planck: planck, 6355 planckh: planckh, 6356 plankv: plankv, 6357 plusacir: plusacir, 6358 plusb: plusb, 6359 pluscir: pluscir, 6360 plus: plus, 6361 plusdo: plusdo, 6362 plusdu: plusdu, 6363 pluse: pluse, 6364 PlusMinus: PlusMinus, 6365 plusmn: plusmn, 6366 plussim: plussim, 6367 plustwo: plustwo, 6368 pm: pm, 6369 Poincareplane: Poincareplane, 6370 pointint: pointint, 6371 popf: popf, 6372 Popf: Popf, 6373 pound: pound, 6374 prap: prap, 6375 Pr: Pr, 6376 pr: pr, 6377 prcue: prcue, 6378 precapprox: precapprox, 6379 prec: prec, 6380 preccurlyeq: preccurlyeq, 6381 Precedes: Precedes, 6382 PrecedesEqual: PrecedesEqual, 6383 PrecedesSlantEqual: PrecedesSlantEqual, 6384 PrecedesTilde: PrecedesTilde, 6385 preceq: preceq, 6386 precnapprox: precnapprox, 6387 precneqq: precneqq, 6388 precnsim: precnsim, 6389 pre: pre, 6390 prE: prE, 6391 precsim: precsim, 6392 prime: prime, 6393 Prime: Prime, 6394 primes: primes, 6395 prnap: prnap, 6396 prnE: prnE, 6397 prnsim: prnsim, 6398 prod: prod, 6399 Product: Product, 6400 profalar: profalar, 6401 profline: profline, 6402 profsurf: profsurf, 6403 prop: prop, 6404 Proportional: Proportional, 6405 Proportion: Proportion, 6406 propto: propto, 6407 prsim: prsim, 6408 prurel: prurel, 6409 Pscr: Pscr, 6410 pscr: pscr, 6411 Psi: Psi, 6412 psi: psi, 6413 puncsp: puncsp, 6414 Qfr: Qfr, 6415 qfr: qfr, 6416 qint: qint, 6417 qopf: qopf, 6418 Qopf: Qopf, 6419 qprime: qprime, 6420 Qscr: Qscr, 6421 qscr: qscr, 6422 quaternions: quaternions, 6423 quatint: quatint, 6424 quest: quest, 6425 questeq: questeq, 6426 quot: quot$1, 6427 QUOT: QUOT, 6428 rAarr: rAarr, 6429 race: race, 6430 Racute: Racute, 6431 racute: racute, 6432 radic: radic, 6433 raemptyv: raemptyv, 6434 rang: rang, 6435 Rang: Rang, 6436 rangd: rangd, 6437 range: range, 6438 rangle: rangle, 6439 raquo: raquo, 6440 rarrap: rarrap, 6441 rarrb: rarrb, 6442 rarrbfs: rarrbfs, 6443 rarrc: rarrc, 6444 rarr: rarr, 6445 Rarr: Rarr, 6446 rArr: rArr, 6447 rarrfs: rarrfs, 6448 rarrhk: rarrhk, 6449 rarrlp: rarrlp, 6450 rarrpl: rarrpl, 6451 rarrsim: rarrsim, 6452 Rarrtl: Rarrtl, 6453 rarrtl: rarrtl, 6454 rarrw: rarrw, 6455 ratail: ratail, 6456 rAtail: rAtail, 6457 ratio: ratio, 6458 rationals: rationals, 6459 rbarr: rbarr, 6460 rBarr: rBarr, 6461 RBarr: RBarr, 6462 rbbrk: rbbrk, 6463 rbrace: rbrace, 6464 rbrack: rbrack, 6465 rbrke: rbrke, 6466 rbrksld: rbrksld, 6467 rbrkslu: rbrkslu, 6468 Rcaron: Rcaron, 6469 rcaron: rcaron, 6470 Rcedil: Rcedil, 6471 rcedil: rcedil, 6472 rceil: rceil, 6473 rcub: rcub, 6474 Rcy: Rcy, 6475 rcy: rcy, 6476 rdca: rdca, 6477 rdldhar: rdldhar, 6478 rdquo: rdquo, 6479 rdquor: rdquor, 6480 rdsh: rdsh, 6481 real: real, 6482 realine: realine, 6483 realpart: realpart, 6484 reals: reals, 6485 Re: Re, 6486 rect: rect, 6487 reg: reg, 6488 REG: REG, 6489 ReverseElement: ReverseElement, 6490 ReverseEquilibrium: ReverseEquilibrium, 6491 ReverseUpEquilibrium: ReverseUpEquilibrium, 6492 rfisht: rfisht, 6493 rfloor: rfloor, 6494 rfr: rfr, 6495 Rfr: Rfr, 6496 rHar: rHar, 6497 rhard: rhard,
6498 rharu: rharu, 6499 rharul: rharul, 6500 Rho: Rho, 6501 rho: rho, 6502 rhov: rhov, 6503 RightAngleBracket: RightAngleBracket, 6504 RightArrowBar: RightArrowBar, 6505 rightarrow: rightarrow, 6506 RightArrow: RightArrow, 6507 Rightarrow: Rightarrow, 6508 RightArrowLeftArrow: RightArrowLeftArrow, 6509 rightarrowtail: rightarrowtail, 6510 RightCeiling: RightCeiling, 6511 RightDoubleBracket: RightDoubleBracket, 6512 RightDownTeeVector: RightDownTeeVector, 6513 RightDownVectorBar: RightDownVectorBar, 6514 RightDownVector: RightDownVector, 6515 RightFloor: RightFloor, 6516 rightharpoondown: rightharpoondown, 6517 rightharpoonup: rightharpoonup, 6518 rightleftarrows: rightleftarrows, 6519 rightleftharpoons: rightleftharpoons, 6520 rightrightarrows: rightrightarrows, 6521 rightsquigarrow: rightsquigarrow, 6522 RightTeeArrow: RightTeeArrow, 6523 RightTee: RightTee, 6524 RightTeeVector: RightTeeVector, 6525 rightthreetimes: rightthreetimes, 6526 RightTriangleBar: RightTriangleBar, 6527 RightTriangle: RightTriangle, 6528 RightTriangleEqual: RightTriangleEqual, 6529 RightUpDownVector: RightUpDownVector, 6530 RightUpTeeVector: RightUpTeeVector, 6531 RightUpVectorBar: RightUpVectorBar, 6532 RightUpVector: RightUpVector, 6533 RightVectorBar: RightVectorBar, 6534 RightVector: RightVector, 6535 ring: ring, 6536 risingdotseq: risingdotseq, 6537 rlarr: rlarr, 6538 rlhar: rlhar, 6539 rlm: rlm, 6540 rmoustache: rmoustache, 6541 rmoust: rmoust, 6542 rnmid: rnmid, 6543 roang: roang, 6544 roarr: roarr, 6545 robrk: robrk, 6546 ropar: ropar, 6547 ropf: ropf, 6548 Ropf: Ropf, 6549 roplus: roplus, 6550 rotimes: rotimes, 6551 RoundImplies: RoundImplies, 6552 rpar: rpar, 6553 rpargt: rpargt, 6554 rppolint: rppolint, 6555 rrarr: rrarr, 6556 Rrightarrow: Rrightarrow, 6557 rsaquo: rsaquo, 6558 rscr: rscr, 6559 Rscr: Rscr, 6560 rsh: rsh, 6561 Rsh: Rsh, 6562 rsqb: rsqb, 6563 rsquo: rsquo, 6564 rsquor: rsquor, 6565 rthree: rthree, 6566 rtimes: rtimes, 6567 rtri: rtri, 6568 rtrie: rtrie, 6569 rtrif: rtrif, 6570 rtriltri: rtriltri, 6571 RuleDelayed: RuleDelayed, 6572 ruluhar: ruluhar, 6573 rx: rx, 6574 Sacute: Sacute, 6575 sacute: sacute, 6576 sbquo: sbquo, 6577 scap: scap, 6578 Scaron: Scaron, 6579 scaron: scaron, 6580 Sc: Sc, 6581 sc: sc, 6582 sccue: sccue, 6583 sce: sce, 6584 scE: scE, 6585 Scedil: Scedil, 6586 scedil: scedil, 6587 Scirc: Scirc, 6588 scirc: scirc, 6589 scnap: scnap, 6590 scnE: scnE, 6591 scnsim: scnsim, 6592 scpolint: scpolint, 6593 scsim: scsim, 6594 Scy: Scy, 6595 scy: scy, 6596 sdotb: sdotb, 6597 sdot: sdot, 6598 sdote: sdote, 6599 searhk: searhk, 6600 searr: searr, 6601 seArr: seArr, 6602 searrow: searrow, 6603 sect: sect, 6604 semi: semi, 6605 seswar: seswar, 6606 setminus: setminus, 6607 setmn: setmn, 6608 sext: sext, 6609 Sfr: Sfr, 6610 sfr: sfr, 6611 sfrown: sfrown, 6612 sharp: sharp, 6613 SHCHcy: SHCHcy, 6614 shchcy: shchcy, 6615 SHcy: SHcy, 6616 shcy: shcy, 6617 ShortDownArrow: ShortDownArrow, 6618 ShortLeftArrow: ShortLeftArrow, 6619 shortmid: shortmid, 6620 shortparallel: shortparallel, 6621 ShortRightArrow: ShortRightArrow, 6622 ShortUpArrow: ShortUpArrow, 6623 shy: shy, 6624 Sigma: Sigma, 6625 sigma: sigma, 6626 sigmaf: sigmaf, 6627 sigmav: sigmav, 6628 sim: sim, 6629 simdot: simdot, 6630 sime: sime, 6631 simeq: simeq, 6632 simg: simg, 6633 simgE: simgE, 6634 siml: siml, 6635 simlE: simlE, 6636 simne: simne, 6637 simplus: simplus, 6638 simrarr: simrarr, 6639 slarr: slarr, 6640 SmallCircle: SmallCircle, 6641 smallsetminus: smallsetminus, 6642 smashp: smashp, 6643 smeparsl: smeparsl, 6644 smid: smid, 6645 smile: smile, 6646 smt: smt, 6647 smte: smte, 6648 smtes: smtes, 6649 SOFTcy: SOFTcy, 6650 softcy: softcy, 6651 solbar: solbar, 6652 solb: solb, 6653 sol: sol, 6654 Sopf: Sopf, 6655 sopf: sopf, 6656 spades: spades, 6657 spadesuit: spadesuit, 6658 spar: spar, 6659 sqcap: sqcap, 6660 sqcaps: sqcaps, 6661 sqcup: sqcup,
6662 sqcups: sqcups, 6663 Sqrt: Sqrt, 6664 sqsub: sqsub, 6665 sqsube: sqsube, 6666 sqsubset: sqsubset, 6667 sqsubseteq: sqsubseteq, 6668 sqsup: sqsup, 6669 sqsupe: sqsupe, 6670 sqsupset: sqsupset, 6671 sqsupseteq: sqsupseteq, 6672 square: square, 6673 Square: Square, 6674 SquareIntersection: SquareIntersection, 6675 SquareSubset: SquareSubset, 6676 SquareSubsetEqual: SquareSubsetEqual, 6677 SquareSuperset: SquareSuperset, 6678 SquareSupersetEqual: SquareSupersetEqual, 6679 SquareUnion: SquareUnion, 6680 squarf: squarf, 6681 squ: squ, 6682 squf: squf, 6683 srarr: srarr, 6684 Sscr: Sscr, 6685 sscr: sscr, 6686 ssetmn: ssetmn, 6687 ssmile: ssmile, 6688 sstarf: sstarf, 6689 Star: Star, 6690 star: star, 6691 starf: starf, 6692 straightepsilon: straightepsilon, 6693 straightphi: straightphi, 6694 strns: strns, 6695 sub: sub, 6696 Sub: Sub, 6697 subdot: subdot, 6698 subE: subE, 6699 sube: sube, 6700 subedot: subedot, 6701 submult: submult, 6702 subnE: subnE, 6703 subne: subne, 6704 subplus: subplus, 6705 subrarr: subrarr, 6706 subset: subset, 6707 Subset: Subset, 6708 subseteq: subseteq, 6709 subseteqq: subseteqq, 6710 SubsetEqual: SubsetEqual, 6711 subsetneq: subsetneq, 6712 subsetneqq: subsetneqq, 6713 subsim: subsim, 6714 subsub: subsub, 6715 subsup: subsup, 6716 succapprox: succapprox, 6717 succ: succ, 6718 succcurlyeq: succcurlyeq, 6719 Succeeds: Succeeds, 6720 SucceedsEqual: SucceedsEqual, 6721 SucceedsSlantEqual: SucceedsSlantEqual, 6722 SucceedsTilde: SucceedsTilde, 6723 succeq: succeq, 6724 succnapprox: succnapprox, 6725 succneqq: succneqq, 6726 succnsim: succnsim, 6727 succsim: succsim, 6728 SuchThat: SuchThat, 6729 sum: sum, 6730 Sum: Sum, 6731 sung: sung, 6732 sup1: sup1, 6733 sup2: sup2, 6734 sup3: sup3, 6735 sup: sup, 6736 Sup: Sup, 6737 supdot: supdot, 6738 supdsub: supdsub, 6739 supE: supE, 6740 supe: supe, 6741 supedot: supedot, 6742 Superset: Superset, 6743 SupersetEqual: SupersetEqual, 6744 suphsol: suphsol, 6745 suphsub: suphsub, 6746 suplarr: suplarr, 6747 supmult: supmult, 6748 supnE: supnE, 6749 supne: supne, 6750 supplus: supplus, 6751 supset: supset, 6752 Supset: Supset, 6753 supseteq: supseteq, 6754 supseteqq: supseteqq, 6755 supsetneq: supsetneq, 6756 supsetneqq: supsetneqq, 6757 supsim: supsim, 6758 supsub: supsub, 6759 supsup: supsup, 6760 swarhk: swarhk, 6761 swarr: swarr, 6762 swArr: swArr, 6763 swarrow: swarrow, 6764 swnwar: swnwar, 6765 szlig: szlig, 6766 Tab: Tab, 6767 target: target, 6768 Tau: Tau, 6769 tau: tau, 6770 tbrk: tbrk, 6771 Tcaron: Tcaron, 6772 tcaron: tcaron, 6773 Tcedil: Tcedil, 6774 tcedil: tcedil, 6775 Tcy: Tcy, 6776 tcy: tcy, 6777 tdot: tdot, 6778 telrec: telrec, 6779 Tfr: Tfr, 6780 tfr: tfr, 6781 there4: there4, 6782 therefore: therefore, 6783 Therefore: Therefore, 6784 Theta: Theta, 6785 theta: theta, 6786 thetasym: thetasym, 6787 thetav: thetav, 6788 thickapprox: thickapprox, 6789 thicksim: thicksim, 6790 ThickSpace: ThickSpace, 6791 ThinSpace: ThinSpace, 6792 thinsp: thinsp, 6793 thkap: thkap, 6794 thksim: thksim, 6795 THORN: THORN, 6796 thorn: thorn, 6797 tilde: tilde, 6798 Tilde: Tilde, 6799 TildeEqual: TildeEqual, 6800 TildeFullEqual: TildeFullEqual, 6801 TildeTilde: TildeTilde, 6802 timesbar: timesbar, 6803 timesb: timesb, 6804 times: times, 6805 timesd: timesd, 6806 tint: tint, 6807 toea: toea, 6808 topbot: topbot, 6809 topcir: topcir, 6810 top: top, 6811 Topf: Topf, 6812 topf: topf, 6813 topfork: topfork, 6814 tosa: tosa, 6815 tprime: tprime, 6816 trade: trade, 6817 TRADE: TRADE, 6818 triangle: triangle, 6819 triangledown: triangledown, 6820 triangleleft: triangleleft, 6821 trianglelefteq: trianglelefteq, 6822 triangleq: triangleq, 6823 triangleright: triangleright, 6824 trianglerighteq: trianglerighteq, 6825 tridot: tridot, 6826 trie: trie, 6827 triminus: triminus,
6828 TripleDot: TripleDot, 6829 triplus: triplus, 6830 trisb: trisb, 6831 tritime: tritime, 6832 trpezium: trpezium, 6833 Tscr: Tscr, 6834 tscr: tscr, 6835 TScy: TScy, 6836 tscy: tscy, 6837 TSHcy: TSHcy, 6838 tshcy: tshcy, 6839 Tstrok: Tstrok, 6840 tstrok: tstrok, 6841 twixt: twixt, 6842 twoheadleftarrow: twoheadleftarrow, 6843 twoheadrightarrow: twoheadrightarrow, 6844 Uacute: Uacute, 6845 uacute: uacute, 6846 uarr: uarr, 6847 Uarr: Uarr, 6848 uArr: uArr, 6849 Uarrocir: Uarrocir, 6850 Ubrcy: Ubrcy, 6851 ubrcy: ubrcy, 6852 Ubreve: Ubreve, 6853 ubreve: ubreve, 6854 Ucirc: Ucirc, 6855 ucirc: ucirc, 6856 Ucy: Ucy, 6857 ucy: ucy, 6858 udarr: udarr, 6859 Udblac: Udblac, 6860 udblac: udblac, 6861 udhar: udhar, 6862 ufisht: ufisht, 6863 Ufr: Ufr, 6864 ufr: ufr, 6865 Ugrave: Ugrave, 6866 ugrave: ugrave, 6867 uHar: uHar, 6868 uharl: uharl, 6869 uharr: uharr, 6870 uhblk: uhblk, 6871 ulcorn: ulcorn, 6872 ulcorner: ulcorner, 6873 ulcrop: ulcrop, 6874 ultri: ultri, 6875 Umacr: Umacr, 6876 umacr: umacr, 6877 uml: uml, 6878 UnderBar: UnderBar, 6879 UnderBrace: UnderBrace, 6880 UnderBracket: UnderBracket, 6881 UnderParenthesis: UnderParenthesis, 6882 Union: Union, 6883 UnionPlus: UnionPlus, 6884 Uogon: Uogon, 6885 uogon: uogon, 6886 Uopf: Uopf, 6887 uopf: uopf, 6888 UpArrowBar: UpArrowBar, 6889 uparrow: uparrow, 6890 UpArrow: UpArrow, 6891 Uparrow: Uparrow, 6892 UpArrowDownArrow: UpArrowDownArrow, 6893 updownarrow: updownarrow, 6894 UpDownArrow: UpDownArrow, 6895 Updownarrow: Updownarrow, 6896 UpEquilibrium: UpEquilibrium, 6897 upharpoonleft: upharpoonleft, 6898 upharpoonright: upharpoonright, 6899 uplus: uplus, 6900 UpperLeftArrow: UpperLeftArrow, 6901 UpperRightArrow: UpperRightArrow, 6902 upsi: upsi, 6903 Upsi: Upsi, 6904 upsih: upsih, 6905 Upsilon: Upsilon, 6906 upsilon: upsilon, 6907 UpTeeArrow: UpTeeArrow, 6908 UpTee: UpTee, 6909 upuparrows: upuparrows, 6910 urcorn: urcorn, 6911 urcorner: urcorner, 6912 urcrop: urcrop, 6913 Uring: Uring, 6914 uring: uring, 6915 urtri: urtri, 6916 Uscr: Uscr, 6917 uscr: uscr, 6918 utdot: utdot, 6919 Utilde: Utilde, 6920 utilde: utilde, 6921 utri: utri, 6922 utrif: utrif, 6923 uuarr: uuarr, 6924 Uuml: Uuml, 6925 uuml: uuml, 6926 uwangle: uwangle, 6927 vangrt: vangrt, 6928 varepsilon: varepsilon, 6929 varkappa: varkappa, 6930 varnothing: varnothing, 6931 varphi: varphi, 6932 varpi: varpi, 6933 varpropto: varpropto, 6934 varr: varr, 6935 vArr: vArr, 6936 varrho: varrho, 6937 varsigma: varsigma, 6938 varsubsetneq: varsubsetneq, 6939 varsubsetneqq: varsubsetneqq, 6940 varsupsetneq: varsupsetneq, 6941 varsupsetneqq: varsupsetneqq, 6942 vartheta: vartheta, 6943 vartriangleleft: vartriangleleft, 6944 vartriangleright: vartriangleright, 6945 vBar: vBar, 6946 Vbar: Vbar, 6947 vBarv: vBarv, 6948 Vcy: Vcy, 6949 vcy: vcy, 6950 vdash: vdash, 6951 vDash: vDash, 6952 Vdash: Vdash, 6953 VDash: VDash, 6954 Vdashl: Vdashl, 6955 veebar: veebar, 6956 vee: vee, 6957 Vee: Vee, 6958 veeeq: veeeq, 6959 vellip: vellip, 6960 verbar: verbar, 6961 Verbar: Verbar, 6962 vert: vert, 6963 Vert: Vert, 6964 VerticalBar: VerticalBar, 6965 VerticalLine: VerticalLine, 6966 VerticalSeparator: VerticalSeparator, 6967 VerticalTilde: VerticalTilde, 6968 VeryThinSpace: VeryThinSpace, 6969 Vfr: Vfr, 6970 vfr: vfr, 6971 vltri: vltri, 6972 vnsub: vnsub, 6973 vnsup: vnsup, 6974 Vopf: Vopf, 6975 vopf: vopf, 6976 vprop: vprop, 6977 vrtri: vrtri, 6978 Vscr: Vscr, 6979 vscr: vscr, 6980 vsubnE: vsubnE, 6981 vsubne: vsubne, 6982 vsupnE: vsupnE, 6983 vsupne: vsupne, 6984 Vvdash: Vvdash, 6985 vzigzag: vzigzag, 6986 Wcirc: Wcirc, 6987 wcirc: wcirc, 6988 wedbar: wedbar, 6989 wedge: wedge, 6990 Wedge: Wedge, 6991 wedgeq: wedgeq, 6992 weierp: weierp, 6993 Wfr: Wfr, 6994 wfr: wfr, 6995 Wopf: Wopf, 6996 wopf: wopf,
6997 wp: wp, 6998 wr: wr, 6999 wreath: wreath, 7000 Wscr: Wscr, 7001 wscr: wscr, 7002 xcap: xcap, 7003 xcirc: xcirc, 7004 xcup: xcup, 7005 xdtri: xdtri, 7006 Xfr: Xfr, 7007 xfr: xfr, 7008 xharr: xharr, 7009 xhArr: xhArr, 7010 Xi: Xi, 7011 xi: xi, 7012 xlarr: xlarr, 7013 xlArr: xlArr, 7014 xmap: xmap, 7015 xnis: xnis, 7016 xodot: xodot, 7017 Xopf: Xopf, 7018 xopf: xopf, 7019 xoplus: xoplus, 7020 xotime: xotime, 7021 xrarr: xrarr, 7022 xrArr: xrArr, 7023 Xscr: Xscr, 7024 xscr: xscr, 7025 xsqcup: xsqcup, 7026 xuplus: xuplus, 7027 xutri: xutri, 7028 xvee: xvee, 7029 xwedge: xwedge, 7030 Yacute: Yacute, 7031 yacute: yacute, 7032 YAcy: YAcy, 7033 yacy: yacy, 7034 Ycirc: Ycirc, 7035 ycirc: ycirc, 7036 Ycy: Ycy, 7037 ycy: ycy, 7038 yen: yen, 7039 Yfr: Yfr, 7040 yfr: yfr, 7041 YIcy: YIcy, 7042 yicy: yicy, 7043 Yopf: Yopf, 7044 yopf: yopf, 7045 Yscr: Yscr, 7046 yscr: yscr, 7047 YUcy: YUcy, 7048 yucy: yucy, 7049 yuml: yuml, 7050 Yuml: Yuml, 7051 Zacute: Zacute, 7052 zacute: zacute, 7053 Zcaron: Zcaron, 7054 zcaron: zcaron, 7055 Zcy: Zcy, 7056 zcy: zcy, 7057 Zdot: Zdot, 7058 zdot: zdot, 7059 zeetrf: zeetrf, 7060 ZeroWidthSpace: ZeroWidthSpace, 7061 Zeta: Zeta, 7062 zeta: zeta, 7063 zfr: zfr, 7064 Zfr: Zfr, 7065 ZHcy: ZHcy, 7066 zhcy: zhcy, 7067 zigrarr: zigrarr, 7068 zopf: zopf, 7069 Zopf: Zopf, 7070 Zscr: Zscr, 7071 zscr: zscr, 7072 zwj: zwj, 7073 zwnj: zwnj, 7074 'default': entities 7075 }); 7076 7077 var require$$1 = getCjsExportFromNamespace(entities$1); 7078 7079 var encodeTrie = createCommonjsModule(function (module, exports) { 7080 var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) { 7081 return (mod && mod.__esModule) ? mod : { "default": mod }; 7082 }; 7083 Object.defineProperty(exports, "__esModule", { value: true }); 7084 exports.getTrie = exports.encodeHTMLTrieRe = exports.getCodePoint = void 0; 7085 var entities_json_1 = __importDefault(require$$1); 7086 function isHighSurrugate(c) { 7087 return (c & 64512 /* Mask */) === 55296 /* High */; 7088 } 7089 // For compatibility with node < 4, we wrap `codePointAt` 7090 exports.getCodePoint = 7091 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition 7092 String.prototype.codePointAt != null 7093 ? function (str, index) { return str.codePointAt(index); } 7094 : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae 7095 function (c, index) { 7096 return isHighSurrugate(c.charCodeAt(index)) 7097 ? (c.charCodeAt(index) - 55296 /* High */) * 0x400 + 7098 c.charCodeAt(index + 1) - 7099 0xdc00 + 7100 0x10000 7101 : c.charCodeAt(index); 7102 };
7103 var htmlTrie = getTrie(entities_json_1.default); 7104 function encodeHTMLTrieRe(regExp, str) { 7105 var _a; 7106 var ret = ""; 7107 var lastIdx = 0; 7108 var match; 7109 while ((match = regExp.exec(str)) !== null) { 7110 var i = match.index; 7111 var char = str.charCodeAt(i); 7112 var next = htmlTrie.get(char); 7113 if (next) { 7114 if (next.next != null && i + 1 < str.length) { 7115 var value = (_a = next.next.get(str.charCodeAt(i + 1))) === null || _a === void 0 ? void 0 : _a.value; 7116 if (value != null) { 7117 ret += str.substring(lastIdx, i) + value; 7118 regExp.lastIndex += 1; 7119 lastIdx = i + 2; 7120 continue; 7121 } 7122 } 7123 ret += str.substring(lastIdx, i) + next.value; 7124 lastIdx = i + 1; 7125 } 7126 else { 7127 ret += str.substring(lastIdx, i) + "&#x" + exports.getCodePoint(str, i).toString(16) + ";"; 7128 // Increase by 1 if we have a surrogate pair 7129 lastIdx = regExp.lastIndex += Number(isHighSurrugate(char)); 7130 } 7131 } 7132 return ret + str.substr(lastIdx); 7133 } 7134 exports.encodeHTMLTrieRe = encodeHTMLTrieRe; 7135 function getTrie(map) { 7136 var _a, _b, _c, _d; 7137 var trie = new Map(); 7138 for (var _i = 0, _e = Object.keys(map); _i < _e.length; _i++) { 7139 var value = _e[_i]; 7140 var key = map[value]; 7141 // Resolve the key 7142 var lastMap = trie; 7143 for (var i = 0; i < key.length - 1; i++) { 7144 var char = key.charCodeAt(i); 7145 var next = (_a = lastMap.get(char)) !== null && _a !== void 0 ? _a : {}; 7146 lastMap.set(char, next); 7147 lastMap = (_b = next.next) !== null && _b !== void 0 ? _b : (next.next = new Map()); 7148 } 7149 var val = (_c = lastMap.get(key.charCodeAt(key.length - 1))) !== null && _c !== void 0 ? _c : {}; 7150 (_d = val.value) !== null && _d !== void 0 ? _d : (val.value = "&" + value + ";"); 7151 lastMap.set(key.charCodeAt(key.length - 1), val); 7152 } 7153 return trie; 7154 }
7155 exports.getTrie = getTrie; 7156 }); 7157 7158 unwrapExports(encodeTrie); 7159 var encodeTrie_1 = encodeTrie.getTrie; 7160 var encodeTrie_2 = encodeTrie.encodeHTMLTrieRe; 7161 var encodeTrie_3 = encodeTrie.getCodePoint; 7162 7163 var require$$0 = getCjsExportFromNamespace(xml$1); 7164 7165 var encode$1 = createCommonjsModule(function (module, exports) { 7166 var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) { 7167 return (mod && mod.__esModule) ? mod : { "default": mod }; 7168 }; 7169 Object.defineProperty(exports, "__esModule", { value: true }); 7170 exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0; 7171 var xml_json_1 = __importDefault(require$$0); 7172 7173 var entities_json_1 = __importDefault(require$$1); 7174 var htmlReplacer = getCharRegExp(entities_json_1.default, true); 7175 var xmlReplacer = getCharRegExp(xml_json_1.default, true); 7176 var xmlInvalidChars = getCharRegExp(xml_json_1.default, false); 7177 var xmlCodeMap = new Map(Object.keys(xml_json_1.default).map(function (k) { return [ 7178 xml_json_1.default[k].charCodeAt(0), 7179 "&" + k + ";", 7180 ]; })); 7181 /** 7182 * Encodes all non-ASCII characters, as well as characters not valid in XML 7183 * documents using XML entities. 7184 * 7185 * If a character has no equivalent entity, a 7186 * numeric hexadecimal reference (eg. `ü`) will be used. 7187 */ 7188 function encodeXML(str) { 7189 var ret = ""; 7190 var lastIdx = 0; 7191 var match; 7192 while ((match = xmlReplacer.exec(str)) !== null) { 7193 var i = match.index; 7194 var char = str.charCodeAt(i); 7195 var next = xmlCodeMap.get(char); 7196 if (next) { 7197 ret += str.substring(lastIdx, i) + next; 7198 lastIdx = i + 1; 7199 } 7200 else { 7201 ret += str.substring(lastIdx, i) + "&#x" + encodeTrie.getCodePoint(str, i).toString(16) + ";"; 7202 // Increase by 1 if we have a surrogate pair 7203 lastIdx = xmlReplacer.lastIndex += Number((char & 65408) === 0xd800); 7204 } 7205 } 7206 return ret + str.substr(lastIdx); 7207 } 7208 exports.encodeXML = encodeXML; 7209 /** 7210 * Encodes all entities and non-ASCII characters in the input. 7211 * 7212 * This includes characters that are valid ASCII characters in HTML documents. 7213 * For example `#` will be encoded as `#`. To get a more compact output, 7214 * consider using the `encodeNonAsciiHTML` function. 7215 * 7216 * If a character has no equivalent entity, a 7217 * numeric hexadecimal reference (eg. `ü`) will be used. 7218 */ 7219 function encodeHTML(data) { 7220 return encodeTrie.encodeHTMLTrieRe(htmlReplacer, data); 7221 } 7222 exports.encodeHTML = encodeHTML; 7223 /** 7224 * Encodes all non-ASCII characters, as well as characters not valid in HTML 7225 * documents using HTML entities. 7226 * 7227 * If a character has no equivalent entity, a 7228 * numeric hexadecimal reference (eg. `ü`) will be used. 7229 */ 7230 function encodeNonAsciiHTML(data) { 7231 return encodeTrie.encodeHTMLTrieRe(xmlReplacer, data); 7232 } 7233 exports.encodeNonAsciiHTML = encodeNonAsciiHTML; 7234 function getCharRegExp(map, nonAscii) { 7235 // Collect the start characters of all entities 7236 var chars = Object.keys(map) 7237 .map(function (k) { return "\\" + map[k].charAt(0); }) 7238 .filter(function (v) { return !nonAscii || v.charCodeAt(1) < 128; }) 7239 .sort(function (a, b) { return a.charCodeAt(1) - b.charCodeAt(1); }) 7240 // Remove duplicates 7241 .filter(function (v, i, a) { return v !== a[i + 1]; }); 7242 // Add ranges to single characters. 7243 for (var start = 0; start < chars.length - 1; start++) { 7244 // Find the end of a run of characters 7245 var end = start; 7246 while (end < chars.length - 1 && 7247 chars[end].charCodeAt(1) + 1 === chars[end + 1].charCodeAt(1)) { 7248 end += 1; 7249 } 7250 var count = 1 + end - start; 7251 // We want to replace at least three characters 7252 if (count < 3) 7253 continue; 7254 chars.splice(start, count, chars[start] + "-" + chars[end]); 7255 } 7256 return new RegExp("[" + chars.join("") + (nonAscii ? "\\x80-\\uFFFF" : "") + "]", "g"); 7257 } 7258 /** 7259 * Encodes all non-ASCII characters, as well as characters not val
7259id in XML 7260 * documents using numeric hexadecimal reference (eg. `ü`). 7261 * 7262 * Have a look at `escapeUTF8` if you want a more concise output at the expense 7263 * of reduced transportability. 7264 * 7265 * @param data String to escape. 7266 */ 7267 exports.escape = encodeXML; 7268 /** 7269 * Encodes all characters not valid in XML documents using XML entities. 7270 * 7271 * Note that the output will be character-set dependent. 7272 * 7273 * @param data String to escape. 7274 */ 7275 function escapeUTF8(data) { 7276 var match; 7277 var lastIdx = 0; 7278 var result = ""; 7279 while ((match = xmlInvalidChars.exec(data))) { 7280 if (lastIdx !== match.index) { 7281 result += data.substring(lastIdx, match.index); 7282 } 7283 // We know that this chararcter will be in `inverseXML` 7284 result += xmlCodeMap.get(match[0].charCodeAt(0)); 7285 // Every match will be of length 1 7286 lastIdx = match.index + 1; 7287 } 7288 return result + data.substring(lastIdx); 7289 } 7290 exports.escapeUTF8 = escapeUTF8; 7291 }); 7292 7293 unwrapExports(encode$1); 7294 var encode_1$1 = encode$1.escapeUTF8; 7295 var encode_2 = encode$1.escape; 7296 var encode_3 = encode$1.encodeNonAsciiHTML; 7297 var encode_4 = encode$1.encodeHTML; 7298 var encode_5 = encode$1.encodeXML; 7299 7300 var lib = createCommonjsModule(function (module, exports) { 7301 Object.defineProperty(exports, "__esModule", { value: true }); 7302 exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.DecodingMode = exports.EntityLevel = void 0; 7303 7304 7305 /** The level of entities to support. */ 7306 var EntityLevel; 7307 (function (EntityLevel) { 7308 /** Support only XML entities. */ 7309 EntityLevel[EntityLevel["XML"] = 0] = "XML"; 7310 /** Support HTML entities, which are a superset of XML entities. */ 7311 EntityLevel[EntityLevel["HTML"] = 1] = "HTML"; 7312 })(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {})); 7313 /** Determines whether some entities are allowed to be written without a trailing `;`. */ 7314 var DecodingMode; 7315 (function (DecodingMode) { 7316 /** Support legacy HTML entities. */ 7317 DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; 7318 /** Do not support legacy HTML entities. */ 7319 DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; 7320 })(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {})); 7321 var EncodingMode; 7322 (function (EncodingMode) { 7323 /** 7324 * The output is UTF-8 encoded. Only characters that need escaping within 7325 * HTML will be escaped. 7326 */ 7327 EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8"; 7328 /** 7329 * The output consists only of ASCII characters. Characters that need 7330 * escaping within HTML, and characters that aren't ASCII characters will 7331 * be escaped. 7332 */ 7333 EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII"; 7334 /** 7335 * Encode all characters that have an equivalent entity, as well as all 7336 * characters that are not ASCII characters. 7337 */ 7338 EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive"; 7339 })(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {})); 7340 /** 7341 * Decodes a string with entities. 7342 * 7343 * @param data String to decode. 7344 * @param options Decoding options. 7345 */ 7346 function decode$1(data, options) { 7347 if (options === void 0) { options = EntityLevel.XML; } 7348 var opts = typeof options === "number" ? { level: options } : options; 7349 if (opts.level === EntityLevel.HTML) { 7350 if (opts.mode === DecodingMode.Strict) { 7351 return decode.decodeHTMLStrict(data); 7352 } 7353 return decode.decodeHTML(data); 7354 } 7355 return decode.decodeXML(data); 7356 } 7357 exports.decode = decode$1; 7358 /** 7359 * Decodes a string with entities. Does not allow missing trailing semicolons for entities. 7360 * 7361 * @param data String to decode. 7362 * @param options Decoding options. 7363 * @deprecated Use `decode` with the `mode` set to `Strict`. 7364 */ 7365 function decodeStrict(data, options) { 7366 if (options === void 0) { options = EntityLevel.XML; } 7367 var opts = typeof options === "number" ? { level: options } : options; 7368 if (opts.level === EntityLevel.HTML) { 7369 if (opts.mode === DecodingMode.Legacy) { 7370 return decode.decodeHTML(data); 7371 } 7372 return decode.decodeHTMLStrict(data); 7373 } 7374 return decode.decodeXML(data); 7375 } 7376 exports.decodeStrict = decodeStrict; 7377 /** 7378 * Encodes a string with entities. 7379 * 7380 * @param data String to encode. 7381 * @param options Encoding options. 7382 */
7383 function encode(data, options) { 7384 if (options === void 0) { options = EntityLevel.XML; } 7385 var opts = typeof options === "number" ? { level: options } : options; 7386 // Mode `UTF8` just escapes XML entities 7387 if (opts.mode === EncodingMode.UTF8) 7388 return encode$1.escapeUTF8(data); 7389 if (opts.level === EntityLevel.HTML) { 7390 if (opts.mode === EncodingMode.ASCII) { 7391 return encode$1.encodeNonAsciiHTML(data); 7392 } 7393 return encode$1.encodeHTML(data); 7394 } 7395 // ASCII and Extensive are equivalent 7396 return encode$1.encodeXML(data); 7397 } 7398 exports.encode = encode; 7399 var encode_2 = encode$1; 7400 Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function () { return encode_2.encodeXML; } }); 7401 Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); 7402 Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } }); 7403 Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return encode_2.escape; } }); 7404 Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function () { return encode_2.escapeUTF8; } }); 7405 // Legacy aliases (deprecated) 7406 Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); 7407 Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function () { return encode_2.encodeHTML; } }); 7408 var decode_2 = decode; 7409 Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function () { return decode_2.decodeXML; } }); 7410 Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); 7411 Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); 7412 // Legacy aliases (deprecated) 7413 Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); 7414 Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function () { return decode_2.decodeHTML; } }); 7415 Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); 7416 Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }); 7417 Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function () { return decode_2.decodeXML; } }); 7418 }); 7419 7420 unwrapExports(lib); 7421 var lib_1 = lib.decodeXMLStrict; 7422 var lib_2 = lib.decodeHTML5Strict; 7423 var lib_3 = lib.decodeHTML4Strict; 7424 var lib_4 = lib.decodeHTML5; 7425 var lib_5 = lib.decodeHTML4; 7426 var lib_6 = lib.decodeHTMLStrict; 7427 var lib_7 = lib.decodeHTML; 7428 var lib_8 = lib.decodeXML; 7429 var lib_9 = lib.encodeHTML5; 7430 var lib_10 = lib.encodeHTML4; 7431 var lib_11 = lib.escapeUTF8; 7432 var lib_12 = lib.escape; 7433 var lib_13 = lib.encodeNonAsciiHTML; 7434 var lib_14 = lib.encodeHTML; 7435 var lib_15 = lib.encodeXML; 7436 var lib_16 = lib.encode; 7437 var lib_17 = lib.decodeStrict; 7438 var lib_18 = lib.decode; 7439 var lib_19 = lib.EncodingMode; 7440 var lib_20 = lib.DecodingMode; 7441 var lib_21 = lib.EntityLevel; 7442 7443 var C_BACKSLASH = 92; 7444 7445 var ENTITY = "&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});"; 7446 7447 var TAGNAME = "[A-Za-z][A-Za-z0-9-]*"; 7448 var ATTRIBUTENAME = "[a-zA-Z_:][a-zA-Z0-9:._-]*"; 7449 var UNQUOTEDVALUE = "[^\"'=<>`\\x00-\\x20]+"; 7450 var SINGLEQUOTEDVALUE = "'[^']*'"; 7451 var DOUBLEQUOTEDVALUE = '"[^"]*"'; 7452 var ATTRIBUTEVALUE = 7453 "(?:" + 7454 UNQUOTEDVALUE + 7455 "|" + 7456 SINGLEQUOTEDVALUE + 7457 "|" + 7458 DOUBLEQUOTEDVALUE + 7459 ")"; 7460 var ATTRIBUTEVALUESPEC = "(?:" + "\\s*=" + "\\s*" + ATTRIBUTEVALUE + ")"; 7461 var ATTRIBUTE = "(?:" + "\\s+" + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + "?)"; 7462 var OPENTAG = "<" + TAGNAME + ATTRIBUTE + "*" + "\\s*/?>"; 7463 var CLOSETAG = "</" + TAGNAME + "\\s*[>]"; 7464 var HTMLCOMMENT = "<!-->|<!--->|<!--(?:[^-]|-[^-]|--[^>])*-->"; 7465 var PROCESSINGINSTRUCTION = "[<][?][\\s\\S]*?[?][>]"; 7466 var DECLARATION = "<![A-Z]+" + "[^>]*>"; 7467 var CDATA = "<!\\[CDATA\\[[\\s\\S]*?\\]\\]>"; 7468 var HTMLTAG = 7469 "(?:" + 7470 OPENTAG + 7471 "|" + 7472 CLOSETAG + 7473 "|" + 7474 HTMLCOMMENT + 7475 "|" + 7476 PROCESSINGINSTRUCTION + 7477 "|" + 7478 DECLARATION + 7479 "|" + 7480 CDATA + 7481 ")"; 7482 var reHtmlTag = new RegExp("^" + HTMLTAG); 7483 7484 var reBackslashOrAmp = /[\\&]/; 7485 7486 var ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]"; 7487 7488 var reEntityOrEscapedChar = new RegExp("\\\\" + ESCAPABLE + "|" + ENTITY, "gi"); 7489 7490 var XMLSPECIAL = '[&<>"]'; 7491 7492 var reXmlSpecial = new RegExp(XMLSPECIAL, "g"); 7493 7494 var unescapeChar = function(s) { 7495 if (s.charCodeAt(0) === C_BACKSLASH) { 7496 return s.charAt(1); 7497 } else { 7498 return lib_6(s); 7499 } 7500 }; 7501 7502 // Replace entities and backslash escapes with literal characters. 7503 var unescapeString = function(s) { 7504 if (reBackslashOrAmp.test(s)) { 7505 return s.replace(reEntityOrEscapedChar, unescapeChar); 7506 } else { 7507 return s; 7508 } 7509 }; 7510 7511 var normalizeURI = function(uri) { 7512 try { 7513 return encode_1(uri); 7514 } catch (err) { 7515 return uri; 7516 } 7517 }; 7518 7519 var replaceUnsafeChar = function(s) { 7520 switch (s) { 7521 case "&": 7522 return "&"; 7523 case "<": 7524 return "<"; 7525 case ">": 7526 return ">"; 7527 case '"': 7528 return """; 7529 default: 7530 return s; 7531 } 7532 }; 7533 7534 var escapeXml = function(s) { 7535 if (reXmlSpecial.test(s)) { 7536 return s.replace(reXmlSpecial, replaceUnsafeChar); 7537 } else { 7538 return s; 7539 } 7540 }; 7541 7542 // derived from https://github.com/mathiasbynens/String.fromCodePoint 7543 /*! http://mths.be/fromcodepoint v0.2.1 by @mathias */ 7544 7545 var _fromCodePoint; 7546 7547 function fromCodePoint(_) { 7548 return _fromCodePoint(_); 7549 } 7550 7551 if (String.fromCodePoint) { 7552 _fromCodePoint = function(_) { 7553 try { 7554 return String.fromCodePoint(_); 7555 } catch (e) { 7556 if (e instanceof RangeError) { 7557 return String.fromCharCode(0xfffd); 7558 } 7559 throw e; 7560 } 7561 }; 7562 } else { 7563 var stringFromCharCode = String.fromCharCode; 7564 var floor = Math.floor; 7565 _fromCodePoint = function() { 7566 var MAX_SIZE = 0x4000; 7567 var codeUnits = []; 7568 var highSurrogate; 7569 var lowSurrogate; 7570 var index = -1; 7571 var length = arguments.length; 7572 if (!length) { 7573 return ""; 7574 } 7575 var result = ""; 7576 while (++index < length) { 7577 var codePoint = Number(arguments[index]); 7578 if ( 7579 !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` 7580 codePoint < 0 || // not a valid Unicode code point 7581 codePoint > 0x10ffff || // not a valid Unicode code point 7582 floor(codePoint) !== codePoint // not an integer 7583 ) { 7584 return String.fromCharCode(0xfffd); 7585 } 7586 if (codePoint <= 0xffff) { 7587 // BMP code point 7588 codeUnits.push(codePoint); 7589 } else { 7590 // Astral code point; split in surrogate halves 7591 // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae 7592 codePoint -= 0x10000; 7593 highSurrogate = (codePoint >> 10) + 0xd800; 7594 lowSurrogate = (codePoint % 0x400) + 0xdc00; 7595 codeUnits.push(highSurrogate, lowSurrogate); 7596 } 7597 if (index + 1 === length || codeUnits.length > MAX_SIZE) { 7598 result += stringFromCharCode.apply(null, codeUnits); 7599 codeUnits.length = 0; 7600 } 7601 } 7602 return result; 7603 }; 7604 } 7605 7606 /* eslint no-invalid-this: 1 */ 7607 7608 var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; 7609 var slice = Array.prototype.slice; 7610 var toStr = Object.prototype.toString; 7611 var funcType = '[object Function]'; 7612 7613 var implementation = function bind(that) { 7614 var target = this; 7615 if (typeof target !== 'function' || toStr.call(target) !== funcType) { 7616 throw new TypeError(ERROR_MESSAGE + target); 7617 } 7618 var args = slice.call(arguments, 1); 7619 7620 var bound; 7621 var binder = function () { 7622 if (this instanceof bound) { 7623 var result = target.apply( 7624 this, 7625 args.concat(slice.call(arguments)) 7626 ); 7627 if (Object(result) === result) { 7628 return result; 7629 } 7630 return this; 7631 } else { 7632 return target.apply( 7633 that, 7634 args.concat(slice.call(arguments)) 7635 ); 7636 } 7637 }; 7638 7639 var boundLength = Math.max(0, target.length - args.length); 7640 var boundArgs = []; 7641 for (var i = 0; i < boundLength; i++) { 7642 boundArgs.push('$' + i); 7643 } 7644 7645 bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); 7646 7647 if (target.prototype) { 7648 var Empty = function Empty() {}; 7649 Empty.prototype = target.prototype; 7650 bound.prototype = new Empty(); 7651 Empty.prototype = null; 7652 } 7653 7654 return bound; 7655 }; 7656 7657 var functionBind = Function.prototype.bind || implementation; 7658 7659 /* eslint complexity: [2, 18], max-statements: [2, 33] */ 7660 var shams = function hasSymbols() { 7661 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } 7662 if (typeof Symbol.iterator === 'symbol') { return true; } 7663 7664 var obj = {}; 7665 var sym = Symbol('test'); 7666 var symObj = Object(sym); 7667 if (typeof sym === 'string') { return false; } 7668 7669 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } 7670 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } 7671 7672 // temp disabled per https://github.com/ljharb/object.assign/issues/17 7673 // if (sym instanceof Symbol) { return false; } 7674 // temp disabled per https://github.com/WebReflection/get-own-property-symbol
7674s/issues/4 7675 // if (!(symObj instanceof Symbol)) { return false; } 7676 7677 // if (typeof Symbol.prototype.toString !== 'function') { return false; } 7678 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } 7679 7680 var symVal = 42; 7681 obj[sym] = symVal; 7682 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop 7683 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } 7684 7685 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } 7686 7687 var syms = Object.getOwnPropertySymbols(obj); 7688 if (syms.length !== 1 || syms[0] !== sym) { return false; } 7689 7690 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } 7691 7692 if (typeof Object.getOwnPropertyDescriptor === 'function') { 7693 var descriptor = Object.getOwnPropertyDescriptor(obj, sym); 7694 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } 7695 } 7696 7697 return true; 7698 }; 7699 7700 var origSymbol = typeof Symbol !== 'undefined' && Symbol; 7701 7702 7703 var hasSymbols = function hasNativeSymbols() { 7704 if (typeof origSymbol !== 'function') { return false; } 7705 if (typeof Symbol !== 'function') { return false; } 7706 if (typeof origSymbol('foo') !== 'symbol') { return false; } 7707 if (typeof Symbol('bar') !== 'symbol') { return false; } 7708 7709 return shams(); 7710 }; 7711 7712 var src = functionBind.call(Function.call, Object.prototype.hasOwnProperty); 7713 7714 var undefined$1; 7715 7716 var $SyntaxError = SyntaxError; 7717 var $Function = Function; 7718 var $TypeError = TypeError; 7719 7720 // eslint-disable-next-line consistent-return 7721 var getEvalledConstructor = function (expressionSyntax) { 7722 try { 7723 return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); 7724 } catch (e) {} 7725 }; 7726 7727 var $gOPD = Object.getOwnPropertyDescriptor; 7728 if ($gOPD) { 7729 try { 7730 $gOPD({}, ''); 7731 } catch (e) { 7732 $gOPD = null; // this is IE 8, which has a broken gOPD 7733 } 7734 } 7735 7736 var throwTypeError = function () { 7737 throw new $TypeError(); 7738 }; 7739 var ThrowTypeError = $gOPD 7740 ? (function () { 7741 try { 7742 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties 7743 arguments.callee; // IE 8 does not throw here 7744 return throwTypeError; 7745 } catch (calleeThrows) { 7746 try { 7747 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') 7748 return $gOPD(arguments, 'callee').get; 7749 } catch (gOPDthrows) { 7750 return throwTypeError; 7751 } 7752 } 7753 }()) 7754 : throwTypeError; 7755 7756 var hasSymbols$1 = hasSymbols(); 7757 7758 var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto 7759 7760 var needsEval = {}; 7761 7762 var TypedArray = typeof Uint8Array === 'undefined' ? undefined$1 : getProto(Uint8Array); 7763 7764 var INTRINSICS = { 7765 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError, 7766 '%Array%': Array, 7767 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer, 7768 '%ArrayIteratorPrototype%': hasSymbols$1 ? getProto([][Symbol.iterator]()) : undefined$1, 7769 '%AsyncFromSyncIteratorPrototype%': undefined$1, 7770 '%AsyncFunction%': needsEval, 7771 '%AsyncGenerator%': needsEval, 7772 '%AsyncGeneratorFunction%': needsEval, 7773 '%AsyncIteratorPrototype%': needsEval, 7774 '%Atomics%': typeof Atomics === 'undefined' ? undefined$1 : Atomics, 7775 '%BigInt%': typeof BigInt === 'undefined' ? undefined$1 : BigInt, 7776 '%Boolean%': Boolean, 7777 '%DataView%': typeof DataView === 'undefined' ? undefined$1 : DataView, 7778 '%Date%': Date, 7779 '%decodeURI%': decodeURI, 7780 '%decodeURIComponent%': decodeURIComponent, 7781 '%encodeURI%': encodeURI, 7782 '%encodeURIComponent%': encodeURIComponent, 7783 '%Error%': Error, 7784 '%eval%': eval, // eslint-disable-line no-eval 7785 '%EvalError%': EvalError, 7786 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined$1 : Float32Array, 7787 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined$1 : Float64Array, 7788 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined$1 : FinalizationRegistry, 7789 '%Function%': $Function, 7790 '%GeneratorFunction%': needsEval,
7791 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined$1 : Int8Array, 7792 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined$1 : Int16Array, 7793 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array, 7794 '%isFinite%': isFinite, 7795 '%isNaN%': isNaN, 7796 '%IteratorPrototype%': hasSymbols$1 ? getProto(getProto([][Symbol.iterator]())) : undefined$1, 7797 '%JSON%': typeof JSON === 'object' ? JSON : undefined$1, 7798 '%Map%': typeof Map === 'undefined' ? undefined$1 : Map, 7799 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$1 ? undefined$1 : getProto(new Map()[Symbol.iterator]()), 7800 '%Math%': Math, 7801 '%Number%': Number, 7802 '%Object%': Object, 7803 '%parseFloat%': parseFloat, 7804 '%parseInt%': parseInt, 7805 '%Promise%': typeof Promise === 'undefined' ? undefined$1 : Promise, 7806 '%Proxy%': typeof Proxy === 'undefined' ? undefined$1 : Proxy, 7807 '%RangeError%': RangeError, 7808 '%ReferenceError%': ReferenceError, 7809 '%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect, 7810 '%RegExp%': RegExp, 7811 '%Set%': typeof Set === 'undefined' ? undefined$1 : Set, 7812 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$1 ? undefined$1 : getProto(new Set()[Symbol.iterator]()), 7813 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer, 7814 '%String%': String, 7815 '%StringIteratorPrototype%': hasSymbols$1 ? getProto(''[Symbol.iterator]()) : undefined$1, 7816 '%Symbol%': hasSymbols$1 ? Symbol : undefined$1, 7817 '%SyntaxError%': $SyntaxError, 7818 '%ThrowTypeError%': ThrowTypeError, 7819 '%TypedArray%': TypedArray, 7820 '%TypeError%': $TypeError, 7821 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined$1 : Uint8Array, 7822 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined$1 : Uint8ClampedArray, 7823 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined$1 : Uint16Array, 7824 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined$1 : Uint32Array, 7825 '%URIError%': URIError, 7826 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined$1 : WeakMap, 7827 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined$1 : WeakRef, 7828 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined$1 : WeakSet 7829 }; 7830 7831 var doEval = function doEval(name) { 7832 var value; 7833 if (name === '%AsyncFunction%') { 7834 value = getEvalledConstructor('async function () {}'); 7835 } else if (name === '%GeneratorFunction%') { 7836 value = getEvalledConstructor('function* () {}'); 7837 } else if (name === '%AsyncGeneratorFunction%') { 7838 value = getEvalledConstructor('async function* () {}'); 7839 } else if (name === '%AsyncGenerator%') { 7840 var fn = doEval('%AsyncGeneratorFunction%'); 7841 if (fn) { 7842 value = fn.prototype; 7843 } 7844 } else if (name === '%AsyncIteratorPrototype%') { 7845 var gen = doEval('%AsyncGenerator%'); 7846 if (gen) { 7847 value = getProto(gen.prototype); 7848 } 7849 } 7850 7851 INTRINSICS[name] = value; 7852 7853 return value; 7854 }; 7855 7856 var LEGACY_ALIASES = { 7857 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], 7858 '%ArrayPrototype%': ['Array', 'prototype'], 7859 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], 7860 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], 7861 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], 7862 '%ArrayProto_values%': ['Array', 'prototype', 'values'], 7863 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], 7864 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], 7865 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], 7866 '%BooleanPrototype%': ['Boolean', 'prototype'], 7867 '%DataViewPrototype%': ['DataView', 'prototype'], 7868 '%DatePrototype%': ['Date', 'prototype'], 7869 '%ErrorPrototype%': ['Error', 'prototype'], 7870 '%EvalErrorPrototype%': ['EvalError', 'prototype'], 7871 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], 7872 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], 7873 '%FunctionPrototype%': ['Function', 'prototype'], 7874 '%Generator%': ['GeneratorFunction', 'prototype'], 7875 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
vendor: 4,510 bytes, lines 7876-7977
7876 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], 7877 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], 7878 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], 7879 '%JSONParse%': ['JSON', 'parse'], 7880 '%JSONStringify%': ['JSON', 'stringify'], 7881 '%MapPrototype%': ['Map', 'prototype'], 7882 '%NumberPrototype%': ['Number', 'prototype'], 7883 '%ObjectPrototype%': ['Object', 'prototype'], 7884 '%ObjProto_toString%': ['Object', 'prototype', 'toString'], 7885 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], 7886 '%PromisePrototype%': ['Promise', 'prototype'], 7887 '%PromiseProto_then%': ['Promise', 'prototype', 'then'], 7888 '%Promise_all%': ['Promise', 'all'], 7889 '%Promise_reject%': ['Promise', 'reject'], 7890 '%Promise_resolve%': ['Promise', 'resolve'], 7891 '%RangeErrorPrototype%': ['RangeError', 'prototype'], 7892 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], 7893 '%RegExpPrototype%': ['RegExp', 'prototype'], 7894 '%SetPrototype%': ['Set', 'prototype'], 7895 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], 7896 '%StringPrototype%': ['String', 'prototype'], 7897 '%SymbolPrototype%': ['Symbol', 'prototype'], 7898 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], 7899 '%TypedArrayPrototype%': ['TypedArray', 'prototype'], 7900 '%TypeErrorPrototype%': ['TypeError', 'prototype'], 7901 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], 7902 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], 7903 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], 7904 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], 7905 '%URIErrorPrototype%': ['URIError', 'prototype'], 7906 '%WeakMapPrototype%': ['WeakMap', 'prototype'], 7907 '%WeakSetPrototype%': ['WeakSet', 'prototype'] 7908 }; 7909 7910 7911 7912 var $concat = functionBind.call(Function.call, Array.prototype.concat); 7913 var $spliceApply = functionBind.call(Function.apply, Array.prototype.splice); 7914 var $replace = functionBind.call(Function.call, String.prototype.replace); 7915 var $strSlice = functionBind.call(Function.call, String.prototype.slice); 7916 7917 /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ 7918 var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; 7919 var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ 7920 var stringToPath = function stringToPath(string) { 7921 var first = $strSlice(string, 0, 1); 7922 var last = $strSlice(string, -1); 7923 if (first === '%' && last !== '%') { 7924 throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); 7925 } else if (last === '%' && first !== '%') { 7926 throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); 7927 } 7928 var result = []; 7929 $replace(string, rePropName, function (match, number, quote, subString) { 7930 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; 7931 }); 7932 return result; 7933 }; 7934 /* end adaptation */ 7935 7936 var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { 7937 var intrinsicName = name; 7938 var alias; 7939 if (src(LEGACY_ALIASES, intrinsicName)) { 7940 alias = LEGACY_ALIASES[intrinsicName]; 7941 intrinsicName = '%' + alias[0] + '%'; 7942 } 7943 7944 if (src(INTRINSICS, intrinsicName)) { 7945 var value = INTRINSICS[intrinsicName]; 7946 if (value === needsEval) { 7947 value = doEval(intrinsicName); 7948 } 7949 if (typeof value === 'undefined' && !allowMissing) { 7950 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); 7951 } 7952 7953 return { 7954 alias: alias, 7955 name: intrinsicName, 7956 value: value 7957 }; 7958 } 7959 7960 throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); 7961 }; 7962 7963 var getIntrinsic = function GetIntrinsic(name, allowMissing) { 7964 if (typeof name !== 'string' || name.length === 0) { 7965 throw new $TypeError('intrinsic name must be a non-empty string'); 7966 } 7967 if (arguments.length > 1 && typeof allowMissing !== 'boolean') { 7968 throw new $TypeError('"allowMissing" argument must be a boolean'); 7969 } 7970 7971 var parts = stringToPath(name); 7972 var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; 7973 7974 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); 7975 var intrinsicRealName = intrinsic.name; 7976 var value = intrinsic.value; 7977 var skipFurtherCaching = false;
7978 7979 var alias = intrinsic.alias; 7980 if (alias) { 7981 intrinsicBaseName = alias[0]; 7982 $spliceApply(parts, $concat([0, 1], alias)); 7983 } 7984 7985 for (var i = 1, isOwn = true; i < parts.length; i += 1) { 7986 var part = parts[i]; 7987 var first = $strSlice(part, 0, 1); 7988 var last = $strSlice(part, -1); 7989 if ( 7990 ( 7991 (first === '"' || first === "'" || first === '`') 7992 || (last === '"' || last === "'" || last === '`') 7993 ) 7994 && first !== last 7995 ) { 7996 throw new $SyntaxError('property names with quotes must have matching quotes'); 7997 } 7998 if (part === 'constructor' || !isOwn) { 7999 skipFurtherCaching = true; 8000 } 8001 8002 intrinsicBaseName += '.' + part; 8003 intrinsicRealName = '%' + intrinsicBaseName + '%'; 8004 8005 if (src(INTRINSICS, intrinsicRealName)) { 8006 value = INTRINSICS[intrinsicRealName]; 8007 } else if (value != null) { 8008 if (!(part in value)) { 8009 if (!allowMissing) { 8010 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); 8011 } 8012 return void undefined$1; 8013 } 8014 if ($gOPD && (i + 1) >= parts.length) { 8015 var desc = $gOPD(value, part); 8016 isOwn = !!desc; 8017 8018 // By convention, when a data property is converted to an accessor 8019 // property to emulate a data property that does not suffer from 8020 // the override mistake, that accessor's getter is marked with 8021 // an `originalValue` property. Here, when we detect this, we 8022 // uphold the illusion by pretending to see that original data 8023 // property, i.e., returning the value rather than the getter 8024 // itself. 8025 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { 8026 value = desc.get; 8027 } else { 8028 value = value[part]; 8029 } 8030 } else { 8031 isOwn = src(value, part); 8032 value = value[part]; 8033 } 8034 8035 if (isOwn && !skipFurtherCaching) { 8036 INTRINSICS[intrinsicRealName] = value; 8037 } 8038 } 8039 } 8040 return value; 8041 }; 8042 8043 var callBind = createCommonjsModule(function (module) { 8044 8045 8046 8047 8048 var $apply = getIntrinsic('%Function.prototype.apply%'); 8049 var $call = getIntrinsic('%Function.prototype.call%'); 8050 var $reflectApply = getIntrinsic('%Reflect.apply%', true) || functionBind.call($call, $apply); 8051 8052 var $gOPD = getIntrinsic('%Object.getOwnPropertyDescriptor%', true); 8053 var $defineProperty = getIntrinsic('%Object.defineProperty%', true); 8054 var $max = getIntrinsic('%Math.max%'); 8055 8056 if ($defineProperty) { 8057 try { 8058 $defineProperty({}, 'a', { value: 1 }); 8059 } catch (e) { 8060 // IE 8 has a broken defineProperty 8061 $defineProperty = null; 8062 } 8063 } 8064 8065 module.exports = function callBind(originalFunction) { 8066 var func = $reflectApply(functionBind, $call, arguments); 8067 if ($gOPD && $defineProperty) { 8068 var desc = $gOPD(func, 'length'); 8069 if (desc.configurable) { 8070 // original length, plus the receiver, minus any additional arguments (after the receiver) 8071 $defineProperty( 8072 func, 8073 'length', 8074 { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } 8075 ); 8076 } 8077 } 8078 return func; 8079 }; 8080 8081 var applyBind = function applyBind() { 8082 return $reflectApply(functionBind, $apply, arguments); 8083 }; 8084 8085 if ($defineProperty) { 8086 $defineProperty(module.exports, 'apply', { value: applyBind }); 8087 } else { 8088 module.exports.apply = applyBind; 8089 } 8090 }); 8091 var callBind_1 = callBind.apply; 8092 8093 // TODO; semver-major: remove 8094 8095 var callBind$1 = callBind; 8096 8097 var toStr$1 = Object.prototype.toString; 8098 8099 var isArguments = function isArguments(value) { 8100 var str = toStr$1.call(value); 8101 var isArgs = str === '[object Arguments]'; 8102 if (!isArgs) { 8103 isArgs = str !== '[object Array]' && 8104 value !== null && 8105 typeof value === 'object' && 8106 typeof value.length === 'number' && 8107 value.length >= 0 && 8108 toStr$1.call(value.callee) === '[object Function]'; 8109 } 8110 return isArgs; 8111 }; 8112 8113 var keysShim; 8114 if (!Object.keys) { 8115 // modified from https://github.com/es-shims/es5-shim 8116 var has = Object.prototype.hasOwnProperty; 8117 var toStr$2 = Object.prototype.toString; 8118 var isArgs = isArguments; // eslint-disable-line global-require 8119 var isEnumerable = Object.prototype.propertyIsEnumerable; 8120 var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString'); 8121 var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype'); 8122 var dontEnums = [ 8123 'toString',
vendor: 4,351 bytes, lines 8124-8274
8124 'toLocaleString', 8125 'valueOf', 8126 'hasOwnProperty', 8127 'isPrototypeOf', 8128 'propertyIsEnumerable', 8129 'constructor' 8130 ]; 8131 var equalsConstructorPrototype = function (o) { 8132 var ctor = o.constructor; 8133 return ctor && ctor.prototype === o; 8134 }; 8135 var excludedKeys = { 8136 $applicationCache: true, 8137 $console: true, 8138 $external: true, 8139 $frame: true, 8140 $frameElement: true, 8141 $frames: true, 8142 $innerHeight: true, 8143 $innerWidth: true, 8144 $onmozfullscreenchange: true, 8145 $onmozfullscreenerror: true, 8146 $outerHeight: true, 8147 $outerWidth: true, 8148 $pageXOffset: true, 8149 $pageYOffset: true, 8150 $parent: true, 8151 $scrollLeft: true, 8152 $scrollTop: true, 8153 $scrollX: true, 8154 $scrollY: true, 8155 $self: true, 8156 $webkitIndexedDB: true, 8157 $webkitStorageInfo: true, 8158 $window: true 8159 }; 8160 var hasAutomationEqualityBug = (function () { 8161 /* global window */ 8162 if (typeof window === 'undefined') { return false; } 8163 for (var k in window) { 8164 try { 8165 if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') { 8166 try { 8167 equalsConstructorPrototype(window[k]); 8168 } catch (e) { 8169 return true; 8170 } 8171 } 8172 } catch (e) { 8173 return true; 8174 } 8175 } 8176 return false; 8177 }()); 8178 var equalsConstructorPrototypeIfNotBuggy = function (o) { 8179 /* global window */ 8180 if (typeof window === 'undefined' || !hasAutomationEqualityBug) { 8181 return equalsConstructorPrototype(o); 8182 } 8183 try { 8184 return equalsConstructorPrototype(o); 8185 } catch (e) { 8186 return false; 8187 } 8188 }; 8189 8190 keysShim = function keys(object) { 8191 var isObject = object !== null && typeof object === 'object'; 8192 var isFunction = toStr$2.call(object) === '[object Function]'; 8193 var isArguments = isArgs(object); 8194 var isString = isObject && toStr$2.call(object) === '[object String]'; 8195 var theKeys = []; 8196 8197 if (!isObject && !isFunction && !isArguments) { 8198 throw new TypeError('Object.keys called on a non-object'); 8199 } 8200 8201 var skipProto = hasProtoEnumBug && isFunction; 8202 if (isString && object.length > 0 && !has.call(object, 0)) { 8203 for (var i = 0; i < object.length; ++i) { 8204 theKeys.push(String(i)); 8205 } 8206 } 8207 8208 if (isArguments && object.length > 0) { 8209 for (var j = 0; j < object.length; ++j) { 8210 theKeys.push(String(j)); 8211 } 8212 } else { 8213 for (var name in object) { 8214 if (!(skipProto && name === 'prototype') && has.call(object, name)) { 8215 theKeys.push(String(name)); 8216 } 8217 } 8218 } 8219 8220 if (hasDontEnumBug) { 8221 var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); 8222 8223 for (var k = 0; k < dontEnums.length; ++k) { 8224 if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) { 8225 theKeys.push(dontEnums[k]); 8226 } 8227 } 8228 } 8229 return theKeys; 8230 }; 8231 } 8232 var implementation$1 = keysShim; 8233 8234 var slice$1 = Array.prototype.slice; 8235 8236 8237 var origKeys = Object.keys; 8238 var keysShim$1 = origKeys ? function keys(o) { return origKeys(o); } : implementation$1; 8239 8240 var originalKeys = Object.keys; 8241 8242 keysShim$1.shim = function shimObjectKeys() { 8243 if (Object.keys) { 8244 var keysWorksWithArguments = (function () { 8245 // Safari 5.0 bug 8246 var args = Object.keys(arguments); 8247 return args && args.length === arguments.length; 8248 }(1, 2)); 8249 if (!keysWorksWithArguments) { 8250 Object.keys = function keys(object) { // eslint-disable-line func-name-matching 8251 if (isArguments(object)) { 8252 return originalKeys(slice$1.call(object)); 8253 } 8254 return originalKeys(object); 8255 }; 8256 } 8257 } else { 8258 Object.keys = keysShim$1; 8259 } 8260 return Object.keys || keysShim$1; 8261 }; 8262 8263 var objectKeys = keysShim$1; 8264 8265 var $defineProperty = getIntrinsic('%Object.defineProperty%', true); 8266 8267 var hasPropertyDescriptors = function hasPropertyDescriptors() { 8268 if ($defineProperty) { 8269 try { 8270 $defineProperty({}, 'a', { value: 1 }); 8271 return true; 8272 } catch (e) { 8273 // IE 8 has a broken defineProperty 8274 return false;
8275 } 8276 } 8277 return false; 8278 }; 8279 8280 hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { 8281 // node v0.6 has a bug where array lengths can be Set but not Defined 8282 if (!hasPropertyDescriptors()) { 8283 return null; 8284 } 8285 try { 8286 return $defineProperty([], 'length', { value: 1 }).length !== 1; 8287 } catch (e) { 8288 // In Firefox 4-22, defining length on an array throws an exception. 8289 return true; 8290 } 8291 }; 8292 8293 var hasPropertyDescriptors_1 = hasPropertyDescriptors; 8294 8295 var hasSymbols$2 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol'; 8296 8297 var toStr$3 = Object.prototype.toString; 8298 var concat = Array.prototype.concat; 8299 var origDefineProperty = Object.defineProperty; 8300 8301 var isFunction = function (fn) { 8302 return typeof fn === 'function' && toStr$3.call(fn) === '[object Function]'; 8303 }; 8304 8305 var hasPropertyDescriptors$1 = hasPropertyDescriptors_1(); 8306 8307 var supportsDescriptors = origDefineProperty && hasPropertyDescriptors$1; 8308 8309 var defineProperty = function (object, name, value, predicate) { 8310 if (name in object && (!isFunction(predicate) || !predicate())) { 8311 return; 8312 } 8313 if (supportsDescriptors) { 8314 origDefineProperty(object, name, { 8315 configurable: true, 8316 enumerable: false, 8317 value: value, 8318 writable: true 8319 }); 8320 } else { 8321 object[name] = value; // eslint-disable-line no-param-reassign 8322 } 8323 }; 8324 8325 var defineProperties = function (object, map) { 8326 var predicates = arguments.length > 2 ? arguments[2] : {}; 8327 var props = objectKeys(map); 8328 if (hasSymbols$2) { 8329 props = concat.call(props, Object.getOwnPropertySymbols(map)); 8330 } 8331 for (var i = 0; i < props.length; i += 1) { 8332 defineProperty(object, props[i], map[props[i]], predicates[props[i]]); 8333 } 8334 }; 8335 8336 defineProperties.supportsDescriptors = !!supportsDescriptors; 8337 8338 var defineProperties_1 = defineProperties; 8339 8340 var $TypeError$1 = getIntrinsic('%TypeError%'); 8341 8342 // http://262.ecma-international.org/5.1/#sec-9.10 8343 8344 var CheckObjectCoercible = function CheckObjectCoercible(value, optMessage) { 8345 if (value == null) { 8346 throw new $TypeError$1(optMessage || ('Cannot call method on ' + value)); 8347 } 8348 return value; 8349 }; 8350 8351 var RequireObjectCoercible = CheckObjectCoercible; 8352 8353 var $String = getIntrinsic('%String%'); 8354 var $TypeError$2 = getIntrinsic('%TypeError%'); 8355 8356 // https://ecma-international.org/ecma-262/6.0/#sec-tostring 8357 8358 var ToString = function ToString(argument) { 8359 if (typeof argument === 'symbol') { 8360 throw new $TypeError$2('Cannot convert a Symbol value to a string'); 8361 } 8362 return $String(argument); 8363 }; 8364 8365 var $abs = getIntrinsic('%Math.abs%'); 8366 8367 // http://262.ecma-international.org/5.1/#sec-5.2 8368 8369 var abs = function abs(x) { 8370 return $abs(x); 8371 }; 8372 8373 // var modulo = require('./modulo'); 8374 var $floor = Math.floor; 8375 8376 // http://262.ecma-international.org/5.1/#sec-5.2 8377 8378 var floor$1 = function floor(x) { 8379 // return x - modulo(x, 1); 8380 return $floor(x); 8381 }; 8382 8383 var isPrimitive = function isPrimitive(value) { 8384 return value === null || (typeof value !== 'function' && typeof value !== 'object'); 8385 }; 8386 8387 var fnToStr = Function.prototype.toString; 8388 var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply; 8389 var badArrayLike; 8390 var isCallableMarker; 8391 if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') { 8392 try { 8393 badArrayLike = Object.defineProperty({}, 'length', { 8394 get: function () { 8395 throw isCallableMarker; 8396 } 8397 }); 8398 isCallableMarker = {}; 8399 // eslint-disable-next-line no-throw-literal 8400 reflectApply(function () { throw 42; }, null, badArrayLike); 8401 } catch (_) { 8402 if (_ !== isCallableMarker) { 8403 reflectApply = null; 8404 } 8405 } 8406 } else { 8407 reflectApply = null; 8408 } 8409 8410 var constructorRegex = /^\s*class\b/; 8411 var isES6ClassFn = function isES6ClassFunction(value) { 8412 try { 8413 var fnStr = fnToStr.call(value); 8414 return constructorRegex.test(fnStr); 8415 } catch (e) { 8416 return false; // not a function 8417 } 8418 }; 8419 8420 var tryFunctionObject = function tryFunctionToStr(value) { 8421 try { 8422 if (isES6ClassFn(value)) { return false; } 8423 fnToStr.call(value); 8424 return true; 8425 } catch (e) { 8426 return false;
8427 } 8428 }; 8429 var toStr$4 = Object.prototype.toString; 8430 var fnClass = '[object Function]'; 8431 var genClass = '[object GeneratorFunction]'; 8432 var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag` 8433 /* globals document: false */ 8434 var documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {}; 8435 8436 var isCallable = reflectApply 8437 ? function isCallable(value) { 8438 if (value === documentDotAll) { return true; } 8439 if (!value) { return false; } 8440 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 8441 if (typeof value === 'function' && !value.prototype) { return true; } 8442 try { 8443 reflectApply(value, null, badArrayLike); 8444 } catch (e) { 8445 if (e !== isCallableMarker) { return false; } 8446 } 8447 return !isES6ClassFn(value); 8448 } 8449 : function isCallable(value) { 8450 if (value === documentDotAll) { return true; } 8451 if (!value) { return false; } 8452 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 8453 if (typeof value === 'function' && !value.prototype) { return true; } 8454 if (hasToStringTag) { return tryFunctionObject(value); } 8455 if (isES6ClassFn(value)) { return false; } 8456 var strClass = toStr$4.call(value); 8457 return strClass === fnClass || strClass === genClass; 8458 }; 8459 8460 var toStr$5 = Object.prototype.toString; 8461 8462 8463 8464 8465 8466 // http://ecma-international.org/ecma-262/5.1/#sec-8.12.8 8467 var ES5internalSlots = { 8468 '[[DefaultValue]]': function (O) { 8469 var actualHint; 8470 if (arguments.length > 1) { 8471 actualHint = arguments[1]; 8472 } else { 8473 actualHint = toStr$5.call(O) === '[object Date]' ? String : Number; 8474 } 8475 8476 if (actualHint === String || actualHint === Number) { 8477 var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString']; 8478 var value, i; 8479 for (i = 0; i < methods.length; ++i) { 8480 if (isCallable(O[methods[i]])) { 8481 value = O[methods[i]](); 8482 if (isPrimitive(value)) { 8483 return value; 8484 } 8485 } 8486 } 8487 throw new TypeError('No default value'); 8488 } 8489 throw new TypeError('invalid [[DefaultValue]] hint supplied'); 8490 } 8491 }; 8492 8493 // http://ecma-international.org/ecma-262/5.1/#sec-9.1 8494 var es5 = function ToPrimitive(input) { 8495 if (isPrimitive(input)) { 8496 return input; 8497 } 8498 if (arguments.length > 1) { 8499 return ES5internalSlots['[[DefaultValue]]'](input, arguments[1]); 8500 } 8501 return ES5internalSlots['[[DefaultValue]]'](input); 8502 }; 8503 8504 // http://262.ecma-international.org/5.1/#sec-9.1 8505 8506 var ToPrimitive = es5; 8507 8508 // http://262.ecma-international.org/5.1/#sec-9.3 8509 8510 var ToNumber = function ToNumber(value) { 8511 var prim = ToPrimitive(value, Number); 8512 if (typeof prim !== 'string') { 8513 return +prim; // eslint-disable-line no-implicit-coercion 8514 } 8515 8516 // eslint-disable-next-line no-control-regex 8517 var trimmed = prim.replace(/^[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+|[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+$/g, ''); 8518 if ((/^0[ob]|^[+-]0x/).test(trimmed)) { 8519 return NaN; 8520 } 8521 8522 return +trimmed; // eslint-disable-line no-implicit-coercion 8523 }; 8524 8525 var _isNaN = Number.isNaN || function isNaN(a) { 8526 return a !== a; 8527 }; 8528 8529 var $isNaN = Number.isNaN || function (a) { return a !== a; }; 8530 8531 var _isFinite = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; }; 8532 8533 var sign = function sign(number) { 8534 return number >= 0 ? 1 : -1; 8535 }; 8536 8537 // http://262.ecma-international.org/5.1/#sec-9.4 8538 8539 var ToInteger = function ToInteger(value) { 8540 var number = ToNumber(value); 8541 if (_isNaN(number)) { return 0; } 8542 if (number === 0 || !_isFinite(number)) { return number; } 8543 return sign(number) * floor$1(abs(number)); 8544 }; 8545 8546 var $indexOf = callBind(getIntrinsic('String.prototype.indexOf')); 8547 8548 var callBound = function callBoundIntrinsic(name, allowMissing) { 8549 var intrinsic = getIntrinsic(name, !!allowMissing); 8550 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 8551 return callBind(intrinsic); 8552 } 8553 return intrinsic; 8554 }; 8555 8556 var $exec = callBound('RegExp.prototype.exec'); 8557 8558 var regexTester = function regexTester(regex) { 8559 return function test(s) { return $exec(regex, s) !== null; }; 8560 }; 8561 8562 var isPrimitive$1 = function isPrimitive(value) { 8563 return value === null || (typeof value !== 'function' && typeof value !== 'object'); 8564 }; 8565 8566 var shams$1 = function hasToStringTagShams() { 8567 return shams() && !!Symbol.toStringTag; 8568 }; 8569 8570 var getDay = Date.prototype.getDay; 8571 var tryDateObject = function tryDateGetDayCall(value) { 8572 try { 8573 getDay.call(value); 8574 return true; 8575 } catch (e) { 8576 return false;
8577 } 8578 }; 8579 8580 var toStr$6 = Object.prototype.toString; 8581 var dateClass = '[object Date]'; 8582 var hasToStringTag$1 = shams$1(); 8583 8584 var isDateObject = function isDateObject(value) { 8585 if (typeof value !== 'object' || value === null) { 8586 return false; 8587 } 8588 return hasToStringTag$1 ? tryDateObject(value) : toStr$6.call(value) === dateClass; 8589 }; 8590 8591 var isSymbol = createCommonjsModule(function (module) { 8592 8593 var toStr = Object.prototype.toString; 8594 var hasSymbols$1 = hasSymbols(); 8595 8596 if (hasSymbols$1) { 8597 var symToStr = Symbol.prototype.toString; 8598 var symStringRegex = /^Symbol\(.*\)$/; 8599 var isSymbolObject = function isRealSymbolObject(value) { 8600 if (typeof value.valueOf() !== 'symbol') { 8601 return false; 8602 } 8603 return symStringRegex.test(symToStr.call(value)); 8604 }; 8605 8606 module.exports = function isSymbol(value) { 8607 if (typeof value === 'symbol') { 8608 return true; 8609 } 8610 if (toStr.call(value) !== '[object Symbol]') { 8611 return false; 8612 } 8613 try { 8614 return isSymbolObject(value); 8615 } catch (e) { 8616 return false; 8617 } 8618 }; 8619 } else { 8620 8621 module.exports = function isSymbol(value) { 8622 // this environment does not support Symbols. 8623 return false ; 8624 }; 8625 } 8626 }); 8627 8628 var hasSymbols$3 = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'; 8629 8630 8631 8632 8633 8634 8635 var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) { 8636 if (typeof O === 'undefined' || O === null) { 8637 throw new TypeError('Cannot call method on ' + O); 8638 } 8639 if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) { 8640 throw new TypeError('hint must be "string" or "number"'); 8641 } 8642 var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString']; 8643 var method, result, i; 8644 for (i = 0; i < methodNames.length; ++i) { 8645 method = O[methodNames[i]]; 8646 if (isCallable(method)) { 8647 result = method.call(O); 8648 if (isPrimitive(result)) { 8649 return result; 8650 } 8651 } 8652 } 8653 throw new TypeError('No default value'); 8654 }; 8655 8656 var GetMethod = function GetMethod(O, P) { 8657 var func = O[P]; 8658 if (func !== null && typeof func !== 'undefined') { 8659 if (!isCallable(func)) { 8660 throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function'); 8661 } 8662 return func; 8663 } 8664 return void 0; 8665 }; 8666 8667 // http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive 8668 var es2015 = function ToPrimitive(input) { 8669 if (isPrimitive(input)) { 8670 return input; 8671 } 8672 var hint = 'default'; 8673 if (arguments.length > 1) { 8674 if (arguments[1] === String) { 8675 hint = 'string'; 8676 } else if (arguments[1] === Number) { 8677 hint = 'number'; 8678 } 8679 } 8680 8681 var exoticToPrim; 8682 if (hasSymbols$3) { 8683 if (Symbol.toPrimitive) { 8684 exoticToPrim = GetMethod(input, Symbol.toPrimitive); 8685 } else if (isSymbol(input)) { 8686 exoticToPrim = Symbol.prototype.valueOf; 8687 } 8688 } 8689 if (typeof exoticToPrim !== 'undefined') { 8690 var result = exoticToPrim.call(input, hint); 8691 if (isPrimitive(result)) { 8692 return result; 8693 } 8694 throw new TypeError('unable to convert exotic object to primitive'); 8695 } 8696 if (hint === 'default' && (isDateObject(input) || isSymbol(input))) { 8697 hint = 'string'; 8698 } 8699 return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint); 8700 }; 8701 8702 // https://ecma-international.org/ecma-262/6.0/#sec-toprimitive 8703 8704 var ToPrimitive$1 = function ToPrimitive(input) { 8705 if (arguments.length > 1) { 8706 return es2015(input, arguments[1]); 8707 } 8708 return es2015(input); 8709 }; 8710 8711 var $TypeError$3 = getIntrinsic('%TypeError%'); 8712 var $Number = getIntrinsic('%Number%'); 8713 var $RegExp = getIntrinsic('%RegExp%'); 8714 var $parseInteger = getIntrinsic('%parseInt%'); 8715 8716 8717 8718 8719 8720 var $strSlice$1 = callBound('String.prototype.slice'); 8721 var isBinary = regexTester(/^0b[01]+$/i); 8722 var isOctal = regexTester(/^0o[0-7]+$/i); 8723 var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); 8724 var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); 8725 var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); 8726 var hasNonWS = regexTester(nonWSregex); 8727 8728 // whitespace from: https://es5.github.io/#x15.5.4.20 8729 // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 8730 var ws = [ 8731 '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', 8732 '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', 8733 '\u2029\uFEFF' 8734 ].join(''); 8735 var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); 8736 var $replace$1 = callBound('String.prototype.replace'); 8737 var $trim = function (value) { 8738 return $replace$1(value, trimRegex, ''); 8739 }; 8740 8741 8742 8743 // https://ecma-international.org/ecma-262/6.0/#sec-tonumber 8744 8745 var ToNumber$1 = function ToNumber(argument) { 8746 var value = isPrimitive$1(argument) ? argument : ToPrimitive$1(argument, $Number); 8747 if (typeof value === 'symbol') { 8748 throw new $TypeError$3('Cannot convert a Symbol value to a number'); 8749 } 8750 if (typeof value === 'string') { 8751 if (isBinary(value)) { 8752 return ToNumber($parseInteger($strSlice$1(value, 2), 2)); 8753 } else if (isOctal(value)) { 8754 return ToNumber($parseInteger($strSlice$1(value, 2), 8)); 8755 } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { 8756 return NaN; 8757 } 8758 var trimmed = $trim(value); 8759 if (trimmed !== value) { 8760 return ToNumber(trimmed); 8761 } 8762 8763 } 8764 return $Number(value); 8765 }; 8766 8767 // https://ecma-international.org/ecma-262/6.0/#sec-tointeger 8768 8769 var ToInteger$1 = function ToInteger$1(value) { 8770 var number = ToNumber$1(value); 8771 return ToInteger(number); 8772 }; 8773 8774 var implementation$2 = function repeat(count) { 8775 var O = RequireObjectCoercible(this); 8776 var string = ToString(O); 8777 var n = ToInteger$1(count); 8778 // Account for out-of-bounds indices 8779 if (n < 0 || n == Infinity) { 8780 throw RangeError('String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity'); 8781 } 8782 8783 var result = ''; 8784 while (n) { 8785 if (n % 2 == 1) { 8786 result += string; 8787 } 8788 if (n > 1) { 8789 string += string; 8790 } 8791 n >>= 1; 8792 } 8793 return result; 8794 }; 8795 8796 var polyfill = function getPolyfill() { 8797 return String.prototype.repeat || implementation$2; 8798 }; 8799 8800 var shim = function shimRepeat() { 8801 var polyfill$1 = polyfill(); 8802 8803 if (String.prototype.repeat !== polyfill$1) { 8804 defineProperties_1(String.prototype, { repeat: polyfill$1 }); 8805 } 8806 8807 return polyfill$1; 8808 }; 8809 8810 var boundRepeat = callBind$1(polyfill()); 8811 8812 defineProperties_1(boundRepeat, { 8813 getPolyfill: polyfill, 8814 implementation: implementation$2, 8815 shim: shim 8816 }); 8817 8818 var normalizeURI$1 = normalizeURI; 8819 var unescapeString$1 = unescapeString; 8820 8821 // Constants for character codes: 8822 8823 var C_NEWLINE = 10; 8824 var C_ASTERISK = 42; 8825 var C_UNDERSCORE = 95; 8826 var C_BACKTICK = 96; 8827 var C_OPEN_BRACKET = 91; 8828 var C_CLOSE_BRACKET = 93; 8829 var C_LESSTHAN = 60; 8830 var C_BANG = 33; 8831 var C_BACKSLASH$1 = 92; 8832 var C_AMPERSAND = 38; 8833 var C_OPEN_PAREN = 40; 8834 var C_CLOSE_PAREN = 41; 8835 var C_COLON = 58; 8836 var C_SINGLEQUOTE = 39; 8837 var C_DOUBLEQUOTE = 34; 8838 8839 // Some regexps used in inline parser: 8840 8841 var ESCAPABLE$1 = ESCAPABLE; 8842 var ESCAPED_CHAR = "\\\\" + ESCAPABLE$1; 8843 8844 var ENTITY$1 = ENTITY; 8845 var reHtmlTag$1 = reHtmlTag; 8846 8847 var rePunctuation = new RegExp( 8848 /^[!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~\p{P}\p{S}]/u); 8849 8850 var reLinkTitle = new RegExp( 8851 '^(?:"(' + 8852 ESCAPED_CHAR + 8853 '|\\\\[^\\\\]' + 8854 '|[^\\\\"\\x00])*"' + 8855 "|" + 8856 "'(" + 8857 ESCAPED_CHAR + 8858 '|\\\\[^\\\\]' + 8859 "|[^\\\\'\\x00])*'" + 8860 "|" + 8861 "\\((" + 8862 ESCAPED_CHAR + 8863 '|\\\\[^\\\\]' + 8864 "|[^\\\\()\\x00])*\\))" 8865 ); 8866 8867 var reLinkDestinationBraces = /^(?:<(?:[^<>\n\\\x00]|\\.)*>)/; 8868 8869 var reEscapable = new RegExp("^" + ESCAPABLE$1); 8870 8871 var reEntityHere = new RegExp("^" + ENTITY$1, "i"); 8872 8873 var reTicks = /`+/; 8874 8875 var reTicksHere = /^`+/; 8876 8877 var reEllipses = /\.\.\./g; 8878 8879 var reDash = /--+/g; 8880 8881 var reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/; 8882 8883 var reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i; 8884 8885 var reSpnl = /^ *(?:\n *)?/; 8886 8887 var reWhitespaceChar = /^[ \t\n\x0b\x0c\x0d]/; 8888 8889 var reUnicodeWhitespaceChar = /^\s/; 8890 8891 var reFinalSpace = / *$/; 8892 8893 var reInitialSpace = /^ */; 8894 8895 var reSpaceAtEndOfLine = /^ *(?:\n|$)/; 8896 8897 var reLinkLabel = /^\[(?:[^\\\[\]]|\\.){0,1000}\]/s; 8898 8899 // Matches a string of non-special characters. 8900 var reMain = /^[^\n`\[\]\\!<&*_'"]+/m; 8901 8902 var text = function(s) { 8903 var node = new Node("text"); 8904 node._literal = s; 8905 return node; 8906 }; 8907 8908 // normalize a reference in reference link (remove []s, trim, 8909 // collapse internal space, unicode case fold.
8910 // See commonmark/commonmark.js#168. 8911 var normalizeReference = function(string) { 8912 return string 8913 .slice(1, string.length - 1) 8914 .trim() 8915 .replace(/[ \t\r\n]+/g, " ") 8916 .toLowerCase() 8917 .toUpperCase(); 8918 }; 8919 8920 // INLINE PARSER 8921 8922 // These are methods of an InlineParser object, defined below. 8923 // An InlineParser keeps track of a subject (a string to be 8924 // parsed) and a position in that subject. 8925 8926 // If re matches at current position in the subject, advance 8927 // position in subject and return the match; otherwise return null. 8928 var match = function(re) { 8929 var m = re.exec(this.subject.slice(this.pos)); 8930 if (m === null) { 8931 return null; 8932 } else { 8933 this.pos += m.index + m[0].length; 8934 return m[0]; 8935 } 8936 }; 8937 8938 // Returns the code for the character at the current subject position, or -1 8939 // there are no more characters. 8940 var peek = function() { 8941 if (this.pos < this.subject.length) { 8942 return this.subject.charCodeAt(this.pos); 8943 } else { 8944 return -1; 8945 } 8946 }; 8947 8948 // Parse zero or more space characters, including at most one newline 8949 var spnl = function() { 8950 this.match(reSpnl); 8951 return true; 8952 }; 8953 8954 // All of the parsers below try to match something at the current position 8955 // in the subject. If they succeed in matching anything, they 8956 // return the inline matched, advancing the subject. 8957 8958 // Attempt to parse backticks, adding either a backtick code span or a 8959 // literal sequence of backticks. 8960 var parseBackticks = function(block) { 8961 var ticks = this.match(reTicksHere); 8962 if (ticks === null) { 8963 return false; 8964 } 8965 var afterOpenTicks = this.pos; 8966 var matched; 8967 var node; 8968 var contents; 8969 while ((matched = this.match(reTicks)) !== null) { 8970 if (matched === ticks) { 8971 node = new Node("code"); 8972 contents = this.subject 8973 .slice(afterOpenTicks, this.pos - ticks.length) 8974 .replace(/\n/gm, " "); 8975 if ( 8976 contents.length > 0 && 8977 contents.match(/[^ ]/) !== null && 8978 contents[0] == " " && 8979 contents[contents.length - 1] == " " 8980 ) { 8981 node._literal = contents.slice(1, contents.length - 1); 8982 } else { 8983 node._literal = contents; 8984 } 8985 block.appendChild(node); 8986 return true; 8987 } 8988 } 8989 // If we got here, we didn't match a closing backtick sequence. 8990 this.pos = afterOpenTicks; 8991 block.appendChild(text(ticks)); 8992 return true; 8993 }; 8994 8995 // Parse a backslash-escaped special character, adding either the escaped 8996 // character, a hard line break (if the backslash is followed by a newline), 8997 // or a literal backslash to the block's children. Assumes current character 8998 // is a backslash. 8999 var parseBackslash = function(block) { 9000 var subj = this.subject; 9001 var node; 9002 this.pos += 1; 9003 if (this.peek() === C_NEWLINE) { 9004 this.pos += 1; 9005 node = new Node("linebreak"); 9006 block.appendChild(node); 9007 } else if (reEscapable.test(subj.charAt(this.pos))) { 9008 block.appendChild(text(subj.charAt(this.pos))); 9009 this.pos += 1; 9010 } else { 9011 block.appendChild(text("\\")); 9012 } 9013 return true; 9014 }; 9015 9016 // Attempt to parse an autolink (URL or email in pointy brackets). 9017 var parseAutolink = function(block) { 9018 var m; 9019 var dest; 9020 var node; 9021 if ((m = this.match(reEmailAutolink))) { 9022 dest = m.slice(1, m.length - 1); 9023 node = new Node("link"); 9024 node._destination = normalizeURI$1("mailto:" + dest); 9025 node._title = ""; 9026 node.appendChild(text(dest)); 9027 block.appendChild(node); 9028 return true; 9029 } else if ((m = this.match(reAutolink))) { 9030 dest = m.slice(1, m.length - 1); 9031 node = new Node("link"); 9032 node._destination = normalizeURI$1(dest); 9033 node._title = ""; 9034 node.appendChild(text(dest)); 9035 block.appendChild(node); 9036 return true; 9037 } else { 9038 return false;
9039 } 9040 }; 9041 9042 // Attempt to parse a raw HTML tag. 9043 var parseHtmlTag = function(block) { 9044 var m = this.match(reHtmlTag$1); 9045 if (m === null) { 9046 return false; 9047 } else { 9048 var node = new Node("html_inline"); 9049 node._literal = m; 9050 block.appendChild(node); 9051 return true; 9052 } 9053 }; 9054 9055 // Scan a sequence of characters with code cc, and return information about 9056 // the number of delimiters and whether they are positioned such that 9057 // they can open and/or close emphasis or strong emphasis. A utility 9058 // function for strong/emph parsing. 9059 var scanDelims = function(cc) { 9060 var numdelims = 0; 9061 var char_before, char_after, cc_after; 9062 var startpos = this.pos; 9063 var left_flanking, right_flanking, can_open, can_close; 9064 var after_is_whitespace, 9065 after_is_punctuation, 9066 before_is_whitespace, 9067 before_is_punctuation; 9068 9069 if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) { 9070 numdelims++; 9071 this.pos++; 9072 } else { 9073 while (this.peek() === cc) { 9074 numdelims++; 9075 this.pos++; 9076 } 9077 } 9078 9079 if (numdelims === 0) { 9080 return null; 9081 } 9082 9083 char_before = startpos === 0 ? "\n" : this.subject.charAt(startpos - 1); 9084 9085 cc_after = this.peek(); 9086 if (cc_after === -1) { 9087 char_after = "\n"; 9088 } else { 9089 char_after = fromCodePoint(cc_after); 9090 } 9091 9092 after_is_whitespace = reUnicodeWhitespaceChar.test(char_after); 9093 after_is_punctuation = rePunctuation.test(char_after); 9094 before_is_whitespace = reUnicodeWhitespaceChar.test(char_before); 9095 before_is_punctuation = rePunctuation.test(char_before); 9096 9097 left_flanking = 9098 !after_is_whitespace && 9099 (!after_is_punctuation || 9100 before_is_whitespace || 9101 before_is_punctuation); 9102 right_flanking = 9103 !before_is_whitespace && 9104 (!before_is_punctuation || after_is_whitespace || after_is_punctuation); 9105 if (cc === C_UNDERSCORE) { 9106 can_open = left_flanking && (!right_flanking || before_is_punctuation); 9107 can_close = right_flanking && (!left_flanking || after_is_punctuation); 9108 } else if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) { 9109 can_open = left_flanking && !right_flanking; 9110 can_close = right_flanking; 9111 } else { 9112 can_open = left_flanking; 9113 can_close = right_flanking; 9114 } 9115 this.pos = startpos; 9116 return { numdelims: numdelims, can_open: can_open, can_close: can_close }; 9117 }; 9118 9119 // Handle a delimiter marker for emphasis or a quote. 9120 var handleDelim = function(cc, block) { 9121 var res = this.scanDelims(cc); 9122 if (!res) { 9123 return false; 9124 } 9125 var numdelims = res.numdelims; 9126 var startpos = this.pos; 9127 var contents; 9128 9129 this.pos += numdelims; 9130 if (cc === C_SINGLEQUOTE) { 9131 contents = "\u2019"; 9132 } else if (cc === C_DOUBLEQUOTE) { 9133 contents = "\u201C"; 9134 } else { 9135 contents = this.subject.slice(startpos, this.pos); 9136 } 9137 var node = text(contents); 9138 block.appendChild(node); 9139 9140 // Add entry to stack for this opener 9141 if ( 9142 (res.can_open || res.can_close) && 9143 (this.options.smart || (cc !== C_SINGLEQUOTE && cc !== C_DOUBLEQUOTE)) 9144 ) { 9145 this.delimiters = { 9146 cc: cc, 9147 numdelims: numdelims, 9148 origdelims: numdelims, 9149 node: node, 9150 previous: this.delimiters, 9151 next: null, 9152 can_open: res.can_open, 9153 can_close: res.can_close 9154 }; 9155 if (this.delimiters.previous !== null) { 9156 this.delimiters.previous.next = this.delimiters; 9157 } 9158 } 9159 9160 return true; 9161 }; 9162 9163 var removeDelimiter = function(delim) { 9164 if (delim.previous !== null) { 9165 delim.previous.next = delim.next; 9166 } 9167 if (delim.next === null) { 9168 // top of stack 9169 this.delimiters = delim.previous; 9170 } else { 9171 delim.next.previous = delim.previous; 9172 } 9173 }; 9174 9175 var removeDelimitersBetween = function(bottom, top) { 9176 if (bottom.next !== top) { 9177 bottom.next = top; 9178 top.previous = bottom; 9179 } 9180 }; 9181
9182 var processEmphasis = function(stack_bottom) { 9183 var opener, closer, old_closer; 9184 var opener_inl, closer_inl; 9185 var tempstack; 9186 var use_delims; 9187 var tmp, next; 9188 var opener_found; 9189 var openers_bottom = []; 9190 var openers_bottom_index; 9191 var odd_match = false; 9192 9193 for (var i = 0; i < 14; i++) { 9194 openers_bottom[i] = stack_bottom; 9195 } 9196 // find first closer above stack_bottom: 9197 closer = this.delimiters; 9198 while (closer !== null && closer.previous !== stack_bottom) { 9199 closer = closer.previous; 9200 } 9201 // move forward, looking for closers, and handling each 9202 while (closer !== null) { 9203 var closercc = closer.cc; 9204 if (!closer.can_close) { 9205 closer = closer.next; 9206 } else { 9207 // found emphasis closer. now look back for first matching opener: 9208 opener = closer.previous; 9209 opener_found = false; 9210 switch (closercc) { 9211 case C_SINGLEQUOTE: 9212 openers_bottom_index = 0; 9213 break; 9214 case C_DOUBLEQUOTE: 9215 openers_bottom_index = 1; 9216 break; 9217 case C_UNDERSCORE: 9218 openers_bottom_index = 2 + (closer.can_open ? 3 : 0) 9219 + (closer.origdelims % 3); 9220 break; 9221 case C_ASTERISK: 9222 openers_bottom_index = 8 + (closer.can_open ? 3 : 0) 9223 + (closer.origdelims % 3); 9224 break; 9225 } 9226 while ( 9227 opener !== null && 9228 opener !== stack_bottom && 9229 opener !== openers_bottom[openers_bottom_index] 9230 ) { 9231 odd_match = 9232 (closer.can_open || opener.can_close) && 9233 closer.origdelims % 3 !== 0 && 9234 (opener.origdelims + closer.origdelims) % 3 === 0; 9235 if (opener.cc === closer.cc && opener.can_open && !odd_match) { 9236 opener_found = true; 9237 break; 9238 } 9239 opener = opener.previous; 9240 } 9241 old_closer = closer; 9242 9243 if (closercc === C_ASTERISK || closercc === C_UNDERSCORE) { 9244 if (!opener_found) { 9245 closer = closer.next; 9246 } else { 9247 // calculate actual number of delimiters used from closer 9248 use_delims = 9249 closer.numdelims >= 2 && opener.numdelims >= 2 ? 2 : 1; 9250 9251 opener_inl = opener.node; 9252 closer_inl = closer.node; 9253 9254 // remove used delimiters from stack elts and inlines 9255 opener.numdelims -= use_delims; 9256 closer.numdelims -= use_delims; 9257 opener_inl._literal = opener_inl._literal.slice( 9258 0, 9259 opener_inl._literal.length - use_delims 9260 ); 9261 closer_inl._literal = closer_inl._literal.slice( 9262 0, 9263 closer_inl._literal.length - use_delims 9264 ); 9265 9266 // build contents for new emph element 9267 var emph = new Node(use_delims === 1 ? "emph" : "strong"); 9268 9269 tmp = opener_inl._next; 9270 while (tmp && tmp !== closer_inl) { 9271 next = tmp._next; 9272 tmp.unlink(); 9273 emph.appendChild(tmp); 9274 tmp = next; 9275 } 9276 9277 opener_inl.insertAfter(emph); 9278 9279 // remove elts between opener and closer in delimiters stack 9280 removeDelimitersBetween(opener, closer); 9281 9282 // if opener has 0 delims, remove it and the inline 9283 if (opener.numdelims === 0) { 9284 opener_inl.unlink(); 9285 this.removeDelimiter(opener); 9286 } 9287 9288 if (closer.numdelims === 0) { 9289 closer_inl.unlink(); 9290 tempstack = closer.next; 9291 this.removeDelimiter(closer); 9292 closer = tempstack; 9293 } 9294 } 9295 } else if (closercc === C_SINGLEQUOTE) { 9296 closer.node._literal = "\u2019"; 9297 if (opener_found) { 9298 opener.node._literal = "\u2018"; 9299 } 9300 closer = closer.next; 9301 } else if (closercc === C_DOUBLEQUOTE) { 9302 closer.node._literal = "\u201D"; 9303 if (opener_found) { 9304 opener.node.literal = "\u201C"; 9305 } 9306 closer = closer.next; 9307 } 9308 if (!opener_found) { 9309 // Set lower bound for future searches for openers: 9310 openers_bottom[openers_bottom_index] = 9311 old_closer.previous; 9312 if (!old_closer.can_open) { 9313 // We can remove a closer that can't be an opener, 9314 // once we've seen there's no matching opener: 9315 this.removeDelimiter(old_closer); 9316 } 9317 } 9318 } 9319 } 9320 9321 // remove all delimiters 9322 while (this.delimiters !== null && this.delimiters !== stack_bottom) { 9323 this.removeDelimiter(this.delimiters); 9324 } 9325 }; 9326 9327 // Attempt to parse link title (sans quotes), returning the string 9328 // or null if no match. 9329 var parseLinkTitle = function() { 9330 var title = this.match(reLinkTitle); 9331 if (title === null) { 9332 return null; 9333 } else { 9334 // chop off quotes from title and unescape: 9335 return unescapeString$1(title.slice(1, -1)); 9336 } 9337 }; 9338 9339 // Attempt to parse link destination, returning the string or 9340 // null if no match. 9341 var parseLinkDestination = function() { 9342 var res = this.match(reLinkDestinationBraces); 9343 if (res === null) { 9344 if (this.peek() === C_LESSTHAN) { 9345 return null; 9346 } 9347 // TODO handrolled parser; res should be null or the string 9348 var savepos = this.pos; 9349 var openparens = 0; 9350 var c; 9351 while ((c = this.peek()) !== -1) { 9352 if ( 9353 c === C_BACKSLASH$1 && 9354 reEscapable.test(this.subject.charAt(this.pos + 1)) 9355 ) { 9356 this.pos += 1; 9357 if (this.peek() !== -1) { 9358 this.pos += 1; 9359 } 9360 } else if (c === C_OPEN_PAREN) { 9361 this.pos += 1; 9362 openparens += 1; 9363 } else if (c === C_CLOSE_PAREN) { 9364 if (openparens < 1) { 9365 break; 9366 } else { 9367 this.pos += 1; 9368 openparens -= 1; 9369 } 9370 } else if (reWhitespaceChar.exec(fromCodePoint(c)) !== null) { 9371 break; 9372 } else { 9373 this.pos += 1; 9374 } 9375 } 9376 if (this.pos === savepos && c !== C_CLOSE_PAREN) { 9377 return null; 9378 } 9379 if (openparens !== 0) { 9380 return null; 9381 } 9382 res = this.subject.slice(savepos, this.pos); 9383 return normalizeURI$1(unescapeString$1(res)); 9384 } else { 9385 // chop off surrounding <..>: 9386 return normalizeURI$1(unescapeString$1(res.slice(1, -1))); 9387 } 9388 }; 9389 9390 // Attempt to parse a link label, returning number of characters parsed. 9391 var parseLinkLabel = function() { 9392 var m = this.match(reLinkLabel); 9393 if (m === null || m.length > 1001) { 9394 return 0; 9395 } else { 9396 return m.length; 9397 } 9398 }; 9399 9400 // Add open bracket to delimiter stack and add a text node to block's children. 9401 var parseOpenBracket = function(block) { 9402 var startpos = this.pos; 9403 this.pos += 1; 9404 9405 var node = text("["); 9406 block.appendChild(node); 9407 9408 // Add entry to stack for this opener 9409 this.addBracket(node, startpos, false); 9410 return true; 9411 }; 9412 9413 // IF next character is [, and ! delimiter to delimiter stack and 9414 // add a text node to block's children. Otherwise just add a text node. 9415 var parseBang = function(block) { 9416 var startpos = this.pos; 9417 this.pos += 1; 9418 if (this.peek() === C_OPEN_BRACKET) { 9419 this.pos += 1; 9420 9421 var node = text("!["); 9422 block.appendChild(node); 9423 9424 // Add entry to stack for this opener 9425 this.addBracket(node, startpos + 1, true); 9426 } else { 9427 block.appendChild(text("!")); 9428 } 9429 return true; 9430 }; 9431 9432 // Try to match close bracket against an opening in the delimiter 9433 // stack. Add either a link or image, or a plain [ character, 9434 // to block's children. If there is a matching delimiter, 9435 // remove it from the delimiter stack. 9436 var parseCloseBracket = function(block) { 9437 var startpos; 9438 var is_image; 9439 var dest; 9440 var title; 9441 var matched = false;
9442 var reflabel; 9443 var opener; 9444 9445 this.pos += 1; 9446 startpos = this.pos; 9447 9448 // get last [ or ![ 9449 opener = this.brackets; 9450 9451 if (opener === null) { 9452 // no matched opener, just return a literal 9453 block.appendChild(text("]")); 9454 return true; 9455 } 9456 9457 if (!opener.active) { 9458 // no matched opener, just return a literal 9459 block.appendChild(text("]")); 9460 // take opener off brackets stack 9461 this.removeBracket(); 9462 return true; 9463 } 9464 9465 // If we got here, open is a potential opener 9466 is_image = opener.image; 9467 9468 // Check to see if we have a link/image 9469 9470 var savepos = this.pos; 9471 9472 // Inline link? 9473 if (this.peek() === C_OPEN_PAREN) { 9474 this.pos++; 9475 if ( 9476 this.spnl() && 9477 (dest = this.parseLinkDestination()) !== null && 9478 this.spnl() && 9479 // make sure there's a space before the title: 9480 ((reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) && 9481 (title = this.parseLinkTitle())) || 9482 true) && 9483 this.spnl() && 9484 this.peek() === C_CLOSE_PAREN 9485 ) { 9486 this.pos += 1; 9487 matched = true; 9488 } else { 9489 this.pos = savepos; 9490 } 9491 } 9492 9493 if (!matched) { 9494 // Next, see if there's a link label 9495 var beforelabel = this.pos; 9496 var n = this.parseLinkLabel(); 9497 if (n > 2) { 9498 reflabel = this.subject.slice(beforelabel, beforelabel + n); 9499 } else if (!opener.bracketAfter) { 9500 // Empty or missing second label means to use the first label as the reference. 9501 // The reference must not contain a bracket. If we know there's a bracket, we don't even bother checking it. 9502 reflabel = this.subject.slice(opener.index, startpos); 9503 } 9504 if (n === 0) { 9505 // If shortcut reference link, rewind before spaces we skipped. 9506 this.pos = savepos; 9507 } 9508 9509 if (reflabel) { 9510 // lookup rawlabel in refmap 9511 var link = this.refmap[normalizeReference(reflabel)]; 9512 if (link) { 9513 dest = link.destination; 9514 title = link.title; 9515 matched = true; 9516 } 9517 } 9518 } 9519 9520 if (matched) { 9521 var node = new Node(is_image ? "image" : "link"); 9522 node._destination = dest; 9523 node._title = title || ""; 9524 9525 var tmp, next; 9526 tmp = opener.node._next; 9527 while (tmp) { 9528 next = tmp._next; 9529 tmp.unlink(); 9530 node.appendChild(tmp); 9531 tmp = next; 9532 } 9533 block.appendChild(node); 9534 this.processEmphasis(opener.previousDelimiter); 9535 this.removeBracket(); 9536 opener.node.unlink(); 9537 9538 // We remove this bracket and processEmphasis will remove later delimiters. 9539 // Now, for a link, we also deactivate earlier link openers. 9540 // (no links in links) 9541 if (!is_image) { 9542 opener = this.brackets; 9543 while (opener !== null) { 9544 if (!opener.image) { 9545 opener.active = false; // deactivate this opener 9546 } 9547 opener = opener.previous; 9548 } 9549 } 9550 9551 return true; 9552 } else { 9553 // no match 9554 9555 this.removeBracket(); // remove this opener from stack 9556 this.pos = startpos; 9557 block.appendChild(text("]")); 9558 return true; 9559 } 9560 }; 9561 9562 var addBracket = function(node, index, image) { 9563 if (this.brackets !== null) { 9564 this.brackets.bracketAfter = true; 9565 } 9566 this.brackets = { 9567 node: node, 9568 previous: this.brackets, 9569 previousDelimiter: this.delimiters, 9570 index: index, 9571 image: image, 9572 active: true 9573 }; 9574 }; 9575 9576 var removeBracket = function() { 9577 this.brackets = this.brackets.previous; 9578 }; 9579 9580 // Attempt to parse an entity. 9581 var parseEntity = function(block) { 9582 var m; 9583 if ((m = this.match(reEntityHere))) { 9584 block.appendChild(text(lib_6(m))); 9585 return true; 9586 } else { 9587 return false;
9588 } 9589 }; 9590 9591 // Parse a run of ordinary characters, or a single character with 9592 // a special meaning in markdown, as a plain string. 9593 var parseString = function(block) { 9594 var m; 9595 if ((m = this.match(reMain))) { 9596 if (this.options.smart) { 9597 block.appendChild( 9598 text( 9599 m 9600 .replace(reEllipses, "\u2026") 9601 .replace(reDash, function(chars) { 9602 var enCount = 0; 9603 var emCount = 0; 9604 if (chars.length % 3 === 0) { 9605 // If divisible by 3, use all em dashes 9606 emCount = chars.length / 3; 9607 } else if (chars.length % 2 === 0) { 9608 // If divisible by 2, use all en dashes 9609 enCount = chars.length / 2; 9610 } else if (chars.length % 3 === 2) { 9611 // If 2 extra dashes, use en dash for last 2; em dashes for rest 9612 enCount = 1; 9613 emCount = (chars.length - 2) / 3; 9614 } else { 9615 // Use en dashes for last 4 hyphens; em dashes for rest 9616 enCount = 2; 9617 emCount = (chars.length - 4) / 3; 9618 } 9619 return ( 9620 "\u2014".repeat(emCount) + 9621 "\u2013".repeat(enCount) 9622 ); 9623 }) 9624 ) 9625 ); 9626 } else { 9627 block.appendChild(text(m)); 9628 } 9629 return true; 9630 } else { 9631 return false; 9632 } 9633 }; 9634 9635 // Parse a newline. If it was preceded by two spaces, return a hard 9636 // line break; otherwise a soft line break. 9637 var parseNewline = function(block) { 9638 this.pos += 1; // assume we're at a \n 9639 // check previous node for trailing spaces 9640 var lastc = block._lastChild; 9641 if ( 9642 lastc && 9643 lastc.type === "text" && 9644 lastc._literal[lastc._literal.length - 1] === " " 9645 ) { 9646 var hardbreak = lastc._literal[lastc._literal.length - 2] === " "; 9647 lastc._literal = lastc._literal.replace(reFinalSpace, ""); 9648 block.appendChild(new Node(hardbreak ? "linebreak" : "softbreak")); 9649 } else { 9650 block.appendChild(new Node("softbreak")); 9651 } 9652 this.match(reInitialSpace); // gobble leading spaces in next line 9653 return true; 9654 }; 9655 9656 // Attempt to parse a link reference, modifying refmap. 9657 var parseReference = function(s, refmap) { 9658 this.subject = s; 9659 this.pos = 0; 9660 var rawlabel; 9661 var dest; 9662 var title; 9663 var matchChars; 9664 var startpos = this.pos; 9665 9666 // label: 9667 matchChars = this.parseLinkLabel(); 9668 if (matchChars === 0) { 9669 return 0; 9670 } else { 9671 rawlabel = this.subject.slice(0, matchChars); 9672 } 9673 9674 // colon: 9675 if (this.peek() === C_COLON) { 9676 this.pos++; 9677 } else { 9678 this.pos = startpos; 9679 return 0; 9680 } 9681 9682 // link url 9683 this.spnl(); 9684 9685 dest = this.parseLinkDestination(); 9686 if (dest === null) { 9687 this.pos = startpos; 9688 return 0; 9689 } 9690 9691 var beforetitle = this.pos; 9692 this.spnl(); 9693 if (this.pos !== beforetitle) { 9694 title = this.parseLinkTitle(); 9695 } 9696 if (title === null) { 9697 title = ""; 9698 // rewind before spaces 9699 this.pos = beforetitle; 9700 } 9701 9702 // make sure we're at line end: 9703 var atLineEnd = true; 9704 if (this.match(reSpaceAtEndOfLine) === null) { 9705 if (title === "") { 9706 atLineEnd = false;
9707 } else { 9708 // the potential title we found is not at the line end, 9709 // but it could still be a legal link reference if we 9710 // discard the title 9711 title = ""; 9712 // rewind before spaces 9713 this.pos = beforetitle; 9714 // and instead check if the link URL is at the line end 9715 atLineEnd = this.match(reSpaceAtEndOfLine) !== null; 9716 } 9717 } 9718 9719 if (!atLineEnd) { 9720 this.pos = startpos; 9721 return 0; 9722 } 9723 9724 var normlabel = normalizeReference(rawlabel); 9725 if (normlabel === "") { 9726 // label must contain non-whitespace characters 9727 this.pos = startpos; 9728 return 0; 9729 } 9730 9731 if (!refmap[normlabel]) { 9732 refmap[normlabel] = { destination: dest, title: title }; 9733 } 9734 return this.pos - startpos; 9735 }; 9736 9737 // Parse the next inline element in subject, advancing subject position. 9738 // On success, add the result to block's children and return true. 9739 // On failure, return false. 9740 var parseInline = function(block) { 9741 var res = false; 9742 var c = this.peek(); 9743 if (c === -1) { 9744 return false; 9745 } 9746 switch (c) { 9747 case C_NEWLINE: 9748 res = this.parseNewline(block); 9749 break; 9750 case C_BACKSLASH$1: 9751 res = this.parseBackslash(block); 9752 break; 9753 case C_BACKTICK: 9754 res = this.parseBackticks(block); 9755 break; 9756 case C_ASTERISK: 9757 case C_UNDERSCORE: 9758 res = this.handleDelim(c, block); 9759 break; 9760 case C_SINGLEQUOTE: 9761 case C_DOUBLEQUOTE: 9762 res = this.options.smart && this.handleDelim(c, block); 9763 break; 9764 case C_OPEN_BRACKET: 9765 res = this.parseOpenBracket(block); 9766 break; 9767 case C_BANG: 9768 res = this.parseBang(block); 9769 break; 9770 case C_CLOSE_BRACKET: 9771 res = this.parseCloseBracket(block); 9772 break; 9773 case C_LESSTHAN: 9774 res = this.parseAutolink(block) || this.parseHtmlTag(block); 9775 break; 9776 case C_AMPERSAND: 9777 res = this.parseEntity(block); 9778 break; 9779 default: 9780 res = this.parseString(block); 9781 break; 9782 } 9783 if (!res) { 9784 this.pos += 1; 9785 block.appendChild(text(fromCodePoint(c))); 9786 } 9787 9788 return true; 9789 }; 9790 9791 // Parse string content in block into inline children, 9792 // using refmap to resolve references. 9793 var parseInlines = function(block) { 9794 this.subject = block._string_content.trim(); 9795 this.pos = 0; 9796 this.delimiters = null; 9797 this.brackets = null; 9798 while (this.parseInline(block)) {} 9799 block._string_content = null; // allow raw string to be garbage collected 9800 this.processEmphasis(null); 9801 }; 9802 9803 // The InlineParser object. 9804 function InlineParser(options) { 9805 return { 9806 subject: "", 9807 delimiters: null, // used by handleDelim method 9808 brackets: null, 9809 pos: 0, 9810 refmap: {}, 9811 match: match, 9812 peek: peek, 9813 spnl: spnl, 9814 parseBackticks: parseBackticks, 9815 parseBackslash: parseBackslash, 9816 parseAutolink: parseAutolink, 9817 parseHtmlTag: parseHtmlTag, 9818 scanDelims: scanDelims, 9819 handleDelim: handleDelim, 9820 parseLinkTitle: parseLinkTitle, 9821 parseLinkDestination: parseLinkDestination, 9822 parseLinkLabel: parseLinkLabel, 9823 parseOpenBracket: parseOpenBracket, 9824 parseBang: parseBang, 9825 parseCloseBracket: parseCloseBracket, 9826 addBracket: addBracket, 9827 removeBracket: removeBracket, 9828 parseEntity: parseEntity, 9829 parseString: parseString, 9830 parseNewline: parseNewline, 9831 parseReference: parseReference, 9832 parseInline: parseInline, 9833 processEmphasis: processEmphasis, 9834 removeDelimiter: removeDelimiter, 9835 options: options || {}, 9836 parse: parseInlines 9837 }; 9838 } 9839 9840 var CODE_INDENT = 4;
9841 9842 var C_TAB = 9; 9843 var C_NEWLINE$1 = 10; 9844 var C_GREATERTHAN = 62; 9845 var C_LESSTHAN$1 = 60; 9846 var C_SPACE = 32; 9847 var C_OPEN_BRACKET$1 = 91; 9848 9849 var reHtmlBlockOpen = [ 9850 /./, // dummy for 0 9851 /^<(?:script|pre|textarea|style)(?:\s|>|$)/i, 9852 /^<!--/, 9853 /^<[?]/, 9854 /^<![A-Za-z]/, 9855 /^<!\[CDATA\[/, 9856 /^<[/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[123456]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|[/]?[>]|$)/i, 9857 new RegExp("^(?:" + OPENTAG + "|" + CLOSETAG + ")\\s*$", "i") 9858 ]; 9859 9860 var reHtmlBlockClose = [ 9861 /./, // dummy for 0 9862 /<\/(?:script|pre|textarea|style)>/i, 9863 /-->/, 9864 /\?>/, 9865 />/, 9866 /\]\]>/ 9867 ]; 9868 9869 var reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/; 9870 9871 var reMaybeSpecial = /^[#`~*+_=<>0-9-]/; 9872 9873 var reNonSpace = /[^ \t\f\v\r\n]/; 9874 9875 var reBulletListMarker = /^[*+-]/; 9876 9877 var reOrderedListMarker = /^(\d{1,9})([.)])/; 9878 9879 var reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/; 9880 9881 var reCodeFence = /^`{3,}(?!.*`)|^~{3,}/; 9882 9883 var reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/; 9884 9885 var reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/; 9886 9887 var reLineEnding = /\r\n|\n|\r/; 9888 9889 // Returns true if string contains only space characters. 9890 var isBlank = function(s) { 9891 return !reNonSpace.test(s); 9892 }; 9893 9894 var isSpaceOrTab = function(c) { 9895 return c === C_SPACE || c === C_TAB; 9896 }; 9897 9898 var peek$1 = function(ln, pos) { 9899 if (pos < ln.length) { 9900 return ln.charCodeAt(pos); 9901 } else { 9902 return -1; 9903 } 9904 }; 9905 9906 // DOC PARSER 9907 9908 // These are methods of a Parser object, defined below. 9909 9910 // Returns true if block ends with a blank line. 9911 var endsWithBlankLine = function(block) { 9912 return block.next && 9913 block.sourcepos[1][0] !== block.next.sourcepos[0][0] - 1; 9914 }; 9915 9916 // Add a line to the block at the tip. We assume the tip 9917 // can accept lines -- that check should be done before calling this. 9918 var addLine = function() { 9919 if (this.partiallyConsumedTab) { 9920 this.offset += 1; // skip over tab 9921 // add space characters: 9922 var charsToTab = 4 - (this.column % 4); 9923 this.tip._string_content += " ".repeat(charsToTab); 9924 } 9925 this.tip._string_content += this.currentLine.slice(this.offset) + "\n"; 9926 }; 9927 9928 // Add block of type tag as a child of the tip. If the tip can't 9929 // accept children, close and finalize it and try its parent, 9930 // and so on til we find a block that can accept children. 9931 var addChild = function(tag, offset) { 9932 while (!this.blocks[this.tip.type].canContain(tag)) { 9933 this.finalize(this.tip, this.lineNumber - 1); 9934 } 9935 9936 var column_number = offset + 1; // offset 0 = column 1 9937 var newBlock = new Node(tag, [ 9938 [this.lineNumber, column_number], 9939 [0, 0] 9940 ]); 9941 newBlock._string_content = ""; 9942 this.tip.appendChild(newBlock); 9943 this.tip = newBlock; 9944 return newBlock; 9945 }; 9946 9947 // Parse a list marker and return data on the marker (type, 9948 // start, delimiter, bullet character, padding) or null. 9949 var parseListMarker = function(parser, container) { 9950 var rest = parser.currentLine.slice(parser.nextNonspace); 9951 var match; 9952 var nextc; 9953 var spacesStartCol; 9954 var spacesStartOffset; 9955 var data = { 9956 type: null, 9957 tight: true, // lists are tight by default 9958 bulletChar: null, 9959 start: null, 9960 delimiter: null, 9961 padding: null, 9962 markerOffset: parser.indent 9963 }; 9964 if (parser.indent >= 4) { 9965 return null; 9966 } 9967 if ((match = rest.match(reBulletListMarker))) { 9968 data.type = "bullet"; 9969 data.bulletChar = match[0][0]; 9970 } else if ( 9971 (match = rest.match(reOrderedListMarker)) && 9972 (container.type !== "paragraph" || match[1] == 1) 9973 ) { 9974 data.type = "ordered"; 9975 data.start = parseInt(match[1]); 9976 data.delimiter = match[2]; 9977 } else { 9978 return null; 9979 } 9980 // make sure we have spaces after 9981 nextc = peek$1(parser.currentLine, parser.nextNonspace + match[0].length); 9982 if (!(nextc === -1 || nextc === C_TAB || nextc === C_SPACE)) { 9983 return null; 9984 } 9985 9986 // if it interrupts paragraph, make sure first line isn't blank 9987 if ( 9988 container.type === "paragraph" && 9989 !parser.currentLine 9990 .slice(parser.nextNonspace + match[0].length) 9991 .match(reNonSpace) 9992 ) { 9993 return null; 9994 } 9995 9996 // we've got a match! advance offset and calculate padding 9997 parser.advanceNextNonspace(); // to start of marker 9998 parser.advanceOffset(match[0].length, true); // to end of marker
9999 spacesStartCol = parser.column; 10000 spacesStartOffset = parser.offset; 10001 do { 10002 parser.advanceOffset(1, true); 10003 nextc = peek$1(parser.currentLine, parser.offset); 10004 } while (parser.column - spacesStartCol < 5 && isSpaceOrTab(nextc)); 10005 var blank_item = peek$1(parser.currentLine, parser.offset) === -1; 10006 var spaces_after_marker = parser.column - spacesStartCol; 10007 if (spaces_after_marker >= 5 || spaces_after_marker < 1 || blank_item) { 10008 data.padding = match[0].length + 1; 10009 parser.column = spacesStartCol; 10010 parser.offset = spacesStartOffset; 10011 if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) { 10012 parser.advanceOffset(1, true); 10013 } 10014 } else { 10015 data.padding = match[0].length + spaces_after_marker; 10016 } 10017 return data; 10018 }; 10019 10020 // Returns true if the two list items are of the same type, 10021 // with the same delimiter and bullet character. This is used 10022 // in agglomerating list items into lists. 10023 var listsMatch = function(list_data, item_data) { 10024 return ( 10025 list_data.type === item_data.type && 10026 list_data.delimiter === item_data.delimiter && 10027 list_data.bulletChar === item_data.bulletChar 10028 ); 10029 }; 10030 10031 // Finalize and close any unmatched blocks. 10032 var closeUnmatchedBlocks = function() { 10033 if (!this.allClosed) { 10034 // finalize any blocks not matched 10035 while (this.oldtip !== this.lastMatchedContainer) { 10036 var parent = this.oldtip._parent; 10037 this.finalize(this.oldtip, this.lineNumber - 1); 10038 this.oldtip = parent; 10039 } 10040 this.allClosed = true; 10041 } 10042 }; 10043 10044 // Remove link reference definitions from given tree. 10045 var removeLinkReferenceDefinitions = function(parser, tree) { 10046 var event, node; 10047 var walker = tree.walker(); 10048 var emptyNodes = []; 10049 10050 while ((event = walker.next())) { 10051 node = event.node; 10052 if (event.entering && node.type === "paragraph") { 10053 var pos; 10054 var hasReferenceDefs = false; 10055 10056 // Try parsing the beginning as link reference definitions; 10057 // Note that link reference definitions must be the beginning of a 10058 // paragraph node since link reference definitions cannot interrupt 10059 // paragraphs. 10060 while ( 10061 peek$1(node._string_content, 0) === C_OPEN_BRACKET$1 && 10062 (pos = parser.inlineParser.parseReference( 10063 node._string_content, 10064 parser.refmap 10065 )) 10066 ) { 10067 const removedText = node._string_content.slice(0, pos); 10068 10069 node._string_content = node._string_content.slice(pos); 10070 hasReferenceDefs = true; 10071 10072 const lines = removedText.split("\n"); 10073 10074 // -1 for final newline. 10075 node.sourcepos[0][0] += lines.length - 1; 10076 } 10077 if (hasReferenceDefs && isBlank(node._string_content)) { 10078 emptyNodes.push(node); 10079 } 10080 } 10081 } 10082 10083 for (node of emptyNodes) { 10084 node.unlink(); 10085 } 10086 }; 10087 10088 // 'finalize' is run when the block is closed. 10089 // 'continue' is run to check whether the block is continuing 10090 // at a certain line and offset (e.g. whether a block quote 10091 // contains a `>`. It returns 0 for matched, 1 for not matched, 10092 // and 2 for "we've dealt with this line completely, go to next." 10093 var blocks = { 10094 document: { 10095 continue: function() { 10096 return 0; 10097 }, 10098 finalize: function(parser, block) { 10099 removeLinkReferenceDefinitions(parser, block); 10100 return; 10101 }, 10102 canContain: function(t) { 10103 return t !== "item"; 10104 }, 10105 acceptsLines: false 10106 }, 10107 list: { 10108 continue: function() { 10109 return 0; 10110 }, 10111 finalize: function(parser, block) { 10112 var item = block._firstChild; 10113 while (item) { 10114 // check for non-final list item ending with blank line: 10115 if (item._next && endsWithBlankLine(item)) { 10116 block._listData.tight = false;
10117 break; 10118 } 10119 // recurse into children of list item, to see if there are 10120 // spaces between any of them: 10121 var subitem = item._firstChild; 10122 while (subitem) { 10123 if ( 10124 subitem._next && 10125 endsWithBlankLine(subitem) 10126 ) { 10127 block._listData.tight = false; 10128 break; 10129 } 10130 subitem = subitem._next; 10131 } 10132 item = item._next; 10133 } 10134 block.sourcepos[1] = block._lastChild.sourcepos[1]; 10135 }, 10136 canContain: function(t) { 10137 return t === "item"; 10138 }, 10139 acceptsLines: false 10140 }, 10141 block_quote: { 10142 continue: function(parser) { 10143 var ln = parser.currentLine; 10144 if ( 10145 !parser.indented && 10146 peek$1(ln, parser.nextNonspace) === C_GREATERTHAN 10147 ) { 10148 parser.advanceNextNonspace(); 10149 parser.advanceOffset(1, false); 10150 if (isSpaceOrTab(peek$1(ln, parser.offset))) { 10151 parser.advanceOffset(1, true); 10152 } 10153 } else { 10154 return 1; 10155 } 10156 return 0; 10157 }, 10158 finalize: function() { 10159 return; 10160 }, 10161 canContain: function(t) { 10162 return t !== "item"; 10163 }, 10164 acceptsLines: false 10165 }, 10166 item: { 10167 continue: function(parser, container) { 10168 if (parser.blank) { 10169 if (container._firstChild == null) { 10170 // Blank line after empty list item 10171 return 1; 10172 } else { 10173 parser.advanceNextNonspace(); 10174 } 10175 } else if ( 10176 parser.indent >= 10177 container._listData.markerOffset + container._listData.padding 10178 ) { 10179 parser.advanceOffset( 10180 container._listData.markerOffset + 10181 container._listData.padding, 10182 true 10183 ); 10184 } else { 10185 return 1; 10186 } 10187 return 0; 10188 }, 10189 finalize: function(parser, block) { 10190 if (block._lastChild) { 10191 block.sourcepos[1] = block._lastChild.sourcepos[1]; 10192 } else { 10193 // Empty list item 10194 block.sourcepos[1][0] = block.sourcepos[0][0]; 10195 block.sourcepos[1][1] = 10196 block._listData.markerOffset + block._listData.padding; 10197 } 10198 10199 return; 10200 }, 10201 canContain: function(t) { 10202 return t !== "item"; 10203 }, 10204 acceptsLines: false 10205 }, 10206 heading: { 10207 continue: function() { 10208 // a heading can never container > 1 line, so fail to match: 10209 return 1; 10210 }, 10211 finalize: function() { 10212 return; 10213 }, 10214 canContain: function() { 10215 return false; 10216 }, 10217 acceptsLines: false 10218 }, 10219 thematic_break: { 10220 continue: function() { 10221 // a thematic break can never container > 1 line, so fail to match: 10222 return 1; 10223 }, 10224 finalize: function() { 10225 return; 10226 }, 10227 canContain: function() { 10228 return false; 10229 }, 10230 acceptsLines: false 10231 }, 10232 code_block: { 10233 continue: function(parser, container) { 10234 var ln = parser.currentLine; 10235 var indent = parser.indent; 10236 if (container._isFenced) { 10237 // fenced 10238 var match = 10239 indent <= 3 && 10240 ln.charAt(parser.nextNonspace) === container._fenceChar && 10241 ln.slice(parser.nextNonspace).match(reClosingCodeFence); 10242 if (match && match[0].length >= container._fenceLength) { 10243 // closing fence - we're at end of line, so we can return 10244 parser.lastLineLength = 10245 parser.offset + indent + match[0].length; 10246 parser.finalize(container, parser.lineNumber); 10247 return 2; 10248 } else { 10249 // skip optional spaces of fence offset 10250 var i = container._fenceOffset; 10251 while (i > 0 && isSpaceOrTab(peek$1(ln, parser.offset))) { 10252 parser.advanceOffset(1, true); 10253 i--; 10254 } 10255 } 10256 } else { 10257 // indented 10258 if (indent >= CODE_INDENT) { 10259 parser.advanceOffset(CODE_INDENT, true); 10260 } else if (parser.blank) { 10261 parser.advanceNextNonspace(); 10262 } else { 10263 return 1; 10264 } 10265 } 10266 return 0; 10267 }, 10268 finalize: function(parser, block) { 10269 if (block._isFenced) { 10270 // fenced 10271 // first line becomes info string 10272 var content = block._string_content; 10273 var newlinePos = content.indexOf("\n"); 10274 var firstLine = content.slice(0, newlinePos); 10275 var rest = content.slice(newlinePos + 1); 10276 block.info = unescapeString(firstLine.trim()); 10277 block._literal = rest; 10278 } else { 10279 // indented 10280 var lines = block._string_content.split("\n"); 10281 // Note that indented code block cannot be empty, so 10282 // lines.length cannot be zero. 10283 while (/^[ \t]*$/.test(lines[lines.length - 1])) { 10284 lines.pop(); 10285 } 10286 block._literal = lines.join("\n") + "\n"; 10287 block.sourcepos[1][0] = 10288 block.sourcepos[0][0] + lines.length - 1; 10289 block.sourcepos[1][1] = 10290 block.sourcepos[0][1] + lines[lines.length - 1].length - 1; 10291 } 10292 block._string_content = null; // allow GC 10293 }, 10294 canContain: function() { 10295 return false;
10296 }, 10297 acceptsLines: true 10298 }, 10299 html_block: { 10300 continue: function(parser, container) { 10301 return parser.blank && 10302 (container._htmlBlockType === 6 || 10303 container._htmlBlockType === 7) 10304 ? 1 10305 : 0; 10306 }, 10307 finalize: function(parser, block) { 10308 block._literal = block._string_content.replace(/\n$/, ''); 10309 block._string_content = null; // allow GC 10310 }, 10311 canContain: function() { 10312 return false; 10313 }, 10314 acceptsLines: true 10315 }, 10316 paragraph: { 10317 continue: function(parser) { 10318 return parser.blank ? 1 : 0; 10319 }, 10320 finalize: function() { 10321 return; 10322 }, 10323 canContain: function() { 10324 return false; 10325 }, 10326 acceptsLines: true 10327 } 10328 }; 10329 10330 // block start functions. Return values: 10331 // 0 = no match 10332 // 1 = matched container, keep going 10333 // 2 = matched leaf, no more block starts 10334 var blockStarts = [ 10335 // block quote 10336 function(parser) { 10337 if ( 10338 !parser.indented && 10339 peek$1(parser.currentLine, parser.nextNonspace) === C_GREATERTHAN 10340 ) { 10341 parser.advanceNextNonspace(); 10342 parser.advanceOffset(1, false); 10343 // optional following space 10344 if (isSpaceOrTab(peek$1(parser.currentLine, parser.offset))) { 10345 parser.advanceOffset(1, true); 10346 } 10347 parser.closeUnmatchedBlocks(); 10348 parser.addChild("block_quote", parser.nextNonspace); 10349 return 1; 10350 } else { 10351 return 0; 10352 } 10353 }, 10354 10355 // ATX heading 10356 function(parser) { 10357 var match; 10358 if ( 10359 !parser.indented && 10360 (match = parser.currentLine 10361 .slice(parser.nextNonspace) 10362 .match(reATXHeadingMarker)) 10363 ) { 10364 parser.advanceNextNonspace(); 10365 parser.advanceOffset(match[0].length, false); 10366 parser.closeUnmatchedBlocks(); 10367 var container = parser.addChild("heading", parser.nextNonspace); 10368 container.level = match[0].trim().length; // number of #s 10369 // remove trailing ###s: 10370 container._string_content = parser.currentLine 10371 .slice(parser.offset) 10372 .replace(/^[ \t]*#+[ \t]*$/, "") 10373 .replace(/[ \t]+#+[ \t]*$/, ""); 10374 parser.advanceOffset(parser.currentLine.length - parser.offset); 10375 return 2; 10376 } else { 10377 return 0; 10378 } 10379 }, 10380 10381 // Fenced code block 10382 function(parser) { 10383 var match; 10384 if ( 10385 !parser.indented && 10386 (match = parser.currentLine 10387 .slice(parser.nextNonspace) 10388 .match(reCodeFence)) 10389 ) { 10390 var fenceLength = match[0].length; 10391 parser.closeUnmatchedBlocks(); 10392 var container = parser.addChild("code_block", parser.nextNonspace); 10393 container._isFenced = true; 10394 container._fenceLength = fenceLength; 10395 container._fenceChar = match[0][0]; 10396 container._fenceOffset = parser.indent; 10397 parser.advanceNextNonspace(); 10398 parser.advanceOffset(fenceLength, false); 10399 return 2; 10400 } else { 10401 return 0; 10402 } 10403 }, 10404 10405 // HTML block 10406 function(parser, container) { 10407 if ( 10408 !parser.indented && 10409 peek$1(parser.currentLine, parser.nextNonspace) === C_LESSTHAN$1 10410 ) { 10411 var s = parser.currentLine.slice(parser.nextNonspace); 10412 var blockType; 10413 10414 for (blockType = 1; blockType <= 7; blockType++) { 10415 if ( 10416 reHtmlBlockOpen[blockType].test(s) && 10417 (blockType < 7 || (container.type !== "paragraph" && 10418 !(!parser.allClosed && !parser.blank && 10419 parser.tip.type === "paragraph") // maybe lazy 10420 )) 10421 ) { 10422 parser.closeUnmatchedBlocks(); 10423 // We don't adjust parser.offset; 10424 // spaces are part of the HTML block: 10425 var b = parser.addChild("html_block", parser.offset); 10426 b._htmlBlockType = blockType; 10427 return 2; 10428 } 10429 } 10430 } 10431 10432 return 0; 10433 }, 10434 10435 // Setext heading 10436 function(parser, container) { 10437 var match; 10438 if ( 10439 !parser.indented && 10440 container.type === "paragraph" && 10441 (match = parser.currentLine 10442 .slice(parser.nextNonspace) 10443 .match(reSetextHeadingLine)) 10444 ) { 10445 parser.closeUnmatchedBlocks(); 10446 // resolve reference link definitiosn 10447 var pos; 10448 while ( 10449 peek$1(container._string_content, 0) === C_OPEN_BRACKET$1 && 10450 (pos = parser.inlineParser.parseReference( 10451 container._string_content, 10452 parser.refmap 10453 )) 10454 ) { 10455 container._string_content = container._string_content.slice( 10456 pos 10457 ); 10458 } 10459 if (container._string_content.length > 0) {
10460 var heading = new Node("heading", container.sourcepos); 10461 heading.level = match[0][0] === "=" ? 1 : 2; 10462 heading._string_content = container._string_content; 10463 container.insertAfter(heading); 10464 container.unlink(); 10465 parser.tip = heading; 10466 parser.advanceOffset( 10467 parser.currentLine.length - parser.offset, 10468 false 10469 ); 10470 return 2; 10471 } else { 10472 return 0; 10473 } 10474 } else { 10475 return 0; 10476 } 10477 }, 10478 10479 // thematic break 10480 function(parser) { 10481 if ( 10482 !parser.indented && 10483 reThematicBreak.test(parser.currentLine.slice(parser.nextNonspace)) 10484 ) { 10485 parser.closeUnmatchedBlocks(); 10486 parser.addChild("thematic_break", parser.nextNonspace); 10487 parser.advanceOffset( 10488 parser.currentLine.length - parser.offset, 10489 false 10490 ); 10491 return 2; 10492 } else { 10493 return 0; 10494 } 10495 }, 10496 10497 // list item 10498 function(parser, container) { 10499 var data; 10500 10501 if ( 10502 (!parser.indented || container.type === "list") && 10503 (data = parseListMarker(parser, container)) 10504 ) { 10505 parser.closeUnmatchedBlocks(); 10506 10507 // add the list if needed 10508 if ( 10509 parser.tip.type !== "list" || 10510 !listsMatch(container._listData, data) 10511 ) { 10512 container = parser.addChild("list", parser.nextNonspace); 10513 container._listData = data; 10514 } 10515 10516 // add the list item 10517 container = parser.addChild("item", parser.nextNonspace); 10518 container._listData = data; 10519 return 1; 10520 } else { 10521 return 0; 10522 } 10523 }, 10524 10525 // indented code block 10526 function(parser) { 10527 if ( 10528 parser.indented && 10529 parser.tip.type !== "paragraph" && 10530 !parser.blank 10531 ) { 10532 // indented code 10533 parser.advanceOffset(CODE_INDENT, true); 10534 parser.closeUnmatchedBlocks(); 10535 parser.addChild("code_block", parser.offset); 10536 return 2; 10537 } else { 10538 return 0; 10539 } 10540 } 10541 ]; 10542 10543 var advanceOffset = function(count, columns) { 10544 var currentLine = this.currentLine; 10545 var charsToTab, charsToAdvance; 10546 var c; 10547 while (count > 0 && (c = currentLine[this.offset])) { 10548 if (c === "\t") { 10549 charsToTab = 4 - (this.column % 4); 10550 if (columns) { 10551 this.partiallyConsumedTab = charsToTab > count; 10552 charsToAdvance = charsToTab > count ? count : charsToTab; 10553 this.column += charsToAdvance; 10554 this.offset += this.partiallyConsumedTab ? 0 : 1; 10555 count -= charsToAdvance; 10556 } else { 10557 this.partiallyConsumedTab = false; 10558 this.column += charsToTab; 10559 this.offset += 1; 10560 count -= 1; 10561 } 10562 } else { 10563 this.partiallyConsumedTab = false; 10564 this.offset += 1; 10565 this.column += 1; // assume ascii; block starts are ascii 10566 count -= 1; 10567 } 10568 } 10569 }; 10570 10571 var advanceNextNonspace = function() { 10572 this.offset = this.nextNonspace; 10573 this.column = this.nextNonspaceColumn; 10574 this.partiallyConsumedTab = false; 10575 }; 10576 10577 var findNextNonspace = function() { 10578 var currentLine = this.currentLine; 10579 var i = this.offset; 10580 var cols = this.column; 10581 var c; 10582 10583 while ((c = currentLine.charAt(i)) !== "") { 10584 if (c === " ") { 10585 i++; 10586 cols++; 10587 } else if (c === "\t") { 10588 i++; 10589 cols += 4 - (cols % 4); 10590 } else { 10591 break; 10592 } 10593 } 10594 this.blank = c === "\n" || c === "\r" || c === ""; 10595 this.nextNonspace = i; 10596 this.nextNonspaceColumn = cols; 10597 this.indent = this.nextNonspaceColumn - this.column; 10598 this.indented = this.indent >= CODE_INDENT; 10599 }; 10600 10601 // Analyze a line of text and update the document appropriately. 10602 // We parse markdown text by calling this on each line of input, 10603 // then finalizing the document. 10604 var incorporateLine = function(ln) { 10605 var all_matched = true; 10606 var t; 10607 10608 var container = this.doc; 10609 this.oldtip = this.tip; 10610 this.offset = 0; 10611 this.column = 0; 10612 this.blank = false;
10613 this.partiallyConsumedTab = false; 10614 this.lineNumber += 1; 10615 10616 // replace NUL characters for security 10617 if (ln.indexOf("\u0000") !== -1) { 10618 ln = ln.replace(/\0/g, "\uFFFD"); 10619 } 10620 10621 this.currentLine = ln; 10622 10623 // For each containing block, try to parse the associated line start. 10624 // Bail out on failure: container will point to the last matching block. 10625 // Set all_matched to false if not all containers match. 10626 var lastChild; 10627 while ((lastChild = container._lastChild) && lastChild._open) { 10628 container = lastChild; 10629 10630 this.findNextNonspace(); 10631 10632 switch (this.blocks[container.type].continue(this, container)) { 10633 case 0: // we've matched, keep going 10634 break; 10635 case 1: // we've failed to match a block 10636 all_matched = false; 10637 break; 10638 case 2: // we've hit end of line for fenced code close and can return 10639 return; 10640 default: 10641 throw "continue returned illegal value, must be 0, 1, or 2"; 10642 } 10643 if (!all_matched) { 10644 container = container._parent; // back up to last matching block 10645 break; 10646 } 10647 } 10648 10649 this.allClosed = container === this.oldtip; 10650 this.lastMatchedContainer = container; 10651 10652 var matchedLeaf = 10653 container.type !== "paragraph" && blocks[container.type].acceptsLines; 10654 var starts = this.blockStarts; 10655 var startsLen = starts.length; 10656 // Unless last matched container is a code block, try new container starts, 10657 // adding children to the last matched container: 10658 while (!matchedLeaf) { 10659 this.findNextNonspace(); 10660 10661 // this is a little performance optimization: 10662 if ( 10663 !this.indented && 10664 !reMaybeSpecial.test(ln.slice(this.nextNonspace)) 10665 ) { 10666 this.advanceNextNonspace(); 10667 break; 10668 } 10669 10670 var i = 0; 10671 while (i < startsLen) { 10672 var res = starts[i](this, container); 10673 if (res === 1) { 10674 container = this.tip; 10675 break; 10676 } else if (res === 2) { 10677 container = this.tip; 10678 matchedLeaf = true; 10679 break; 10680 } else { 10681 i++; 10682 } 10683 } 10684 10685 if (i === startsLen) { 10686 // nothing matched 10687 this.advanceNextNonspace(); 10688 break; 10689 } 10690 } 10691 10692 // What remains at the offset is a text line. Add the text to the 10693 // appropriate container. 10694 10695 // First check for a lazy paragraph continuation: 10696 if (!this.allClosed && !this.blank && this.tip.type === "paragraph") { 10697 // lazy paragraph continuation 10698 this.addLine(); 10699 } else { 10700 // not a lazy continuation 10701 10702 // finalize any blocks not matched 10703 this.closeUnmatchedBlocks(); 10704 10705 t = container.type; 10706 10707 if (this.blocks[t].acceptsLines) { 10708 this.addLine(); 10709 // if HtmlBlock, check for end condition 10710 if ( 10711 t === "html_block" && 10712 container._htmlBlockType >= 1 && 10713 container._htmlBlockType <= 5 && 10714 reHtmlBlockClose[container._htmlBlockType].test( 10715 this.currentLine.slice(this.offset) 10716 ) 10717 ) { 10718 this.lastLineLength = ln.length; 10719 this.finalize(container, this.lineNumber); 10720 } 10721 } else if (this.offset < ln.length && !this.blank) { 10722 // create paragraph container for line 10723 container = this.addChild("paragraph", this.offset); 10724 this.advanceNextNonspace(); 10725 this.addLine(); 10726 } 10727 } 10728 this.lastLineLength = ln.length; 10729 }; 10730 10731 // Finalize a block. Close it and do any necessary postprocessing, 10732 // e.g. creating string_content from strings, setting the 'tight' 10733 // or 'loose' status of a list, and parsing the beginnings 10734 // of paragraphs for reference definitions. Reset the tip to the 10735 // parent of the closed block. 10736 var finalize = function(block, lineNumber) { 10737 var above = block._parent; 10738 block._open = false;
10739 block.sourcepos[1] = [lineNumber, this.lastLineLength]; 10740 10741 this.blocks[block.type].finalize(this, block); 10742 10743 this.tip = above; 10744 }; 10745 10746 // Walk through a block & children recursively, parsing string content 10747 // into inline content where appropriate. 10748 var processInlines = function(block) { 10749 var node, event, t; 10750 var walker = block.walker(); 10751 this.inlineParser.refmap = this.refmap; 10752 this.inlineParser.options = this.options; 10753 while ((event = walker.next())) { 10754 node = event.node; 10755 t = node.type; 10756 if (!event.entering && (t === "paragraph" || t === "heading")) { 10757 this.inlineParser.parse(node); 10758 } 10759 } 10760 }; 10761 10762 var Document = function() { 10763 var doc = new Node("document", [ 10764 [1, 1], 10765 [0, 0] 10766 ]); 10767 return doc; 10768 }; 10769 10770 // The main parsing function. Returns a parsed document AST. 10771 var parse = function(input) { 10772 this.doc = new Document(); 10773 this.tip = this.doc; 10774 this.refmap = {}; 10775 this.lineNumber = 0; 10776 this.lastLineLength = 0; 10777 this.offset = 0; 10778 this.column = 0; 10779 this.lastMatchedContainer = this.doc; 10780 this.currentLine = ""; 10781 if (this.options.time) { 10782 console.time("preparing input"); 10783 } 10784 var lines = input.split(reLineEnding); 10785 var len = lines.length; 10786 if (input.charCodeAt(input.length - 1) === C_NEWLINE$1) { 10787 // ignore last blank line created by final newline 10788 len -= 1; 10789 } 10790 if (this.options.time) { 10791 console.timeEnd("preparing input"); 10792 } 10793 if (this.options.time) { 10794 console.time("block parsing"); 10795 } 10796 for (var i = 0; i < len; i++) { 10797 this.incorporateLine(lines[i]); 10798 } 10799 while (this.tip) { 10800 this.finalize(this.tip, len); 10801 } 10802 if (this.options.time) { 10803 console.timeEnd("block parsing"); 10804 } 10805 if (this.options.time) { 10806 console.time("inline parsing"); 10807 } 10808 this.processInlines(this.doc); 10809 if (this.options.time) { 10810 console.timeEnd("inline parsing"); 10811 } 10812 return this.doc; 10813 }; 10814 10815 // The Parser object. 10816 function Parser(options) { 10817 return { 10818 doc: new Document(), 10819 blocks: blocks, 10820 blockStarts: blockStarts, 10821 tip: this.doc, 10822 oldtip: this.doc, 10823 currentLine: "", 10824 lineNumber: 0, 10825 offset: 0, 10826 column: 0, 10827 nextNonspace: 0, 10828 nextNonspaceColumn: 0, 10829 indent: 0, 10830 indented: false, 10831 blank: false, 10832 partiallyConsumedTab: false, 10833 allClosed: true, 10834 lastMatchedContainer: this.doc, 10835 refmap: {}, 10836 lastLineLength: 0, 10837 inlineParser: new InlineParser(options), 10838 findNextNonspace: findNextNonspace, 10839 advanceOffset: advanceOffset, 10840 advanceNextNonspace: advanceNextNonspace, 10841 addLine: addLine, 10842 addChild: addChild, 10843 incorporateLine: incorporateLine, 10844 finalize: finalize, 10845 processInlines: processInlines, 10846 closeUnmatchedBlocks: closeUnmatchedBlocks, 10847 parse: parse, 10848 options: options || {} 10849 }; 10850 } 10851
10852 function Renderer() {} 10853 10854 /** 10855 * Walks the AST and calls member methods for each Node type. 10856 * 10857 * @param ast {Node} The root of the abstract syntax tree. 10858 */ 10859 function render(ast) { 10860 var walker = ast.walker(), 10861 event, 10862 type; 10863 10864 this.buffer = ""; 10865 this.lastOut = "\n"; 10866 10867 while ((event = walker.next())) { 10868 type = event.node.type; 10869 if (this[type]) { 10870 this[type](event.node, event.entering); 10871 } 10872 } 10873 return this.buffer; 10874 } 10875 10876 /** 10877 * Concatenate a literal string to the buffer. 10878 * 10879 * @param str {String} The string to concatenate. 10880 */ 10881 function lit(str) { 10882 this.buffer += str; 10883 this.lastOut = str; 10884 } 10885 10886 /** 10887 * Output a newline to the buffer. 10888 */ 10889 function cr() { 10890 if (this.lastOut !== "\n") { 10891 this.lit("\n"); 10892 } 10893 } 10894 10895 /** 10896 * Concatenate a string to the buffer possibly escaping the content. 10897 * 10898 * Concrete renderer implementations should override this method. 10899 * 10900 * @param str {String} The string to concatenate. 10901 */ 10902 function out(str) { 10903 this.lit(str); 10904 } 10905 10906 /** 10907 * Escape a string for the target renderer. 10908 * 10909 * Abstract function that should be implemented by concrete 10910 * renderer implementations. 10911 * 10912 * @param str {String} The string to escape. 10913 */ 10914 function esc(str) { 10915 return str; 10916 } 10917 10918 Renderer.prototype.render = render; 10919 Renderer.prototype.out = out; 10920 Renderer.prototype.lit = lit; 10921 Renderer.prototype.cr = cr; 10922 Renderer.prototype.esc = esc; 10923 10924 var reUnsafeProtocol = /^javascript:|vbscript:|file:|data:/i; 10925 var reSafeDataProtocol = /^data:image\/(?:png|gif|jpeg|webp)/i; 10926 10927 var potentiallyUnsafe = function(url) { 10928 return reUnsafeProtocol.test(url) && !reSafeDataProtocol.test(url); 10929 }; 10930 10931 // Helper function to produce an HTML tag. 10932 function tag(name, attrs, selfclosing) { 10933 if (this.disableTags > 0) { 10934 return; 10935 } 10936 this.buffer += "<" + name; 10937 if (attrs && attrs.length > 0) { 10938 var i = 0; 10939 var attrib; 10940 while ((attrib = attrs[i]) !== undefined) { 10941 this.buffer += " " + attrib[0] + '="' + attrib[1] + '"'; 10942 i++; 10943 } 10944 } 10945 if (selfclosing) { 10946 this.buffer += " /"; 10947 } 10948 this.buffer += ">"; 10949 this.lastOut = ">"; 10950 } 10951 10952 function HtmlRenderer(options) { 10953 options = options || {}; 10954 // by default, soft breaks are rendered as newlines in HTML 10955 options.softbreak = options.softbreak || "\n"; 10956 // set to "<br />" to make them hard breaks 10957 // set to " " if you want to ignore line wrapping in source 10958 this.esc = options.esc || escapeXml; 10959 // escape html with a custom function 10960 // else use escapeXml 10961 10962 this.disableTags = 0; 10963 this.lastOut = "\n"; 10964 this.options = options; 10965 } 10966 10967 /* Node methods */ 10968 10969 function text$1(node) { 10970 this.out(node.literal); 10971 } 10972 10973 function softbreak() { 10974 this.lit(this.options.softbreak); 10975 } 10976 10977 function linebreak() { 10978 this.tag("br", [], true); 10979 this.cr(); 10980 } 10981 10982 function link(node, entering) { 10983 var attrs = this.attrs(node); 10984 if (entering) { 10985 if (!(this.options.safe && potentiallyUnsafe(node.destination))) { 10986 attrs.push(["href", this.esc(node.destination)]); 10987 } 10988 if (node.title) { 10989 attrs.push(["title", this.esc(node.title)]); 10990 } 10991 this.tag("a", attrs); 10992 } else { 10993 this.tag("/a"); 10994 } 10995 } 10996 10997 function image$1(node, entering) { 10998 if (entering) { 10999 if (this.disableTags === 0) { 11000 if (this.options.safe && potentiallyUnsafe(node.destination)) { 11001 this.lit('<img src="" alt="'); 11002 } else { 11003 this.lit('<img src="' + this.esc(node.destination) + '" alt="'); 11004 } 11005 } 11006 this.disableTags += 1; 11007 } else { 11008 this.disableTags -= 1; 11009 if (this.disableTags === 0) { 11010 if (node.title) { 11011 this.lit('" title="' + this.esc(node.title)); 11012 } 11013 this.lit('" />'); 11014 } 11015 } 11016 } 11017 11018 function emph(node, entering) { 11019 this.tag(entering ? "em" : "/em"); 11020 } 11021 11022 function strong(node, entering) { 11023 this.tag(entering ? "strong" : "/strong"); 11024 } 11025 11026 function paragraph(node, entering) { 11027 var grandparent = node.parent.parent, 11028 attrs = this.attrs(node); 11029 if (grandparent !== null && grandparent.type === "list") { 11030 if (grandparent.listTight) { 11031 return; 11032 } 11033 } 11034 if (entering) { 11035 this.cr(); 11036 this.tag("p", attrs); 11037 } else { 11038 this.tag("/p"); 11039 this.cr(); 11040 } 11041 } 11042 11043 function heading(node, entering) { 11044 var tagname = "h" + node.level, 11045 attrs = this.attrs(node); 11046 if (entering) { 11047 this.cr(); 11048 this.tag(tagname, attrs); 11049 } else { 11050 this.tag("/" + tagname); 11051 this.cr(); 11052 } 11053 } 11054 11055 function code(node) { 11056 this.tag("code"); 11057 this.out(node.literal); 11058 this.tag("/code"); 11059 } 11060 11061 function code_block(node) { 11062 var info_words = node.info ? node.info.split(/\s+/) : [], 11063 attrs = this.attrs(node); 11064 if (info_words.length > 0 && info_words[0].length > 0) { 11065 var cls = this.esc(info_words[0]); 11066 if (!/^language-/.exec(cls)) { 11067 cls = "language-" + cls; 11068 } 11069 attrs.push(["class", cls]); 11070 } 11071 this.cr(); 11072 this.tag("pre"); 11073 this.tag("code", attrs); 11074 this.out(node.literal); 11075 this.tag("/code"); 11076 this.tag("/pre"); 11077 this.cr(); 11078 } 11079 11080 function thematic_break(node) { 11081 var attrs = this.attrs(node); 11082 this.cr(); 11083 this.tag("hr", attrs, true); 11084 this.cr(); 11085 } 11086 11087 function block_quote(node, entering) { 11088 var attrs = this.attrs(node); 11089 if (entering) { 11090 this.cr(); 11091 this.tag("blockquote", attrs); 11092 this.cr(); 11093 } else { 11094 this.cr(); 11095 this.tag("/blockquote"); 11096 this.cr(); 11097 } 11098 } 11099 11100 function list(node, entering) { 11101 var tagname = node.listType === "bullet" ? "ul" : "ol", 11102 attrs = this.attrs(node); 11103 11104 if (entering) { 11105 var start = node.listStart; 11106 if (start !== null && start !== 1) { 11107 attrs.push(["start", start.toString()]); 11108 } 11109 this.cr(); 11110 this.tag(tagname, attrs); 11111 this.cr(); 11112 } else { 11113 this.cr(); 11114 this.tag("/" + tagname); 11115 this.cr(); 11116 } 11117 } 11118 11119 function item(node, entering) { 11120 var attrs = this.attrs(node); 11121 if (entering) { 11122 this.tag("li", attrs); 11123 } else { 11124 this.tag("/li"); 11125 this.cr(); 11126 } 11127 } 11128 11129 function html_inline(node) { 11130 if (this.options.safe) { 11131 this.lit("<!-- raw HTML omitted -->"); 11132 } else { 11133 this.lit(node.literal); 11134 } 11135 } 11136 11137 function html_block(node) { 11138 this.cr(); 11139 if (this.options.safe) { 11140 this.lit("<!-- raw HTML omitted -->"); 11141 } else { 11142 this.lit(node.literal); 11143 } 11144 this.cr(); 11145 } 11146 11147 function custom_inline(node, entering) { 11148 if (entering && node.onEnter) { 11149 this.lit(node.onEnter); 11150 } else if (!entering && node.onExit) { 11151 this.lit(node.onExit); 11152 } 11153 } 11154 11155 function custom_block(node, entering) { 11156 this.cr(); 11157 if (entering && node.onEnter) { 11158 this.lit(node.onEnter); 11159 } else if (!entering && node.onExit) { 11160 this.lit(node.onExit); 11161 } 11162 this.cr(); 11163 } 11164 11165 /* Helper methods */ 11166 11167 function out$1(s) { 11168 this.lit(this.esc(s)); 11169 } 11170 11171 function attrs(node) { 11172 var att = []; 11173 if (this.options.sourcepos) { 11174 var pos = node.sourcepos; 11175 if (pos) { 11176 att.push([ 11177 "data-sourcepos", 11178 String(pos[0][0]) + 11179 ":" + 11180 String(pos[0][1]) + 11181 "-" + 11182 String(pos[1][0]) + 11183 ":" + 11184 String(pos[1][1]) 11185 ]); 11186 } 11187 } 11188 return att; 11189 } 11190 11191 // quick browser-compatible inheritance 11192 HtmlRenderer.prototype = Object.create(Renderer.prototype); 11193 11194 HtmlRenderer.prototype.text = text$1; 11195 HtmlRenderer.prototype.html_inline = html_inline; 11196 HtmlRenderer.prototype.html_block = html_block; 11197 HtmlRenderer.prototype.softbreak = softbreak; 11198 HtmlRenderer.prototype.linebreak = linebreak; 11199 HtmlRenderer.prototype.link = link; 11200 HtmlRenderer.prototype.image = image$1; 11201 HtmlRenderer.prototype.emph = emph; 11202 HtmlRenderer.prototype.strong = strong; 11203 HtmlRenderer.prototype.paragraph = paragraph; 11204 HtmlRenderer.prototype.heading = heading; 11205 HtmlRenderer.prototype.code = code; 11206 HtmlRenderer.prototype.code_block = code_block; 11207 HtmlRenderer.prototype.thematic_break = thematic_break; 11208 HtmlRenderer.prototype.block_quote = block_quote; 11209 HtmlRenderer.prototype.list = list; 11210 HtmlRenderer.prototype.item = item; 11211 HtmlRenderer.prototype.custom_inline = custom_inline; 11212 HtmlRenderer.prototype.custom_block = custom_block; 11213 11214 HtmlRenderer.prototype.esc = escapeXml; 11215 11216 HtmlRenderer.prototype.out = out$1; 11217 HtmlRenderer.prototype.tag = tag; 11218 HtmlRenderer.prototype.attrs = attrs; 11219 11220 var reXMLTag = /\<[^>]*\>/; 11221 11222 function toTagName(s) { 11223 return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase(); 11224 } 11225 11226 function XmlRenderer(options) { 11227 options = options || {}; 11228 11229 this.disableTags = 0; 11230 this.lastOut = "\n"; 11231 11232 this.indentLevel = 0; 11233 this.indent = " "; 11234 11235 this.esc = options.esc || escapeXml; 11236 // escape html with a custom function 11237 // else use escapeXml 11238 11239 this.options = options; 11240 } 11241 11242 function render$1(ast) { 11243 this.buffer = ""; 11244 11245 var attrs; 11246 var tagname; 11247 var walker = ast.walker(); 11248 var event, node, entering; 11249 var container; 11250 var selfClosing; 11251 var nodetype; 11252 11253 var options = this.options; 11254 11255 if (options.time) { 11256 console.time("rendering"); 11257 } 11258 11259 this.buffer += '<?xml version="1.0" encoding="UTF-8"?>\n'; 11260 this.buffer += '<!DOCTYPE document SYSTEM "CommonMark.dtd">\n'; 11261 11262 while ((event = walker.next())) { 11263 entering = event.entering; 11264 node = event.node; 11265 nodetype = node.type; 11266 11267 container = node.isContainer; 11268 11269 selfClosing = 11270 nodetype === "thematic_break" || 11271 nodetype === "linebreak" || 11272 nodetype === "softbreak"; 11273 11274 tagname = toTagName(nodetype); 11275 11276 if (entering) { 11277 attrs = []; 11278 11279 switch (nodetype) { 11280 case "document": 11281 attrs.push(["xmlns", "http://commonmark.org/xml/1.0"]); 11282 break; 11283 case "list": 11284 if (node.listType !== null) { 11285 attrs.push(["type", node.listType.toLowerCase()]); 11286 } 11287 if (node.listStart !== null) { 11288 attrs.push(["start", String(node.listStart)]); 11289 } 11290 if (node.listTight !== null) { 11291 attrs.push([ 11292 "tight", 11293 node.listTight ? "true" : "false" 11294 ]); 11295 } 11296 var delim = node.listDelimiter; 11297 if (delim !== null) { 11298 var delimword = ""; 11299 if (delim === ".") { 11300 delimword = "period"; 11301 } else { 11302 delimword = "paren"; 11303 } 11304 attrs.push(["delimiter", delimword]); 11305 } 11306 break; 11307 case "code_block": 11308 if (node.info) { 11309 attrs.push(["info", node.info]); 11310 } 11311 break; 11312 case "heading":
11313 attrs.push(["level", String(node.level)]); 11314 break; 11315 case "link": 11316 case "image": 11317 attrs.push(["destination", node.destination]); 11318 attrs.push(["title", node.title]); 11319 break; 11320 case "custom_inline": 11321 case "custom_block": 11322 attrs.push(["on_enter", node.onEnter]); 11323 attrs.push(["on_exit", node.onExit]); 11324 break; 11325 } 11326 if (options.sourcepos) { 11327 var pos = node.sourcepos; 11328 if (pos) { 11329 attrs.push([ 11330 "sourcepos", 11331 String(pos[0][0]) + 11332 ":" + 11333 String(pos[0][1]) + 11334 "-" + 11335 String(pos[1][0]) + 11336 ":" + 11337 String(pos[1][1]) 11338 ]); 11339 } 11340 } 11341 11342 this.cr(); 11343 this.out(this.tag(tagname, attrs, selfClosing)); 11344 if (container) { 11345 this.indentLevel += 1; 11346 } else if (!container && !selfClosing) { 11347 var lit = node.literal; 11348 if (lit) { 11349 this.out(this.esc(lit)); 11350 } 11351 this.out(this.tag("/" + tagname)); 11352 } 11353 } else { 11354 this.indentLevel -= 1; 11355 this.cr(); 11356 this.out(this.tag("/" + tagname)); 11357 } 11358 } 11359 if (options.time) { 11360 console.timeEnd("rendering"); 11361 } 11362 this.buffer += "\n"; 11363 return this.buffer; 11364 } 11365 11366 function out$2(s) { 11367 if (this.disableTags > 0) { 11368 this.buffer += s.replace(reXMLTag, ""); 11369 } else { 11370 this.buffer += s; 11371 } 11372 this.lastOut = s; 11373 } 11374 11375 function cr$1() { 11376 if (this.lastOut !== "\n") { 11377 this.buffer += "\n"; 11378 this.lastOut = "\n"; 11379 for (var i = this.indentLevel; i > 0; i--) { 11380 this.buffer += this.indent; 11381 } 11382 } 11383 } 11384 11385 // Helper function to produce an XML tag. 11386 function tag$1(name, attrs, selfclosing) { 11387 var result = "<" + name; 11388 if (attrs && attrs.length > 0) { 11389 var i = 0; 11390 var attrib; 11391 while ((attrib = attrs[i]) !== undefined) { 11392 result += " " + attrib[0] + '="' + this.esc(attrib[1]) + '"'; 11393 i++; 11394 } 11395 } 11396 if (selfclosing) { 11397 result += " /"; 11398 } 11399 result += ">"; 11400 return result; 11401 } 11402 11403 // quick browser-compatible inheritance 11404 XmlRenderer.prototype = Object.create(Renderer.prototype); 11405 11406 XmlRenderer.prototype.render = render$1; 11407 XmlRenderer.prototype.out = out$2; 11408 XmlRenderer.prototype.cr = cr$1; 11409 XmlRenderer.prototype.tag = tag$1; 11410 XmlRenderer.prototype.esc = escapeXml; 11411 11412 exports.HtmlRenderer = HtmlRenderer; 11413 exports.Node = Node; 11414 exports.Parser = Parser; 11415 exports.Renderer = Renderer; 11416 exports.XmlRenderer = XmlRenderer; 11417 11418 Object.defineProperty(exports, '__esModule', { value: true }); 11419 11420})));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.