const lang = Object.freeze(JSON.parse("{\"displayName\":\"Solidity\",\"fileTypes\":[\"sol\"],\"name\":\"solidity\",\"patterns\":[{\"include\":\"#natspec\"},{\"include\":\"#declaration-userType\"},{\"include\":\"#comment\"},{\"include\":\"#operator\"},{\"include\":\"#global\"},{\"include\":\"#control\"},{\"include\":\"#constant\"},{\"include\":\"#primitive\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-modifier-extended-scope\"},{\"include\":\"#declaration\"},{\"include\":\"#function-call\"},{\"include\":\"#assembly\"},{\"include\":\"#punctuation\"}],\"repository\":{\"assembly\":{\"patterns\":[{\"match\":\"\\\\b(assembly)\\\\b\",\"name\":\"keyword.control.assembly\"},{\"match\":\"\\\\b(let)\\\\b\",\"name\":\"storage.type.assembly\"}]},\"comment\":{\"patterns\":[{\"include\":\"#comment-line\"},{\"include\":\"#comment-block\"}]},\"comment-block\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\",\"patterns\":[{\"include\":\"#comment-todo\"}]},\"comment-line\":{\"begin\":\"(?>)\",\"name\":\"keyword.operator.binary\"},\"operator-logic\":{\"match\":\"(==|\\\\!=|<(?!<)|<=|>(?!>)|>=|\\\\&\\\\&|\\\\|\\\\||\\\\:(?!=)|\\\\?|\\\\!)\",\"name\":\"keyword.operator.logic\"},\"operator-mapping\":{\"match\":\"(=>)\",\"name\":\"keyword.operator.mapping\"},\"primitive\":{\"patterns\":[{\"include\":\"#number-decimal\"},{\"include\":\"#number-hex\"},{\"include\":\"#number-scientific\"},{\"include\":\"#string\"}]},\"punctuation\":{\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.terminator.statement\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor\"},{\"match\":\",\",\"name\":\"punctuation.separator\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.brace.curly.begin\"},{\"match\":\"\\\\}\",\"name\":\"punctuation.brace.curly.end\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.brace.square.begin\"},{\"match\":\"\\\\]\",\"name\":\"punctuation.brace.square.end\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.parameters.begin\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.parameters.end\"}]},\"string\":{\"patterns\":[{\"match\":\"\\\\\\\"(?:\\\\\\\\\\\"|[^\\\\\\\"])*\\\\\\\"\",\"name\":\"string.quoted.double\"},{\"match\":\"\\\\'(?:\\\\\\\\'|[^\\\\'])*\\\\'\",\"name\":\"string.quoted.single\"}]},\"type-modifier-access\":{\"match\":\"\\\\b(internal|external|private|public)\\\\b\",\"name\":\"storage.type.modifier.access\"},\"type-modifier-constant\":{\"match\":\"\\\\b(constant)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-extended-scope\":{\"match\":\"\\\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\\\b\",\"name\":\"storage.type.modifier.extendedscope\"},\"type-modifier-immutable\":{\"match\":\"\\\\b(immutable)\\\\b\",\"name\":\"storage.type.modifier.readonly\"},\"type-modifier-payable\":{\"match\":\"\\\\b(nonpayable|payable)\\\\b\",\"name\":\"storage.type.modifier.payable\"},\"type-primitive\":{\"patterns\":[{\"begin\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b(?:\\\\[\\\\])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.primitive\"}},\"end\":\"(\\\\))\",\"patterns\":[{\"include\":\"#primitive\"},{\"include\":\"#punctuation\"},{\"include\":\"#global\"},{\"include\":\"#variable\"}]},{\"match\":\"\\\\b(address|string\\\\d*|bytes\\\\d*|int\\\\d*|uint\\\\d*|bool|hash\\\\d*)\\\\b\",\"name\":\"support.type.primitive\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.function\"}},\"match\":\"\\\\b(\\\\_\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"support.variable.property\"}},\"match\":\"(?:\\\\.)(\\\\w+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.other\"}},\"match\":\"\\\\b(\\\\w+)\\\\b\"}]}},\"scopeName\":\"source.solidity\"}")) export default [ lang ]