{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/abnf.js"],"names":["module","exports","hljs","regexes","commentMode","COMMENT","ruleDeclarationMode","className","begin","name","illegal","keywords","join","contains","QUOTE_STRING_MODE","NUMBER_MODE"],"mappings":"6EA0CAA,EAAOC,QAnCP,SAAcC,GACZ,IAAIC,EACe,yBADfA,EAEe,mBAGfC,EAAcF,EAAKG,QAAQ,IAAK,KAiBhCC,EAAsB,CACxBC,UAAW,YACXC,MAAOL,EAA0B,aAEnC,MAAO,CACLM,KAAM,6BACNC,QAASP,EACTQ,SAzBa,CAAC,QAAS,MAAO,OAAQ,KAAM,OAAQ,MAAO,QAAS,SAAU,SAAU,OAAQ,KAAM,OAAQ,QAAS,KAAM,QAAS,OAyBnHC,KAAK,KACxBC,SAAU,CAACP,EAAqBF,EAxBT,CACvBG,UAAW,SACXC,MAAO,sCAEiB,CACxBD,UAAW,SACXC,MAAO,sCAEqB,CAC5BD,UAAW,SACXC,MAAO,+CAE0B,CACjCD,UAAW,SACXC,MAAO,SAUsIN,EAAKY,kBAAmBZ,EAAKa","file":"react-syntax-highlighter_languages_highlight_abnf-725b7fdc493849f5bc3a.js","sourcesContent":["/*\nLanguage: Augmented Backus-Naur Form\nAuthor: Alex McKibben <alex@nullscope.net>\nWebsite: https://tools.ietf.org/html/rfc5234\n*/\n\n/** @type LanguageFn */\nfunction abnf(hljs) {\n  var regexes = {\n    ruleDeclaration: \"^[a-zA-Z][a-zA-Z0-9-]*\",\n    unexpectedChars: \"[!@#$^&',?+~`|:]\"\n  };\n  var keywords = [\"ALPHA\", \"BIT\", \"CHAR\", \"CR\", \"CRLF\", \"CTL\", \"DIGIT\", \"DQUOTE\", \"HEXDIG\", \"HTAB\", \"LF\", \"LWSP\", \"OCTET\", \"SP\", \"VCHAR\", \"WSP\"];\n  var commentMode = hljs.COMMENT(\";\", \"$\");\n  var terminalBinaryMode = {\n    className: \"symbol\",\n    begin: /%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/\n  };\n  var terminalDecimalMode = {\n    className: \"symbol\",\n    begin: /%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/\n  };\n  var terminalHexadecimalMode = {\n    className: \"symbol\",\n    begin: /%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/\n  };\n  var caseSensitivityIndicatorMode = {\n    className: \"symbol\",\n    begin: /%[si]/\n  };\n  var ruleDeclarationMode = {\n    className: \"attribute\",\n    begin: regexes.ruleDeclaration + '(?=\\\\s*=)'\n  };\n  return {\n    name: 'Augmented Backus-Naur Form',\n    illegal: regexes.unexpectedChars,\n    keywords: keywords.join(\" \"),\n    contains: [ruleDeclarationMode, commentMode, terminalBinaryMode, terminalDecimalMode, terminalHexadecimalMode, caseSensitivityIndicatorMode, hljs.QUOTE_STRING_MODE, hljs.NUMBER_MODE]\n  };\n}\n\nmodule.exports = abnf;"],"sourceRoot":""}