xslt-processor 0.11.3 → 0.11.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.js CHANGED
@@ -188,6 +188,7 @@ module.exports = {
188
188
  "no-unmodified-loop-condition": "error",
189
189
  "no-unneeded-ternary": "error",
190
190
  "no-unused-expressions": "off",
191
+ "no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
191
192
  "no-use-before-define": "off",
192
193
  "no-useless-call": "off",
193
194
  "no-useless-computed-key": "error",
@@ -287,4 +288,4 @@ module.exports = {
287
288
  "yield-star-spacing": "error",
288
289
  "yoda": "off"
289
290
  }
290
- };
291
+ };
package/README.md CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  _A JavaScript XSLT processor without native library dependencies._
6
6
 
7
+ ## Unmaintained
8
+
9
+ This package is looking for a maintainer. Please contact me if you are interested. We used XSLT for one thing and for that one purpose we are now using a replacement JavaScript library: [https://github.com/fiduswriter/mathml2omml](https://github.com/fiduswriter/mathml2omml).
10
+
11
+
7
12
  ## Howto
8
13
 
9
14
  Install xslt-processor using npm::
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var commonjsGlobal="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,r){return e(r={exports:{}},r.exports),r.exports}var he=createCommonjsModule(function(e,r){!function(t){var a=r,n=e&&e.exports==a&&e,o="object"==typeof commonjsGlobal&&commonjsGlobal;o.global!==o&&o.window!==o||(t=o);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,l=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},p=/["&'<>`]/g,h={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},d=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,f={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},E={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},x=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],v=String.fromCharCode,A={}.hasOwnProperty,N=function(e,r){return A.call(e,r)},T=function(e,r){if(!e)return r;var t,a={};for(t in r)a[t]=N(e,t)?e[t]:r[t];return a},y=function(e,r){var t="";return e>=55296&&e<=57343||e>1114111?(r&&S("character reference outside the permissible Unicode range"),"�"):N(E,e)?(r&&S("disallowed character reference"),E[e]):(r&&function(e,r){for(var t=-1,a=e.length;++t<a;)if(e[t]==r)return!0;return!1}(x,e)&&S("disallowed character reference"),e>65535&&(t+=v((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=v(e))},w=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},D=function(e){return"&#"+e+";"},S=function(e){throw Error("Parse error: "+e)},L=function(e,r){(r=T(r,L.options)).strict&&g.test(e)&&S("forbidden code point");var t=r.encodeEverything,a=r.useNamedReferences,n=r.allowUnsafeSymbols,o=r.decimal?D:w,h=function(e){return o(e.charCodeAt(0))};return t?(e=e.replace(i,function(e){return a&&N(c,e)?"&"+c[e]+";":h(e)}),a&&(e=e.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),a&&(e=e.replace(u,function(e){return"&"+c[e]+";"}))):a?(n||(e=e.replace(p,function(e){return"&"+c[e]+";"})),e=(e=e.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;")).replace(u,function(e){return"&"+c[e]+";"})):n||(e=e.replace(p,h)),e.replace(s,function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return o(1024*(r-55296)+t-56320+65536)}).replace(l,h)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(e,r){var t=(r=T(r,C.options)).strict;return t&&d.test(e)&&S("malformed character reference"),e.replace(m,function(e,a,n,o,s,i,l,u,c){var p,h,d,g,m,E;return a?f[m=a]:n?(m=n,(E=o)&&r.isAttributeValue?(t&&"="==E&&S("`&` did not start a character reference"),e):(t&&S("named character reference was not terminated by a semicolon"),b[m]+(E||""))):s?(d=s,h=i,t&&!h&&S("character reference was not terminated by a semicolon"),p=parseInt(d,10),y(p,t)):l?(g=l,h=u,t&&!h&&S("character reference was not terminated by a semicolon"),p=parseInt(g,16),y(p,t)):(t&&S("named character reference was not terminated by a semicolon"),e)})};C.options={isAttributeValue:!1,strict:!1};var q={version:"1.2.0",encode:L,decode:C,escape:function(e){return e.replace(p,function(e){return h[e]})},unescape:C};if(a&&!a.nodeType)if(n)n.exports=q;else for(var O in q)N(q,O)&&(a[O]=q[O]);else t.he=q}(commonjsGlobal)}),XML_S="[ \t\r\n]+",XML_EQ="("+XML_S+")?=("+XML_S+")?",XML_CHAR_REF="&#[0-9]+;|&#x[0-9a-fA-F]+;",XML10_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.0\"|'1\\.0')",XML10_BASE_CHAR="A-Za-zÀ-ÖØ-öø-ÿĀ-ıĴ-ľŁ-ňŊ-žƀ-ǃǍ-ǰǴ-ǵǺ-ȗɐ-ʨʻ-ˁΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϖϚϜϞϠϢ-ϳЁ-ЌЎ-яё-ќў-ҁҐ-ӄӇ-ӈӋ-ӌӐ-ӫӮ-ӵӸ-ӹԱ-Ֆՙա-ֆא-תװ-ײء-غف-يٱ-ڷں-ھۀ-ێې-ۓەۥ-ۦअ-हऽक़-ॡঅ-ঌএ-ঐও-নপ-রলশ-হড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઋઍએ-ઑઓ-નપ-રલ-ળવ-હઽૠଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଶ-ହଽଡ଼-ଢ଼ୟ-ୡஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-வஷ-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡก-ฮะา-ำเ-ๅກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ຮະາ-ຳຽເ-ໄཀ-ཇཉ-ཀྵႠ-Ⴥა-ჶᄀᄂ-ᄃᄅ-ᄇᄉᄋ-ᄌᄎ-ᄒᄼᄾᅀᅌᅎᅐᅔ-ᅕᅙᅟ-ᅡᅣᅥᅧᅩᅭ-ᅮᅲ-ᅳᅵᆞᆨᆫᆮ-ᆯᆷ-ᆸᆺᆼ-ᇂᇫᇰᇹḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼΩK-Å℮ↀ-ↂぁ-ゔァ-ヺㄅ-ㄬ가-힣",XML10_IDEOGRAPHIC="一-龥〇〡-〩",XML10_COMBINING_CHAR="̀-͠ͅ-҃͡-֑҆-֣֡-ֹֻ-ֽֿׁ-ׂًׄ-ْٰۖ-ۜ۝-۟۠-ۤۧ-۪ۨ-ۭँ-ः़ा-ौ्॑-॔ॢ-ॣঁ-ঃ়ািী-ৄে-ৈো-্ৗৢ-ৣਂ਼ਾਿੀ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂ-ஃா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾༿ཱ-྄྆-ྋྐ-ྕྗྙ-ྭྱ-ྷྐྵ⃐-〪⃜⃡-゙゚〯",XML10_DIGIT="0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩",XML10_EXTENDER="·ːˑ·ـๆໆ々〱-〵ゝ-ゞー-ヾ",XML10_LETTER=XML10_BASE_CHAR+XML10_IDEOGRAPHIC,XML10_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._:"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-",XML10_NAME="["+XML10_LETTER+"_:]["+XML10_NAME_CHAR+"]*",XML10_ENTITY_REF="&"+XML10_NAME+";",XML10_REFERENCE=XML10_ENTITY_REF+"|"+XML_CHAR_REF,XML10_ATT_VALUE='"(([^<&"]|'+XML10_REFERENCE+")*)\"|'(([^<&']|"+XML10_REFERENCE+")*)'",XML10_ATTRIBUTE="("+XML10_NAME+")"+XML_EQ+"("+XML10_ATT_VALUE+")",XML11_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.1\"|'1\\.1')",XML11_NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",XML11_NAME_CHAR=XML11_NAME_START_CHAR+"\\.0-9·̀-ͯ‿-⁀-",XML11_NAME="["+XML11_NAME_START_CHAR+"]["+XML11_NAME_CHAR+"]*",XML11_ENTITY_REF="&"+XML11_NAME+";",XML11_REFERENCE=XML11_ENTITY_REF+"|"+XML_CHAR_REF,XML11_ATT_VALUE='"(([^<&"]|'+XML11_REFERENCE+")*)\"|'(([^<&']|"+XML11_REFERENCE+")*)'",XML11_ATTRIBUTE="("+XML11_NAME+")"+XML_EQ+"("+XML11_ATT_VALUE+")",XML_NC_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-",XML_NC_NAME="["+XML10_LETTER+"_]["+XML_NC_NAME_CHAR+"]*",XML10_TAGNAME_REGEXP=new RegExp("^("+XML10_NAME+")"),XML10_ATTRIBUTE_REGEXP=new RegExp(XML10_ATTRIBUTE,"g"),XML11_TAGNAME_REGEXP=new RegExp("^("+XML11_NAME+")"),XML11_ATTRIBUTE_REGEXP=new RegExp(XML11_ATTRIBUTE,"g");function xmlParse(e){var r,t,a=/\/$/;if(e.match(/^<\?xml/))if(5==e.search(new RegExp(XML10_VERSION_INFO)))r=XML10_TAGNAME_REGEXP,t=XML10_ATTRIBUTE_REGEXP;else{if(5!=e.search(new RegExp(XML11_VERSION_INFO)))throw"VersionInfo is missing, or unknown version number.";r=XML11_TAGNAME_REGEXP,t=XML11_ATTRIBUTE_REGEXP}else r=XML10_TAGNAME_REGEXP,t=XML10_ATTRIBUTE_REGEXP;var n=new XDocument,o=n,s=[],i=o;s.push(i);for(var l=!1,u=!1,c=!1,p=0,h=0;h<e.length;++h){var d=e.charAt(h);if(l&&!c&&"'"===d)u=!u;else if(l&&!u&&'"'===d)c=!c;else if(!l||">"!==d||u||c){if(!l&&"<"===d){var g=e.slice(p,h);if(g&&i!=o&&domAppendChild(i,domCreateTextNode(n,g)),"!--"===e.slice(h+1,h+4)){var m=e.slice(h+4).indexOf("--\x3e");if(m)domAppendChild(i,domCreateComment(n,e.slice(h+4,h+m+4))),h+=m+6}else if("![CDATA["===e.slice(h+1,h+9)){var f=e.slice(h+9).indexOf("]]>");if(f)domAppendChild(i,domCreateCDATASection(n,e.slice(h+9,h+f+9))),h+=f+11}else l=!0;p=h+1}}else{var b=e.slice(p,h);if("/"==b.charAt(0))s.pop(),i=s[s.length-1];else if("?"==b.charAt(0));else if("!"==b.charAt(0));else{for(var E=b.match(a),x=domCreateElement(n,r.exec(b)[1]),v=void 0;v=t.exec(b);){var A=he.decode(v[5]||v[7]||"");domSetAttribute(x,v[1],A)}domAppendChild(i,x),E||(i=x,s.push(x))}p=h+1,l=!1,u=!1,c=!1}}return o}var DOM_ELEMENT_NODE=1,DOM_ATTRIBUTE_NODE=2,DOM_TEXT_NODE=3,DOM_CDATA_SECTION_NODE=4,DOM_PROCESSING_INSTRUCTION_NODE=7,DOM_COMMENT_NODE=8,DOM_DOCUMENT_NODE=9,DOM_DOCUMENT_FRAGMENT_NODE=11;function domTraverseElements(e,r,t){var a;if(r&&"boolean"==typeof(a=r.call(null,e))&&!a)return!1;for(var n=e.firstChild;n;n=n.nextSibling)if(n.nodeType==DOM_ELEMENT_NODE&&"boolean"==typeof(a=domTraverseElements.call(this,n,r,t))&&!a)return!1;return!(t&&"boolean"==typeof(a=t.call(null,e))&&!a)&&void 0}var _unusedXNodes=[],XNode=function(e,r,t,a){this.attributes=[],this.childNodes=[],this.init(e,r,t,a)};XNode.prototype.init=function(e,r,t,a){this.nodeType=e-0,this.nodeName=""+r,this.nodeValue=""+t,this.ownerDocument=a,this.firstChild=null,this.lastChild=null,this.nextSibling=null,this.previousSibling=null,this.parentNode=null},XNode.recycle=function(e){if(e)if(e.constructor!=XDocument){if(e.constructor==this){_unusedXNodes.push(e);for(var r=0;r<e.attributes.length;++r)this.recycle(e.attributes[r]);for(var t=0;t<e.childNodes.length;++t)this.recycle(e.childNodes[t]);e.attributes.length=0,e.childNodes.length=0,e.init.call(0,"","",null)}}else this.recycle(e.documentElement)},XNode.prototype.create=function(e,r,t,a){if(_unusedXNodes.length>0){var n=_unusedXNodes.pop();return n.init(e,r,t,a),n}return new XNode(e,r,t,a)},XNode.prototype.appendChild=function(e){0==this.childNodes.length&&(this.firstChild=e),e.previousSibling=this.lastChild,e.nextSibling=null,this.lastChild&&(this.lastChild.nextSibling=e),e.parentNode=this,this.lastChild=e,this.childNodes.push(e)},XNode.prototype.replaceChild=function(e,r){if(r!=e)for(var t=0;t<this.childNodes.length;++t)if(this.childNodes[t]==r){this.childNodes[t]=e;var a=r.parentNode;r.parentNode=null,e.parentNode=a,a=r.previousSibling,r.previousSibling=null,e.previousSibling=a,e.previousSibling&&(e.previousSibling.nextSibling=e),a=r.nextSibling,r.nextSibling=null,e.nextSibling=a,e.nextSibling&&(e.nextSibling.previousSibling=e),this.firstChild==r&&(this.firstChild=e),this.lastChild==r&&(this.lastChild=e);break}},XNode.prototype.insertBefore=function(e,r){if(r!=e&&r.parentNode==this){e.parentNode&&e.parentNode.removeChild(e);for(var t=[],a=0,n=this.childNodes;a<n.length;a+=1){var o=n[a];o==r&&(t.push(e),e.parentNode=this,e.previousSibling=r.previousSibling,r.previousSibling=e,e.previousSibling&&(e.previousSibling.nextSibling=e),e.nextSibling=r,this.firstChild==r&&(this.firstChild=e)),t.push(o)}this.childNodes=t}},XNode.prototype.removeChild=function(e){for(var r=[],t=0,a=this.childNodes;t<a.length;t+=1){var n=a[t];n!=e?r.push(n):(n.previousSibling&&(n.previousSibling.nextSibling=n.nextSibling),n.nextSibling&&(n.nextSibling.previousSibling=n.previousSibling),this.firstChild==n&&(this.firstChild=n.nextSibling),this.lastChild==n&&(this.lastChild=n.previousSibling))}this.childNodes=r},XNode.prototype.hasAttributes=function(){return this.attributes.length>0},XNode.prototype.setAttribute=function(e,r){for(var t=0;t<this.attributes.length;++t)if(this.attributes[t].nodeName==e)return void(this.attributes[t].nodeValue=""+r);this.attributes.push(this.create(DOM_ATTRIBUTE_NODE,e,r,this))},XNode.prototype.getAttribute=function(e){for(var r=0;r<this.attributes.length;++r)if(this.attributes[r].nodeName==e)return this.attributes[r].nodeValue;return null},XNode.prototype.removeAttribute=function(e){for(var r=[],t=0;t<this.attributes.length;++t)this.attributes[t].nodeName!=e&&r.push(this.attributes[t]);this.attributes=r},XNode.prototype.getElementsByTagName=function(e){var r=[],t=this;return domTraverseElements(this,"*"==e?function(e){t!=e&&r.push(e)}:function(a){t!=a&&a.nodeName==e&&r.push(a)},null),r},XNode.prototype.getElementById=function(e){var r=null;return domTraverseElements(this,function(t){if(t.getAttribute("id")==e)return r=t,!1},null),r};var XDocument=function(e){function r(){e.call(this,DOM_DOCUMENT_NODE,"#document",null,null),this.documentElement=null}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.clear=function(){this.recycle(this.documentElement),this.documentElement=null},r.prototype.appendChild=function(r){e.prototype.appendChild.call(this,r),this.documentElement=this.childNodes[0]},r.prototype.createElement=function(r){return e.prototype.create.call(this,DOM_ELEMENT_NODE,r,null,this)},r.prototype.createDocumentFragment=function(){return e.prototype.create.call(this,DOM_DOCUMENT_FRAGMENT_NODE,"#document-fragment",null,this)},r.prototype.createTextNode=function(r){return e.prototype.create.call(this,DOM_TEXT_NODE,"#text",r,this)},r.prototype.createAttribute=function(r){return e.prototype.create.call(this,DOM_ATTRIBUTE_NODE,r,null,this)},r.prototype.createComment=function(r){return e.prototype.create.call(this,DOM_COMMENT_NODE,"#comment",r,this)},r.prototype.createCDATASection=function(r){return e.prototype.create.call(this,DOM_CDATA_SECTION_NODE,"#cdata-section",r,this)},r}(XNode),toString=function(e){var r;switch(e.constructor){case FunctionCallExpr:r=e.name.value+"(";for(var t=0;t<e.args.length;++t)t>0&&(r+=", "),r+=toString(e.args[t]);r+=")";break;case UnionExpr:r=toString(e.expr1)+" | "+toString(e.expr2);break;case PathExpr:r="{path: {"+toString(e.filter)+"} {"+toString(e.rel)+"}}";break;case FilterExpr:r=toString(e.expr);for(var a=0;a<e.predicate.length;++a)r+=toString(e.predicate[a]);break;case UnaryMinusExpr:r="-"+toString(e.expr);break;case BinaryExpr:r=toString(e.expr1)+" "+e.op.value+" "+toString(e.expr2);break;case LiteralExpr:r='"'+e.value+'"';break;case NumberExpr:r=""+e.value;break;case VariableExpr:r="$"+e.name;break;case XNode:r=e.nodeName;break;case ExprContext:r="["+e.position+"/"+e.nodelist.length+"] "+e.node.nodeName;break;case TokenExpr:r=e.value;break;case LocationExpr:r="",e.absolute&&(r+="/");for(var n=0;n<e.steps.length;++n)n>0&&(r+="/"),r+=toString(e.steps[n]);break;case StepExpr:r=e.axis+"::"+toString(e.nodetest);for(var o=0;o<e.predicate.length;++o)r+=toString(e.predicate[o]);break;case NodeTestAny:r="node()";break;case NodeTestElementOrAttribute:r="*";break;case NodeTestText:r="text()";break;case NodeTestComment:r="comment()";break;case NodeTestPI:r="processing-instruction()";break;case NodeTestNC:r=e.nsprefix+":*";break;case NodeTestName:r=e.name;break;case PredicateExpr:r="["+toString(e.expr)+"]"}return r};function xpathParse(e,r){void 0===r&&(r=function(){}),r("parse "+e),xpathParseInit(r);var t=xpathCacheLookup(e);if(t)return r(" ... cached"),t;if(e.match(/^(\$|@)?\w+$/i)){var a=makeSimpleExpr(e);return xpathParseCache[e]=a,r(" ... simple"),a}if(e.match(/^\w+(\/\w+)*$/i)){var n=makeSimpleExpr2(e);return xpathParseCache[e]=n,r(" ... simple 2"),n}for(var o=e,s=[],i=null,l=null,u=!1,c=0,p=0,h=0;!u;){c++,e=e.replace(/^\s*/,""),l=i,i=null;for(var d=null,g="",m=0;m<xpathTokenRules.length;++m){var f=xpathTokenRules[m].re.exec(e);if(p++,f&&f.length>0&&f[0].length>g.length){d=xpathTokenRules[m],g=f[0];break}}for(!d||d!=TOK_DIV&&d!=TOK_MOD&&d!=TOK_AND&&d!=TOK_OR||l&&l.tag!=TOK_AT&&l.tag!=TOK_DSLASH&&l.tag!=TOK_SLASH&&l.tag!=TOK_AXIS&&l.tag!=TOK_DOLLAR||(d=TOK_QNAME),d?(e=e.substr(g.length),r("token: "+g+" -- "+d.label),i={tag:d,match:g,prec:d.prec?d.prec:0,expr:makeTokenExpr(g)}):(r("DONE"),u=!0);xpathReduce(s,i,r);)h++,r("stack: "+stackToString(s))}if(r("stack: "+stackToString(s)),1!=s.length)throw"XPath parse error "+o+":\n"+stackToString(s);var b=s[0].expr;return xpathParseCache[o]=b,r("XPath parse: "+c+" / "+p+" / "+h),b}var xpathParseCache={};function xpathCacheLookup(e){return xpathParseCache[e]}function xpathReduce(e,r,t){var a,n=null;if(e.length>0){var o=e[e.length-1],s=xpathRules[o.tag.key];if(s)for(var i=0;i<s.length;++i){var l=s[i],u=xpathMatchStack(e,l[1]);if(u.length){(n={tag:l[0],rule:l,match:u}).prec=xpathGrammarPrecedence(n);break}}}if(n&&(!r||n.prec>r.prec||r.tag.left&&n.prec>=r.prec)){for(var c=0;c<n.match.matchlength;++c)e.pop();t("reduce "+n.tag.label+" "+n.prec+" ahead "+(r?r.tag.label+" "+r.prec+(r.tag.left?" left":""):" none "));var p=mapExpr(n.match,function(e){return e.expr});t("going to apply "+toString(n.rule[3])),n.expr=n.rule[3].apply(null,p),e.push(n),a=!0}else r&&(t("shift "+r.tag.label+" "+r.prec+(r.tag.left?" left":"")+" over "+(n?n.tag.label+" "+n.prec:" none")),e.push(r)),a=!1;return a}function xpathMatchStack(e,r){var t,a,n=e.length,o=r.length,s=[];s.matchlength=0;var i=0;for(t=o-1,a=n-1;t>=0&&a>=0;--t,a-=i){i=0;var l=[];if(r[t]==Q_MM)for(t-=1,s.push(l);a-i>=0&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1;else if(r[t]==Q_01)for(t-=1,s.push(l);a-i>=0&&i<2&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1;else if(r[t]==Q_1M){if(t-=1,s.push(l),e[a].tag!=r[t])return[];for(;a-i>=0&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1}else{if(e[a].tag!=r[t])return[];s.push(e[a]),i+=1,s.matchlength+=1}reverseInplace(l),l.expr=mapExpr(l,function(e){return e.expr})}return reverseInplace(s),-1==t?s:[]}function xpathTokenPrecedence(e){return e.prec||2}function xpathGrammarPrecedence(e){var r=0;if(e.rule)if(e.rule.length>=3&&e.rule[2]>=0)r=e.rule[2];else for(var t=0;t<e.rule[1].length;++t){var a=xpathTokenPrecedence(e.rule[1][t]);r=Math.max(r,a)}else if(e.tag)r=xpathTokenPrecedence(e.tag);else if(e.length)for(var n=0;n<e.length;++n){var o=xpathGrammarPrecedence(e[n]);r=Math.max(r,o)}return r}function stackToString(e){for(var r="",t=0;t<e.length;++t)r&&(r+="\n"),r+=e[t].tag.label;return r}var ExprContext=function(e,r,t,a,n,o,s,i){this.node=e,this.position=r||0,this.nodelist=t||[e],this.variables={},this.parent=a||null,this.caseInsensitive=n||!1,this.ignoreAttributesWithoutValue=o||!1,this.returnOnFirstMatch=s||!1,this.ignoreNonElementNodesForNTA=i||!1,a?this.root=a.root:this.node.nodeType==DOM_DOCUMENT_NODE?this.root=e:this.root=e.ownerDocument};ExprContext.prototype.clone=function(e,r,t){return new ExprContext(e||this.node,void 0!==r?r:this.position,t||this.nodelist,this,this.caseInsensitive,this.ignoreAttributesWithoutValue,this.returnOnFirstMatch,this.ignoreNonElementNodesForNTA)},ExprContext.prototype.setVariable=function(e,r){r instanceof StringValue||r instanceof BooleanValue||r instanceof NumberValue||r instanceof NodeSetValue?this.variables[e]=r:"true"===r?this.variables[e]=new BooleanValue(!0):"false"===r?this.variables[e]=new BooleanValue(!1):TOK_NUMBER.re.test(r)?this.variables[e]=new NumberValue(r):this.variables[e]=new StringValue(r)},ExprContext.prototype.getVariable=function(e){return void 0!==this.variables[e]?this.variables[e]:this.parent?this.parent.getVariable(e):null},ExprContext.prototype.setNode=function(e){this.node=this.nodelist[e],this.position=e},ExprContext.prototype.contextSize=function(){return this.nodelist.length},ExprContext.prototype.isCaseInsensitive=function(){return this.caseInsensitive},ExprContext.prototype.setCaseInsensitive=function(e){return this.caseInsensitive=e},ExprContext.prototype.isIgnoreAttributesWithoutValue=function(){return this.ignoreAttributesWithoutValue},ExprContext.prototype.setIgnoreAttributesWithoutValue=function(e){return this.ignoreAttributesWithoutValue=e},ExprContext.prototype.isReturnOnFirstMatch=function(){return this.returnOnFirstMatch},ExprContext.prototype.setReturnOnFirstMatch=function(e){return this.returnOnFirstMatch=e},ExprContext.prototype.isIgnoreNonElementNodesForNTA=function(){return this.ignoreNonElementNodesForNTA},ExprContext.prototype.setIgnoreNonElementNodesForNTA=function(e){return this.ignoreNonElementNodesForNTA=e};var StringValue=function(e){this.value=e,this.type="string"};StringValue.prototype.stringValue=function(){return this.value},StringValue.prototype.booleanValue=function(){return this.value.length>0},StringValue.prototype.numberValue=function(){return this.value-0},StringValue.prototype.nodeSetValue=function(){throw this};var BooleanValue=function(e){this.value=e,this.type="boolean"};BooleanValue.prototype.stringValue=function(){return""+this.value},BooleanValue.prototype.booleanValue=function(){return this.value},BooleanValue.prototype.numberValue=function(){return this.value?1:0},BooleanValue.prototype.nodeSetValue=function(){throw this};var NumberValue=function(e){this.value=e,this.type="number"};NumberValue.prototype.stringValue=function(){return""+this.value},NumberValue.prototype.booleanValue=function(){return!!this.value},NumberValue.prototype.numberValue=function(){return this.value-0},NumberValue.prototype.nodeSetValue=function(){throw this};var NodeSetValue=function(e){this.value=e,this.type="node-set"};NodeSetValue.prototype.stringValue=function(){return 0==this.value.length?"":xmlValue(this.value[0])},NodeSetValue.prototype.booleanValue=function(){return this.value.length>0},NodeSetValue.prototype.numberValue=function(){return this.stringValue()-0},NodeSetValue.prototype.nodeSetValue=function(){return this.value};var TokenExpr=function(e){this.value=e};TokenExpr.prototype.evaluate=function(){return new StringValue(this.value)};var LocationExpr=function(){this.absolute=!1,this.steps=[]};function xPathStep(e,r,t,a,n){var o=r[t],s=n.clone(a);if(n.returnOnFirstMatch&&!o.hasPositionalPredicate){var i=o.evaluate(s).nodeSetValue(),l=i.length,u=o.predicate.length;e:for(var c=0;c<l;++c){for(var p=i[c],h=0;h<u;++h)if(!o.predicate[h].evaluate(n.clone(p,c,i)).booleanValue())continue e;if(t==r.length-1?e.push(p):xPathStep(e,r,t+1,p,n),e.length>0)break}}else{s.returnOnFirstMatch=!1;for(var d=o.evaluate(s).nodeSetValue(),g=0;g<d.length;++g)t==r.length-1?e.push(d[g]):xPathStep(e,r,t+1,d[g],n)}}LocationExpr.prototype.appendStep=function(e){var r=this._combineSteps(this.steps[this.steps.length-1],e);r?this.steps[this.steps.length-1]=r:this.steps.push(e)},LocationExpr.prototype.prependStep=function(e){var r=this._combineSteps(e,this.steps[0]);r?this.steps[0]=r:this.steps.unshift(e)},LocationExpr.prototype._combineSteps=function(e,r){if(!e)return null;if(!r)return null;var t=e.predicates&&e.predicates.length>0;if(e.nodetest instanceof NodeTestAny&&!t)if(e.axis==xpathAxis.DESCENDANT_OR_SELF){if(r.axis==xpathAxis.CHILD);else if(r.axis==xpathAxis.SELF)return r.axis=xpathAxis.DESCENDANT_OR_SELF,r}else if(e.axis==xpathAxis.DESCENDANT&&r.axis==xpathAxis.SELF)return r.axis=xpathAxis.DESCENDANT,r;return null},LocationExpr.prototype.evaluate=function(e){var r;r=this.absolute?e.root:e.node;var t=[];return xPathStep(t,this.steps,0,r,e),new NodeSetValue(t)};var StepExpr=function(e,r,t){this.axis=e,this.nodetest=r,this.predicate=t||[],this.hasPositionalPredicate=!1;for(var a=0;a<this.predicate.length;++a)if(predicateExprHasPositionalSelector(this.predicate[a].expr)){this.hasPositionalPredicate=!0;break}};StepExpr.prototype.appendPredicate=function(e){this.predicate.push(e),this.hasPositionalPredicate||(this.hasPositionalPredicate=predicateExprHasPositionalSelector(e.expr))},StepExpr.prototype.evaluate=function(e){var r=e.node,t=[],a=!1;if(this.nodetest instanceof NodeTestAny&&(a=!0),this.axis==xpathAxis.ANCESTOR_OR_SELF){t.push(r);for(var n=r.parentNode;n;n=n.parentNode)t.push(n)}else if(this.axis==xpathAxis.ANCESTOR)for(var o=r.parentNode;o;o=o.parentNode)t.push(o);else if(this.axis==xpathAxis.ATTRIBUTE)if(null!=this.nodetest.name){if(r.attributes)if(r.attributes instanceof Array)copyArray(t,r.attributes);else if("style"==this.nodetest.name){var s=r.getAttribute("style");s&&"string"!=typeof s?t.push(XNode.create(DOM_ATTRIBUTE_NODE,"style",s.cssText,document)):t.push(r.attributes[this.nodetest.name])}else t.push(r.attributes[this.nodetest.name])}else e.ignoreAttributesWithoutValue?copyArrayIgnoringAttributesWithoutValue(t,r.attributes):copyArray(t,r.attributes);else if(this.axis==xpathAxis.CHILD)copyArray(t,r.childNodes);else if(this.axis==xpathAxis.DESCENDANT_OR_SELF){this.nodetest.evaluate(e).booleanValue()&&t.push(r);var i=xpathExtractTagNameFromNodeTest(this.nodetest,e.ignoreNonElementNodesForNTA);xpathCollectDescendants(t,r,i),i&&(a=!0)}else if(this.axis==xpathAxis.DESCENDANT){var l=xpathExtractTagNameFromNodeTest(this.nodetest,e.ignoreNonElementNodesForNTA);xpathCollectDescendants(t,r,l),l&&(a=!0)}else if(this.axis==xpathAxis.FOLLOWING)for(var u=r;u;u=u.parentNode)for(var c=u.nextSibling;c;c=c.nextSibling)t.push(c),xpathCollectDescendants(t,c);else if(this.axis==xpathAxis.FOLLOWING_SIBLING)for(var p=r.nextSibling;p;p=p.nextSibling)t.push(p);else{if(this.axis==xpathAxis.NAMESPACE)throw"not implemented: axis namespace";if(this.axis==xpathAxis.PARENT)r.parentNode&&t.push(r.parentNode);else if(this.axis==xpathAxis.PRECEDING)for(var h=r;h;h=h.parentNode)for(var d=h.previousSibling;d;d=d.previousSibling)t.push(d),xpathCollectDescendantsReverse(t,d);else if(this.axis==xpathAxis.PRECEDING_SIBLING)for(var g=r.previousSibling;g;g=g.previousSibling)t.push(g);else{if(this.axis!=xpathAxis.SELF)throw"ERROR -- NO SUCH AXIS: "+this.axis;t.push(r)}}if(!a){var m=t;t=[];for(var f=0;f<m.length;++f){var b=m[f];this.nodetest.evaluate(e.clone(b,f,m)).booleanValue()&&t.push(b)}}if(!e.returnOnFirstMatch)for(var E=0;E<this.predicate.length;++E){var x=t;t=[];for(var v=0;v<x.length;++v){var A=x[v];this.predicate[E].evaluate(e.clone(A,v,x)).booleanValue()&&t.push(A)}}return new NodeSetValue(t)};var NodeTestAny=function(){this.value=new BooleanValue(!0)};NodeTestAny.prototype.evaluate=function(){return this.value};var NodeTestElementOrAttribute=function(){};NodeTestElementOrAttribute.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_ELEMENT_NODE||e.node.nodeType==DOM_ATTRIBUTE_NODE)};var NodeTestText=function(){};NodeTestText.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_TEXT_NODE)};var NodeTestComment=function(){};NodeTestComment.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_COMMENT_NODE)};var NodeTestPI=function(e){this.target=e};NodeTestPI.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_PROCESSING_INSTRUCTION_NODE&&(!this.target||e.node.nodeName==this.target))};var NodeTestNC=function(e){this.regex=new RegExp("^"+e+":"),this.nsprefix=e};NodeTestNC.prototype.evaluate=function(e){var r=e.node;return new BooleanValue(this.regex.match(r.nodeName))};var NodeTestName=function(e){this.name=e,this.re=new RegExp("^"+e+"$","i")};NodeTestName.prototype.evaluate=function(e){var r=e.node;return e.caseInsensitive?r.nodeName.length!=this.name.length?new BooleanValue(!1):new BooleanValue(this.re.test(r.nodeName)):new BooleanValue(r.nodeName==this.name)};var PredicateExpr=function(e){this.expr=e};PredicateExpr.prototype.evaluate=function(e){var r=this.expr.evaluate(e);return"number"==r.type?new BooleanValue(e.position==r.numberValue()-1):new BooleanValue(r.booleanValue())};var xpathfunctions={last:function(e){return assert(0==this.args.length),new NumberValue(e.contextSize())},position:function(e){return assert(0==this.args.length),new NumberValue(e.position+1)},count:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e);return new NumberValue(r.nodeSetValue().length)},id:function(e){assert(1==this.args.length);var r,t=this.args[0].evaluate(e),a=[];if("node-set"==t.type){r=[];for(var n=t.nodeSetValue(),o=0;o<n.length;++o)for(var s=xmlValue(n[o]).split(/\s+/),i=0;i<s.length;++i)r.push(s[i])}else r=t.stringValue().split(/\s+/);for(var l=e.root,u=0;u<r.length;++u){var c=l.getElementById(r[u]);c&&a.push(c)}return new NodeSetValue(a)},"local-name":function(){throw"not implmented yet: XPath function local-name()"},"namespace-uri":function(){throw"not implmented yet: XPath function namespace-uri()"},name:function(e){var r;return assert(1==this.args.length||0==this.args.length),0==(r=0==this.args.length?[e.node]:this.args[0].evaluate(e).nodeSetValue()).length?new StringValue(""):new StringValue(r[0].nodeName)},string:function(e){return assert(1==this.args.length||0==this.args.length),0==this.args.length?new StringValue(new NodeSetValue([e.node]).stringValue()):new StringValue(this.args[0].evaluate(e).stringValue())},concat:function(e){for(var r="",t=0;t<this.args.length;++t)r+=this.args[t].evaluate(e).stringValue();return new StringValue(r)},"starts-with":function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue();return new BooleanValue(0==r.indexOf(t))},"ends-with":function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue(),a=new RegExp(regExpEscape(t)+"$");return new BooleanValue(a.test(r))},contains:function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue();return new BooleanValue(r.includes(t))},"substring-before":function(e){assert(2==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).stringValue(),n=t.indexOf(a);return r=-1==n?"":t.substr(0,n),new StringValue(r)},"substring-after":function(e){assert(2==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).stringValue(),n=t.indexOf(a);return r=-1==n?"":t.substr(n+a.length),new StringValue(r)},substring:function(e){assert(2==this.args.length||3==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).numberValue();if(2==this.args.length){var n=Math.max(0,Math.round(a)-1);r=t.substr(n)}else{var o=this.args[2].evaluate(e).numberValue(),s=Math.round(a)-1,i=Math.max(0,s),l=Math.round(o)-Math.max(0,-s);r=t.substr(i,l)}return new StringValue(r)},"string-length":function(e){var r;return r=this.args.length>0?this.args[0].evaluate(e).stringValue():new NodeSetValue([e.node]).stringValue(),new NumberValue(r.length)},"normalize-space":function(e){var r;return r=(r=this.args.length>0?this.args[0].evaluate(e).stringValue():new NodeSetValue([e.node]).stringValue()).replace(/^\s*/,"").replace(/\s*$/,"").replace(/\s+/g," "),new StringValue(r)},translate:function(e){assert(3==this.args.length);for(var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue(),a=this.args[2].evaluate(e).stringValue(),n=0;n<t.length;++n)r=r.replace(new RegExp(t.charAt(n),"g"),a.charAt(n));return new StringValue(r)},matches:function(e){assert(this.args.length>=2);var r,t,a=this.args[0].evaluate(e).stringValue(),n=this.args[1].evaluate(e).stringValue();if(this.args.length>2&&(r=this.args[2].evaluate(e).stringValue(),/[^mi]/.test(r)))throw"Invalid regular expression syntax: "+r;try{t=new RegExp(n,r)}catch(e){throw"Invalid matches argument: "+n}return new BooleanValue(t.test(a))},boolean:function(e){return assert(1==this.args.length),new BooleanValue(this.args[0].evaluate(e).booleanValue())},not:function(e){assert(1==this.args.length);var r=!this.args[0].evaluate(e).booleanValue();return new BooleanValue(r)},true:function(){return assert(0==this.args.length),new BooleanValue(!0)},false:function(){return assert(0==this.args.length),new BooleanValue(!1)},lang:function(e){assert(1==this.args.length);for(var r,t=this.args[0].evaluate(e).stringValue(),a=e.node;a&&a!=a.parentNode&&!(r=a.getAttribute("xml:lang"));)a=a.parentNode;if(r){var n=new RegExp("^"+t+"$","i");return new BooleanValue(r.match(n)||r.replace(/_.*$/,"").match(n))}return new BooleanValue(!1)},number:function(e){return assert(1==this.args.length||0==this.args.length),1==this.args.length?new NumberValue(this.args[0].evaluate(e).numberValue()):new NumberValue(new NodeSetValue([e.node]).numberValue())},sum:function(e){assert(1==this.args.length);for(var r=this.args[0].evaluate(e).nodeSetValue(),t=0,a=0;a<r.length;++a)t+=xmlValue(r[a])-0;return new NumberValue(t)},floor:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.floor(r))},ceiling:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.ceil(r))},round:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.round(r))},"ext-join":function(e){assert(2==this.args.length);for(var r=this.args[0].evaluate(e).nodeSetValue(),t=this.args[1].evaluate(e).stringValue(),a="",n=0;n<r.length;++n)a&&(a+=t),a+=xmlValue(r[n]);return new StringValue(a)},"ext-if":function(e){return assert(3==this.args.length),this.args[0].evaluate(e).booleanValue()?this.args[1].evaluate(e):this.args[2].evaluate(e)},"ext-cardinal":function(e){assert(this.args.length>=1);for(var r=this.args[0].evaluate(e).numberValue(),t=[],a=0;a<r;++a)t.push(e.node);return new NodeSetValue(t)}},FunctionCallExpr=function(e){this.name=e,this.args=[]};FunctionCallExpr.prototype.appendArg=function(e){this.args.push(e)},FunctionCallExpr.prototype.evaluate=function(e){var r=""+this.name.value,t=xpathfunctions[r];return t?t.call(this,e):new BooleanValue(!1)};var UnionExpr=function(e,r){this.expr1=e,this.expr2=r};UnionExpr.prototype.evaluate=function(e){for(var r=this.expr1.evaluate(e).nodeSetValue(),t=this.expr2.evaluate(e).nodeSetValue(),a=r.length,n=0,o=t;n<o.length;n+=1){for(var s=o[n],i=!1,l=0;l<a;++l)r[l]==s&&(i=!0,l=a);i||r.push(s)}return new NodeSetValue(r)};var PathExpr=function(e,r){this.filter=e,this.rel=r};PathExpr.prototype.evaluate=function(e){var r=this.filter.evaluate(e).nodeSetValue(),t=[];if(e.returnOnFirstMatch){for(var a=0;a<r.length&&!((t=this.rel.evaluate(e.clone(r[a],a,r)).nodeSetValue()).length>0);++a);return new NodeSetValue(t)}for(var n=0;n<r.length;++n)for(var o=this.rel.evaluate(e.clone(r[n],n,r)).nodeSetValue(),s=0;s<o.length;++s)t.push(o[s]);return new NodeSetValue(t)};var FilterExpr=function(e,r){this.expr=e,this.predicate=r};FilterExpr.prototype.evaluate=function(e){var r=e.returnOnFirstMatch;e.setReturnOnFirstMatch(!1);var t=this.expr.evaluate(e).nodeSetValue();e.setReturnOnFirstMatch(r);for(var a=0;a<this.predicate.length;++a){var n=t;t=[];for(var o=0;o<n.length;++o){var s=n[o];this.predicate[a].evaluate(e.clone(s,o,n)).booleanValue()&&t.push(s)}}return new NodeSetValue(t)};var UnaryMinusExpr=function(e){this.expr=e};UnaryMinusExpr.prototype.evaluate=function(e){return new NumberValue(-this.expr.evaluate(e).numberValue())};var BinaryExpr=function(e,r,t){this.expr1=e,this.expr2=t,this.op=r};BinaryExpr.prototype.evaluate=function(e){var r;switch(this.op.value){case"or":r=new BooleanValue(this.expr1.evaluate(e).booleanValue()||this.expr2.evaluate(e).booleanValue());break;case"and":r=new BooleanValue(this.expr1.evaluate(e).booleanValue()&&this.expr2.evaluate(e).booleanValue());break;case"+":r=new NumberValue(this.expr1.evaluate(e).numberValue()+this.expr2.evaluate(e).numberValue());break;case"-":r=new NumberValue(this.expr1.evaluate(e).numberValue()-this.expr2.evaluate(e).numberValue());break;case"*":r=new NumberValue(this.expr1.evaluate(e).numberValue()*this.expr2.evaluate(e).numberValue());break;case"mod":r=new NumberValue(this.expr1.evaluate(e).numberValue()%this.expr2.evaluate(e).numberValue());break;case"div":r=new NumberValue(this.expr1.evaluate(e).numberValue()/this.expr2.evaluate(e).numberValue());break;case"=":r=this.compare(e,function(e,r){return e==r});break;case"!=":r=this.compare(e,function(e,r){return e!=r});break;case"<":r=this.compare(e,function(e,r){return e<r});break;case"<=":r=this.compare(e,function(e,r){return e<=r});break;case">":r=this.compare(e,function(e,r){return e>r});break;case">=":r=this.compare(e,function(e,r){return e>=r});break;default:throw"BinaryExpr.evaluate: "+this.op.value}return r},BinaryExpr.prototype.compare=function(e,r){var t,a=this.expr1.evaluate(e),n=this.expr2.evaluate(e);if("node-set"==a.type&&"node-set"==n.type){var o=a.nodeSetValue(),s=n.nodeSetValue();t=!1;for(var i=0;i<o.length;++i)for(var l=0;l<s.length;++l)r(xmlValue(o[i]),xmlValue(s[l]))&&(t=!0,l=s.length,i=o.length)}else if("node-set"==a.type||"node-set"==n.type)if("number"==a.type){var u=a.numberValue(),c=n.nodeSetValue();t=!1;for(var p=0;p<c.length;++p){if(r(u,xmlValue(c[p])-0)){t=!0;break}}}else if("number"==n.type){var h=a.nodeSetValue(),d=n.numberValue();t=!1;for(var g=0;g<h.length;++g){if(r(xmlValue(h[g])-0,d)){t=!0;break}}}else if("string"==a.type){var m=a.stringValue(),f=n.nodeSetValue();t=!1;for(var b=0;b<f.length;++b){if(r(m,xmlValue(f[b]))){t=!0;break}}}else if("string"==n.type){var E=a.nodeSetValue(),x=n.stringValue();t=!1;for(var v=0;v<E.length;++v){if(r(xmlValue(E[v]),x)){t=!0;break}}}else t=r(a.booleanValue(),n.booleanValue());else t="boolean"==a.type||"boolean"==n.type?r(a.booleanValue(),n.booleanValue()):"number"==a.type||"number"==n.type?r(a.numberValue(),n.numberValue()):r(a.stringValue(),n.stringValue());return new BooleanValue(t)};var LiteralExpr=function(e){this.value=e};LiteralExpr.prototype.evaluate=function(){return new StringValue(this.value)};var NumberExpr=function(e){this.value=e};NumberExpr.prototype.evaluate=function(){return new NumberValue(this.value)};var VariableExpr=function(e){this.name=e};function makeTokenExpr(e){return new TokenExpr(e)}function passExpr(e){return e}function makeLocationExpr1(e,r){return r.absolute=!0,r}function makeLocationExpr2(e,r){return r.absolute=!0,r.prependStep(makeAbbrevStep(e.value)),r}function makeLocationExpr3(){var e=new LocationExpr;return e.appendStep(makeAbbrevStep(".")),e.absolute=!0,e}function makeLocationExpr4(e){var r=new LocationExpr;return r.absolute=!0,r.appendStep(makeAbbrevStep(e.value)),r}function makeLocationExpr5(e){var r=new LocationExpr;return r.appendStep(e),r}function makeLocationExpr6(e,r,t){return e.appendStep(t),e}function makeLocationExpr7(e,r,t){return e.appendStep(makeAbbrevStep(r.value)),e.appendStep(t),e}function makeStepExpr1(e){return makeAbbrevStep(e.value)}function makeStepExpr2(e){return makeAbbrevStep(e.value)}function makeStepExpr3(e,r,t){return new StepExpr(e.value,t)}function makeStepExpr4(e,r){return new StepExpr("attribute",r)}function makeStepExpr5(e){return new StepExpr("child",e)}function makeStepExpr6(e,r){return e.appendPredicate(r),e}function makeAbbrevStep(e){switch(e){case"//":return new StepExpr("descendant-or-self",new NodeTestAny);case".":return new StepExpr("self",new NodeTestAny);case"..":return new StepExpr("parent",new NodeTestAny)}}function makeNodeTestExpr1(){return new NodeTestElementOrAttribute}function makeNodeTestExpr2(e){return new NodeTestNC(e.value)}function makeNodeTestExpr3(e){return new NodeTestName(e.value)}function makeNodeTestExpr4(e){switch(e.value.replace(/\s*\($/,"")){case"node":return new NodeTestAny;case"text":return new NodeTestText;case"comment":return new NodeTestComment;case"processing-instruction":return new NodeTestPI("")}}function makeNodeTestExpr5(e,r){var t=e.replace(/\s*\($/,"");if("processing-instruction"!=t)throw t;return new NodeTestPI(r.value)}function makePredicateExpr(e,r){return new PredicateExpr(r)}function makePrimaryExpr(e,r){return r}function makeFunctionCallExpr1(e){return new FunctionCallExpr(e)}function makeFunctionCallExpr2(e,r,t,a){var n=new FunctionCallExpr(e);n.appendArg(t);for(var o=0;o<a.length;++o)n.appendArg(a[o]);return n}function makeArgumentExpr(e,r){return r}function makeUnionExpr(e,r,t){return new UnionExpr(e,t)}function makePathExpr1(e,r,t){return new PathExpr(e,t)}function makePathExpr2(e,r,t){return t.prependStep(makeAbbrevStep(r.value)),new PathExpr(e,t)}function makeFilterExpr(e,r){return r.length>0?new FilterExpr(e,r):e}function makeUnaryMinusExpr(e,r){return new UnaryMinusExpr(r)}function makeBinaryExpr(e,r,t){return new BinaryExpr(e,r,t)}function makeLiteralExpr(e){var r=e.value.substring(1,e.value.length-1);return new LiteralExpr(r)}function makeNumberExpr(e){return new NumberExpr(e.value)}function makeVariableReference(e,r){return new VariableExpr(r.value)}function makeSimpleExpr(e){if("$"==e.charAt(0))return new VariableExpr(e.substr(1));if("@"==e.charAt(0)){var r=new NodeTestName(e.substr(1)),t=new StepExpr("attribute",r),a=new LocationExpr;return a.appendStep(t),a}if(e.match(/^[0-9]+$/))return new NumberExpr(e);var n=new NodeTestName(e),o=new StepExpr("child",n),s=new LocationExpr;return s.appendStep(o),s}function makeSimpleExpr2(e){for(var r=e.split("/"),t=new LocationExpr,a=0;a<r.length;++a){var n=new NodeTestName(r[a]),o=new StepExpr("child",n);t.appendStep(o)}return t}VariableExpr.prototype.evaluate=function(e){return e.getVariable(this.name)};var xpathAxis={ANCESTOR_OR_SELF:"ancestor-or-self",ANCESTOR:"ancestor",ATTRIBUTE:"attribute",CHILD:"child",DESCENDANT_OR_SELF:"descendant-or-self",DESCENDANT:"descendant",FOLLOWING_SIBLING:"following-sibling",FOLLOWING:"following",NAMESPACE:"namespace",PARENT:"parent",PRECEDING_SIBLING:"preceding-sibling",PRECEDING:"preceding",SELF:"self"},xpathAxesRe=[xpathAxis.ANCESTOR_OR_SELF,xpathAxis.ANCESTOR,xpathAxis.ATTRIBUTE,xpathAxis.CHILD,xpathAxis.DESCENDANT_OR_SELF,xpathAxis.DESCENDANT,xpathAxis.FOLLOWING_SIBLING,xpathAxis.FOLLOWING,xpathAxis.NAMESPACE,xpathAxis.PARENT,xpathAxis.PRECEDING_SIBLING,xpathAxis.PRECEDING,xpathAxis.SELF].join("|"),TOK_PIPE={label:"|",prec:17,re:new RegExp("^\\|")},TOK_DSLASH={label:"//",prec:19,re:new RegExp("^//")},TOK_SLASH={label:"/",prec:30,re:new RegExp("^/")},TOK_AXIS={label:"::",prec:20,re:new RegExp("^::")},TOK_COLON={label:":",prec:1e3,re:new RegExp("^:")},TOK_AXISNAME={label:"[axis]",re:new RegExp("^("+xpathAxesRe+")")},TOK_PARENO={label:"(",prec:34,re:new RegExp("^\\(")},TOK_PARENC={label:")",re:new RegExp("^\\)")},TOK_DDOT={label:"..",prec:34,re:new RegExp("^\\.\\.")},TOK_DOT={label:".",prec:34,re:new RegExp("^\\.")},TOK_AT={label:"@",prec:34,re:new RegExp("^@")},TOK_COMMA={label:",",re:new RegExp("^,")},TOK_OR={label:"or",prec:10,re:new RegExp("^or\\b")},TOK_AND={label:"and",prec:11,re:new RegExp("^and\\b")},TOK_EQ={label:"=",prec:12,re:new RegExp("^=")},TOK_NEQ={label:"!=",prec:12,re:new RegExp("^!=")},TOK_GE={label:">=",prec:13,re:new RegExp("^>=")},TOK_GT={label:">",prec:13,re:new RegExp("^>")},TOK_LE={label:"<=",prec:13,re:new RegExp("^<=")},TOK_LT={label:"<",prec:13,re:new RegExp("^<")},TOK_PLUS={label:"+",prec:14,re:new RegExp("^\\+"),left:!0},TOK_MINUS={label:"-",prec:14,re:new RegExp("^\\-"),left:!0},TOK_DIV={label:"div",prec:15,re:new RegExp("^div\\b"),left:!0},TOK_MOD={label:"mod",prec:15,re:new RegExp("^mod\\b"),left:!0},TOK_BRACKO={label:"[",prec:32,re:new RegExp("^\\[")},TOK_BRACKC={label:"]",re:new RegExp("^\\]")},TOK_DOLLAR={label:"$",re:new RegExp("^\\$")},TOK_NCNAME={label:"[ncname]",re:new RegExp("^"+XML_NC_NAME)},TOK_ASTERISK={label:"*",prec:15,re:new RegExp("^\\*"),left:!0},TOK_LITERALQ={label:"[litq]",prec:20,re:new RegExp("^'[^\\']*'")},TOK_LITERALQQ={label:"[litqq]",prec:20,re:new RegExp('^"[^\\"]*"')},TOK_NUMBER={label:"[number]",prec:35,re:new RegExp("^\\d+(\\.\\d*)?")},TOK_QNAME={label:"[qname]",re:new RegExp("^("+XML_NC_NAME+":)?"+XML_NC_NAME)},TOK_NODEO={label:"[nodetest-start]",re:new RegExp("^(processing-instruction|comment|text|node)\\(")},xpathTokenRules=[TOK_DSLASH,TOK_SLASH,TOK_DDOT,TOK_DOT,TOK_AXIS,TOK_COLON,TOK_AXISNAME,TOK_NODEO,TOK_PARENO,TOK_PARENC,TOK_BRACKO,TOK_BRACKC,TOK_AT,TOK_COMMA,TOK_OR,TOK_AND,TOK_NEQ,TOK_EQ,TOK_GE,TOK_GT,TOK_LE,TOK_LT,TOK_PLUS,TOK_MINUS,TOK_ASTERISK,TOK_PIPE,TOK_MOD,TOK_DIV,TOK_LITERALQ,TOK_LITERALQQ,TOK_NUMBER,TOK_QNAME,TOK_NCNAME,TOK_DOLLAR],XPathLocationPath={label:"LocationPath"},XPathRelativeLocationPath={label:"RelativeLocationPath"},XPathAbsoluteLocationPath={label:"AbsoluteLocationPath"},XPathStep={label:"Step"},XPathNodeTest={label:"NodeTest"},XPathPredicate={label:"Predicate"},XPathLiteral={label:"Literal"},XPathExpr={label:"Expr"},XPathPrimaryExpr={label:"PrimaryExpr"},XPathVariableReference={label:"Variablereference"},XPathNumber={label:"Number"},XPathFunctionCall={label:"FunctionCall"},XPathArgumentRemainder={label:"ArgumentRemainder"},XPathPathExpr={label:"PathExpr"},XPathUnionExpr={label:"UnionExpr"},XPathFilterExpr={label:"FilterExpr"},XPathDigits={label:"Digits"},xpathNonTerminals=[XPathLocationPath,XPathRelativeLocationPath,XPathAbsoluteLocationPath,XPathStep,XPathNodeTest,XPathPredicate,XPathLiteral,XPathExpr,XPathPrimaryExpr,XPathVariableReference,XPathNumber,XPathFunctionCall,XPathArgumentRemainder,XPathPathExpr,XPathUnionExpr,XPathFilterExpr,XPathDigits],Q_01={label:"?"},Q_MM={label:"*"},Q_1M={label:"+"},ASSOC_LEFT=!0,xpathGrammarRules=[[XPathLocationPath,[XPathRelativeLocationPath],18,passExpr],[XPathLocationPath,[XPathAbsoluteLocationPath],18,passExpr],[XPathAbsoluteLocationPath,[TOK_SLASH,XPathRelativeLocationPath],18,makeLocationExpr1],[XPathAbsoluteLocationPath,[TOK_DSLASH,XPathRelativeLocationPath],18,makeLocationExpr2],[XPathAbsoluteLocationPath,[TOK_SLASH],0,makeLocationExpr3],[XPathAbsoluteLocationPath,[TOK_DSLASH],0,makeLocationExpr4],[XPathRelativeLocationPath,[XPathStep],31,makeLocationExpr5],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_SLASH,XPathStep],31,makeLocationExpr6],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_DSLASH,XPathStep],31,makeLocationExpr7],[XPathStep,[TOK_DOT],33,makeStepExpr1],[XPathStep,[TOK_DDOT],33,makeStepExpr2],[XPathStep,[TOK_AXISNAME,TOK_AXIS,XPathNodeTest],33,makeStepExpr3],[XPathStep,[TOK_AT,XPathNodeTest],33,makeStepExpr4],[XPathStep,[XPathNodeTest],33,makeStepExpr5],[XPathStep,[XPathStep,XPathPredicate],33,makeStepExpr6],[XPathNodeTest,[TOK_ASTERISK],33,makeNodeTestExpr1],[XPathNodeTest,[TOK_NCNAME,TOK_COLON,TOK_ASTERISK],33,makeNodeTestExpr2],[XPathNodeTest,[TOK_QNAME],33,makeNodeTestExpr3],[XPathNodeTest,[TOK_NODEO,TOK_PARENC],33,makeNodeTestExpr4],[XPathNodeTest,[TOK_NODEO,XPathLiteral,TOK_PARENC],33,makeNodeTestExpr5],[XPathPredicate,[TOK_BRACKO,XPathExpr,TOK_BRACKC],33,makePredicateExpr],[XPathPrimaryExpr,[XPathVariableReference],33,passExpr],[XPathPrimaryExpr,[TOK_PARENO,XPathExpr,TOK_PARENC],33,makePrimaryExpr],[XPathPrimaryExpr,[XPathLiteral],30,passExpr],[XPathPrimaryExpr,[XPathNumber],30,passExpr],[XPathPrimaryExpr,[XPathFunctionCall],31,passExpr],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,TOK_PARENC],-1,makeFunctionCallExpr1],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,XPathExpr,XPathArgumentRemainder,Q_MM,TOK_PARENC],-1,makeFunctionCallExpr2],[XPathArgumentRemainder,[TOK_COMMA,XPathExpr],-1,makeArgumentExpr],[XPathUnionExpr,[XPathPathExpr],20,passExpr],[XPathUnionExpr,[XPathUnionExpr,TOK_PIPE,XPathPathExpr],20,makeUnionExpr],[XPathPathExpr,[XPathLocationPath],20,passExpr],[XPathPathExpr,[XPathFilterExpr],19,passExpr],[XPathPathExpr,[XPathFilterExpr,TOK_SLASH,XPathRelativeLocationPath],19,makePathExpr1],[XPathPathExpr,[XPathFilterExpr,TOK_DSLASH,XPathRelativeLocationPath],19,makePathExpr2],[XPathFilterExpr,[XPathPrimaryExpr,XPathPredicate,Q_MM],31,makeFilterExpr],[XPathExpr,[XPathPrimaryExpr],16,passExpr],[XPathExpr,[XPathUnionExpr],16,passExpr],[XPathExpr,[TOK_MINUS,XPathExpr],-1,makeUnaryMinusExpr],[XPathExpr,[XPathExpr,TOK_OR,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_AND,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_EQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_NEQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_PLUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MINUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_ASTERISK,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_DIV,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MOD,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathLiteral,[TOK_LITERALQ],-1,makeLiteralExpr],[XPathLiteral,[TOK_LITERALQQ],-1,makeLiteralExpr],[XPathNumber,[TOK_NUMBER],-1,makeNumberExpr],[XPathVariableReference,[TOK_DOLLAR,TOK_QNAME],200,makeVariableReference]],xpathRules=[];function xpathParseInit(e){if(!xpathRules.length){xpathGrammarRules.sort(function(e,r){var t=e[1].length,a=r[1].length;return t<a?1:t>a?-1:0});for(var r=1,t=0;t<xpathNonTerminals.length;++t)xpathNonTerminals[t].key=r++;for(var a=0;a<xpathTokenRules.length;++a)xpathTokenRules[a].key=r++;e("XPath parse INIT: "+r+" rules");for(var n=0;n<xpathGrammarRules.length;++n)for(var o=xpathGrammarRules[n],s=o[1],i=s.length-1;i>=0;--i){if(s[i]==Q_1M){u(xpathRules,s[i-1].key,o);break}if(s[i]!=Q_MM&&s[i]!=Q_01){u(xpathRules,s[i].key,o);break}u(xpathRules,s[i-1].key,o),--i}e("XPath parse INIT: "+xpathRules.length+" rule bins");var l=0;mapExec(xpathRules,function(e){e&&(l+=e.length)}),e("XPath parse INIT: "+l/xpathRules.length+" average bin size")}function u(e,r,t){e[r]||(e[r]=[]),e[r].push(t)}}function xpathCollectDescendants(e,r,t){if(t&&r.getElementsByTagName)copyArray(e,r.getElementsByTagName(t));else for(var a=r.firstChild;a;a=a.nextSibling)e.push(a),xpathCollectDescendants(e,a)}function xpathExtractTagNameFromNodeTest(e,r){return e instanceof NodeTestName?e.name:r&&e instanceof NodeTestAny||e instanceof NodeTestElementOrAttribute?"*":void 0}function xpathCollectDescendantsReverse(e,r){for(var t=r.lastChild;t;t=t.previousSibling)e.push(t),xpathCollectDescendantsReverse(e,t)}function xpathSort(e,r){if(0!=r.length){for(var t=[],a=0;a<e.contextSize();++a){for(var n=e.nodelist[a],o={node:n,key:[]},s=e.clone(n,0,[n]),i=0,l=r;i<l.length;i+=1){var u=l[i],c=u.expr.evaluate(s),p=void 0;"text"==u.type?p=c.stringValue():"number"==u.type&&(p=c.numberValue()),o.key.push({value:p,order:u.order})}o.key.push({value:a,order:"ascending"}),t.push(o)}t.sort(xpathSortByKey);for(var h=[],d=0;d<t.length;++d)h.push(t[d].node);e.nodelist=h,e.setNode(0)}}function xpathSortByKey(e,r){for(var t=0;t<e.key.length;++t){var a="descending"==e.key[t].order?-1:1;if(e.key[t].value>r.key[t].value)return 1*a;if(e.key[t].value<r.key[t].value)return-1*a}return 0}function xpathEval(e,r){return xpathParse(e).evaluate(r)}function assert(e){if(!e)throw"Assertion failed"}function mapExec(e,r){for(var t=0;t<e.length;++t)r.call(this,e[t],t)}function mapExpr(e,r){for(var t=[],a=0;a<e.length;++a)t.push(r(e[a]));return t}function reverseInplace(e){for(var r=0;r<e.length/2;++r){var t=e[r],a=e.length-r-1;e[r]=e[a],e[a]=t}}function copyArray(e,r){if(r)for(var t=e.length,a=r.length-1;a>=0;--a)e[a+t]=r[a]}function copyArrayIgnoringAttributesWithoutValue(e,r){if(r)for(var t=r.length-1;t>=0;--t)r[t].nodeValue&&e.push(r[t])}function xmlValue(e,r){if(!e)return"";var t="";if(e.nodeType==DOM_TEXT_NODE||e.nodeType==DOM_CDATA_SECTION_NODE)t+=e.nodeValue;else if(e.nodeType==DOM_ATTRIBUTE_NODE)t+=e.nodeValue;else if(e.nodeType==DOM_ELEMENT_NODE||e.nodeType==DOM_DOCUMENT_NODE||e.nodeType==DOM_DOCUMENT_FRAGMENT_NODE){if(!r){var a=e.innerText;if(null!=a)return a;var n=e.textContent;if(null!=n)return n}for(var o=e.childNodes.length,s=0;s<o;++s)t+=xmlValue(e.childNodes[s])}return t}function xmlText(e,r){var t=[];return xmlTextR(e,t,r),t.join("")}function xmlTextR(e,r,t){if(e.nodeType==DOM_TEXT_NODE)r.push(xmlEscapeText(e.nodeValue));else if(e.nodeType==DOM_CDATA_SECTION_NODE)t?r.push(e.nodeValue):r.push("<![CDATA["+e.nodeValue+"]]>");else if(e.nodeType==DOM_COMMENT_NODE)r.push("\x3c!--"+e.nodeValue+"--\x3e");else if(e.nodeType==DOM_ELEMENT_NODE){r.push("<"+xmlFullNodeName(e));for(var a=0;a<e.attributes.length;++a){var n=e.attributes[a];n&&n.nodeName&&n.nodeValue&&r.push(" "+xmlFullNodeName(n)+'="'+xmlEscapeAttr(n.nodeValue)+'"')}if(0==e.childNodes.length)r.push("/>");else{r.push(">");for(var o=0;o<e.childNodes.length;++o)xmlTextR(e.childNodes[o],r,t);r.push("</"+xmlFullNodeName(e)+">")}}else if(e.nodeType==DOM_DOCUMENT_NODE||e.nodeType==DOM_DOCUMENT_FRAGMENT_NODE)for(var s=0;s<e.childNodes.length;++s)xmlTextR(e.childNodes[s],r,t)}function xmlFullNodeName(e){return e.prefix&&0!=e.nodeName.indexOf(e.prefix+":")?e.prefix+":"+e.nodeName:e.nodeName}function xmlEscapeText(e){return(""+e).replace(/&/g,"&amp;").replace(/&amp;amp;/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xmlEscapeAttr(e){return xmlEscapeText(e).replace(/"/g,"&quot;")}function xmlOwnerDocument(e){return e.nodeType==DOM_DOCUMENT_NODE?e:e.ownerDocument}function domGetAttribute(e,r){return e.getAttribute(r)}function domSetAttribute(e,r,t){return e.setAttribute(r,t)}function domAppendChild(e,r){return e.appendChild(r)}function domCreateTextNode(e,r){return e.createTextNode(r)}function domCreateElement(e,r){return e.createElement(r)}function domCreateCDATASection(e,r){return e.createCDATASection(r)}function domCreateComment(e,r){return e.createComment(r)}function domCreateDocumentFragment(e){return e.createDocumentFragment()}var regExpSpecials=["/",".","*","+","?","|","^","$","(",")","[","]","{","}","\\"],sRE=new RegExp("(\\"+regExpSpecials.join("|\\")+")","g");function regExpEscape(e){return e.replace(sRE,"\\$1")}function predicateExprHasPositionalSelector(e,r){if(!e)return!1;if(!r&&exprReturnsNumberValue(e))return!0;if(e instanceof FunctionCallExpr){var t=e.name.value;return"last"==t||"position"==t}return e instanceof BinaryExpr&&(predicateExprHasPositionalSelector(e.expr1,!0)||predicateExprHasPositionalSelector(e.expr2,!0))}function exprReturnsNumberValue(e){if(e instanceof FunctionCallExpr){return{last:!0,position:!0,count:!0,"string-length":!0,number:!0,sum:!0,floor:!0,ceiling:!0,round:!0}[e.name.value]}if(e instanceof UnaryMinusExpr)return!0;if(e instanceof BinaryExpr){return{"+":!0,"-":!0,"*":!0,mod:!0,div:!0}[e.op.value]}return e instanceof NumberExpr}function xsltProcess(e,r){var t=domCreateDocumentFragment(new XDocument);return xsltProcessContext(new ExprContext(e),r,t),xmlText(t)}function xsltProcessContext(e,r,t){var a,n,o,s,i,l,u,c,p,h,d,g,m=xmlOwnerDocument(t),f=r.nodeName.split(/:/);if(1==f.length||"xsl"!=f[0])xsltPassThrough(e,r,t,m);else switch(f[1]){case"apply-imports":throw"not implemented: "+f[1];case"apply-templates":l=(s=xmlGetAttribute(r,"select"))?xpathEval(s,e).nodeSetValue():e.node.childNodes,xsltWithParam(u=e.clone(l[0],0,l),r),xsltSort(u,r),c=xmlGetAttribute(r,"mode"),n=r.ownerDocument.documentElement,p=[];for(var b=0;b<n.childNodes.length;++b){var E=n.childNodes[b];E.nodeType!=DOM_ELEMENT_NODE||"xsl:template"!=E.nodeName||c&&E.getAttribute("mode")!=c||p.push(E)}for(var x=0;x<u.contextSize();++x)for(var v=u.nodelist[x],A=0;A<p.length;++A)xsltProcessContext(u.clone(v,x),p[A],t);break;case"attribute":a=xsltAttributeValue(xmlGetAttribute(r,"name"),e),xsltChildNodes(e,r,o=domCreateDocumentFragment(m)),domSetAttribute(t,a,i=xmlValue(o));break;case"attribute-set":throw"not implemented: "+f[1];case"call-template":a=xmlGetAttribute(r,"name"),n=r.ownerDocument.documentElement,xsltWithParam(h=e.clone(),r);for(var N=0;N<n.childNodes.length;++N){var T=n.childNodes[N];if(T.nodeType==DOM_ELEMENT_NODE&&"xsl:template"==T.nodeName&&domGetAttribute(T,"name")==a){xsltChildNodes(h,T,t);break}}break;case"choose":xsltChoose(e,r,t);break;case"comment":xsltChildNodes(e,r,o=domCreateDocumentFragment(m)),d=domCreateComment(m,xmlValue(o)),t.appendChild(d);break;case"copy":(o=xsltCopy(t,e.node,m))&&xsltChildNodes(e,r,o);break;case"copy-of":if("node-set"==(i=xpathEval(s=xmlGetAttribute(r,"select"),e)).type){l=i.nodeSetValue();for(var y=0;y<l.length;++y)xsltCopyOf(t,l[y],m)}else{domAppendChild(t,domCreateTextNode(m,i.stringValue()))}break;case"decimal-format":throw"not implemented: "+f[1];case"element":domAppendChild(t,o=domCreateElement(m,a=xsltAttributeValue(xmlGetAttribute(r,"name"),e))),xsltChildNodes(e,r,o);break;case"fallback":throw"not implemented: "+f[1];case"for-each":xsltForEach(e,r,t);break;case"if":xpathEval(xmlGetAttribute(r,"test"),e).booleanValue()&&xsltChildNodes(e,r,t);break;case"import":case"include":case"key":case"message":case"namespace-alias":case"number":throw"not implemented: "+f[1];case"otherwise":throw"error if here: "+f[1];case"output":break;case"preserve-space":case"processing-instruction":throw"not implemented: "+f[1];case"sort":break;case"strip-space":throw"not implemented: "+f[1];case"stylesheet":case"transform":xsltChildNodes(e,r,t);break;case"template":(g=xmlGetAttribute(r,"match"))&&xsltMatch(g,e)&&xsltChildNodes(e,r,t);break;case"text":o=domCreateTextNode(m,xmlValue(r)),t.appendChild(o);break;case"value-of":o=domCreateTextNode(m,i=xpathEval(s=xmlGetAttribute(r,"select"),e).stringValue()),t.appendChild(o);break;case"param":xsltVariable(e,r,!1);break;case"variable":xsltVariable(e,r,!0);break;case"when":case"with-param":default:throw"error if here: "+f[1]}}function xsltWithParam(e,r){for(var t=0,a=r.childNodes;t<a.length;t+=1){var n=a[t];n.nodeType==DOM_ELEMENT_NODE&&"xsl:with-param"==n.nodeName&&xsltVariable(e,n,!0)}}function xsltSort(e,r){for(var t=[],a=0,n=r.childNodes;a<n.length;a+=1){var o=n[a];if(o.nodeType==DOM_ELEMENT_NODE&&"xsl:sort"==o.nodeName){var s=xpathParse(xmlGetAttribute(o,"select")),i=xmlGetAttribute(o,"data-type")||"text",l=xmlGetAttribute(o,"order")||"ascending";t.push({expr:s,type:i,order:l})}}xpathSort(e,t)}function xsltVariable(e,r,t){var a,n=xmlGetAttribute(r,"name"),o=xmlGetAttribute(r,"select");if(r.childNodes.length>0){var s=domCreateDocumentFragment(r.ownerDocument);xsltChildNodes(e,r,s),a=new NodeSetValue([s])}else a=o?xpathEval(o,e):new StringValue("");!t&&e.getVariable(n)||e.setVariable(n,a)}function xsltChoose(e,r,t){for(var a=0,n=r.childNodes;a<n.length;a+=1){var o=n[a];if(o.nodeType==DOM_ELEMENT_NODE)if("xsl:when"==o.nodeName){if(xpathEval(xmlGetAttribute(o,"test"),e).booleanValue()){xsltChildNodes(e,o,t);break}}else if("xsl:otherwise"==o.nodeName){xsltChildNodes(e,o,t);break}}}function xsltForEach(e,r,t){var a=xpathEval(xmlGetAttribute(r,"select"),e).nodeSetValue(),n=e.clone(a[0],0,a);xsltSort(n,r);for(var o=0;o<n.contextSize();++o){var s=n.nodelist[o];xsltChildNodes(n.clone(s,o),r,t)}}function xsltChildNodes(e,r,t){for(var a=e.clone(),n=0;n<r.childNodes.length;++n)xsltProcessContext(a,r.childNodes[n],t)}function xsltPassThrough(e,r,t,a){if(r.nodeType==DOM_TEXT_NODE)xsltPassText(r)&&domAppendChild(t,domCreateTextNode(a,r.nodeValue));else if(r.nodeType==DOM_ELEMENT_NODE){for(var n=domCreateElement(a,r.nodeName),o=0,s=r.attributes;o<s.length;o+=1){var i=s[o];if(i)domSetAttribute(n,i.nodeName,xsltAttributeValue(i.nodeValue,e))}domAppendChild(t,n),xsltChildNodes(e,r,n)}else xsltChildNodes(e,r,t)}function xsltPassText(e){if(!e.nodeValue.match(/^\s*$/))return!0;var r=e.parentNode;if("xsl:text"==r.nodeName)return!0;for(;r&&r.nodeType==DOM_ELEMENT_NODE;){var t=domGetAttribute(r,"xml:space");if(t){if("default"==t)return!1;if("preserve"==t)return!0}r=r.parentNode}return!1}function xsltAttributeValue(e,r){var t=e.split("{");if(1==t.length)return e;for(var a="",n=0;n<t.length;++n){var o=t[n].split("}");if(2==o.length)a+=xpathEval(o[0],r).stringValue()+o[1];else a+=t[n]}return a}function xmlGetAttribute(e,r){var t=domGetAttribute(e,r);return t?he.decode(t):t}function xsltCopyOf(e,r,t){if(r.nodeType==DOM_DOCUMENT_FRAGMENT_NODE||r.nodeType==DOM_DOCUMENT_NODE)for(var a=0;a<r.childNodes.length;++a)xsltCopyOf(e,r.childNodes[a],t);else{var n=xsltCopy(e,r,t);if(n){for(var o=0;o<r.attributes.length;++o)xsltCopyOf(n,r.attributes[o],t);for(var s=0;s<r.childNodes.length;++s)xsltCopyOf(n,r.childNodes[s],t)}}}function xsltCopy(e,r,t){if(r.nodeType==DOM_ELEMENT_NODE){var a=domCreateElement(t,r.nodeName);return domAppendChild(e,a),a}if(r.nodeType==DOM_TEXT_NODE)domAppendChild(e,domCreateTextNode(t,r.nodeValue));else if(r.nodeType==DOM_CDATA_SECTION_NODE){domAppendChild(e,domCreateCDATASection(t,r.nodeValue))}else if(r.nodeType==DOM_COMMENT_NODE){domAppendChild(e,domCreateComment(t,r.nodeValue))}else r.nodeType==DOM_ATTRIBUTE_NODE&&domSetAttribute(e,r.nodeName,r.nodeValue);return null}function xsltMatch(e,r){var t,a=xpathParse(e);if(a.steps&&!a.absolute&&1==a.steps.length&&"child"==a.steps[0].axis&&0==a.steps[0].predicate.length)t=a.steps[0].nodetest.evaluate(r).booleanValue();else{t=!1;for(var n=r.node;!t&&n;){for(var o=a.evaluate(r.clone(n,0,[n])).nodeSetValue(),s=0;s<o.length;++s)if(o[s]==r.node){t=!0;break}n=n.parentNode}}return t}exports.xsltProcess=xsltProcess,exports.xmlParse=xmlParse,exports.xpathParse=xpathParse;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var commonjsGlobal="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,r){return e(r={exports:{}},r.exports),r.exports}var he=createCommonjsModule(function(e,r){!function(t){var a=r,n=e&&e.exports==a&&e,o="object"==typeof commonjsGlobal&&commonjsGlobal;o.global!==o&&o.window!==o||(t=o);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[\x01-\x7F]/g,l=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},p=/["&'<>`]/g,h={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},d=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,f={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},b={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},E={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},x=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],v=String.fromCharCode,A={}.hasOwnProperty,N=function(e,r){return A.call(e,r)},T=function(e,r){if(!e)return r;var t,a={};for(t in r)a[t]=N(e,t)?e[t]:r[t];return a},y=function(e,r){var t="";return e>=55296&&e<=57343||e>1114111?(r&&S("character reference outside the permissible Unicode range"),"�"):N(E,e)?(r&&S("disallowed character reference"),E[e]):(r&&function(e,r){for(var t=-1,a=e.length;++t<a;)if(e[t]==r)return!0;return!1}(x,e)&&S("disallowed character reference"),e>65535&&(t+=v((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=v(e))},w=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},D=function(e){return"&#"+e+";"},S=function(e){throw Error("Parse error: "+e)},L=function(e,r){(r=T(r,L.options)).strict&&g.test(e)&&S("forbidden code point");var t=r.encodeEverything,a=r.useNamedReferences,n=r.allowUnsafeSymbols,o=r.decimal?D:w,h=function(e){return o(e.charCodeAt(0))};return t?(e=e.replace(i,function(e){return a&&N(c,e)?"&"+c[e]+";":h(e)}),a&&(e=e.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),a&&(e=e.replace(u,function(e){return"&"+c[e]+";"}))):a?(n||(e=e.replace(p,function(e){return"&"+c[e]+";"})),e=(e=e.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;")).replace(u,function(e){return"&"+c[e]+";"})):n||(e=e.replace(p,h)),e.replace(s,function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return o(1024*(r-55296)+t-56320+65536)}).replace(l,h)};L.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(e,r){var t=(r=T(r,C.options)).strict;return t&&d.test(e)&&S("malformed character reference"),e.replace(m,function(e,a,n,o,s,i,l,u,c){var p,h,d,g,m,E;return a?f[m=a]:n?(m=n,(E=o)&&r.isAttributeValue?(t&&"="==E&&S("`&` did not start a character reference"),e):(t&&S("named character reference was not terminated by a semicolon"),b[m]+(E||""))):s?(d=s,h=i,t&&!h&&S("character reference was not terminated by a semicolon"),p=parseInt(d,10),y(p,t)):l?(g=l,h=u,t&&!h&&S("character reference was not terminated by a semicolon"),p=parseInt(g,16),y(p,t)):(t&&S("named character reference was not terminated by a semicolon"),e)})};C.options={isAttributeValue:!1,strict:!1};var q={version:"1.2.0",encode:L,decode:C,escape:function(e){return e.replace(p,function(e){return h[e]})},unescape:C};if(a&&!a.nodeType)if(n)n.exports=q;else for(var O in q)N(q,O)&&(a[O]=q[O]);else t.he=q}(commonjsGlobal)}),XML_S="[ \t\r\n]+",XML_EQ="("+XML_S+")?=("+XML_S+")?",XML_CHAR_REF="&#[0-9]+;|&#x[0-9a-fA-F]+;",XML10_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.0\"|'1\\.0')",XML10_BASE_CHAR="A-Za-zÀ-ÖØ-öø-ÿĀ-ıĴ-ľŁ-ňŊ-žƀ-ǃǍ-ǰǴ-ǵǺ-ȗɐ-ʨʻ-ˁΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϖϚϜϞϠϢ-ϳЁ-ЌЎ-яё-ќў-ҁҐ-ӄӇ-ӈӋ-ӌӐ-ӫӮ-ӵӸ-ӹԱ-Ֆՙա-ֆא-תװ-ײء-غف-يٱ-ڷں-ھۀ-ێې-ۓەۥ-ۦअ-हऽक़-ॡঅ-ঌএ-ঐও-নপ-রলশ-হড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઋઍએ-ઑઓ-નપ-રલ-ળવ-હઽૠଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଶ-ହଽଡ଼-ଢ଼ୟ-ୡஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-வஷ-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡก-ฮะา-ำเ-ๅກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ຮະາ-ຳຽເ-ໄཀ-ཇཉ-ཀྵႠ-Ⴥა-ჶᄀᄂ-ᄃᄅ-ᄇᄉᄋ-ᄌᄎ-ᄒᄼᄾᅀᅌᅎᅐᅔ-ᅕᅙᅟ-ᅡᅣᅥᅧᅩᅭ-ᅮᅲ-ᅳᅵᆞᆨᆫᆮ-ᆯᆷ-ᆸᆺᆼ-ᇂᇫᇰᇹḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼΩK-Å℮ↀ-ↂぁ-ゔァ-ヺㄅ-ㄬ가-힣",XML10_IDEOGRAPHIC="一-龥〇〡-〩",XML10_COMBINING_CHAR="̀-͠ͅ-҃͡-֑҆-֣֡-ֹֻ-ֽֿׁ-ׂًׄ-ْٰۖ-ۜ۝-۟۠-ۤۧ-۪ۨ-ۭँ-ः़ा-ौ्॑-॔ॢ-ॣঁ-ঃ়ািী-ৄে-ৈো-্ৗৢ-ৣਂ਼ਾਿੀ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂ-ஃா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾༿ཱ-྄྆-ྋྐ-ྕྗྙ-ྭྱ-ྷྐྵ⃐-〪⃜⃡-゙゚〯",XML10_DIGIT="0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩",XML10_EXTENDER="·ːˑ·ـๆໆ々〱-〵ゝ-ゞー-ヾ",XML10_LETTER=XML10_BASE_CHAR+XML10_IDEOGRAPHIC,XML10_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._:"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-",XML10_NAME="["+XML10_LETTER+"_:]["+XML10_NAME_CHAR+"]*",XML10_ENTITY_REF="&"+XML10_NAME+";",XML10_REFERENCE=XML10_ENTITY_REF+"|"+XML_CHAR_REF,XML10_ATT_VALUE='"(([^<&"]|'+XML10_REFERENCE+")*)\"|'(([^<&']|"+XML10_REFERENCE+")*)'",XML10_ATTRIBUTE="("+XML10_NAME+")"+XML_EQ+"("+XML10_ATT_VALUE+")",XML11_VERSION_INFO=XML_S+"version"+XML_EQ+"(\"1\\.1\"|'1\\.1')",XML11_NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",XML11_NAME_CHAR=XML11_NAME_START_CHAR+"\\.0-9·̀-ͯ‿-⁀-",XML11_NAME="["+XML11_NAME_START_CHAR+"]["+XML11_NAME_CHAR+"]*",XML11_ENTITY_REF="&"+XML11_NAME+";",XML11_REFERENCE=XML11_ENTITY_REF+"|"+XML_CHAR_REF,XML11_ATT_VALUE='"(([^<&"]|'+XML11_REFERENCE+")*)\"|'(([^<&']|"+XML11_REFERENCE+")*)'",XML11_ATTRIBUTE="("+XML11_NAME+")"+XML_EQ+"("+XML11_ATT_VALUE+")",XML_NC_NAME_CHAR=XML10_LETTER+XML10_DIGIT+"\\._"+XML10_COMBINING_CHAR+XML10_EXTENDER+"-",XML_NC_NAME="["+XML10_LETTER+"_]["+XML_NC_NAME_CHAR+"]*",XML10_TAGNAME_REGEXP=new RegExp("^("+XML10_NAME+")"),XML10_ATTRIBUTE_REGEXP=new RegExp(XML10_ATTRIBUTE,"g"),XML11_TAGNAME_REGEXP=new RegExp("^("+XML11_NAME+")"),XML11_ATTRIBUTE_REGEXP=new RegExp(XML11_ATTRIBUTE,"g");function xmlParse(e){var r,t,a=/\/$/;if(e.match(/^<\?xml/))if(5==e.search(new RegExp(XML10_VERSION_INFO)))r=XML10_TAGNAME_REGEXP,t=XML10_ATTRIBUTE_REGEXP;else{if(5!=e.search(new RegExp(XML11_VERSION_INFO)))throw"VersionInfo is missing, or unknown version number.";r=XML11_TAGNAME_REGEXP,t=XML11_ATTRIBUTE_REGEXP}else r=XML10_TAGNAME_REGEXP,t=XML10_ATTRIBUTE_REGEXP;var n=new XDocument,o=n,s=[],i=o;s.push(i);for(var l=!1,u=!1,c=!1,p=0,h=0;h<e.length;++h){var d=e.charAt(h);if(l&&!c&&"'"===d)u=!u;else if(l&&!u&&'"'===d)c=!c;else if(!l||">"!==d||u||c){if(!l&&"<"===d){var g=e.slice(p,h);if(g&&i!=o&&domAppendChild(i,domCreateTextNode(n,g)),"!--"===e.slice(h+1,h+4)){var m=e.slice(h+4).indexOf("--\x3e");if(m)domAppendChild(i,domCreateComment(n,e.slice(h+4,h+m+4))),h+=m+6}else if("![CDATA["===e.slice(h+1,h+9)){var f=e.slice(h+9).indexOf("]]>");if(f)domAppendChild(i,domCreateCDATASection(n,e.slice(h+9,h+f+9))),h+=f+11}else l=!0;p=h+1}}else{var b=e.slice(p,h);if("/"==b.charAt(0))s.pop(),i=s[s.length-1];else if("?"==b.charAt(0));else if("!"==b.charAt(0));else{for(var E=b.match(a),x=domCreateElement(n,r.exec(b)[1]),v=void 0;v=t.exec(b);){var A=he.decode(v[5]||v[7]||"");domSetAttribute(x,v[1],A)}domAppendChild(i,x),E||(i=x,s.push(x))}p=h+1,l=!1,u=!1,c=!1}}return o}var DOM_ELEMENT_NODE=1,DOM_ATTRIBUTE_NODE=2,DOM_TEXT_NODE=3,DOM_CDATA_SECTION_NODE=4,DOM_PROCESSING_INSTRUCTION_NODE=7,DOM_COMMENT_NODE=8,DOM_DOCUMENT_NODE=9,DOM_DOCUMENT_FRAGMENT_NODE=11;function domTraverseElements(e,r,t){var a;if(r&&"boolean"==typeof(a=r.call(null,e))&&!a)return!1;for(var n=e.firstChild;n;n=n.nextSibling)if(n.nodeType==DOM_ELEMENT_NODE&&"boolean"==typeof(a=domTraverseElements.call(this,n,r,t))&&!a)return!1;return!(t&&"boolean"==typeof(a=t.call(null,e))&&!a)&&void 0}var _unusedXNodes=[],XNode=function(e,r,t,a){this.attributes=[],this.childNodes=[],this.init(e,r,t,a)};XNode.prototype.init=function(e,r,t,a){this.nodeType=e-0,this.nodeName=""+r,this.nodeValue=""+t,this.ownerDocument=a,this.firstChild=null,this.lastChild=null,this.nextSibling=null,this.previousSibling=null,this.parentNode=null},XNode.recycle=function(e){if(e)if(e.constructor!=XDocument){if(e.constructor==this){_unusedXNodes.push(e);for(var r=0;r<e.attributes.length;++r)this.recycle(e.attributes[r]);for(var t=0;t<e.childNodes.length;++t)this.recycle(e.childNodes[t]);e.attributes.length=0,e.childNodes.length=0,e.init.call(0,"","",null)}}else this.recycle(e.documentElement)},XNode.prototype.create=function(e,r,t,a){if(_unusedXNodes.length>0){var n=_unusedXNodes.pop();return n.init(e,r,t,a),n}return new XNode(e,r,t,a)},XNode.prototype.appendChild=function(e){0==this.childNodes.length&&(this.firstChild=e),e.previousSibling=this.lastChild,e.nextSibling=null,this.lastChild&&(this.lastChild.nextSibling=e),e.parentNode=this,this.lastChild=e,this.childNodes.push(e)},XNode.prototype.replaceChild=function(e,r){if(r!=e)for(var t=0;t<this.childNodes.length;++t)if(this.childNodes[t]==r){this.childNodes[t]=e;var a=r.parentNode;r.parentNode=null,e.parentNode=a,a=r.previousSibling,r.previousSibling=null,e.previousSibling=a,e.previousSibling&&(e.previousSibling.nextSibling=e),a=r.nextSibling,r.nextSibling=null,e.nextSibling=a,e.nextSibling&&(e.nextSibling.previousSibling=e),this.firstChild==r&&(this.firstChild=e),this.lastChild==r&&(this.lastChild=e);break}},XNode.prototype.insertBefore=function(e,r){if(r!=e&&r.parentNode==this){e.parentNode&&e.parentNode.removeChild(e);for(var t=[],a=0,n=this.childNodes;a<n.length;a+=1){var o=n[a];o==r&&(t.push(e),e.parentNode=this,e.previousSibling=r.previousSibling,r.previousSibling=e,e.previousSibling&&(e.previousSibling.nextSibling=e),e.nextSibling=r,this.firstChild==r&&(this.firstChild=e)),t.push(o)}this.childNodes=t}},XNode.prototype.removeChild=function(e){for(var r=[],t=0,a=this.childNodes;t<a.length;t+=1){var n=a[t];n!=e?r.push(n):(n.previousSibling&&(n.previousSibling.nextSibling=n.nextSibling),n.nextSibling&&(n.nextSibling.previousSibling=n.previousSibling),this.firstChild==n&&(this.firstChild=n.nextSibling),this.lastChild==n&&(this.lastChild=n.previousSibling))}this.childNodes=r},XNode.prototype.hasAttributes=function(){return this.attributes.length>0},XNode.prototype.setAttribute=function(e,r){for(var t=0;t<this.attributes.length;++t)if(this.attributes[t].nodeName==e)return void(this.attributes[t].nodeValue=""+r);this.attributes.push(this.create(DOM_ATTRIBUTE_NODE,e,r,this))},XNode.prototype.getAttribute=function(e){for(var r=0;r<this.attributes.length;++r)if(this.attributes[r].nodeName==e)return this.attributes[r].nodeValue;return null},XNode.prototype.removeAttribute=function(e){for(var r=[],t=0;t<this.attributes.length;++t)this.attributes[t].nodeName!=e&&r.push(this.attributes[t]);this.attributes=r},XNode.prototype.getElementsByTagName=function(e){var r=[],t=this;return domTraverseElements(this,"*"==e?function(e){t!=e&&r.push(e)}:function(a){t!=a&&a.nodeName==e&&r.push(a)},null),r},XNode.prototype.getElementById=function(e){var r=null;return domTraverseElements(this,function(t){if(t.getAttribute("id")==e)return r=t,!1},null),r};var XDocument=function(e){function r(){e.call(this,DOM_DOCUMENT_NODE,"#document",null,null),this.documentElement=null}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.clear=function(){this.recycle(this.documentElement),this.documentElement=null},r.prototype.appendChild=function(r){e.prototype.appendChild.call(this,r),this.documentElement=this.childNodes[0]},r.prototype.createElement=function(r){return e.prototype.create.call(this,DOM_ELEMENT_NODE,r,null,this)},r.prototype.createDocumentFragment=function(){return e.prototype.create.call(this,DOM_DOCUMENT_FRAGMENT_NODE,"#document-fragment",null,this)},r.prototype.createTextNode=function(r){return e.prototype.create.call(this,DOM_TEXT_NODE,"#text",r,this)},r.prototype.createAttribute=function(r){return e.prototype.create.call(this,DOM_ATTRIBUTE_NODE,r,null,this)},r.prototype.createComment=function(r){return e.prototype.create.call(this,DOM_COMMENT_NODE,"#comment",r,this)},r.prototype.createCDATASection=function(r){return e.prototype.create.call(this,DOM_CDATA_SECTION_NODE,"#cdata-section",r,this)},r}(XNode),toString=function(e){var r;switch(e.constructor){case FunctionCallExpr:r=e.name.value+"(";for(var t=0;t<e.args.length;++t)t>0&&(r+=", "),r+=toString(e.args[t]);r+=")";break;case UnionExpr:r=toString(e.expr1)+" | "+toString(e.expr2);break;case PathExpr:r="{path: {"+toString(e.filter)+"} {"+toString(e.rel)+"}}";break;case FilterExpr:r=toString(e.expr);for(var a=0;a<e.predicate.length;++a)r+=toString(e.predicate[a]);break;case UnaryMinusExpr:r="-"+toString(e.expr);break;case BinaryExpr:r=toString(e.expr1)+" "+e.op.value+" "+toString(e.expr2);break;case LiteralExpr:r='"'+e.value+'"';break;case NumberExpr:r=""+e.value;break;case VariableExpr:r="$"+e.name;break;case XNode:r=e.nodeName;break;case ExprContext:r="["+e.position+"/"+e.nodelist.length+"] "+e.node.nodeName;break;case TokenExpr:r=e.value;break;case LocationExpr:r="",e.absolute&&(r+="/");for(var n=0;n<e.steps.length;++n)n>0&&(r+="/"),r+=toString(e.steps[n]);break;case StepExpr:r=e.axis+"::"+toString(e.nodetest);for(var o=0;o<e.predicate.length;++o)r+=toString(e.predicate[o]);break;case NodeTestAny:r="node()";break;case NodeTestElementOrAttribute:r="*";break;case NodeTestText:r="text()";break;case NodeTestComment:r="comment()";break;case NodeTestPI:r="processing-instruction()";break;case NodeTestNC:r=e.nsprefix+":*";break;case NodeTestName:r=e.name;break;case PredicateExpr:r="["+toString(e.expr)+"]"}return r};function xpathParse(e,r){void 0===r&&(r=function(){}),r("parse "+e),xpathParseInit(r);var t=xpathCacheLookup(e);if(t)return r(" ... cached"),t;if(e.match(/^(\$|@)?\w+$/i)){var a=makeSimpleExpr(e);return xpathParseCache[e]=a,r(" ... simple"),a}if(e.match(/^\w+(\/\w+)*$/i)){var n=makeSimpleExpr2(e);return xpathParseCache[e]=n,r(" ... simple 2"),n}for(var o=e,s=[],i=null,l=null,u=!1,c=0,p=0,h=0;!u;){c++,e=e.replace(/^\s*/,""),l=i,i=null;for(var d=null,g="",m=0;m<xpathTokenRules.length;++m){var f=xpathTokenRules[m].re.exec(e);if(p++,f&&f.length>0&&f[0].length>g.length){d=xpathTokenRules[m],g=f[0];break}}for(!d||d!=TOK_DIV&&d!=TOK_MOD&&d!=TOK_AND&&d!=TOK_OR||l&&l.tag!=TOK_AT&&l.tag!=TOK_DSLASH&&l.tag!=TOK_SLASH&&l.tag!=TOK_AXIS&&l.tag!=TOK_DOLLAR||(d=TOK_QNAME),d?(e=e.substr(g.length),r("token: "+g+" -- "+d.label),i={tag:d,match:g,prec:d.prec?d.prec:0,expr:makeTokenExpr(g)}):(r("DONE"),u=!0);xpathReduce(s,i,r);)h++,r("stack: "+stackToString(s))}if(r("stack: "+stackToString(s)),1!=s.length)throw"XPath parse error "+o+":\n"+stackToString(s);var b=s[0].expr;return xpathParseCache[o]=b,r("XPath parse: "+c+" / "+p+" / "+h),b}var xpathParseCache={};function xpathCacheLookup(e){return xpathParseCache[e]}function xpathReduce(e,r,t){var a,n=null;if(e.length>0){var o=e[e.length-1],s=xpathRules[o.tag.key];if(s)for(var i=0;i<s.length;++i){var l=s[i],u=xpathMatchStack(e,l[1]);if(u.length){(n={tag:l[0],rule:l,match:u}).prec=xpathGrammarPrecedence(n);break}}}if(n&&(!r||n.prec>r.prec||r.tag.left&&n.prec>=r.prec)){for(var c=0;c<n.match.matchlength;++c)e.pop();t("reduce "+n.tag.label+" "+n.prec+" ahead "+(r?r.tag.label+" "+r.prec+(r.tag.left?" left":""):" none "));var p=mapExpr(n.match,function(e){return e.expr});t("going to apply "+toString(n.rule[3])),n.expr=n.rule[3].apply(null,p),e.push(n),a=!0}else r&&(t("shift "+r.tag.label+" "+r.prec+(r.tag.left?" left":"")+" over "+(n?n.tag.label+" "+n.prec:" none")),e.push(r)),a=!1;return a}function xpathMatchStack(e,r){var t,a,n=e.length,o=r.length,s=[];s.matchlength=0;var i=0;for(t=o-1,a=n-1;t>=0&&a>=0;--t,a-=i){i=0;var l=[];if(r[t]==Q_MM)for(t-=1,s.push(l);a-i>=0&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1;else if(r[t]==Q_01)for(t-=1,s.push(l);a-i>=0&&i<2&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1;else if(r[t]==Q_1M){if(t-=1,s.push(l),e[a].tag!=r[t])return[];for(;a-i>=0&&e[a-i].tag==r[t];)l.push(e[a-i]),i+=1,s.matchlength+=1}else{if(e[a].tag!=r[t])return[];s.push(e[a]),i+=1,s.matchlength+=1}reverseInplace(l),l.expr=mapExpr(l,function(e){return e.expr})}return reverseInplace(s),-1==t?s:[]}function xpathTokenPrecedence(e){return e.prec||2}function xpathGrammarPrecedence(e){var r=0;if(e.rule)if(e.rule.length>=3&&e.rule[2]>=0)r=e.rule[2];else for(var t=0;t<e.rule[1].length;++t){var a=xpathTokenPrecedence(e.rule[1][t]);r=Math.max(r,a)}else if(e.tag)r=xpathTokenPrecedence(e.tag);else if(e.length)for(var n=0;n<e.length;++n){var o=xpathGrammarPrecedence(e[n]);r=Math.max(r,o)}return r}function stackToString(e){for(var r="",t=0;t<e.length;++t)r&&(r+="\n"),r+=e[t].tag.label;return r}var ExprContext=function(e,r,t,a,n,o,s,i){this.node=e,this.position=r||0,this.nodelist=t||[e],this.variables={},this.parent=a||null,this.caseInsensitive=n||!1,this.ignoreAttributesWithoutValue=o||!1,this.returnOnFirstMatch=s||!1,this.ignoreNonElementNodesForNTA=i||!1,a?this.root=a.root:this.node.nodeType==DOM_DOCUMENT_NODE?this.root=e:this.root=e.ownerDocument};ExprContext.prototype.clone=function(e,r,t){return new ExprContext(e||this.node,void 0!==r?r:this.position,t||this.nodelist,this,this.caseInsensitive,this.ignoreAttributesWithoutValue,this.returnOnFirstMatch,this.ignoreNonElementNodesForNTA)},ExprContext.prototype.setVariable=function(e,r){r instanceof StringValue||r instanceof BooleanValue||r instanceof NumberValue||r instanceof NodeSetValue?this.variables[e]=r:"true"===r?this.variables[e]=new BooleanValue(!0):"false"===r?this.variables[e]=new BooleanValue(!1):TOK_NUMBER.re.test(r)?this.variables[e]=new NumberValue(r):this.variables[e]=new StringValue(r)},ExprContext.prototype.getVariable=function(e){return void 0!==this.variables[e]?this.variables[e]:this.parent?this.parent.getVariable(e):null},ExprContext.prototype.setNode=function(e){this.node=this.nodelist[e],this.position=e},ExprContext.prototype.contextSize=function(){return this.nodelist.length},ExprContext.prototype.isCaseInsensitive=function(){return this.caseInsensitive},ExprContext.prototype.setCaseInsensitive=function(e){return this.caseInsensitive=e},ExprContext.prototype.isIgnoreAttributesWithoutValue=function(){return this.ignoreAttributesWithoutValue},ExprContext.prototype.setIgnoreAttributesWithoutValue=function(e){return this.ignoreAttributesWithoutValue=e},ExprContext.prototype.isReturnOnFirstMatch=function(){return this.returnOnFirstMatch},ExprContext.prototype.setReturnOnFirstMatch=function(e){return this.returnOnFirstMatch=e},ExprContext.prototype.isIgnoreNonElementNodesForNTA=function(){return this.ignoreNonElementNodesForNTA},ExprContext.prototype.setIgnoreNonElementNodesForNTA=function(e){return this.ignoreNonElementNodesForNTA=e};var StringValue=function(e){this.value=e,this.type="string"};StringValue.prototype.stringValue=function(){return this.value},StringValue.prototype.booleanValue=function(){return this.value.length>0},StringValue.prototype.numberValue=function(){return this.value-0},StringValue.prototype.nodeSetValue=function(){throw this};var BooleanValue=function(e){this.value=e,this.type="boolean"};BooleanValue.prototype.stringValue=function(){return""+this.value},BooleanValue.prototype.booleanValue=function(){return this.value},BooleanValue.prototype.numberValue=function(){return this.value?1:0},BooleanValue.prototype.nodeSetValue=function(){throw this};var NumberValue=function(e){this.value=e,this.type="number"};NumberValue.prototype.stringValue=function(){return""+this.value},NumberValue.prototype.booleanValue=function(){return!!this.value},NumberValue.prototype.numberValue=function(){return this.value-0},NumberValue.prototype.nodeSetValue=function(){throw this};var NodeSetValue=function(e){this.value=e,this.type="node-set"};NodeSetValue.prototype.stringValue=function(){return 0==this.value.length?"":xmlValue(this.value[0])},NodeSetValue.prototype.booleanValue=function(){return this.value.length>0},NodeSetValue.prototype.numberValue=function(){return this.stringValue()-0},NodeSetValue.prototype.nodeSetValue=function(){return this.value};var TokenExpr=function(e){this.value=e};TokenExpr.prototype.evaluate=function(){return new StringValue(this.value)};var LocationExpr=function(){this.absolute=!1,this.steps=[]};function xPathStep(e,r,t,a,n){var o=r[t],s=n.clone(a);if(n.returnOnFirstMatch&&!o.hasPositionalPredicate){var i=o.evaluate(s).nodeSetValue(),l=i.length,u=o.predicate.length;e:for(var c=0;c<l;++c){for(var p=i[c],h=0;h<u;++h)if(!o.predicate[h].evaluate(n.clone(p,c,i)).booleanValue())continue e;if(t==r.length-1?e.push(p):xPathStep(e,r,t+1,p,n),e.length>0)break}}else{s.returnOnFirstMatch=!1;for(var d=o.evaluate(s).nodeSetValue(),g=0;g<d.length;++g)t==r.length-1?e.push(d[g]):xPathStep(e,r,t+1,d[g],n)}}LocationExpr.prototype.appendStep=function(e){var r=this._combineSteps(this.steps[this.steps.length-1],e);r?this.steps[this.steps.length-1]=r:this.steps.push(e)},LocationExpr.prototype.prependStep=function(e){var r=this._combineSteps(e,this.steps[0]);r?this.steps[0]=r:this.steps.unshift(e)},LocationExpr.prototype._combineSteps=function(e,r){if(!e)return null;if(!r)return null;var t=e.predicates&&e.predicates.length>0;if(e.nodetest instanceof NodeTestAny&&!t)if(e.axis==xpathAxis.DESCENDANT_OR_SELF){if(r.axis==xpathAxis.CHILD);else if(r.axis==xpathAxis.SELF)return r.axis=xpathAxis.DESCENDANT_OR_SELF,r}else if(e.axis==xpathAxis.DESCENDANT&&r.axis==xpathAxis.SELF)return r.axis=xpathAxis.DESCENDANT,r;return null},LocationExpr.prototype.evaluate=function(e){var r;r=this.absolute?e.root:e.node;var t=[];return xPathStep(t,this.steps,0,r,e),new NodeSetValue(t)};var StepExpr=function(e,r,t){this.axis=e,this.nodetest=r,this.predicate=t||[],this.hasPositionalPredicate=!1;for(var a=0;a<this.predicate.length;++a)if(predicateExprHasPositionalSelector(this.predicate[a].expr)){this.hasPositionalPredicate=!0;break}};StepExpr.prototype.appendPredicate=function(e){this.predicate.push(e),this.hasPositionalPredicate||(this.hasPositionalPredicate=predicateExprHasPositionalSelector(e.expr))},StepExpr.prototype.evaluate=function(e){var r=e.node,t=[],a=!1;if(this.nodetest instanceof NodeTestAny&&(a=!0),this.axis==xpathAxis.ANCESTOR_OR_SELF){t.push(r);for(var n=r.parentNode;n;n=n.parentNode)t.push(n)}else if(this.axis==xpathAxis.ANCESTOR)for(var o=r.parentNode;o;o=o.parentNode)t.push(o);else if(this.axis==xpathAxis.ATTRIBUTE)if(null!=this.nodetest.name){if(r.attributes)if(r.attributes instanceof Array)copyArray(t,r.attributes);else if("style"==this.nodetest.name){var s=r.getAttribute("style");s&&"string"!=typeof s?t.push(XNode.create(DOM_ATTRIBUTE_NODE,"style",s.cssText,document)):t.push(r.attributes[this.nodetest.name])}else t.push(r.attributes[this.nodetest.name])}else e.ignoreAttributesWithoutValue?copyArrayIgnoringAttributesWithoutValue(t,r.attributes):copyArray(t,r.attributes);else if(this.axis==xpathAxis.CHILD)copyArray(t,r.childNodes);else if(this.axis==xpathAxis.DESCENDANT_OR_SELF){this.nodetest.evaluate(e).booleanValue()&&t.push(r);var i=xpathExtractTagNameFromNodeTest(this.nodetest,e.ignoreNonElementNodesForNTA);xpathCollectDescendants(t,r,i),i&&(a=!0)}else if(this.axis==xpathAxis.DESCENDANT){var l=xpathExtractTagNameFromNodeTest(this.nodetest,e.ignoreNonElementNodesForNTA);xpathCollectDescendants(t,r,l),l&&(a=!0)}else if(this.axis==xpathAxis.FOLLOWING)for(var u=r;u;u=u.parentNode)for(var c=u.nextSibling;c;c=c.nextSibling)t.push(c),xpathCollectDescendants(t,c);else if(this.axis==xpathAxis.FOLLOWING_SIBLING)for(var p=r.nextSibling;p;p=p.nextSibling)t.push(p);else{if(this.axis==xpathAxis.NAMESPACE)throw"not implemented: axis namespace";if(this.axis==xpathAxis.PARENT)r.parentNode&&t.push(r.parentNode);else if(this.axis==xpathAxis.PRECEDING)for(var h=r;h;h=h.parentNode)for(var d=h.previousSibling;d;d=d.previousSibling)t.push(d),xpathCollectDescendantsReverse(t,d);else if(this.axis==xpathAxis.PRECEDING_SIBLING)for(var g=r.previousSibling;g;g=g.previousSibling)t.push(g);else{if(this.axis!=xpathAxis.SELF)throw"ERROR -- NO SUCH AXIS: "+this.axis;t.push(r)}}if(!a){var m=t;t=[];for(var f=0;f<m.length;++f){var b=m[f];this.nodetest.evaluate(e.clone(b,f,m)).booleanValue()&&t.push(b)}}if(!e.returnOnFirstMatch)for(var E=0;E<this.predicate.length;++E){var x=t;t=[];for(var v=0;v<x.length;++v){var A=x[v];this.predicate[E].evaluate(e.clone(A,v,x)).booleanValue()&&t.push(A)}}return new NodeSetValue(t)};var NodeTestAny=function(){this.value=new BooleanValue(!0)};NodeTestAny.prototype.evaluate=function(){return this.value};var NodeTestElementOrAttribute=function(){};NodeTestElementOrAttribute.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_ELEMENT_NODE||e.node.nodeType==DOM_ATTRIBUTE_NODE)};var NodeTestText=function(){};NodeTestText.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_TEXT_NODE)};var NodeTestComment=function(){};NodeTestComment.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_COMMENT_NODE)};var NodeTestPI=function(e){this.target=e};NodeTestPI.prototype.evaluate=function(e){return new BooleanValue(e.node.nodeType==DOM_PROCESSING_INSTRUCTION_NODE&&(!this.target||e.node.nodeName==this.target))};var NodeTestNC=function(e){this.regex=new RegExp("^"+e+":"),this.nsprefix=e};NodeTestNC.prototype.evaluate=function(e){var r=e.node;return new BooleanValue(this.regex.match(r.nodeName))};var NodeTestName=function(e){this.name=e,this.re=new RegExp("^"+e+"$","i")};NodeTestName.prototype.evaluate=function(e){var r=e.node;return e.caseInsensitive?r.nodeName.length!=this.name.length?new BooleanValue(!1):new BooleanValue(this.re.test(r.nodeName)):new BooleanValue(r.nodeName==this.name)};var PredicateExpr=function(e){this.expr=e};PredicateExpr.prototype.evaluate=function(e){var r=this.expr.evaluate(e);return"number"==r.type?new BooleanValue(e.position==r.numberValue()-1):new BooleanValue(r.booleanValue())};var xpathfunctions={last:function(e){return assert(0==this.args.length),new NumberValue(e.contextSize())},position:function(e){return assert(0==this.args.length),new NumberValue(e.position+1)},count:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e);return new NumberValue(r.nodeSetValue().length)},"generate-id":function(e){throw"not implmented yet: XPath function generate-id()"},id:function(e){assert(1==this.args.length);var r,t=this.args[0].evaluate(e),a=[];if("node-set"==t.type){r=[];for(var n=t.nodeSetValue(),o=0;o<n.length;++o)for(var s=xmlValue(n[o]).split(/\s+/),i=0;i<s.length;++i)r.push(s[i])}else r=t.stringValue().split(/\s+/);for(var l=e.root,u=0;u<r.length;++u){var c=l.getElementById(r[u]);c&&a.push(c)}return new NodeSetValue(a)},"xml-to-json":function(e){return assert(this.args.length<2),new StringValue(JSON.stringify(this.args.length?xmlValue(e.node):"null"))},"local-name":function(e){var r;return assert(1==this.args.length||0==this.args.length),0==(r=0==this.args.length?[e.node]:this.args[0].evaluate(e).nodeSetValue()).length?new StringValue(""):new StringValue(r[0].nodeName.replace(/^[^:]+:/,""))},"namespace-uri":function(){throw"not implemented yet: XPath function namespace-uri()"},name:function(e){var r;return assert(1==this.args.length||0==this.args.length),0==(r=0==this.args.length?[e.node]:this.args[0].evaluate(e).nodeSetValue()).length?new StringValue(""):new StringValue(r[0].nodeName)},string:function(e){return assert(1==this.args.length||0==this.args.length),0==this.args.length?new StringValue(new NodeSetValue([e.node]).stringValue()):new StringValue(this.args[0].evaluate(e).stringValue())},concat:function(e){for(var r="",t=0;t<this.args.length;++t)r+=this.args[t].evaluate(e).stringValue();return new StringValue(r)},"starts-with":function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue();return new BooleanValue(0==r.indexOf(t))},"ends-with":function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue(),a=new RegExp(regExpEscape(t)+"$");return new BooleanValue(a.test(r))},contains:function(e){assert(2==this.args.length);var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue();return new BooleanValue(r.includes(t))},"substring-before":function(e){assert(2==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).stringValue(),n=t.indexOf(a);return r=-1==n?"":t.substr(0,n),new StringValue(r)},"substring-after":function(e){assert(2==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).stringValue(),n=t.indexOf(a);return r=-1==n?"":t.substr(n+a.length),new StringValue(r)},substring:function(e){assert(2==this.args.length||3==this.args.length);var r,t=this.args[0].evaluate(e).stringValue(),a=this.args[1].evaluate(e).numberValue();if(2==this.args.length){var n=Math.max(0,Math.round(a)-1);r=t.substr(n)}else{var o=this.args[2].evaluate(e).numberValue(),s=Math.round(a)-1,i=Math.max(0,s),l=Math.round(o)-Math.max(0,-s);r=t.substr(i,l)}return new StringValue(r)},"string-length":function(e){var r;return r=this.args.length>0?this.args[0].evaluate(e).stringValue():new NodeSetValue([e.node]).stringValue(),new NumberValue(r.length)},"normalize-space":function(e){var r;return r=(r=this.args.length>0?this.args[0].evaluate(e).stringValue():new NodeSetValue([e.node]).stringValue()).replace(/^\s*/,"").replace(/\s*$/,"").replace(/\s+/g," "),new StringValue(r)},translate:function(e){assert(3==this.args.length);for(var r=this.args[0].evaluate(e).stringValue(),t=this.args[1].evaluate(e).stringValue(),a=this.args[2].evaluate(e).stringValue(),n=0;n<t.length;++n)r=r.replace(new RegExp(t.charAt(n),"g"),a.charAt(n));return new StringValue(r)},matches:function(e){assert(this.args.length>=2);var r,t,a=this.args[0].evaluate(e).stringValue(),n=this.args[1].evaluate(e).stringValue();if(this.args.length>2&&(r=this.args[2].evaluate(e).stringValue(),/[^mi]/.test(r)))throw"Invalid regular expression syntax: "+r;try{t=new RegExp(n,r)}catch(e){throw"Invalid matches argument: "+n}return new BooleanValue(t.test(a))},boolean:function(e){return assert(1==this.args.length),new BooleanValue(this.args[0].evaluate(e).booleanValue())},not:function(e){assert(1==this.args.length);var r=!this.args[0].evaluate(e).booleanValue();return new BooleanValue(r)},true:function(){return assert(0==this.args.length),new BooleanValue(!0)},false:function(){return assert(0==this.args.length),new BooleanValue(!1)},lang:function(e){assert(1==this.args.length);for(var r,t=this.args[0].evaluate(e).stringValue(),a=e.node;a&&a!=a.parentNode&&!(r=a.getAttribute("xml:lang"));)a=a.parentNode;if(r){var n=new RegExp("^"+t+"$","i");return new BooleanValue(r.match(n)||r.replace(/_.*$/,"").match(n))}return new BooleanValue(!1)},number:function(e){return assert(1==this.args.length||0==this.args.length),1==this.args.length?new NumberValue(this.args[0].evaluate(e).numberValue()):new NumberValue(new NodeSetValue([e.node]).numberValue())},sum:function(e){assert(1==this.args.length);for(var r=this.args[0].evaluate(e).nodeSetValue(),t=0,a=0;a<r.length;++a)t+=xmlValue(r[a])-0;return new NumberValue(t)},floor:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.floor(r))},ceiling:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.ceil(r))},round:function(e){assert(1==this.args.length);var r=this.args[0].evaluate(e).numberValue();return new NumberValue(Math.round(r))},"ext-join":function(e){assert(2==this.args.length);for(var r=this.args[0].evaluate(e).nodeSetValue(),t=this.args[1].evaluate(e).stringValue(),a="",n=0;n<r.length;++n)a&&(a+=t),a+=xmlValue(r[n]);return new StringValue(a)},"ext-if":function(e){return assert(3==this.args.length),this.args[0].evaluate(e).booleanValue()?this.args[1].evaluate(e):this.args[2].evaluate(e)},"ext-cardinal":function(e){assert(this.args.length>=1);for(var r=this.args[0].evaluate(e).numberValue(),t=[],a=0;a<r;++a)t.push(e.node);return new NodeSetValue(t)}},FunctionCallExpr=function(e){this.name=e,this.args=[]};FunctionCallExpr.prototype.appendArg=function(e){this.args.push(e)},FunctionCallExpr.prototype.evaluate=function(e){var r=""+this.name.value,t=xpathfunctions[r];return t?t.call(this,e):new BooleanValue(!1)};var UnionExpr=function(e,r){this.expr1=e,this.expr2=r};UnionExpr.prototype.evaluate=function(e){for(var r=this.expr1.evaluate(e).nodeSetValue(),t=this.expr2.evaluate(e).nodeSetValue(),a=r.length,n=0,o=t;n<o.length;n+=1){for(var s=o[n],i=!1,l=0;l<a;++l)r[l]==s&&(i=!0,l=a);i||r.push(s)}return new NodeSetValue(r)};var PathExpr=function(e,r){this.filter=e,this.rel=r};PathExpr.prototype.evaluate=function(e){var r=this.filter.evaluate(e).nodeSetValue(),t=[];if(e.returnOnFirstMatch){for(var a=0;a<r.length&&!((t=this.rel.evaluate(e.clone(r[a],a,r)).nodeSetValue()).length>0);++a);return new NodeSetValue(t)}for(var n=0;n<r.length;++n)for(var o=this.rel.evaluate(e.clone(r[n],n,r)).nodeSetValue(),s=0;s<o.length;++s)t.push(o[s]);return new NodeSetValue(t)};var FilterExpr=function(e,r){this.expr=e,this.predicate=r};FilterExpr.prototype.evaluate=function(e){var r=e.returnOnFirstMatch;e.setReturnOnFirstMatch(!1);var t=this.expr.evaluate(e).nodeSetValue();e.setReturnOnFirstMatch(r);for(var a=0;a<this.predicate.length;++a){var n=t;t=[];for(var o=0;o<n.length;++o){var s=n[o];this.predicate[a].evaluate(e.clone(s,o,n)).booleanValue()&&t.push(s)}}return new NodeSetValue(t)};var UnaryMinusExpr=function(e){this.expr=e};UnaryMinusExpr.prototype.evaluate=function(e){return new NumberValue(-this.expr.evaluate(e).numberValue())};var BinaryExpr=function(e,r,t){this.expr1=e,this.expr2=t,this.op=r};BinaryExpr.prototype.evaluate=function(e){var r;switch(this.op.value){case"or":r=new BooleanValue(this.expr1.evaluate(e).booleanValue()||this.expr2.evaluate(e).booleanValue());break;case"and":r=new BooleanValue(this.expr1.evaluate(e).booleanValue()&&this.expr2.evaluate(e).booleanValue());break;case"+":r=new NumberValue(this.expr1.evaluate(e).numberValue()+this.expr2.evaluate(e).numberValue());break;case"-":r=new NumberValue(this.expr1.evaluate(e).numberValue()-this.expr2.evaluate(e).numberValue());break;case"*":r=new NumberValue(this.expr1.evaluate(e).numberValue()*this.expr2.evaluate(e).numberValue());break;case"mod":r=new NumberValue(this.expr1.evaluate(e).numberValue()%this.expr2.evaluate(e).numberValue());break;case"div":r=new NumberValue(this.expr1.evaluate(e).numberValue()/this.expr2.evaluate(e).numberValue());break;case"=":r=this.compare(e,function(e,r){return e==r});break;case"!=":r=this.compare(e,function(e,r){return e!=r});break;case"<":r=this.compare(e,function(e,r){return e<r});break;case"<=":r=this.compare(e,function(e,r){return e<=r});break;case">":r=this.compare(e,function(e,r){return e>r});break;case">=":r=this.compare(e,function(e,r){return e>=r});break;default:throw"BinaryExpr.evaluate: "+this.op.value}return r},BinaryExpr.prototype.compare=function(e,r){var t,a=this.expr1.evaluate(e),n=this.expr2.evaluate(e);if("node-set"==a.type&&"node-set"==n.type){var o=a.nodeSetValue(),s=n.nodeSetValue();t=!1;for(var i=0;i<o.length;++i)for(var l=0;l<s.length;++l)r(xmlValue(o[i]),xmlValue(s[l]))&&(t=!0,l=s.length,i=o.length)}else if("node-set"==a.type||"node-set"==n.type)if("number"==a.type){var u=a.numberValue(),c=n.nodeSetValue();t=!1;for(var p=0;p<c.length;++p){if(r(u,xmlValue(c[p])-0)){t=!0;break}}}else if("number"==n.type){var h=a.nodeSetValue(),d=n.numberValue();t=!1;for(var g=0;g<h.length;++g){if(r(xmlValue(h[g])-0,d)){t=!0;break}}}else if("string"==a.type){var m=a.stringValue(),f=n.nodeSetValue();t=!1;for(var b=0;b<f.length;++b){if(r(m,xmlValue(f[b]))){t=!0;break}}}else if("string"==n.type){var E=a.nodeSetValue(),x=n.stringValue();t=!1;for(var v=0;v<E.length;++v){if(r(xmlValue(E[v]),x)){t=!0;break}}}else t=r(a.booleanValue(),n.booleanValue());else t="boolean"==a.type||"boolean"==n.type?r(a.booleanValue(),n.booleanValue()):"number"==a.type||"number"==n.type?r(a.numberValue(),n.numberValue()):r(a.stringValue(),n.stringValue());return new BooleanValue(t)};var LiteralExpr=function(e){this.value=e};LiteralExpr.prototype.evaluate=function(){return new StringValue(this.value)};var NumberExpr=function(e){this.value=e};NumberExpr.prototype.evaluate=function(){return new NumberValue(this.value)};var VariableExpr=function(e){this.name=e};function makeTokenExpr(e){return new TokenExpr(e)}function passExpr(e){return e}function makeLocationExpr1(e,r){return r.absolute=!0,r}function makeLocationExpr2(e,r){return r.absolute=!0,r.prependStep(makeAbbrevStep(e.value)),r}function makeLocationExpr3(){var e=new LocationExpr;return e.appendStep(makeAbbrevStep(".")),e.absolute=!0,e}function makeLocationExpr4(e){var r=new LocationExpr;return r.absolute=!0,r.appendStep(makeAbbrevStep(e.value)),r}function makeLocationExpr5(e){var r=new LocationExpr;return r.appendStep(e),r}function makeLocationExpr6(e,r,t){return e.appendStep(t),e}function makeLocationExpr7(e,r,t){return e.appendStep(makeAbbrevStep(r.value)),e.appendStep(t),e}function makeStepExpr1(e){return makeAbbrevStep(e.value)}function makeStepExpr2(e){return makeAbbrevStep(e.value)}function makeStepExpr3(e,r,t){return new StepExpr(e.value,t)}function makeStepExpr4(e,r){return new StepExpr("attribute",r)}function makeStepExpr5(e){return new StepExpr("child",e)}function makeStepExpr6(e,r){return e.appendPredicate(r),e}function makeAbbrevStep(e){switch(e){case"//":return new StepExpr("descendant-or-self",new NodeTestAny);case".":return new StepExpr("self",new NodeTestAny);case"..":return new StepExpr("parent",new NodeTestAny)}}function makeNodeTestExpr1(){return new NodeTestElementOrAttribute}function makeNodeTestExpr2(e){return new NodeTestNC(e.value)}function makeNodeTestExpr3(e){return new NodeTestName(e.value)}function makeNodeTestExpr4(e){switch(e.value.replace(/\s*\($/,"")){case"node":return new NodeTestAny;case"text":return new NodeTestText;case"comment":return new NodeTestComment;case"processing-instruction":return new NodeTestPI("")}}function makeNodeTestExpr5(e,r){var t=e.replace(/\s*\($/,"");if("processing-instruction"!=t)throw t;return new NodeTestPI(r.value)}function makePredicateExpr(e,r){return new PredicateExpr(r)}function makePrimaryExpr(e,r){return r}function makeFunctionCallExpr1(e){return new FunctionCallExpr(e)}function makeFunctionCallExpr2(e,r,t,a){var n=new FunctionCallExpr(e);n.appendArg(t);for(var o=0;o<a.length;++o)n.appendArg(a[o]);return n}function makeArgumentExpr(e,r){return r}function makeUnionExpr(e,r,t){return new UnionExpr(e,t)}function makePathExpr1(e,r,t){return new PathExpr(e,t)}function makePathExpr2(e,r,t){return t.prependStep(makeAbbrevStep(r.value)),new PathExpr(e,t)}function makeFilterExpr(e,r){return r.length>0?new FilterExpr(e,r):e}function makeUnaryMinusExpr(e,r){return new UnaryMinusExpr(r)}function makeBinaryExpr(e,r,t){return new BinaryExpr(e,r,t)}function makeLiteralExpr(e){var r=e.value.substring(1,e.value.length-1);return new LiteralExpr(r)}function makeNumberExpr(e){return new NumberExpr(e.value)}function makeVariableReference(e,r){return new VariableExpr(r.value)}function makeSimpleExpr(e){if("$"==e.charAt(0))return new VariableExpr(e.substr(1));if("@"==e.charAt(0)){var r=new NodeTestName(e.substr(1)),t=new StepExpr("attribute",r),a=new LocationExpr;return a.appendStep(t),a}if(e.match(/^[0-9]+$/))return new NumberExpr(e);var n=new NodeTestName(e),o=new StepExpr("child",n),s=new LocationExpr;return s.appendStep(o),s}function makeSimpleExpr2(e){for(var r=e.split("/"),t=new LocationExpr,a=0;a<r.length;++a){var n=new NodeTestName(r[a]),o=new StepExpr("child",n);t.appendStep(o)}return t}VariableExpr.prototype.evaluate=function(e){return e.getVariable(this.name)};var xpathAxis={ANCESTOR_OR_SELF:"ancestor-or-self",ANCESTOR:"ancestor",ATTRIBUTE:"attribute",CHILD:"child",DESCENDANT_OR_SELF:"descendant-or-self",DESCENDANT:"descendant",FOLLOWING_SIBLING:"following-sibling",FOLLOWING:"following",NAMESPACE:"namespace",PARENT:"parent",PRECEDING_SIBLING:"preceding-sibling",PRECEDING:"preceding",SELF:"self"},xpathAxesRe=[xpathAxis.ANCESTOR_OR_SELF,xpathAxis.ANCESTOR,xpathAxis.ATTRIBUTE,xpathAxis.CHILD,xpathAxis.DESCENDANT_OR_SELF,xpathAxis.DESCENDANT,xpathAxis.FOLLOWING_SIBLING,xpathAxis.FOLLOWING,xpathAxis.NAMESPACE,xpathAxis.PARENT,xpathAxis.PRECEDING_SIBLING,xpathAxis.PRECEDING,xpathAxis.SELF].join("|"),TOK_PIPE={label:"|",prec:17,re:new RegExp("^\\|")},TOK_DSLASH={label:"//",prec:19,re:new RegExp("^//")},TOK_SLASH={label:"/",prec:30,re:new RegExp("^/")},TOK_AXIS={label:"::",prec:20,re:new RegExp("^::")},TOK_COLON={label:":",prec:1e3,re:new RegExp("^:")},TOK_AXISNAME={label:"[axis]",re:new RegExp("^("+xpathAxesRe+")")},TOK_PARENO={label:"(",prec:34,re:new RegExp("^\\(")},TOK_PARENC={label:")",re:new RegExp("^\\)")},TOK_DDOT={label:"..",prec:34,re:new RegExp("^\\.\\.")},TOK_DOT={label:".",prec:34,re:new RegExp("^\\.")},TOK_AT={label:"@",prec:34,re:new RegExp("^@")},TOK_COMMA={label:",",re:new RegExp("^,")},TOK_OR={label:"or",prec:10,re:new RegExp("^or\\b")},TOK_AND={label:"and",prec:11,re:new RegExp("^and\\b")},TOK_EQ={label:"=",prec:12,re:new RegExp("^=")},TOK_NEQ={label:"!=",prec:12,re:new RegExp("^!=")},TOK_GE={label:">=",prec:13,re:new RegExp("^>=")},TOK_GT={label:">",prec:13,re:new RegExp("^>")},TOK_LE={label:"<=",prec:13,re:new RegExp("^<=")},TOK_LT={label:"<",prec:13,re:new RegExp("^<")},TOK_PLUS={label:"+",prec:14,re:new RegExp("^\\+"),left:!0},TOK_MINUS={label:"-",prec:14,re:new RegExp("^\\-"),left:!0},TOK_DIV={label:"div",prec:15,re:new RegExp("^div\\b"),left:!0},TOK_MOD={label:"mod",prec:15,re:new RegExp("^mod\\b"),left:!0},TOK_BRACKO={label:"[",prec:32,re:new RegExp("^\\[")},TOK_BRACKC={label:"]",re:new RegExp("^\\]")},TOK_DOLLAR={label:"$",re:new RegExp("^\\$")},TOK_NCNAME={label:"[ncname]",re:new RegExp("^"+XML_NC_NAME)},TOK_ASTERISK={label:"*",prec:15,re:new RegExp("^\\*"),left:!0},TOK_LITERALQ={label:"[litq]",prec:20,re:new RegExp("^'[^\\']*'")},TOK_LITERALQQ={label:"[litqq]",prec:20,re:new RegExp('^"[^\\"]*"')},TOK_NUMBER={label:"[number]",prec:35,re:new RegExp("^\\d+(\\.\\d*)?")},TOK_QNAME={label:"[qname]",re:new RegExp("^("+XML_NC_NAME+":)?"+XML_NC_NAME)},TOK_NODEO={label:"[nodetest-start]",re:new RegExp("^(processing-instruction|comment|text|node)\\(")},xpathTokenRules=[TOK_DSLASH,TOK_SLASH,TOK_DDOT,TOK_DOT,TOK_AXIS,TOK_COLON,TOK_AXISNAME,TOK_NODEO,TOK_PARENO,TOK_PARENC,TOK_BRACKO,TOK_BRACKC,TOK_AT,TOK_COMMA,TOK_OR,TOK_AND,TOK_NEQ,TOK_EQ,TOK_GE,TOK_GT,TOK_LE,TOK_LT,TOK_PLUS,TOK_MINUS,TOK_ASTERISK,TOK_PIPE,TOK_MOD,TOK_DIV,TOK_LITERALQ,TOK_LITERALQQ,TOK_NUMBER,TOK_QNAME,TOK_NCNAME,TOK_DOLLAR],XPathLocationPath={label:"LocationPath"},XPathRelativeLocationPath={label:"RelativeLocationPath"},XPathAbsoluteLocationPath={label:"AbsoluteLocationPath"},XPathStep={label:"Step"},XPathNodeTest={label:"NodeTest"},XPathPredicate={label:"Predicate"},XPathLiteral={label:"Literal"},XPathExpr={label:"Expr"},XPathPrimaryExpr={label:"PrimaryExpr"},XPathVariableReference={label:"Variablereference"},XPathNumber={label:"Number"},XPathFunctionCall={label:"FunctionCall"},XPathArgumentRemainder={label:"ArgumentRemainder"},XPathPathExpr={label:"PathExpr"},XPathUnionExpr={label:"UnionExpr"},XPathFilterExpr={label:"FilterExpr"},XPathDigits={label:"Digits"},xpathNonTerminals=[XPathLocationPath,XPathRelativeLocationPath,XPathAbsoluteLocationPath,XPathStep,XPathNodeTest,XPathPredicate,XPathLiteral,XPathExpr,XPathPrimaryExpr,XPathVariableReference,XPathNumber,XPathFunctionCall,XPathArgumentRemainder,XPathPathExpr,XPathUnionExpr,XPathFilterExpr,XPathDigits],Q_01={label:"?"},Q_MM={label:"*"},Q_1M={label:"+"},ASSOC_LEFT=!0,xpathGrammarRules=[[XPathLocationPath,[XPathRelativeLocationPath],18,passExpr],[XPathLocationPath,[XPathAbsoluteLocationPath],18,passExpr],[XPathAbsoluteLocationPath,[TOK_SLASH,XPathRelativeLocationPath],18,makeLocationExpr1],[XPathAbsoluteLocationPath,[TOK_DSLASH,XPathRelativeLocationPath],18,makeLocationExpr2],[XPathAbsoluteLocationPath,[TOK_SLASH],0,makeLocationExpr3],[XPathAbsoluteLocationPath,[TOK_DSLASH],0,makeLocationExpr4],[XPathRelativeLocationPath,[XPathStep],31,makeLocationExpr5],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_SLASH,XPathStep],31,makeLocationExpr6],[XPathRelativeLocationPath,[XPathRelativeLocationPath,TOK_DSLASH,XPathStep],31,makeLocationExpr7],[XPathStep,[TOK_DOT],33,makeStepExpr1],[XPathStep,[TOK_DDOT],33,makeStepExpr2],[XPathStep,[TOK_AXISNAME,TOK_AXIS,XPathNodeTest],33,makeStepExpr3],[XPathStep,[TOK_AT,XPathNodeTest],33,makeStepExpr4],[XPathStep,[XPathNodeTest],33,makeStepExpr5],[XPathStep,[XPathStep,XPathPredicate],33,makeStepExpr6],[XPathNodeTest,[TOK_ASTERISK],33,makeNodeTestExpr1],[XPathNodeTest,[TOK_NCNAME,TOK_COLON,TOK_ASTERISK],33,makeNodeTestExpr2],[XPathNodeTest,[TOK_QNAME],33,makeNodeTestExpr3],[XPathNodeTest,[TOK_NODEO,TOK_PARENC],33,makeNodeTestExpr4],[XPathNodeTest,[TOK_NODEO,XPathLiteral,TOK_PARENC],33,makeNodeTestExpr5],[XPathPredicate,[TOK_BRACKO,XPathExpr,TOK_BRACKC],33,makePredicateExpr],[XPathPrimaryExpr,[XPathVariableReference],33,passExpr],[XPathPrimaryExpr,[TOK_PARENO,XPathExpr,TOK_PARENC],33,makePrimaryExpr],[XPathPrimaryExpr,[XPathLiteral],30,passExpr],[XPathPrimaryExpr,[XPathNumber],30,passExpr],[XPathPrimaryExpr,[XPathFunctionCall],31,passExpr],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,TOK_PARENC],-1,makeFunctionCallExpr1],[XPathFunctionCall,[TOK_QNAME,TOK_PARENO,XPathExpr,XPathArgumentRemainder,Q_MM,TOK_PARENC],-1,makeFunctionCallExpr2],[XPathArgumentRemainder,[TOK_COMMA,XPathExpr],-1,makeArgumentExpr],[XPathUnionExpr,[XPathPathExpr],20,passExpr],[XPathUnionExpr,[XPathUnionExpr,TOK_PIPE,XPathPathExpr],20,makeUnionExpr],[XPathPathExpr,[XPathLocationPath],20,passExpr],[XPathPathExpr,[XPathFilterExpr],19,passExpr],[XPathPathExpr,[XPathFilterExpr,TOK_SLASH,XPathRelativeLocationPath],19,makePathExpr1],[XPathPathExpr,[XPathFilterExpr,TOK_DSLASH,XPathRelativeLocationPath],19,makePathExpr2],[XPathFilterExpr,[XPathPrimaryExpr,XPathPredicate,Q_MM],31,makeFilterExpr],[XPathExpr,[XPathPrimaryExpr],16,passExpr],[XPathExpr,[XPathUnionExpr],16,passExpr],[XPathExpr,[TOK_MINUS,XPathExpr],-1,makeUnaryMinusExpr],[XPathExpr,[XPathExpr,TOK_OR,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_AND,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_EQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_NEQ,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_LE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GT,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_GE,XPathExpr],-1,makeBinaryExpr],[XPathExpr,[XPathExpr,TOK_PLUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MINUS,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_ASTERISK,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_DIV,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathExpr,[XPathExpr,TOK_MOD,XPathExpr],-1,makeBinaryExpr,ASSOC_LEFT],[XPathLiteral,[TOK_LITERALQ],-1,makeLiteralExpr],[XPathLiteral,[TOK_LITERALQQ],-1,makeLiteralExpr],[XPathNumber,[TOK_NUMBER],-1,makeNumberExpr],[XPathVariableReference,[TOK_DOLLAR,TOK_QNAME],200,makeVariableReference]],xpathRules=[];function xpathParseInit(e){if(!xpathRules.length){xpathGrammarRules.sort(function(e,r){var t=e[1].length,a=r[1].length;return t<a?1:t>a?-1:0});for(var r=1,t=0;t<xpathNonTerminals.length;++t)xpathNonTerminals[t].key=r++;for(var a=0;a<xpathTokenRules.length;++a)xpathTokenRules[a].key=r++;e("XPath parse INIT: "+r+" rules");for(var n=0;n<xpathGrammarRules.length;++n)for(var o=xpathGrammarRules[n],s=o[1],i=s.length-1;i>=0;--i){if(s[i]==Q_1M){u(xpathRules,s[i-1].key,o);break}if(s[i]!=Q_MM&&s[i]!=Q_01){u(xpathRules,s[i].key,o);break}u(xpathRules,s[i-1].key,o),--i}e("XPath parse INIT: "+xpathRules.length+" rule bins");var l=0;mapExec(xpathRules,function(e){e&&(l+=e.length)}),e("XPath parse INIT: "+l/xpathRules.length+" average bin size")}function u(e,r,t){e[r]||(e[r]=[]),e[r].push(t)}}function xpathCollectDescendants(e,r,t){if(t&&r.getElementsByTagName)copyArray(e,r.getElementsByTagName(t));else for(var a=r.firstChild;a;a=a.nextSibling)e.push(a),xpathCollectDescendants(e,a)}function xpathExtractTagNameFromNodeTest(e,r){return e instanceof NodeTestName?e.name:r&&e instanceof NodeTestAny||e instanceof NodeTestElementOrAttribute?"*":void 0}function xpathCollectDescendantsReverse(e,r){for(var t=r.lastChild;t;t=t.previousSibling)e.push(t),xpathCollectDescendantsReverse(e,t)}function xpathSort(e,r){if(0!=r.length){for(var t=[],a=0;a<e.contextSize();++a){for(var n=e.nodelist[a],o={node:n,key:[]},s=e.clone(n,0,[n]),i=0,l=r;i<l.length;i+=1){var u=l[i],c=u.expr.evaluate(s),p=void 0;"text"==u.type?p=c.stringValue():"number"==u.type&&(p=c.numberValue()),o.key.push({value:p,order:u.order})}o.key.push({value:a,order:"ascending"}),t.push(o)}t.sort(xpathSortByKey);for(var h=[],d=0;d<t.length;++d)h.push(t[d].node);e.nodelist=h,e.setNode(0)}}function xpathSortByKey(e,r){for(var t=0;t<e.key.length;++t){var a="descending"==e.key[t].order?-1:1;if(e.key[t].value>r.key[t].value)return 1*a;if(e.key[t].value<r.key[t].value)return-1*a}return 0}function xpathEval(e,r){return xpathParse(e).evaluate(r)}function assert(e){if(!e)throw"Assertion failed"}function mapExec(e,r){for(var t=0;t<e.length;++t)r.call(this,e[t],t)}function mapExpr(e,r){for(var t=[],a=0;a<e.length;++a)t.push(r(e[a]));return t}function reverseInplace(e){for(var r=0;r<e.length/2;++r){var t=e[r],a=e.length-r-1;e[r]=e[a],e[a]=t}}function copyArray(e,r){if(r)for(var t=e.length,a=r.length-1;a>=0;--a)e[a+t]=r[a]}function copyArrayIgnoringAttributesWithoutValue(e,r){if(r)for(var t=r.length-1;t>=0;--t)r[t].nodeValue&&e.push(r[t])}function xmlValue(e,r){if(!e)return"";var t="";if(e.nodeType==DOM_TEXT_NODE||e.nodeType==DOM_CDATA_SECTION_NODE)t+=e.nodeValue;else if(e.nodeType==DOM_ATTRIBUTE_NODE)t+=e.nodeValue;else if(e.nodeType==DOM_ELEMENT_NODE||e.nodeType==DOM_DOCUMENT_NODE||e.nodeType==DOM_DOCUMENT_FRAGMENT_NODE){if(!r){var a=e.innerText;if(null!=a)return a;var n=e.textContent;if(null!=n)return n}for(var o=e.childNodes.length,s=0;s<o;++s)t+=xmlValue(e.childNodes[s])}return t}function xmlText(e,r){var t=[];return xmlTextR(e,t,r),t.join("")}function xmlTextR(e,r,t){if(e.nodeType==DOM_TEXT_NODE)r.push(xmlEscapeText(e.nodeValue));else if(e.nodeType==DOM_CDATA_SECTION_NODE)t?r.push(e.nodeValue):r.push("<![CDATA["+e.nodeValue+"]]>");else if(e.nodeType==DOM_COMMENT_NODE)r.push("\x3c!--"+e.nodeValue+"--\x3e");else if(e.nodeType==DOM_ELEMENT_NODE){r.push("<"+xmlFullNodeName(e));for(var a=0;a<e.attributes.length;++a){var n=e.attributes[a];n&&n.nodeName&&n.nodeValue&&r.push(" "+xmlFullNodeName(n)+'="'+xmlEscapeAttr(n.nodeValue)+'"')}if(0==e.childNodes.length)r.push("/>");else{r.push(">");for(var o=0;o<e.childNodes.length;++o)xmlTextR(e.childNodes[o],r,t);r.push("</"+xmlFullNodeName(e)+">")}}else if(e.nodeType==DOM_DOCUMENT_NODE||e.nodeType==DOM_DOCUMENT_FRAGMENT_NODE)for(var s=0;s<e.childNodes.length;++s)xmlTextR(e.childNodes[s],r,t)}function xmlFullNodeName(e){return e.prefix&&0!=e.nodeName.indexOf(e.prefix+":")?e.prefix+":"+e.nodeName:e.nodeName}function xmlEscapeText(e){return(""+e).replace(/&/g,"&amp;").replace(/&amp;amp;/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xmlEscapeAttr(e){return xmlEscapeText(e).replace(/"/g,"&quot;")}function xmlOwnerDocument(e){return e.nodeType==DOM_DOCUMENT_NODE?e:e.ownerDocument}function domGetAttribute(e,r){return e.getAttribute(r)}function domSetAttribute(e,r,t){return e.setAttribute(r,t)}function domAppendChild(e,r){return e.appendChild(r)}function domCreateTextNode(e,r){return e.createTextNode(r)}function domCreateElement(e,r){return e.createElement(r)}function domCreateCDATASection(e,r){return e.createCDATASection(r)}function domCreateComment(e,r){return e.createComment(r)}function domCreateDocumentFragment(e){return e.createDocumentFragment()}var regExpSpecials=["/",".","*","+","?","|","^","$","(",")","[","]","{","}","\\"],sRE=new RegExp("(\\"+regExpSpecials.join("|\\")+")","g");function regExpEscape(e){return e.replace(sRE,"\\$1")}function predicateExprHasPositionalSelector(e,r){if(!e)return!1;if(!r&&exprReturnsNumberValue(e))return!0;if(e instanceof FunctionCallExpr){var t=e.name.value;return"last"==t||"position"==t}return e instanceof BinaryExpr&&(predicateExprHasPositionalSelector(e.expr1,!0)||predicateExprHasPositionalSelector(e.expr2,!0))}function exprReturnsNumberValue(e){if(e instanceof FunctionCallExpr){return{last:!0,position:!0,count:!0,"string-length":!0,number:!0,sum:!0,floor:!0,ceiling:!0,round:!0}[e.name.value]}if(e instanceof UnaryMinusExpr)return!0;if(e instanceof BinaryExpr){return{"+":!0,"-":!0,"*":!0,mod:!0,div:!0}[e.op.value]}return e instanceof NumberExpr}function xsltProcess(e,r,t){var a=domCreateDocumentFragment(new XDocument),n=new ExprContext(e);if(t&&"object"==typeof t)for(var o=0,s=Object.entries(t);o<s.length;o+=1){var i=s[o],l=i[0],u=i[1];n.setVariable(l,new StringValue(u))}return n.setVariable(),xsltProcessContext(n,r,a,t),xmlText(a)}function xsltProcessContext(e,r,t,a){var n,o,s,i,l,u,c,p,h,d,g,m,f=xmlOwnerDocument(t),b=r.nodeName.split(/:/);if(1==b.length||"xsl"!=b[0])xsltPassThrough(e,r,t,f);else switch(b[1]){case"apply-imports":throw"not implemented: "+b[1];case"apply-templates":u=(i=xmlGetAttribute(r,"select"))?xpathEval(i,e).nodeSetValue():e.node.childNodes,xsltWithParam(c=e.clone(u[0],0,u),r),xsltSort(c,r),p=xmlGetAttribute(r,"mode"),o=r.ownerDocument.documentElement,h=[];for(var E=0;E<o.childNodes.length;++E){var x=o.childNodes[E];x.nodeType!=DOM_ELEMENT_NODE||"xsl:template"!=x.nodeName||p&&x.getAttribute("mode")!=p||h.push(x)}for(var v=0;v<c.contextSize();++v)for(var A=c.nodelist[v],N=0;N<h.length;++N)xsltProcessContext(c.clone(A,v),h[N],t);break;case"attribute":n=xsltAttributeValue(xmlGetAttribute(r,"name"),e),xsltChildNodes(e,r,s=domCreateDocumentFragment(f)),domSetAttribute(t,n,l=xmlValue(s));break;case"attribute-set":throw"not implemented: "+b[1];case"call-template":n=xmlGetAttribute(r,"name"),o=r.ownerDocument.documentElement,xsltWithParam(d=e.clone(),r);for(var T=0;T<o.childNodes.length;++T){var y=o.childNodes[T];if(y.nodeType==DOM_ELEMENT_NODE&&"xsl:template"==y.nodeName&&domGetAttribute(y,"name")==n){xsltChildNodes(d,y,t);break}}break;case"choose":xsltChoose(e,r,t);break;case"comment":xsltChildNodes(e,r,s=domCreateDocumentFragment(f)),g=domCreateComment(f,xmlValue(s)),t.appendChild(g);break;case"copy":(s=xsltCopy(t,e.node,f))&&xsltChildNodes(e,r,s);break;case"copy-of":if("node-set"==(l=xpathEval(i=xmlGetAttribute(r,"select"),e)).type){u=l.nodeSetValue();for(var w=0;w<u.length;++w)xsltCopyOf(t,u[w],f)}else{domAppendChild(t,domCreateTextNode(f,l.stringValue()))}break;case"decimal-format":throw"not implemented: "+b[1];case"element":domAppendChild(t,s=domCreateElement(f,n=xsltAttributeValue(xmlGetAttribute(r,"name"),e))),xsltChildNodes(e,r,s);break;case"fallback":throw"not implemented: "+b[1];case"for-each":xsltForEach(e,r,t);break;case"if":xpathEval(xmlGetAttribute(r,"test"),e).booleanValue()&&xsltChildNodes(e,r,t);break;case"import":case"include":case"key":case"message":case"namespace-alias":case"number":throw"not implemented: "+b[1];case"otherwise":throw"error if here: "+b[1];case"output":break;case"preserve-space":case"processing-instruction":throw"not implemented: "+b[1];case"sort":break;case"strip-space":throw"not implemented: "+b[1];case"stylesheet":case"transform":xsltChildNodes(e,r,t);break;case"template":(m=xmlGetAttribute(r,"match"))&&xsltMatch(m,e)&&xsltChildNodes(e,r,t);break;case"text":s=domCreateTextNode(f,xmlValue(r)),t.appendChild(s);break;case"value-of":s=domCreateTextNode(f,l=xpathEval(i=xmlGetAttribute(r,"select"),e).stringValue()),t.appendChild(s);break;case"param":xsltVariable(e,r,!1);break;case"variable":xsltVariable(e,r,!0);break;case"when":case"with-param":default:throw"error if here: "+b[1]}}function xsltWithParam(e,r){for(var t=0,a=r.childNodes;t<a.length;t+=1){var n=a[t];n.nodeType==DOM_ELEMENT_NODE&&"xsl:with-param"==n.nodeName&&xsltVariable(e,n,!0)}}function xsltSort(e,r){for(var t=[],a=0,n=r.childNodes;a<n.length;a+=1){var o=n[a];if(o.nodeType==DOM_ELEMENT_NODE&&"xsl:sort"==o.nodeName){var s=xpathParse(xmlGetAttribute(o,"select")),i=xmlGetAttribute(o,"data-type")||"text",l=xmlGetAttribute(o,"order")||"ascending";t.push({expr:s,type:i,order:l})}}xpathSort(e,t)}function xsltVariable(e,r,t){var a,n=xmlGetAttribute(r,"name"),o=xmlGetAttribute(r,"select");if(r.childNodes.length>0){var s=domCreateDocumentFragment(r.ownerDocument);xsltChildNodes(e,r,s),a=new NodeSetValue([s])}else a=o?xpathEval(o,e):new StringValue("");!t&&e.getVariable(n)||e.setVariable(n,a)}function xsltChoose(e,r,t){for(var a=0,n=r.childNodes;a<n.length;a+=1){var o=n[a];if(o.nodeType==DOM_ELEMENT_NODE)if("xsl:when"==o.nodeName){if(xpathEval(xmlGetAttribute(o,"test"),e).booleanValue()){xsltChildNodes(e,o,t);break}}else if("xsl:otherwise"==o.nodeName){xsltChildNodes(e,o,t);break}}}function xsltForEach(e,r,t){var a=xpathEval(xmlGetAttribute(r,"select"),e).nodeSetValue(),n=e.clone(a[0],0,a);xsltSort(n,r);for(var o=0;o<n.contextSize();++o){var s=n.nodelist[o];xsltChildNodes(n.clone(s,o),r,t)}}function xsltChildNodes(e,r,t){for(var a=e.clone(),n=0;n<r.childNodes.length;++n)xsltProcessContext(a,r.childNodes[n],t)}function xsltPassThrough(e,r,t,a){if(r.nodeType==DOM_TEXT_NODE)xsltPassText(r)&&domAppendChild(t,domCreateTextNode(a,r.nodeValue));else if(r.nodeType==DOM_ELEMENT_NODE){for(var n=domCreateElement(a,r.nodeName),o=0,s=r.attributes;o<s.length;o+=1){var i=s[o];if(i)domSetAttribute(n,i.nodeName,xsltAttributeValue(i.nodeValue,e))}domAppendChild(t,n),xsltChildNodes(e,r,n)}else xsltChildNodes(e,r,t)}function xsltPassText(e){if(!e.nodeValue.match(/^\s*$/))return!0;var r=e.parentNode;if("xsl:text"==r.nodeName)return!0;for(;r&&r.nodeType==DOM_ELEMENT_NODE;){var t=domGetAttribute(r,"xml:space");if(t){if("default"==t)return!1;if("preserve"==t)return!0}r=r.parentNode}return!1}function xsltAttributeValue(e,r){var t=e.split("{");if(1==t.length)return e;for(var a="",n=0;n<t.length;++n){var o=t[n].split("}");if(2==o.length)a+=xpathEval(o[0],r).stringValue()+o[1];else a+=t[n]}return a}function xmlGetAttribute(e,r){var t=domGetAttribute(e,r);return t?he.decode(t):t}function xsltCopyOf(e,r,t){if(r.nodeType==DOM_DOCUMENT_FRAGMENT_NODE||r.nodeType==DOM_DOCUMENT_NODE)for(var a=0;a<r.childNodes.length;++a)xsltCopyOf(e,r.childNodes[a],t);else{var n=xsltCopy(e,r,t);if(n){for(var o=0;o<r.attributes.length;++o)xsltCopyOf(n,r.attributes[o],t);for(var s=0;s<r.childNodes.length;++s)xsltCopyOf(n,r.childNodes[s],t)}}}function xsltCopy(e,r,t){if(r.nodeType==DOM_ELEMENT_NODE){var a=domCreateElement(t,r.nodeName);return domAppendChild(e,a),a}if(r.nodeType==DOM_TEXT_NODE)domAppendChild(e,domCreateTextNode(t,r.nodeValue));else if(r.nodeType==DOM_CDATA_SECTION_NODE){domAppendChild(e,domCreateCDATASection(t,r.nodeValue))}else if(r.nodeType==DOM_COMMENT_NODE){domAppendChild(e,domCreateComment(t,r.nodeValue))}else r.nodeType==DOM_ATTRIBUTE_NODE&&domSetAttribute(e,r.nodeName,r.nodeValue);return null}function xsltMatch(e,r){var t,a=xpathParse(e);if(a.steps&&!a.absolute&&1==a.steps.length&&"child"==a.steps[0].axis&&0==a.steps[0].predicate.length)t=a.steps[0].nodetest.evaluate(r).booleanValue();else{t=!1;for(var n=r.node;!t&&n;){for(var o=a.evaluate(r.clone(n,0,[n])).nodeSetValue(),s=0;s<o.length;++s)if(o[s]==r.node){t=!0;break}n=n.parentNode}}return t}exports.xsltProcess=xsltProcess,exports.xmlParse=xmlParse,exports.xpathParse=xpathParse,exports.ExprContext=ExprContext;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xslt-processor",
3
- "version": "0.11.3",
3
+ "version": "0.11.7",
4
4
  "description": "a JavaScript XSLT Processor",
5
5
  "main": "dist/xslt-processor.js",
6
6
  "module": "src/index.js",
@@ -40,11 +40,11 @@
40
40
  "rollup": "^1.1.2",
41
41
  "rollup-plugin-buble": "^0.19.6",
42
42
  "rollup-plugin-commonjs": "^9.2.0",
43
- "rollup-plugin-node-resolve": "^4.0.0"
43
+ "rollup-plugin-node-resolve": "^4.0.0",
44
+ "rollup-plugin-terser": "^4.0.3",
45
+ "npm-check-updates": "^2.15.0"
44
46
  },
45
47
  "dependencies": {
46
- "he": "^1.2.0",
47
- "npm-check-updates": "^2.15.0",
48
- "rollup-plugin-terser": "^4.0.3"
48
+ "he": "^1.2.0"
49
49
  }
50
50
  }
package/src/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export {xsltProcess} from "./xslt.js"
2
2
  export {xmlParse} from "./dom.js"
3
- export {xpathParse} from "./xpath.js"
3
+ export {xpathParse, ExprContext} from "./xpath.js"
package/src/xpath.js CHANGED
@@ -1090,6 +1090,10 @@ let xpathfunctions = {
1090
1090
  return new NumberValue(v.nodeSetValue().length);
1091
1091
  },
1092
1092
 
1093
+ 'generate-id' (_ctx) {
1094
+ throw('not implmented yet: XPath function generate-id()');
1095
+ },
1096
+
1093
1097
  'id' (ctx) {
1094
1098
  assert(this.args.length == 1);
1095
1099
  const e = this.args[0].evaluate(ctx);
@@ -1116,13 +1120,31 @@ let xpathfunctions = {
1116
1120
  }
1117
1121
  return new NodeSetValue(ret);
1118
1122
  },
1123
+ 'xml-to-json'(ctx) {
1124
+ assert(this.args.length < 2);
1125
+ return new StringValue(
1126
+ JSON.stringify( (!this.args.length)? 'null': xmlValue(ctx.node)
1127
+ )
1128
+ );
1129
+ },
1130
+ 'local-name' (ctx) {
1131
+ assert(this.args.length == 1 || this.args.length == 0);
1132
+ let n;
1133
+ if (this.args.length == 0) {
1134
+ n = [ctx.node];
1135
+ } else {
1136
+ n = this.args[0].evaluate(ctx).nodeSetValue();
1137
+ }
1119
1138
 
1120
- 'local-name' () {
1121
- throw('not implmented yet: XPath function local-name()');
1139
+ if (n.length == 0) {
1140
+ return new StringValue('');
1141
+ } else {
1142
+ return new StringValue(n[0].nodeName.replace(/^[^:]+:/, ''));
1143
+ }
1122
1144
  },
1123
1145
 
1124
1146
  'namespace-uri' () {
1125
- throw('not implmented yet: XPath function namespace-uri()');
1147
+ throw('not implemented yet: XPath function namespace-uri()');
1126
1148
  },
1127
1149
 
1128
1150
  'name' (ctx) {
package/src/xslt.js CHANGED
@@ -72,9 +72,16 @@ import {
72
72
  // @param xmlDoc The input document root, as DOM node.
73
73
  // @param template The stylesheet document root, as DOM node.
74
74
  // @return the processed document, as XML text in a string.
75
- export function xsltProcess(xmlDoc, stylesheet) {
75
+ export function xsltProcess(xmlDoc, stylesheet,parameters) {
76
76
  const output = domCreateDocumentFragment(new XDocument);
77
- xsltProcessContext(new ExprContext(xmlDoc), stylesheet, output);
77
+ const expressionContext = new ExprContext(xmlDoc);
78
+ if(parameters && typeof(parameters)==='object') {
79
+ for (const [key, value] of Object.entries(parameters)) {
80
+ expressionContext.setVariable(key,new StringValue(value));
81
+ }
82
+ }
83
+ expressionContext.setVariable()
84
+ xsltProcessContext(expressionContext, stylesheet, output,parameters);
78
85
  const ret = xmlText(output);
79
86
  return ret;
80
87
  }
@@ -85,7 +92,7 @@ export function xsltProcess(xmlDoc, stylesheet) {
85
92
  // @param template The stylesheet document root, as DOM node.
86
93
  // @param the root of the generated output, as DOM node.
87
94
 
88
- function xsltProcessContext(input, template, output) {
95
+ function xsltProcessContext(input, template, output, _parameters) {
89
96
  const outputDocument = xmlOwnerDocument(output);
90
97
 
91
98
  const nodename = template.nodeName.split(/:/);
@@ -0,0 +1,89 @@
1
+ import assert from 'assert';
2
+ import { dom } from 'isomorphic-jsx';
3
+ import { xsltProcess, xmlParse } from '../src'
4
+
5
+ describe('local-name', () => {
6
+
7
+ it('local-name() without namespace test', () => {
8
+ const xmlString = <root>
9
+ <test name="test1" />
10
+ <test name="test2" />
11
+ <test name="test3" />
12
+ <test name="test4" />
13
+ </root>;
14
+
15
+ const xsltString = '<?xml version="1.0"?>' +
16
+ <xsl:stylesheet version="1.0">
17
+ <xsl:template match="test">
18
+ <span> <xsl:value-of select="@name" /> </span>
19
+ </xsl:template>
20
+ <xsl:template match="root">
21
+ <xsl:element name="{local-name()}">
22
+ <xsl:apply-templates select="test"/>
23
+ </xsl:element>
24
+ </xsl:template>
25
+ <xsl:template match="/">
26
+ <xsl:apply-templates select="root"/>
27
+ </xsl:template>
28
+ </xsl:stylesheet>;
29
+
30
+ const expectedOutString = <root>
31
+ <span>test1</span>
32
+ <span>test2</span>
33
+ <span>test3</span>
34
+ <span>test4</span>
35
+ </root>;
36
+
37
+ const outXmlString = xsltProcess(
38
+ xmlParse(xmlString),
39
+ xmlParse(xsltString)
40
+ );
41
+
42
+ assert.equal(
43
+ outXmlString,
44
+ expectedOutString
45
+ );
46
+ })
47
+
48
+ it('local-name() with namespace test', () => {
49
+ const xmlString = <xhtml:root xmlns:xhtml="http://www.w3.org/1999/xhtml">
50
+ <test name="test1" />
51
+ <test name="test2" />
52
+ <test name="test3" />
53
+ <test name="test4" />
54
+ </xhtml:root>;
55
+
56
+ const xsltString = '<?xml version="1.0"?>' +
57
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml">
58
+ <xsl:template match="test">
59
+ <span> <xsl:value-of select="@name" /> </span>
60
+ </xsl:template>
61
+ <xsl:template match="xhtml:root">
62
+ <xsl:element name="{local-name()}">
63
+ <xsl:apply-templates select="test"/>
64
+ </xsl:element>
65
+ </xsl:template>
66
+ <xsl:template match="/">
67
+ <xsl:apply-templates select="xhtml:root"/>
68
+ </xsl:template>
69
+ </xsl:stylesheet>;
70
+
71
+ const expectedOutString = <root>
72
+ <span>test1</span>
73
+ <span>test2</span>
74
+ <span>test3</span>
75
+ <span>test4</span>
76
+ </root>;
77
+
78
+ const outXmlString = xsltProcess(
79
+ xmlParse(xmlString),
80
+ xmlParse(xsltString)
81
+ );
82
+
83
+ assert.equal(
84
+ outXmlString,
85
+ expectedOutString
86
+ );
87
+ })
88
+
89
+ })
@@ -0,0 +1,41 @@
1
+ import assert from 'assert';
2
+ import { xsltProcess, xmlParse } from '../src'
3
+
4
+ describe('variables-as-parameters', () => {
5
+
6
+ it('variables-as-parameters 1', () => {
7
+ const xmlString = `<root>
8
+ <test name="test1"/>
9
+ </root> `;
10
+
11
+ const xsltString =`<?xml version="1.0"?>
12
+ <xsl:stylesheet version="1.0">
13
+ <xsl:template match="test">
14
+ <span> <xsl:value-of select="$test" /> </span>
15
+ </xsl:template>
16
+ <xsl:template match="root">
17
+ <xsl:element name="{local-name()}">
18
+ <xsl:apply-templates select="test"/>
19
+ </xsl:element>
20
+ </xsl:template>
21
+ <xsl:template match="/">
22
+ <xsl:apply-templates select="root"/>
23
+ </xsl:template>
24
+ </xsl:stylesheet>`;
25
+
26
+ const expectedOutString = `<root><span>hugo</span></root>`;
27
+
28
+ const outXmlString = xsltProcess(
29
+ xmlParse(xmlString),
30
+ xmlParse(xsltString),
31
+ {test:"hugo"}
32
+ );
33
+
34
+ assert.equal(
35
+ outXmlString,
36
+ expectedOutString
37
+ );
38
+ })
39
+
40
+
41
+ })
@@ -0,0 +1,44 @@
1
+ import assert from 'assert';
2
+ import { xsltProcess, xmlParse } from '../src'
3
+
4
+ describe('xml-to-json', () => {
5
+
6
+ it('xml-to-json() without namespace test', () => {
7
+ const xmlString = `<root>
8
+ <test name="test1" >test</test>
9
+ <test name="test2" >123</test>
10
+ <test name="test3">\{hugo\}</test>
11
+ <test name="test4" />
12
+
13
+ </root> `;
14
+
15
+ const xsltString =`<?xml version="1.0"?>
16
+ <xsl:stylesheet version="1.0">
17
+ <xsl:template match="test">
18
+ <span> <xsl:value-of select="xml-to-json(.)" /> </span>
19
+ </xsl:template>
20
+ <xsl:template match="root">
21
+ <xsl:element name="{local-name()}">
22
+ <xsl:apply-templates select="test"/>
23
+ </xsl:element>
24
+ </xsl:template>
25
+ <xsl:template match="/">
26
+ <xsl:apply-templates select="root"/>
27
+ </xsl:template>
28
+ </xsl:stylesheet>`;
29
+
30
+ const expectedOutString = `<root><span>"test"</span><span>"123"</span><span>"{hugo}"</span><span>""</span></root>`;
31
+
32
+ const outXmlString = xsltProcess(
33
+ xmlParse(xmlString),
34
+ xmlParse(xsltString)
35
+ );
36
+
37
+ assert.equal(
38
+ outXmlString,
39
+ expectedOutString
40
+ );
41
+ })
42
+
43
+
44
+ })