{"version":3,"file":"wasm.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/wasm.js"],"sourcesContent":["/*\nLanguage: WebAssembly\nWebsite: https://webassembly.org\nDescription:  Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.\nCategory: web, common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction wasm(hljs) {\n  hljs.regex;\n  const BLOCK_COMMENT = hljs.COMMENT(/\\(;/, /;\\)/);\n  BLOCK_COMMENT.contains.push(\"self\");\n  const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);\n\n  const KWS = [\n    \"anyfunc\",\n    \"block\",\n    \"br\",\n    \"br_if\",\n    \"br_table\",\n    \"call\",\n    \"call_indirect\",\n    \"data\",\n    \"drop\",\n    \"elem\",\n    \"else\",\n    \"end\",\n    \"export\",\n    \"func\",\n    \"global.get\",\n    \"global.set\",\n    \"local.get\",\n    \"local.set\",\n    \"local.tee\",\n    \"get_global\",\n    \"get_local\",\n    \"global\",\n    \"if\",\n    \"import\",\n    \"local\",\n    \"loop\",\n    \"memory\",\n    \"memory.grow\",\n    \"memory.size\",\n    \"module\",\n    \"mut\",\n    \"nop\",\n    \"offset\",\n    \"param\",\n    \"result\",\n    \"return\",\n    \"select\",\n    \"set_global\",\n    \"set_local\",\n    \"start\",\n    \"table\",\n    \"tee_local\",\n    \"then\",\n    \"type\",\n    \"unreachable\"\n  ];\n\n  const FUNCTION_REFERENCE = {\n    begin: [\n      /(?:func|call|call_indirect)/,\n      /\\s+/,\n      /\\$[^\\s)]+/\n    ],\n    className: {\n      1: \"keyword\",\n      3: \"title.function\"\n    }\n  };\n\n  const ARGUMENT = {\n    className: \"variable\",\n    begin: /\\$[\\w_]+/\n  };\n\n  const PARENS = {\n    match: /(\\((?!;)|\\))+/,\n    className: \"punctuation\",\n    relevance: 0\n  };\n\n  const NUMBER = {\n    className: \"number\",\n    relevance: 0,\n    // borrowed from Prism, TODO: split out into variants\n    match: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/\n  };\n\n  const TYPE = {\n    // look-ahead prevents us from gobbling up opcodes\n    match: /(i32|i64|f32|f64)(?!\\.)/,\n    className: \"type\"\n  };\n\n  const MATH_OPERATIONS = {\n    className: \"keyword\",\n    // borrowed from Prism, TODO: split out into variants\n    match: /\\b(f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))\\b/\n  };\n\n  const OFFSET_ALIGN = {\n    match: [\n      /(?:offset|align)/,\n      /\\s*/,\n      /=/\n    ],\n    className: {\n      1: \"keyword\",\n      3: \"operator\"\n    }\n  };\n\n  return {\n    name: 'WebAssembly',\n    keywords: {\n      $pattern: /[\\w.]+/,\n      keyword: KWS\n    },\n    contains: [\n      LINE_COMMENT,\n      BLOCK_COMMENT,\n      OFFSET_ALIGN,\n      ARGUMENT,\n      PARENS,\n      FUNCTION_REFERENCE,\n      hljs.QUOTE_STRING_MODE,\n      TYPE,\n      MATH_OPERATIONS,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = wasm;\n"],"names":["wasm","hljs","BLOCK_COMMENT","LINE_COMMENT","KWS","FUNCTION_REFERENCE","ARGUMENT","PARENS","NUMBER","TYPE","MATH_OPERATIONS","wasm_1"],"mappings":";;;;AASA,WAASA,EAAKC,GAAM;AAClB,IAAAA,EAAK;AACL,UAAMC,IAAgBD,EAAK,QAAQ,OAAO,KAAK;AAC/C,IAAAC,EAAc,SAAS,KAAK,MAAM;AAClC,UAAMC,IAAeF,EAAK,QAAQ,MAAM,GAAG,GAErCG,IAAM;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GAEQC,IAAqB;AAAA,MACzB,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA;MAEF,WAAW;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA;IAET,GAEQC,IAAW;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GAEQC,IAAS;AAAA,MACb,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,IACf,GAEQC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,OAAO;AAAA,IACX,GAEQC,IAAO;AAAA;AAAA,MAEX,OAAO;AAAA,MACP,WAAW;AAAA,IACf,GAEQC,IAAkB;AAAA,MACtB,WAAW;AAAA;AAAA,MAEX,OAAO;AAAA,IACX;AAcE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,QACR,UAAU;AAAA,QACV,SAASN;AAAA;MAEX,UAAU;AAAA,QACRD;AAAA,QACAD;AAAA,QApBiB;AAAA,UACnB,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA;UAEF,WAAW;AAAA,YACT,GAAG;AAAA,YACH,GAAG;AAAA;QAET;AAAA,QAYMI;AAAA,QACAC;AAAA,QACAF;AAAA,QACAJ,EAAK;AAAA,QACLQ;AAAA,QACAC;AAAA,QACAF;AAAA;IAEN;AAAA,EACA;AAEA,SAAAG,IAAiBX;;","x_google_ignoreList":[0]}