1{"version":3,"sources":["webpack:///./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACO;AACP,gEAAgE,IAAI,MAAM;AAC1E;AACA,yBAAyB,OAAO;AAChC,KAAK;AACL;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,gBAAgB,GAAG;AACrC,SAAS,SAAS,gBAAgB,GAAG;AACrC,SAAS,UAAU,eAAe,GAAG;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS;AACT;AACA;AACA,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC;AACA,SAAS;AACT;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qCAAqC;AACrF,+CAA+C,oCAAoC;AACnF;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,sCAAsC,iDAAiD;AACvF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,+BAA+B,wBAAwB;AACxF;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,sCAAsC;AACtC;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI,MAAM,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,IAAI,IAAI,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,wCAAwC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kCAAkC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kCAAkC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kCAAkC;AACjE;AACA;AACA,2BAA2B,wDAAwD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,wCAAwC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA,0BAA0B,wDAAwD;AAClF;AACA;AACA;AACA","file":"65.65.js","sourcesContent":["/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nexport var conf = {\n    wordPattern: /(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,\n    comments: {\n        blockComment: ['{#', '#}']\n    },\n    brackets: [\n        ['{#', '#}'],\n        ['{%', '%}'],\n        ['{{', '}}'],\n        ['(', ')'],\n        ['[', ']'],\n        // HTML\n        ['<!--', '-->'],\n        ['<', '>']\n    ],\n    autoClosingPairs: [\n        { open: '{# ', close: ' #}' },\n        { open: '{% ', close: ' %}' },\n        { open: '{{ ', close: ' }}' },\n        { open: '[', close: ']' },\n        { open: '(', close: ')' },\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" }\n    ],\n    surroundingPairs: [\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" },\n        // HTML\n        { open: '<', close: '>' }\n    ]\n};\nexport var language = {\n    defaultToken: '',\n    tokenPostfix: '',\n    ignoreCase: true,\n    keywords: [\n        // (opening) tags\n        'apply',\n        'autoescape',\n        'block',\n        'deprecated',\n        'do',\n        'embed',\n        'extends',\n        'flush',\n        'for',\n        'from',\n        'if',\n        'import',\n        'include',\n        'macro',\n        'sandbox',\n        'set',\n        'use',\n        'verbatim',\n        'with',\n        // closing tags\n        'endapply',\n        'endautoescape',\n        'endblock',\n        'endembed',\n        'endfor',\n        'endif',\n        'endmacro',\n        'endsandbox',\n        'endset',\n        'endwith',\n        // literals\n        'true',\n        'false'\n    ],\n    tokenizer: {\n        root: [\n            // whitespace\n            [/\\s+/],\n            // Twig Tag Delimiters\n            [/{#/, 'comment.twig', '@commentState'],\n            [/{%[-~]?/, 'delimiter.twig', '@blockState'],\n            [/{{[-~]?/, 'delimiter.twig', '@variableState'],\n            // HTML\n            [/<!DOCTYPE/, 'metatag.html', '@doctype'],\n            [/<!--/, 'comment.html', '@comment'],\n            [\n                /(<)((?:[\\w\\-]+:)?[\\w\\-]+)(\\s*)(\\/>)/,\n                ['delimiter.html', 'tag.html', '', 'delimiter.html']\n            ],\n            [/(<)(script)/, ['delimiter.html', { token: 'tag.html', next: '@script' }]],\n            [/(<)(style)/, ['delimiter.html', { token: 'tag.html', next: '@style' }]],\n            [\n                /(<)((?:[\\w\\-]+:)?[\\w\\-]+)/,\n                ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]\n            ],\n            [\n                /(<\\/)((?:[\\w\\-]+:)?[\\w\\-]+)/,\n                ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]\n            ],\n            [/</, 'delimiter.html'],\n            [/[^<]+/] // text\n        ],\n        /**\n         * Comment Tag Handling\n         */\n        commentState: [\n            [/#}/, 'comment.twig', '@pop'],\n            [/./, 'comment.twig']\n        ],\n        /**\n         * Block Tag Handling\n         */\n        blockState: [\n            [/[-~]?%}/, 'delimiter.twig', '@pop'],\n            // whitespace\n            [/\\s+/],\n            // verbatim\n            // Unlike other blocks, verbatim ehas its own state\n            // transition to ensure we mark its contents as strings.\n            [\n                /(verbatim)(\\s*)([-~]?%})/,\n                ['keyword.twig', '', { token: 'delimiter.twig', next: '@rawDataState' }]\n            ],\n            { include: 'expression' }\n        ],\n        rawDataState: [\n            // endverbatim\n            [\n                /({%[-~]?)(\\s*)(endverbatim)(\\s*)([-~]?%})/,\n                [\n                    'delimiter.twig',\n                    '',\n                    'keyword.twig',\n                    '',\n                    { token: 'delimiter.twig', next: '@popall' }\n                ]\n            ],\n            [/./, 'string.twig']\n        ],\n        /**\n         * Variable Tag Handling\n         */\n        variableState: [[/[-~]?}}/, 'delimiter.twig', '@pop'], { include: 'expression' }],\n        stringState: [\n            // closing double quoted string\n            [/\"/, 'string.twig', '@pop'],\n            // interpolation start\n            [/#{\\s*/, 'string.twig', '@interpolationState'],\n            // string part\n            [/[^#\"\\\\]*(?:(?:\\\\.|#(?!\\{))[^#\"\\\\]*)*/, 'string.twig']\n        ],\n        interpolationState: [\n            // interpolation end\n            [/}/, 'string.twig', '@pop'],\n            { include: 'expression' }\n        ],\n        /**\n         * Expression Handling\n         */\n        expression: [\n            // whitespace\n            [/\\s+/],\n            // operators - math\n            [/\\+|-|\\/{1,2}|%|\\*{1,2}/, 'operators.twig'],\n            // operators - logic\n            [/(and|or|not|b-and|b-xor|b-or)(\\s+)/, ['operators.twig', '']],\n            // operators - comparison (symbols)\n            [/==|!=|<|>|>=|<=/, 'operators.twig'],\n            // operators - comparison (words)\n            [/(starts with|ends with|matches)(\\s+)/, ['operators.twig', '']],\n            // operators - containment\n            [/(in)(\\s+)/, ['operators.twig', '']],\n            // operators - test\n            [/(is)(\\s+)/, ['operators.twig', '']],\n            // operators - misc\n            [/\\||~|:|\\.{1,2}|\\?{1,2}/, 'operators.twig'],\n            // names\n            [\n                /[^\\W\\d][\\w]*/,\n                {\n                    cases: {\n                        '@keywords': 'keyword.twig',\n                        '@default': 'variable.twig'\n                    }\n                }\n            ],\n            // numbers\n            [/\\d+(\\.\\d+)?/, 'number.twig'],\n            // punctuation\n            [/\\(|\\)|\\[|\\]|{|}|,/, 'delimiter.twig'],\n            // strings\n            [/\"([^#\"\\\\]*(?:\\\\.[^#\"\\\\]*)*)\"|\\'([^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*)\\'/, 'string.twig'],\n            // opening double quoted string\n            [/\"/, 'string.twig', '@stringState'],\n            // misc syntactic constructs\n            // These are not operators per se, but for the purposes of lexical analysis we\n            // can treat them as such.\n            // arrow functions\n            [/=>/, 'operators.twig'],\n            // assignment\n            [/=/, 'operators.twig']\n        ],\n        /**\n         * HTML\n         */\n        doctype: [\n            [/[^>]+/, 'metatag.content.html'],\n            [/>/, 'metatag.html', '@pop']\n        ],\n        comment: [\n            [/-->/, 'comment.html', '@pop'],\n            [/[^-]+/, 'comment.content.html'],\n            [/./, 'comment.content.html']\n        ],\n        otherTag: [\n            [/\\/?>/, 'delimiter.html', '@pop'],\n            [/\"([^\"]*)\"/, 'attribute.value.html'],\n            [/'([^']*)'/, 'attribute.value.html'],\n            [/[\\w\\-]+/, 'attribute.name.html'],\n            [/=/, 'delimiter.html'],\n            [/[ \\t\\r\\n]+/] // whitespace\n        ],\n        // -- BEGIN <script> tags handling\n        // After <script\n        script: [\n            [/type/, 'attribute.name.html', '@scriptAfterType'],\n            [/\"([^\"]*)\"/, 'attribute.value.html'],\n            [/'([^']*)'/, 'attribute.value.html'],\n            [/[\\w\\-]+/, 'attribute.name.html'],\n            [/=/, 'delimiter.html'],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@scriptEmbedded',\n                    nextEmbedded: 'text/javascript'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [\n                /(<\\/)(script\\s*)(>)/,\n                ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }]\n            ]\n        ],\n        // After <script ... type\n        scriptAfterType: [\n            [/=/, 'delimiter.html', '@scriptAfterTypeEquals'],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@scriptEmbedded',\n                    nextEmbedded: 'text/javascript'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        // After <script ... type =\n        scriptAfterTypeEquals: [\n            [\n                /\"([^\"]*)\"/,\n                {\n                    token: 'attribute.value.html',\n                    switchTo: '@scriptWithCustomType.$1'\n                }\n            ],\n            [\n                /'([^']*)'/,\n                {\n                    token: 'attribute.value.html',\n                    switchTo: '@scriptWithCustomType.$1'\n                }\n            ],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@scriptEmbedded',\n                    nextEmbedded: 'text/javascript'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        // After <script ... type = $S2\n        scriptWithCustomType: [\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@scriptEmbedded.$S2',\n                    nextEmbedded: '$S2'\n                }\n            ],\n            [/\"([^\"]*)\"/, 'attribute.value.html'],\n            [/'([^']*)'/, 'attribute.value.html'],\n            [/[\\w\\-]+/, 'attribute.name.html'],\n            [/=/, 'delimiter.html'],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        scriptEmbedded: [\n            [/<\\/script/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }],\n            [/[^<]+/, '']\n        ],\n        // -- END <script> tags handling\n        // -- BEGIN <style> tags handling\n        // After <style\n        style: [\n            [/type/, 'attribute.name.html', '@styleAfterType'],\n            [/\"([^\"]*)\"/, 'attribute.value.html'],\n            [/'([^']*)'/, 'attribute.value.html'],\n            [/[\\w\\-]+/, 'attribute.name.html'],\n            [/=/, 'delimiter.html'],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@styleEmbedded',\n                    nextEmbedded: 'text/css'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [\n                /(<\\/)(style\\s*)(>)/,\n                ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }]\n            ]\n        ],\n        // After <style ... type\n        styleAfterType: [\n            [/=/, 'delimiter.html', '@styleAfterTypeEquals'],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@styleEmbedded',\n                    nextEmbedded: 'text/css'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        // After <style ... type =\n        styleAfterTypeEquals: [\n            [\n                /\"([^\"]*)\"/,\n                {\n                    token: 'attribute.value.html',\n                    switchTo: '@styleWithCustomType.$1'\n                }\n            ],\n            [\n                /'([^']*)'/,\n                {\n                    token: 'attribute.value.html',\n                    switchTo: '@styleWithCustomType.$1'\n                }\n            ],\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@styleEmbedded',\n                    nextEmbedded: 'text/css'\n                }\n            ],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        // After <style ... type = $S2\n        styleWithCustomType: [\n            [\n                />/,\n                {\n                    token: 'delimiter.html',\n                    next: '@styleEmbedded.$S2',\n                    nextEmbedded: '$S2'\n                }\n            ],\n            [/\"([^\"]*)\"/, 'attribute.value.html'],\n            [/'([^']*)'/, 'attribute.value.html'],\n            [/[\\w\\-]+/, 'attribute.name.html'],\n            [/=/, 'delimiter.html'],\n            [/[ \\t\\r\\n]+/],\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\n        ],\n        styleEmbedded: [\n            [/<\\/style/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }],\n            [/[^<]+/, '']\n        ]\n    }\n};\n"],"sourceRoot":""}