"use strict";(self.webpackChunksc_markdown=self.webpackChunksc_markdown||[]).push([[2416],{2416(x,c,g){function l(e,t,n){return t(n),n(e,t)}g.d(c,{haskell:()=>R});var w=/[a-z_]/,v=/[A-Z]/,o=/\d/,E=/[0-9A-Fa-f]/,k=/[0-7]/,u=/[a-z_A-Z0-9'\xa1-\uffff]/,f=/[-!#$%&*+.\/<=>?@\\^|~:]/,b=/[(),;[\]`{}]/,d=/[ \t\v\f]/;function a(e,t){if(e.eatWhile(d))return null;var n=e.next();if(b.test(n)){if("{"==n&&e.eat("-")){var r="comment";return e.eat("#")&&(r="meta"),l(e,t,m(r,1))}return null}if("'"==n)return e.eat("\\"),e.next(),e.eat("'")?"string":"error";if('"'==n)return l(e,t,h);if(v.test(n))return e.eatWhile(u),e.eat(".")?"qualifier":"type";if(w.test(n))return e.eatWhile(u),"variable";if(o.test(n)){if("0"==n){if(e.eat(/[xX]/))return e.eatWhile(E),"integer";if(e.eat(/[oO]/))return e.eatWhile(k),"number"}return e.eatWhile(o),r="number",e.match(/^\.\d+/)&&(r="number"),e.eat(/[eE]/)&&(r="number",e.eat(/[-+]/),e.eatWhile(o)),r}return"."==n&&e.eat(".")?"keyword":f.test(n)?"-"==n&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(f))?(e.skipToEnd(),"comment"):(e.eatWhile(f),"variable"):"error"}function m(e,t){return 0==t?a:function(n,r){for(var i=t;!n.eol();){var p=n.next();if("{"==p&&n.eat("-"))++i;else if("-"==p&&n.eat("}")&&0==--i)return r(a),e}return r(m(e,i)),e}}function h(e,t){for(;!e.eol();){var n=e.next();if('"'==n)return t(a),"string";if("\\"==n){if(e.eol()||e.eat(d))return t(F),"string";e.eat("&")||e.next()}}return t(a),"error"}function F(e,t){return e.eat("\\")?l(e,t,h):(e.next(),t(a),"error")}var s=function(){var e={};function t(n){return function(){for(var r=0;r<arguments.length;r++)e[arguments[r]]=n}}return t("keyword")("case","class","data","default","deriving","do","else","foreign","if","import","in","infix","infixl","infixr","instance","let","module","newtype","of","then","type","where","_"),t("keyword")("..",":","::","=","\\","<-","->","@","~","=>"),t("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),t("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),t("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),e}();const R={name:"haskell",startState:function(){return{f:a}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,function(i){t.f=i}),r=e.current();return s.hasOwnProperty(r)?s[r]:n},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}}}}]);