From 93ab0f7bf0fc2a1556bdff130fe9745aecbeccf0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 13 Jan 2024 19:34:56 -0800 Subject: [PATCH 01/83] Convert all modern Tree-sitter TODO/hyperlink injections into services --- packages/language-c/lib/main.js | 37 ++++++-------- packages/language-c/package.json | 12 +++++ packages/language-css/lib/main.js | 39 ++++----------- packages/language-css/package.json | 12 +++++ packages/language-go/lib/main.js | 29 +++-------- packages/language-go/package.json | 12 +++++ packages/language-html/lib/main.js | 45 +++++------------ packages/language-html/package.json | 12 +++++ packages/language-html/spec/.eslintrc.js | 9 ++++ packages/language-hyperlink/lib/main.js | 33 ++++++++++++ packages/language-hyperlink/package.json | 10 +++- packages/language-hyperlink/spec/.eslintrc.js | 13 +++++ packages/language-java/lib/main.js | 28 +++-------- packages/language-java/package.json | 12 +++++ packages/language-javascript/lib/main.js | 39 +++------------ packages/language-javascript/package.json | 12 +++++ .../grammars/modern-tree-sitter-php.cson | 2 + packages/language-php/lib/main.js | 50 +++++++------------ packages/language-php/package.json | 14 +++++- packages/language-php/spec/.eslintrc.js | 13 +++++ packages/language-python/lib/main.js | 34 ++++--------- packages/language-python/package.json | 12 +++++ packages/language-ruby/lib/main.js | 35 +++---------- packages/language-ruby/package.json | 12 +++++ packages/language-rust-bundled/lib/main.js | 42 +++++++--------- packages/language-rust-bundled/package.json | 12 +++++ packages/language-shellscript/lib/main.js | 29 +++-------- packages/language-shellscript/package.json | 12 +++++ packages/language-todo/lib/main.js | 41 +++++++++++++++ packages/language-todo/package.json | 10 +++- packages/language-toml/lib/main.js | 28 +++-------- packages/language-toml/package.json | 12 +++++ packages/language-typescript/lib/main.js | 37 ++++++-------- packages/language-typescript/package.json | 12 +++++ packages/language-yaml/lib/main.js | 27 +++------- packages/language-yaml/package.json | 14 +++++- 36 files changed, 447 insertions(+), 355 deletions(-) create mode 100644 packages/language-html/spec/.eslintrc.js create mode 100644 packages/language-hyperlink/lib/main.js create mode 100644 packages/language-hyperlink/spec/.eslintrc.js create mode 100644 packages/language-php/spec/.eslintrc.js create mode 100644 packages/language-todo/lib/main.js diff --git a/packages/language-c/lib/main.js b/packages/language-c/lib/main.js index 6e432cd64..1ae428d1d 100644 --- a/packages/language-c/lib/main.js +++ b/packages/language-c/lib/main.js @@ -12,28 +12,19 @@ exports.activate = function () { } }); } - - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint(`source.${language}`, { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - for (let type of ['string_literal', 'comment']) { - atom.grammars.addInjectionPoint(`source.${language}`, { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } + } +}; + +exports.consumeHyperlinkInjection = (hyperlink) => { + for (const language of ['c', 'cpp']) { + hyperlink.addInjectionPoint(`source.${language}`, { + types: ['comment', 'string_literal'] + }); + } +}; + +exports.consumeTodoInjection = (todo) => { + for (const language of ['c', 'cpp']) { + todo.addInjectionPoint(`source.${language}`, { types: ['comment'] }); } }; diff --git a/packages/language-c/package.json b/packages/language-c/package.json index 2b891a171..845d28471 100644 --- a/packages/language-c/package.json +++ b/packages/language-c/package.json @@ -15,5 +15,17 @@ "dependencies": { "tree-sitter-c": "0.20.2", "tree-sitter-cpp": "0.20.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-css/lib/main.js b/packages/language-css/lib/main.js index c12fb4b56..cf2d7837c 100644 --- a/packages/language-css/lib/main.js +++ b/packages/language-css/lib/main.js @@ -1,43 +1,26 @@ -exports.activate = () => { - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint('source.css', { - type: 'comment', - language(node) { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.css', { + types: ['comment', 'string_value'] }); - for (let type of ['comment', 'string_value']) { - atom.grammars.addInjectionPoint('source.css', { - type, - language(node) { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } - // Catch things like // // @import url(https://www.example.com/style.css); // // where the URL is unquoted. - atom.grammars.addInjectionPoint('source.css', { - type: 'call_expression', + hyperlink.addInjectionPoint('source.css', { + types: ['call_expression'], language: () => 'hyperlink', - content: (node) => { + content(node) { let functionName = node.descendantsOfType('function_value')[0]?.text; if (!functionName === 'url') { return null; } return node.descendantsOfType('plain_value'); - }, - languageScope: null + } }); - +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.css', { types: ['comment'] }); }; diff --git a/packages/language-css/package.json b/packages/language-css/package.json index 96c2d0d7a..7e2d03d1b 100644 --- a/packages/language-css/package.json +++ b/packages/language-css/package.json @@ -14,5 +14,17 @@ "license": "MIT", "dependencies": { "tree-sitter-css": "^0.19.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-go/lib/main.js b/packages/language-go/lib/main.js index a74d32bef..50a8e11ff 100644 --- a/packages/language-go/lib/main.js +++ b/packages/language-go/lib/main.js @@ -1,25 +1,10 @@ -exports.activate = () => { - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - for (let type of ['comment', 'interpreted_string_literal', 'raw_string_literal']) { - atom.grammars.addInjectionPoint('source.go', { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } - - atom.grammars.addInjectionPoint('source.go', { - type: 'comment', - language(node) { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.go', { + types: ['comment', 'interpreted_string_literal', 'raw_string_literal'] }); - +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.go', { types: ['comment'] }); }; diff --git a/packages/language-go/package.json b/packages/language-go/package.json index 91bb8d0e0..01a1355f6 100644 --- a/packages/language-go/package.json +++ b/packages/language-go/package.json @@ -14,5 +14,17 @@ "repository": "https://github.com/pulsar-edit/pulsar", "dependencies": { "tree-sitter-go": "0.19.1" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-html/lib/main.js b/packages/language-html/lib/main.js index 55cce8174..c0c230c9f 100644 --- a/packages/language-html/lib/main.js +++ b/packages/language-html/lib/main.js @@ -1,4 +1,4 @@ -exports.activate = function() { +exports.activate = function () { atom.grammars.addInjectionPoint('text.html.basic', { type: 'script_element', language() { @@ -19,38 +19,6 @@ exports.activate = function() { } }); - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint('text.html.basic', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - atom.grammars.addInjectionPoint('text.html.basic', { - type: 'comment', - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - atom.grammars.addInjectionPoint('text.html.basic', { - type: 'attribute_value', - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - // TODO: Inject hyperlink grammar into plain text? - // EMBEDDED atom.grammars.addInjectionPoint('text.html.ejs', { @@ -95,3 +63,14 @@ exports.activate = function() { } }); }; + +exports.consumeHyperlinkInjection = (hyperlink) => { + // TODO: Inject hyperlink grammar into plain text? + hyperlink.addInjectionPoint('text.html.basic', { + types: ['comment', 'attribute_value'] + }); +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('text.html.basic', { types: ['comment'] }); +}; diff --git a/packages/language-html/package.json b/packages/language-html/package.json index e2fd7b41b..721353260 100644 --- a/packages/language-html/package.json +++ b/packages/language-html/package.json @@ -19,5 +19,17 @@ }, "devDependencies": { "dedent": "^0.7.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-html/spec/.eslintrc.js b/packages/language-html/spec/.eslintrc.js new file mode 100644 index 000000000..5226d6921 --- /dev/null +++ b/packages/language-html/spec/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + env: { jasmine: true }, + rules: { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +}; diff --git a/packages/language-hyperlink/lib/main.js b/packages/language-hyperlink/lib/main.js new file mode 100644 index 000000000..54e310fee --- /dev/null +++ b/packages/language-hyperlink/lib/main.js @@ -0,0 +1,33 @@ +const HYPERLINK_PATTERN = /\bhttps?:/ + +module.exports = { + provideHyperlinkInjection() { + return { + test(node) { + return HYPERLINK_PATTERN.test(node.text); + }, + + addInjectionPoint(scopeName, options) { + let types = options.types; + if (!Array.isArray(types)) types = [types]; + + for (let type of types) { + atom.grammars.addInjectionPoint(scopeName, { + type, + language(node) { + if (options.language) { + let result = options.language(node); + if (result !== undefined) return result; + } + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content(node) { + return options.content ? options.content(node) : node; + }, + languageScope: null + }); + } + }, + } + } +}; diff --git a/packages/language-hyperlink/package.json b/packages/language-hyperlink/package.json index 676c2425f..9d1df06b3 100644 --- a/packages/language-hyperlink/package.json +++ b/packages/language-hyperlink/package.json @@ -1,11 +1,19 @@ { "name": "language-hyperlink", "version": "0.17.1", + "main": "lib/main", "description": "Hyperlink colorization in Atom", "engines": { "atom": "*", "node": ">=14" }, "repository": "https://github.com/pulsar-edit/pulsar", - "license": "MIT" + "license": "MIT", + "providedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "provideHyperlinkInjection" + } + } + } } diff --git a/packages/language-hyperlink/spec/.eslintrc.js b/packages/language-hyperlink/spec/.eslintrc.js new file mode 100644 index 000000000..77888e061 --- /dev/null +++ b/packages/language-hyperlink/spec/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + env: { jasmine: true }, + globals: { + waitsForPromise: true, + advanceClock: true + }, + rules: { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +}; diff --git a/packages/language-java/lib/main.js b/packages/language-java/lib/main.js index a1e953a7a..59f36c832 100644 --- a/packages/language-java/lib/main.js +++ b/packages/language-java/lib/main.js @@ -1,24 +1,10 @@ -exports.activate = () => { - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - atom.grammars.addInjectionPoint('source.java', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.java', { + types: ['comment', 'string_literal'] }); - - for (let type of ['string_literal', 'comment']) { - atom.grammars.addInjectionPoint('source.java', { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.java', { types: ['comment'] }); }; diff --git a/packages/language-java/package.json b/packages/language-java/package.json index f330983e5..11667e670 100644 --- a/packages/language-java/package.json +++ b/packages/language-java/package.json @@ -11,5 +11,17 @@ "license": "MIT", "dependencies": { "tree-sitter-java": "0.19.1" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-javascript/lib/main.js b/packages/language-javascript/lib/main.js index ed04e1978..015c289b6 100644 --- a/packages/language-javascript/lib/main.js +++ b/packages/language-javascript/lib/main.js @@ -57,19 +57,6 @@ exports.activate = function () { languageScope: null }); - // TODO: Ideal would be to have one `language-todo` injection for the whole - // document responsible for highlighting TODOs in all comments, but - // performance needs to be better than it is now for that to be possible. - // Injecting into individual line comments results in less time parsing - // during buffer modification, but _lots_ of language layers. - // - // Compromise is to test the content first and then only inject a layer for - // `language-todo` when we know it'll be needed. All this also applies for - // `language-hyperlink`. - // - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - atom.grammars.addInjectionPoint('source.js', { type: 'comment', language(comment) { @@ -81,28 +68,16 @@ exports.activate = function () { languageScope: null, coverShallowerScopes: true }); +}; - // Experiment: better to have one layer with lots of nodes, or lots of - // layers each managing one node? - atom.grammars.addInjectionPoint('source.js', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.js', { + types: ['comment', 'template_string', 'string_fragment'] }); +}; - for (let type of ['template_string', 'string_fragment', 'comment']) { - atom.grammars.addInjectionPoint('source.js', { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.js', { types: ['comment'] }); }; const CSS_REGEX = /\bstyled\b|\bcss\b/i; diff --git a/packages/language-javascript/package.json b/packages/language-javascript/package.json index 5f8c71c82..52de09034 100644 --- a/packages/language-javascript/package.json +++ b/packages/language-javascript/package.json @@ -16,5 +16,17 @@ "tree-sitter-javascript": "0.19.0", "tree-sitter-jsdoc": "0.19.0", "tree-sitter-regex": "0.19.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index 01b82d73c..7469b6cdc 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -9,4 +9,6 @@ injectionRegex: '^(internal-php)$' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' grammar: 'tree-sitter/tree-sitter-php.wasm' + # TODO: This shouldn't be necessary. Investigate why a `highlightsQuery` is + # still required. highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index bc8b18c34..d6e59ed7e 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -1,3 +1,8 @@ +function isPhpDoc(node) { + let { text } = node; + return text.startsWith('/**') && !text.startsWith('/***') +} + exports.activate = function () { // Here's how we handle the mixing of PHP and HTML: @@ -76,36 +81,6 @@ exports.activate = function () { // TODOs and URLs // ============== - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - function isPhpDoc(node) { - let { text } = node; - return text.startsWith('/**') && !text.startsWith('/***') - } - - atom.grammars.addInjectionPoint('text.html.php', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - for (let type of ['comment', 'string_value']) { - atom.grammars.addInjectionPoint('text.html.php', { - type, - language(node) { - // PHPDoc can parse URLs better than we can. - if (isPhpDoc(node)) return undefined; - return HYPERLINK_PATTERN.test(node.text) ? - 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } // HEREDOCS and NOWDOCS // ==================== @@ -141,7 +116,7 @@ exports.activate = function () { // PHPDoc // ====== - + atom.grammars.addInjectionPoint('text.html.php', { type: 'comment', language(node) { @@ -153,3 +128,16 @@ exports.activate = function () { }); }; + +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('text.html.php', { + types: ['comment', 'string_value'], + language(node) { + if (isPhpDoc(node)) return null; + } + }); +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('text.html.php', { types: ['comment'] }); +}; diff --git a/packages/language-php/package.json b/packages/language-php/package.json index 2b3e7aa3c..011bba7ae 100644 --- a/packages/language-php/package.json +++ b/packages/language-php/package.json @@ -8,5 +8,17 @@ "node": ">=12" }, "repository": "https://github.com/pulsar-edit/pulsar", - "license": "MIT" + "license": "MIT", + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } + } } diff --git a/packages/language-php/spec/.eslintrc.js b/packages/language-php/spec/.eslintrc.js new file mode 100644 index 000000000..77888e061 --- /dev/null +++ b/packages/language-php/spec/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + env: { jasmine: true }, + globals: { + waitsForPromise: true, + advanceClock: true + }, + rules: { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +}; diff --git a/packages/language-python/lib/main.js b/packages/language-python/lib/main.js index 3d5a1fbed..a1f13423a 100644 --- a/packages/language-python/lib/main.js +++ b/packages/language-python/lib/main.js @@ -1,30 +1,6 @@ exports.activate = function () { if (!atom.grammars.addInjectionPoint) return; - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint('source.python', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - for (let type of ['comment', 'string']) { - atom.grammars.addInjectionPoint('source.python', { - type, - language(node) { - return HYPERLINK_PATTERN.test(node.text) ? - 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } - // TODO: There's no regex literal in Python. The TM-style grammar has a // very obscure option that, when enabled, assumes all raw strings are // regexes and highlights them accordingly. This might be worth doing in the @@ -42,3 +18,13 @@ exports.activate = function () { // languageScope: null // }); } + +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.python', { + types: ['comment', 'string_content'] + }); +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.python', { types: ['comment'] }); +}; diff --git a/packages/language-python/package.json b/packages/language-python/package.json index d35fac18d..364d49faf 100644 --- a/packages/language-python/package.json +++ b/packages/language-python/package.json @@ -15,5 +15,17 @@ "dependencies": { "atom-grammar-test": "^0.6.4", "tree-sitter-python": "0.19.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-ruby/lib/main.js b/packages/language-ruby/lib/main.js index 5f343a42f..de523dfb6 100644 --- a/packages/language-ruby/lib/main.js +++ b/packages/language-ruby/lib/main.js @@ -24,33 +24,14 @@ exports.activate = function () { // coverShallowerScopes: false }); - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ +}; - atom.grammars.addInjectionPoint('source.ruby', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : null; - }, - content: (node) => node, - languageScope: null - }); - - atom.grammars.addInjectionPoint('source.ruby', { - type: 'comment', - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : null; - }, - content: (node) => node, - languageScope: null - }); - - atom.grammars.addInjectionPoint('source.ruby', { - type: 'string_content', - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : null; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.ruby', { + types: ['comment', 'string_content'] }); }; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.ruby', { types: ['comment'] }); +}; diff --git a/packages/language-ruby/package.json b/packages/language-ruby/package.json index 56e9c2a0d..b24fb4926 100644 --- a/packages/language-ruby/package.json +++ b/packages/language-ruby/package.json @@ -18,5 +18,17 @@ }, "devDependencies": { "dedent": "^0.7.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-rust-bundled/lib/main.js b/packages/language-rust-bundled/lib/main.js index e4dc9d244..33f19c5e6 100644 --- a/packages/language-rust-bundled/lib/main.js +++ b/packages/language-rust-bundled/lib/main.js @@ -13,29 +13,21 @@ exports.activate = function () { coverShallowerScopes: true }); } - - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - for (let type of ['line_comment', 'block_comment']) { - atom.grammars.addInjectionPoint('source.rust', { - type, - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } - - for (let type of ['string_literal', 'raw_string_literal', 'line_comment', 'block_comment']) { - atom.grammars.addInjectionPoint('source.rust', { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } +}; + +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.rust', { + types: [ + 'line_comment', + 'block_comment', + 'string_literal', + 'raw_string_literal' + ] + }); +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.rust', { + types: ['line_comment', 'block_comment'] + }); }; diff --git a/packages/language-rust-bundled/package.json b/packages/language-rust-bundled/package.json index 603b2c602..fae238b76 100644 --- a/packages/language-rust-bundled/package.json +++ b/packages/language-rust-bundled/package.json @@ -16,5 +16,17 @@ "engines": { "atom": ">=1.0.0 <2.0.0", "node": ">=12" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-shellscript/lib/main.js b/packages/language-shellscript/lib/main.js index e2eb7368a..706fc91f0 100644 --- a/packages/language-shellscript/lib/main.js +++ b/packages/language-shellscript/lib/main.js @@ -1,25 +1,10 @@ -exports.activate = () => { - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint('source.shell', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.shell', { + types: ['comment'] }); - - atom.grammars.addInjectionPoint('source.shell', { - type: 'comment', - language(node) { - return HYPERLINK_PATTERN.test(node.text) ? - 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.shell', { types: ['comment'] }); }; diff --git a/packages/language-shellscript/package.json b/packages/language-shellscript/package.json index 47fa9bc27..0c352b7ef 100644 --- a/packages/language-shellscript/package.json +++ b/packages/language-shellscript/package.json @@ -14,5 +14,17 @@ "license": "MIT", "dependencies": { "tree-sitter-bash": "0.19.0" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-todo/lib/main.js b/packages/language-todo/lib/main.js new file mode 100644 index 000000000..bcbe56306 --- /dev/null +++ b/packages/language-todo/lib/main.js @@ -0,0 +1,41 @@ +const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + +module.exports = { + provideTodoInjection() { + return { + test(node) { + return TODO_PATTERN.test(node.text); + }, + + // TODO: Ideal would be to have one `language-todo` injection for the + // whole document responsible for highlighting TODOs in all comments, but + // performance needs to be better than it is now for that to be possible. + // Injecting into individual nodes results in less time parsing during + // buffer modification, but _lots_ of language layers. + // + // Compromise is to test the content first and then only inject a layer + // for `language-todo` when we know it'll be needed. + addInjectionPoint(scopeName, options) { + let types = options.types; + if (!Array.isArray(types)) types = [types]; + + for (let type of types) { + atom.grammars.addInjectionPoint(scopeName, { + type, + language(node) { + if (options.language) { + let result = options.language(node); + if (result !== undefined) return result; + } + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content(node) { + return options.content ? options.content(node) : node; + }, + languageScope: null + }); + } + } + }; + } +}; diff --git a/packages/language-todo/package.json b/packages/language-todo/package.json index ef6be0a45..074634e69 100644 --- a/packages/language-todo/package.json +++ b/packages/language-todo/package.json @@ -1,11 +1,19 @@ { "name": "language-todo", "version": "0.29.4", + "main": "lib/main", "description": "TODO/FIXME highlighting support in Atom", "engines": { "atom": "*", "node": ">=14" }, "repository": "https://github.com/pulsar-edit/pulsar", - "license": "MIT" + "license": "MIT", + "providedServices": { + "todo.injection": { + "versions": { + "0.1.0": "provideTodoInjection" + } + } + } } diff --git a/packages/language-toml/lib/main.js b/packages/language-toml/lib/main.js index db2280423..efe8b29c1 100644 --- a/packages/language-toml/lib/main.js +++ b/packages/language-toml/lib/main.js @@ -1,24 +1,10 @@ -exports.activate = () => { - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - const HYPERLINK_PATTERN = /\bhttps?:/ - - atom.grammars.addInjectionPoint('source.toml', { - type: 'string', - language(node) { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.toml', { + types: ['comment', 'string'] }); - - atom.grammars.addInjectionPoint('source.toml', { - type: 'comment', - language(node) { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.toml', { types: ['comment'] }); }; diff --git a/packages/language-toml/package.json b/packages/language-toml/package.json index 0436a7eb8..2752ad583 100644 --- a/packages/language-toml/package.json +++ b/packages/language-toml/package.json @@ -11,5 +11,17 @@ }, "devDependencies": { "tree-sitter-toml": "^0.5.1" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-typescript/lib/main.js b/packages/language-typescript/lib/main.js index dd7f40051..0972cf8be 100644 --- a/packages/language-typescript/lib/main.js +++ b/packages/language-typescript/lib/main.js @@ -65,31 +65,24 @@ exports.activate = function () { }, languageScope: null }); - - atom.grammars.addInjectionPoint(scopeName, { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - - for (let type of ['template_string', 'string_fragment', 'comment']) { - atom.grammars.addInjectionPoint(scopeName, { - type, - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null - }); - } } }; -const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; -const HYPERLINK_PATTERN = /\bhttps?:/ +exports.consumeHyperlinkInjection = (hyperlink) => { + for (const scopeName of ['source.ts', 'source.tsx', 'source.flow']) { + hyperlink.addInjectionPoint(scopeName, { + types: ['template_string', 'string_fragment', 'comment'] + }); + } +}; + +exports.consumeTodoInjection = (todo) => { + for (const scopeName of ['source.ts', 'source.tsx', 'source.flow']) { + todo.addInjectionPoint(scopeName, { types: ['comment'] }); + } +}; + + const STYLED_REGEX = /\bstyled\b/i; function languageStringForTemplateTag(tag) { diff --git a/packages/language-typescript/package.json b/packages/language-typescript/package.json index bf01bce0f..823dfd0e9 100644 --- a/packages/language-typescript/package.json +++ b/packages/language-typescript/package.json @@ -14,5 +14,17 @@ "license": "MIT", "dependencies": { "tree-sitter-typescript": "0.20.1" + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } } } diff --git a/packages/language-yaml/lib/main.js b/packages/language-yaml/lib/main.js index deab0a708..793695407 100644 --- a/packages/language-yaml/lib/main.js +++ b/packages/language-yaml/lib/main.js @@ -1,23 +1,10 @@ -exports.activate = () => { - const HYPERLINK_PATTERN = /\bhttps?:/ - const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; - atom.grammars.addInjectionPoint('source.yaml', { - type: 'comment', - language: (node) => { - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; - }, - content: (node) => node, - languageScope: null +exports.consumeHyperlinkInjection = (hyperlink) => { + hyperlink.addInjectionPoint('source.yaml', { + types: ['comment'] }); - - atom.grammars.addInjectionPoint('source.yaml', { - type: 'comment', - language: (node) => { - return TODO_PATTERN.test(node.text) ? 'todo' : undefined; - }, - content: (node) => node, - languageScope: null - }); - +}; + +exports.consumeTodoInjection = (todo) => { + todo.addInjectionPoint('source.yaml', { types: ['comment'] }); }; diff --git a/packages/language-yaml/package.json b/packages/language-yaml/package.json index 47957ef42..52fc83dfb 100644 --- a/packages/language-yaml/package.json +++ b/packages/language-yaml/package.json @@ -8,5 +8,17 @@ "node": ">=12" }, "repository": "https://github.com/pulsar-edit/pulsar", - "license": "MIT" + "license": "MIT", + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + }, + "todo.injection": { + "versions": { + "0.1.0": "consumeTodoInjection" + } + } + } } From fbc2c822addf21dcf3bd15adbcb355826134d1ac Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 13 Jan 2024 19:38:46 -0800 Subject: [PATCH 02/83] Prevent certain Python strings from being double-scoped --- .../language-python/grammars/ts/highlights.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/language-python/grammars/ts/highlights.scm b/packages/language-python/grammars/ts/highlights.scm index 88874bd3b..b3c8b1eaf 100644 --- a/packages/language-python/grammars/ts/highlights.scm +++ b/packages/language-python/grammars/ts/highlights.scm @@ -187,24 +187,27 @@ ; similarly here. No need to account for the rawness of a string in the scope ; name unless someone requests that feature. +((string) @string.quoted.triple.block.format.python + (#match? @string.quoted.triple.block.format.python "^[fFrR]+\"\"\"") + (#set! capture.final)) + ((string) @string.quoted.triple.block.python (#match? @string.quoted.triple.block.python "^[bBrRuU]*\"\"\"")) -((string) @string.quoted.triple.block.format.python - (#match? @string.quoted.triple.block.format.python "^[fFrR]*\"\"\"")) +((string) @string.quoted.double.single-line.format.python + (#match? @string.quoted.double.single-line.format.python "^[fFrR]+\"") + (#set! capture.final)) ((string) @string.quoted.double.single-line.python (#match? @string.quoted.double.single-line.python "^[bBrRuU]*\"(?!\")")) -((string) @string.quoted.double.single-line.format.python - (#match? @string.quoted.double.single-line.format.python "^[fFrR]*\"")) +((string) @string.quoted.single.single-line.format.python + (#match? @string.quoted.single.single-line.format.python "^[fFrR]+?\'") + (#set! capture.final)) ((string) @string.quoted.single.single-line.python (#match? @string.quoted.single.single-line.python "^[bBrRuU]*\'")) -((string) @string.quoted.single.single-line.format.python - (#match? @string.quoted.single.single-line.format.python "^[fFrR]*?\'")) - (string_content (escape_sequence) @constant.character.escape.python) (interpolation From 6069a598043e0dd81a0a0568a4feb8b3bbeda7c0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 13 Jan 2024 20:08:07 -0800 Subject: [PATCH 03/83] Remove the requirement for a grammar to have a `highlightsQuery` --- .../grammars/modern-tree-sitter-php.cson | 5 ++--- src/wasm-tree-sitter-grammar.js | 4 ---- src/wasm-tree-sitter-language-mode.js | 22 ++++++------------- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index 7469b6cdc..1f764fbfb 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -8,7 +8,6 @@ injectionRegex: '^(internal-php)$' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' + # TODO: See if we can make an “empty” Tree-sitter parser. We don't need this + # layer to do any of its own parsing work. grammar: 'tree-sitter/tree-sitter-php.wasm' - # TODO: This shouldn't be necessary. Investigate why a `highlightsQuery` is - # still required. - highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/src/wasm-tree-sitter-grammar.js b/src/wasm-tree-sitter-grammar.js index c14588fff..876355e6b 100644 --- a/src/wasm-tree-sitter-grammar.js +++ b/src/wasm-tree-sitter-grammar.js @@ -146,10 +146,6 @@ module.exports = class WASMTreeSitterGrammar { } async loadQueryFiles(grammarPath, queryPaths) { - if (!('highlightsQuery' in queryPaths)) { - throw new Error(`Highlights query must be present`); - } - if (this._loadQueryFilesPromise) { return this._loadQueryFilesPromise; } diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index d25fe203c..91ee6eb91 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -2949,22 +2949,14 @@ class LanguageLayer { // off this promise. We can `await this.languageLoaded` later on. this.languageLoaded = this.grammar.getLanguage().then(language => { this.language = language; - // TODO: Currently, we require a highlights query, but we might want to - // rethink this. There are use cases for treating the root layer merely - // as a way to delegate to injections, in which case syntax highlighting - // wouldn't be needed. - return this.grammar.getQuery('highlightsQuery').then(highlightsQuery => { - this.highlightsQuery = highlightsQuery; - }).catch(() => { - throw new GrammarLoadError(grammar, 'highlightsQuery'); - }); - }).then(() => { - // All other queries are optional. Regular expression language layers, - // for instance, don't really have a need for any of these. - let otherQueries = ['foldsQuery', 'indentsQuery', 'localsQuery', 'tagsQuery']; + // All queries are optional. Regular expression language layers, for + // instance, don't really have a need for any queries other than + // `highlightsQuery`, and some kinds of layers don't even need + // `highlightsQuery`. + let queries = ['highlightsQuery', 'foldsQuery', 'indentsQuery', 'localsQuery', 'tagsQuery']; let promises = []; - for (let queryType of otherQueries) { + for (let queryType of queries) { if (grammar[queryType]) { let promise = this.grammar.getQuery(queryType).then(query => { this[queryType] = query; @@ -4110,7 +4102,7 @@ class NodeRangeSet { } } - getNodeSpec (node, getChildren) { + getNodeSpec(node, getChildren) { let { startIndex, endIndex, startPosition, endPosition, id } = node; let result = { startIndex, endIndex, startPosition, endPosition, id }; if (node.children && getChildren) { From 09184d959faf429747be241fa92879d32bb16732 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 13 Jan 2024 20:39:33 -0800 Subject: [PATCH 04/83] Add documentation for the new TODO/hyperlink services --- packages/language-hyperlink/lib/main.js | 27 +++++++++++++++++- packages/language-todo/lib/main.js | 38 ++++++++++++++++++++----- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/packages/language-hyperlink/lib/main.js b/packages/language-hyperlink/lib/main.js index 54e310fee..16223af3a 100644 --- a/packages/language-hyperlink/lib/main.js +++ b/packages/language-hyperlink/lib/main.js @@ -1,12 +1,36 @@ + const HYPERLINK_PATTERN = /\bhttps?:/ module.exports = { provideHyperlinkInjection() { return { + // Private: Test whether a Tree-sitter node's text contains any tokens + // that would benefit from a hyperlink injection. + // + // Useful if you want to call {GrammarRegistry::addInjectionPoint} + // yourself and want to use this logic in a `language` callback. + // + // * `node` A Tree-sitter tree node. test(node) { return HYPERLINK_PATTERN.test(node.text); }, + // Private: specify one or more types of syntax nodes for a given grammar + // that may embed the hyperlink grammar. + // + // * `scopeName` The {String} ID of the parent language. + // * `options` An {Object} with the following keys: + // * `types` An {Array} or {String} indicating the type or types of + // Tree-sitter tree nodes that may receive injections. + // * `language` (optional) A {Function} that may be called to add extra + // logic for determining which language should be used in an + // injection. If present, will be called before the default logic. + // If it returns `undefined`, the default logic will apply. If it + // returns a {String} or `null`, the default logic will be preempted. + // * `content` (optional) A {Function} that will be used to determine + // which of the injection node's children, if any, will be injected + // into. The default `content` callback is one that returns the + // original node. addInjectionPoint(scopeName, options) { let types = options.types; if (!Array.isArray(types)) types = [types]; @@ -19,7 +43,8 @@ module.exports = { let result = options.language(node); if (result !== undefined) return result; } - return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + return HYPERLINK_PATTERN.test(node.text) ? + 'hyperlink' : undefined; }, content(node) { return options.content ? options.content(node) : node; diff --git a/packages/language-todo/lib/main.js b/packages/language-todo/lib/main.js index bcbe56306..7c20f2bb2 100644 --- a/packages/language-todo/lib/main.js +++ b/packages/language-todo/lib/main.js @@ -1,24 +1,48 @@ + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; module.exports = { provideTodoInjection() { return { + // Private: Test whether a Tree-sitter node's text contains any tokens + // that would benefit from a TODO injection. + // + // Useful if you want to call {GrammarRegistry::addInjectionPoint} + // yourself and want to use this logic in a `language` callback. + // + // * `node` A Tree-sitter tree node. test(node) { return TODO_PATTERN.test(node.text); }, - // TODO: Ideal would be to have one `language-todo` injection for the - // whole document responsible for highlighting TODOs in all comments, but - // performance needs to be better than it is now for that to be possible. - // Injecting into individual nodes results in less time parsing during - // buffer modification, but _lots_ of language layers. + // Private: specify one or more types of syntax nodes for a given grammar + // that may embed the TODO grammar. // - // Compromise is to test the content first and then only inject a layer - // for `language-todo` when we know it'll be needed. + // * `scopeName` The {String} ID of the parent language. + // * `options` An {Object} with the following keys: + // * `types` An {Array} or {String} indicating the type or types of + // Tree-sitter tree nodes that may receive injections. + // * `language` (optional) A {Function} that may be called to add extra + // logic for determining which language should be used in an + // injection. If present, will be called before the default logic. + // If it returns `undefined`, the default logic will apply. If it + // returns a {String} or `null`, the default logic will be preempted. + // * `content` (optional) A {Function} that will be used to determine + // which of the injection node's children, if any, will be injected + // into. The default `content` callback is one that returns the + // original node. addInjectionPoint(scopeName, options) { let types = options.types; if (!Array.isArray(types)) types = [types]; + // TODO: Ideal would be to have one `language-todo` injection for the + // whole document responsible for highlighting TODOs in all comments, + // but performance needs to be better than it is now for that to be + // possible. Injecting into individual nodes results in less time + // parsing during buffer modification, but _lots_ of language layers. + // + // Compromise is to test the content first and then only inject a layer + // for `language-todo` when we know it'll be needed. for (let type of types) { atom.grammars.addInjectionPoint(scopeName, { type, From dfb2493e43a71ddba1d9f4b297e9b33ca75f763f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 13 Jan 2024 20:44:26 -0800 Subject: [PATCH 05/83] Add some more stray `.eslintrc` files --- .eslintignore | 1 + packages/bracket-matcher/spec/.eslintrc.js | 12 ++++++++++++ packages/pulsar-updater/spec/.eslintrc | 9 +++++++++ packages/styleguide/spec/.eslintrc.js | 9 +++++++++ 4 files changed, 31 insertions(+) create mode 100644 .eslintignore create mode 100644 packages/bracket-matcher/spec/.eslintrc.js create mode 100644 packages/pulsar-updater/spec/.eslintrc create mode 100644 packages/styleguide/spec/.eslintrc.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..6461deecd --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +*.ts diff --git a/packages/bracket-matcher/spec/.eslintrc.js b/packages/bracket-matcher/spec/.eslintrc.js new file mode 100644 index 000000000..fa2293002 --- /dev/null +++ b/packages/bracket-matcher/spec/.eslintrc.js @@ -0,0 +1,12 @@ +module.exports = { + env: { jasmine: true }, + globals: { + waitsForPromise: true, + }, + rules: { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +}; diff --git a/packages/pulsar-updater/spec/.eslintrc b/packages/pulsar-updater/spec/.eslintrc new file mode 100644 index 000000000..097feaa4c --- /dev/null +++ b/packages/pulsar-updater/spec/.eslintrc @@ -0,0 +1,9 @@ +{ + "env": { "jasmine": true }, + "rules": { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +} diff --git a/packages/styleguide/spec/.eslintrc.js b/packages/styleguide/spec/.eslintrc.js new file mode 100644 index 000000000..5226d6921 --- /dev/null +++ b/packages/styleguide/spec/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + env: { jasmine: true }, + rules: { + "node/no-unpublished-require": "off", + "node/no-extraneous-require": "off", + "no-unused-vars": "off", + "no-empty": "off" + } +}; From 95de9bc89f3eb7f77b4a4075fd121c912f39eeb8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 14 Jan 2024 14:14:32 -0800 Subject: [PATCH 06/83] [language-typescript] Distinguish different usages of `<` and `>` Angle brackets in type parameter lists (e.g., `Array`) should not be scoped like comparison operators. --- packages/language-typescript/grammars/common/highlights.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 8757d6b72..c2028c7af 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -288,6 +288,11 @@ ["class" "function"] @storage.type._TYPE_._LANG_ +(type_arguments "<" @punctuation.definition.parameters.begin.bracket.angle.js + (#set! capture.final)) +(type_arguments ">" @punctuation.definition.parameters.end.bracket.angle.js + (#set! capture.final)) + "=>" @storage.type.arrow._LANG_ ; TODO: If I allow scopes like `storage.type.string._LANG_`, I will make a lot of From e972f92636d9fa4defaa9cdf91f4b4a567cd9c47 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 15 Jan 2024 16:40:29 -0800 Subject: [PATCH 07/83] =?UTF-8?q?Score=20a=20Tree-sitter=20grammar=20as=20?= =?UTF-8?q?`-1`=20if=20they=E2=80=99re=20disabled=20in=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/grammar-registry.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/grammar-registry.js b/src/grammar-registry.js index c5eeeb8d2..0a233c783 100644 --- a/src/grammar-registry.js +++ b/src/grammar-registry.js @@ -288,6 +288,8 @@ module.exports = class GrammarRegistry { if (isNewTreeSitter) { if (parserConfig === 'wasm-tree-sitter') { score += 0.1; + } else if (parserConfig === 'textmate') { + score = -1; } } else if (isOldTreeSitter) { if (parserConfig === 'node-tree-sitter') { @@ -298,6 +300,8 @@ module.exports = class GrammarRegistry { // score, but just a bit less than we'd bump it if this were a // modern Tree-sitter grammar. score += 0.09; + } else if (parserConfig === 'textmate') { + score = -1; } } From bbf5242d96bc170edf49f1c3c4d5710febff0c7f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 15 Jan 2024 18:04:58 -0800 Subject: [PATCH 08/83] [language-typescript] Highlighting fixes for TS and TSX: * Highlight namespaced JSX tags (e.g., ``) like other JSX tags * Don't scope `/` punctuation in JSX tags like a division operator * Scope ordinary functions as `support.other.function` just as in JavaScript * Scope the last segment of `namespace` declarations as an `entity`, other segments as `support.class` --- .../grammars/common/highlights.scm | 25 +++++++++++++------ .../grammars/tree-sitter-tsx/highlights.scm | 16 ++++++++++-- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index c2028c7af..b89511226 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -265,6 +265,16 @@ (internal_module name: (identifier) @entity.name.type.namespace._LANG_) +; The "Bar" of `namespace Foo.Bar` and `namespace Foo.Baz.Bar`. +(internal_module + name: (nested_identifier + (identifier) @entity.name.type.namespace._LANG_ .) + (#set! isLastNamespaceSegment true)) + +; The "Foo" and "Baz" of `namespace Foo.Bar` and `namespace Foo.Baz.Bar`. +(nested_identifier (identifier) @support.type.namespace._LANG_ + (#is? test.descendantOfType "internal_module") + (#is-not? test.rangeWithData isLastNamespaceSegment)) ; DECLARATIONS ; ============ @@ -448,6 +458,12 @@ (asserts "asserts" @keyword.control.type.asserts._LANG_) +; An invocation of any function. +(call_expression + function: (identifier) @support.other.function._LANG_ + (#set! capture.shy true)) + + ; SUPPORT ; ======= @@ -738,13 +754,8 @@ "||=" ] @keyword.operator.assignment.compound._LANG_ -[ - "+" - "-" - "*" - "/" - "%" -] @keyword.operator.arithmetic._LANG_ +(binary_expression + ["+" "-" "*" "/" "%"] @keyword.operator.arithmetic._LANG_) [ "==" diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm index c8b90d23a..7fb2a8da5 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm @@ -11,16 +11,28 @@ (jsx_opening_element name: (identifier) @entity.name.tag.ts.tsx) +; The "Foo.Bar" in ``. +(jsx_opening_element + name: (nested_identifier) @entity.name.tag.ts.tsx) + ; The "Foo" in ``. (jsx_closing_element - "/" @punctuation.definition.tag.end.ts.tsx - (#set! capture.final true) name: (identifier) @entity.name.tag.ts.tsx) +; The "Foo.Bar" in ``. +(jsx_closing_element + name: (nested_identifier) @entity.name.tag.ts.tsx) + ; The "bar" in ``. (jsx_attribute (property_identifier) @entity.other.attribute-name.ts.tsx) +; The slashes in closing tags should not be interpreted as math operators. +(jsx_self_closing_element "/" @punctuation.definition.tag.end.ts.tsx + (#set! capture.final true)) +(jsx_closing_element "/" @punctuation.definition.tag.end.ts.tsx + (#set! capture.final true)) + ; All JSX expressions/interpolations within braces. ((jsx_expression) @meta.embedded.block.ts.tsx (#match? @meta.embedded.block.ts.tsx "\\n") From 99388fabb89f6dff861060ad4bd2e7dfa58a3ea2 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 16 Jan 2024 17:18:10 -0800 Subject: [PATCH 09/83] [language-typescript] Correctly highlight the angle brackets of TSX tags --- .../grammars/common/highlights.scm | 22 ++++++++++--------- .../grammars/tree-sitter-tsx/highlights.scm | 9 ++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index b89511226..0243ef6ee 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -757,16 +757,18 @@ (binary_expression ["+" "-" "*" "/" "%"] @keyword.operator.arithmetic._LANG_) -[ - "==" - "===" - "!=" - "!==" - ">=" - "<=" - ">" - "<" -] @keyword.operator.comparison._LANG_ +(binary_expression + [ + "==" + "===" + "!=" + "!==" + ">=" + "<=" + ">" + "<" + ] @keyword.operator.comparison._LANG_ +) ["++" "--"] @keyword.operator.increment._LANG_ diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm index 7fb2a8da5..0694125f2 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm @@ -40,6 +40,14 @@ (jsx_expression) @meta.embedded.line.ts.tsx +(jsx_opening_element + "<" @punctuation.definition.tag.begin.ts.tsx + ">" @punctuation.definition.tag.end.ts.tsx) + +(jsx_closing_element + "<" @punctuation.definition.tag.begin.ts.tsx + ">" @punctuation.definition.tag.end.ts.tsx) + (jsx_self_closing_element "<" @punctuation.definition.tag.begin.ts.tsx (#set! capture.final true)) @@ -52,6 +60,7 @@ (#set! capture.final true)) + ; META ; ==== From 79d1cff4379034f4a6b2e5a494d531280fb9512c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 16 Jan 2024 21:55:45 -0800 Subject: [PATCH 10/83] =?UTF-8?q?[language-javascript]=20Upgrade=20`tree-s?= =?UTF-8?q?itter-javascript`=20parser=20to=20latest=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and move some files around for consistency. --- .../grammars/tree-sitter-2-javascript.cson | 14 ++++++----- .../grammars/tree-sitter-2-jsdoc.cson | 8 +++--- .../grammars/tree-sitter-2-regex.cson | 5 ++-- .../grammars/{ts => tree-sitter}/folds.scm | 0 .../{ts => tree-sitter}/highlights.scm | 13 +++------- .../grammars/{ts => tree-sitter}/indents.scm | 23 ++++++++++++++---- .../{ts => tree-sitter}/jsdoc/folds.scm | 0 .../{ts => tree-sitter}/jsdoc/highlights.scm | 0 .../{ts => tree-sitter}/jsdoc/indents.scm | 0 .../jsdoc/tree-sitter-jsdoc.wasm | Bin .../grammars/{ts => tree-sitter}/locals.scm | 0 .../{ts => tree-sitter}/regex/highlights.scm | 0 .../regex/tree-sitter-regex.wasm | Bin .../grammars/{ts => tree-sitter}/tags.scm | 0 .../tree-sitter/tree-sitter-javascript.wasm | Bin 0 -> 584238 bytes .../grammars/ts/grammar.wasm | Bin 330754 -> 0 bytes 16 files changed, 36 insertions(+), 27 deletions(-) rename packages/language-javascript/grammars/{ts => tree-sitter}/folds.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/highlights.scm (98%) rename packages/language-javascript/grammars/{ts => tree-sitter}/indents.scm (85%) rename packages/language-javascript/grammars/{ts => tree-sitter}/jsdoc/folds.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/jsdoc/highlights.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/jsdoc/indents.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/jsdoc/tree-sitter-jsdoc.wasm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/locals.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/regex/highlights.scm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/regex/tree-sitter-regex.wasm (100%) rename packages/language-javascript/grammars/{ts => tree-sitter}/tags.scm (100%) create mode 100755 packages/language-javascript/grammars/tree-sitter/tree-sitter-javascript.wasm delete mode 100755 packages/language-javascript/grammars/ts/grammar.wasm diff --git a/packages/language-javascript/grammars/tree-sitter-2-javascript.cson b/packages/language-javascript/grammars/tree-sitter-2-javascript.cson index 41430d861..b2fc9fc6a 100644 --- a/packages/language-javascript/grammars/tree-sitter-2-javascript.cson +++ b/packages/language-javascript/grammars/tree-sitter-2-javascript.cson @@ -4,13 +4,15 @@ type: 'modern-tree-sitter' parser: 'tree-sitter-javascript' injectionRegex: '^(js|javascript|JS|JAVASCRIPT)$' + treeSitter: - grammar: 'ts/grammar.wasm' - highlightsQuery: 'ts/highlights.scm' - localsQuery: 'ts/locals.scm' - foldsQuery: 'ts/folds.scm' - indentsQuery: 'ts/indents.scm' - tagsQuery: 'ts/tags.scm' + parserSource: 'github:tree-sitter/tree-sitter-javascript#f1e5a09b8d02f8209a68249c93f0ad647b228e6e' + grammar: 'tree-sitter/tree-sitter-javascript.wasm' + highlightsQuery: 'tree-sitter/highlights.scm' + localsQuery: 'tree-sitter/locals.scm' + foldsQuery: 'tree-sitter/folds.scm' + indentsQuery: 'tree-sitter/indents.scm' + tagsQuery: 'tree-sitter/tags.scm' firstLineRegex: [ # shebang line diff --git a/packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson b/packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson index cd1a6be5b..a732df51c 100644 --- a/packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson +++ b/packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson @@ -6,7 +6,7 @@ parser: 'tree-sitter-jsdoc' injectionRegex: '^jsdoc$' treeSitter: - grammar: 'ts/jsdoc/tree-sitter-jsdoc.wasm' - highlightsQuery: 'ts/jsdoc/highlights.scm' - foldsQuery: 'ts/jsdoc/folds.scm' - indentsQuery: 'ts/jsdoc/indents.scm' + grammar: 'tree-sitter/jsdoc/tree-sitter-jsdoc.wasm' + highlightsQuery: 'tree-sitter/jsdoc/highlights.scm' + foldsQuery: 'tree-sitter/jsdoc/folds.scm' + indentsQuery: 'tree-sitter/jsdoc/indents.scm' diff --git a/packages/language-javascript/grammars/tree-sitter-2-regex.cson b/packages/language-javascript/grammars/tree-sitter-2-regex.cson index 0ac0d535d..2d018b40a 100644 --- a/packages/language-javascript/grammars/tree-sitter-2-regex.cson +++ b/packages/language-javascript/grammars/tree-sitter-2-regex.cson @@ -4,6 +4,7 @@ type: 'modern-tree-sitter' parser: 'tree-sitter-regex' injectionRegex: '^(js-regex)$' + treeSitter: - grammar: 'ts/regex/tree-sitter-regex.wasm' - highlightsQuery: 'ts/regex/highlights.scm' + grammar: 'tree-sitter/regex/tree-sitter-regex.wasm' + highlightsQuery: 'tree-sitter/regex/highlights.scm' diff --git a/packages/language-javascript/grammars/ts/folds.scm b/packages/language-javascript/grammars/tree-sitter/folds.scm similarity index 100% rename from packages/language-javascript/grammars/ts/folds.scm rename to packages/language-javascript/grammars/tree-sitter/folds.scm diff --git a/packages/language-javascript/grammars/ts/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm similarity index 98% rename from packages/language-javascript/grammars/ts/highlights.scm rename to packages/language-javascript/grammars/tree-sitter/highlights.scm index cd067c58d..16734615a 100644 --- a/packages/language-javascript/grammars/ts/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -752,8 +752,6 @@ ; The "Foo" in ``. (jsx_closing_element - "/" @punctuation.definition.tag.end.js - (#set! capture.final true) name: (identifier) @entity.name.tag.js) ; The "bar" in ``. @@ -772,20 +770,15 @@ ">" @punctuation.definition.tag.end.js) (jsx_closing_element - "<" @punctuation.definition.tag.begin.js + "" @punctuation.definition.tag.end.js) (jsx_self_closing_element "<" @punctuation.definition.tag.begin.js (#set! capture.final true)) -((jsx_self_closing_element - ; The "/>" in ``, extended to cover both anonymous nodes at once. - "/") @punctuation.definition.tag.end.js - (#set! adjust.startAt lastChild.previousSibling.startPosition) - (#set! adjust.endAt lastChild.endPosition) - (#set! capture.final true)) - +(jsx_self_closing_element + "/>" @punctuation.definition.tag.end.js) ; OPERATORS ; ========== diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/tree-sitter/indents.scm similarity index 85% rename from packages/language-javascript/grammars/ts/indents.scm rename to packages/language-javascript/grammars/tree-sitter/indents.scm index dfac5ef7e..8d9ccbd75 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/tree-sitter/indents.scm @@ -20,11 +20,19 @@ (#is? test.last true)) (#set! indent.matchIndentOf parent.startPosition)) -; 'case' and 'default' need to be indented one level more than their containing -; `switch`. TODO: Might need to make this configurable. +; By default, `case` and `default` need to be indented one level more than their containing +; `switch`. (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is-not? test.config "language-javascript.alignCaseWithSwitch")) + +; When this config setting is enabled, `case` and `default` need to be indented +; to match their containing `switch`. +(["case" "default"] @match + (#set! indent.matchIndentOf parent.parent.startPosition) + (#set! indent.offsetIndent 0) + (#is? test.config "language-javascript.alignCaseWithSwitch")) ; ONE-LINE CONDITIONALS @@ -104,7 +112,9 @@ (binary_expression ["||" "&&"] right: (_) @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + ; …unless the right side of the expression spans multiple lines. + (#is? test.endsOnSameRowAs startPosition)) ; …unless it's a ternary, in which case the dedent should wait until the ; alternative clause. @@ -115,7 +125,10 @@ ; (ternary_expression alternative: (_) @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + ; Only dedent the next line if the alternative doesn't itself span multiple + ; lines. + (#is? test.endsOnSameRowAs startPosition)) ; DEDENT-NEXT IN LIMITED SCENARIOS diff --git a/packages/language-javascript/grammars/ts/jsdoc/folds.scm b/packages/language-javascript/grammars/tree-sitter/jsdoc/folds.scm similarity index 100% rename from packages/language-javascript/grammars/ts/jsdoc/folds.scm rename to packages/language-javascript/grammars/tree-sitter/jsdoc/folds.scm diff --git a/packages/language-javascript/grammars/ts/jsdoc/highlights.scm b/packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm similarity index 100% rename from packages/language-javascript/grammars/ts/jsdoc/highlights.scm rename to packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm diff --git a/packages/language-javascript/grammars/ts/jsdoc/indents.scm b/packages/language-javascript/grammars/tree-sitter/jsdoc/indents.scm similarity index 100% rename from packages/language-javascript/grammars/ts/jsdoc/indents.scm rename to packages/language-javascript/grammars/tree-sitter/jsdoc/indents.scm diff --git a/packages/language-javascript/grammars/ts/jsdoc/tree-sitter-jsdoc.wasm b/packages/language-javascript/grammars/tree-sitter/jsdoc/tree-sitter-jsdoc.wasm similarity index 100% rename from packages/language-javascript/grammars/ts/jsdoc/tree-sitter-jsdoc.wasm rename to packages/language-javascript/grammars/tree-sitter/jsdoc/tree-sitter-jsdoc.wasm diff --git a/packages/language-javascript/grammars/ts/locals.scm b/packages/language-javascript/grammars/tree-sitter/locals.scm similarity index 100% rename from packages/language-javascript/grammars/ts/locals.scm rename to packages/language-javascript/grammars/tree-sitter/locals.scm diff --git a/packages/language-javascript/grammars/ts/regex/highlights.scm b/packages/language-javascript/grammars/tree-sitter/regex/highlights.scm similarity index 100% rename from packages/language-javascript/grammars/ts/regex/highlights.scm rename to packages/language-javascript/grammars/tree-sitter/regex/highlights.scm diff --git a/packages/language-javascript/grammars/ts/regex/tree-sitter-regex.wasm b/packages/language-javascript/grammars/tree-sitter/regex/tree-sitter-regex.wasm similarity index 100% rename from packages/language-javascript/grammars/ts/regex/tree-sitter-regex.wasm rename to packages/language-javascript/grammars/tree-sitter/regex/tree-sitter-regex.wasm diff --git a/packages/language-javascript/grammars/ts/tags.scm b/packages/language-javascript/grammars/tree-sitter/tags.scm similarity index 100% rename from packages/language-javascript/grammars/ts/tags.scm rename to packages/language-javascript/grammars/tree-sitter/tags.scm diff --git a/packages/language-javascript/grammars/tree-sitter/tree-sitter-javascript.wasm b/packages/language-javascript/grammars/tree-sitter/tree-sitter-javascript.wasm new file mode 100755 index 0000000000000000000000000000000000000000..5857388d3d59133f600b1f27f8fd2087ac29d215 GIT binary patch literal 584238 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
s=QZZR|K@r56xarGWL&>Zn+h>%Bm-+ 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 literal 0 HcmV?d00001 diff --git a/packages/language-javascript/grammars/ts/grammar.wasm b/packages/language-javascript/grammars/ts/grammar.wasm deleted file mode 100755 index 76c513e171bb8ef8e5cc28d24f613cef9926f7e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330754 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 Date: Tue, 16 Jan 2024 21:58:45 -0800 Subject: [PATCH 11/83] [language-javascript] Rename grammar files for consistency --- ...itter-2-javascript.cson => modern-tree-sitter-javascript.cson} | 0 .../{tree-sitter-2-jsdoc.cson => modern-tree-sitter-jsdoc.cson} | 0 .../{tree-sitter-2-regex.cson => modern-tree-sitter-regex.cson} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename packages/language-javascript/grammars/{tree-sitter-2-javascript.cson => modern-tree-sitter-javascript.cson} (100%) rename packages/language-javascript/grammars/{tree-sitter-2-jsdoc.cson => modern-tree-sitter-jsdoc.cson} (100%) rename packages/language-javascript/grammars/{tree-sitter-2-regex.cson => modern-tree-sitter-regex.cson} (100%) diff --git a/packages/language-javascript/grammars/tree-sitter-2-javascript.cson b/packages/language-javascript/grammars/modern-tree-sitter-javascript.cson similarity index 100% rename from packages/language-javascript/grammars/tree-sitter-2-javascript.cson rename to packages/language-javascript/grammars/modern-tree-sitter-javascript.cson diff --git a/packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson b/packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson similarity index 100% rename from packages/language-javascript/grammars/tree-sitter-2-jsdoc.cson rename to packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson diff --git a/packages/language-javascript/grammars/tree-sitter-2-regex.cson b/packages/language-javascript/grammars/modern-tree-sitter-regex.cson similarity index 100% rename from packages/language-javascript/grammars/tree-sitter-2-regex.cson rename to packages/language-javascript/grammars/modern-tree-sitter-regex.cson From 55a8762478e40faa4f047982b5c1bb8c01444e3b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 16 Jan 2024 22:00:06 -0800 Subject: [PATCH 12/83] [language-css] Update `tree-sitter-css` parser to latest --- .../grammars/modern-tree-sitter-css.cson | 1 + .../grammars/tree-sitter/tree-sitter-css.wasm | Bin 50888 -> 98095 bytes 2 files changed, 1 insertion(+) diff --git a/packages/language-css/grammars/modern-tree-sitter-css.cson b/packages/language-css/grammars/modern-tree-sitter-css.cson index 87069bcd3..2c0f5ff50 100644 --- a/packages/language-css/grammars/modern-tree-sitter-css.cson +++ b/packages/language-css/grammars/modern-tree-sitter-css.cson @@ -8,6 +8,7 @@ fileTypes: [ ] treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-css#98c7b3dceb24f1ee17f1322f3947e55638251c37' grammar: 'tree-sitter/tree-sitter-css.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' foldsQuery: 'tree-sitter/queries/folds.scm' diff --git a/packages/language-css/grammars/tree-sitter/tree-sitter-css.wasm b/packages/language-css/grammars/tree-sitter/tree-sitter-css.wasm index f6293088e0465a7b6adb2fbacebc459c26741de2..711c7732fad87cd9243d36155a85f6025ed39fe3 100755 GIT binary patch literal 98095 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 Date: Tue, 16 Jan 2024 22:01:27 -0800 Subject: [PATCH 13/83] Add a setting to control `switch`/`case` indentation for JS/TS This is our first venture into _configurable_ indentation. Exciting times. --- packages/language-javascript/package.json | 8 +++++++ .../grammars/common/indents.scm | 24 ++++++++++++++----- packages/language-typescript/package.json | 8 +++++++ 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/packages/language-javascript/package.json b/packages/language-javascript/package.json index 52de09034..14008a230 100644 --- a/packages/language-javascript/package.json +++ b/packages/language-javascript/package.json @@ -17,6 +17,14 @@ "tree-sitter-jsdoc": "0.19.0", "tree-sitter-regex": "0.19.0" }, + "configSchema": { + "alignCaseWithSwitch": { + "title": "Align “case” with ”switch”", + "type": "boolean", + "default": false, + "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + } + }, "consumedServices": { "hyperlink.injection": { "versions": { diff --git a/packages/language-typescript/grammars/common/indents.scm b/packages/language-typescript/grammars/common/indents.scm index 427f19f0c..80fc58a34 100644 --- a/packages/language-typescript/grammars/common/indents.scm +++ b/packages/language-typescript/grammars/common/indents.scm @@ -16,12 +16,19 @@ (#is? test.last true)) (#set! indent.matchIndentOf parent.startPosition)) -; 'case' and 'default' need to be indented one level more than their containing -; `switch`. TODO: Might need to make this configurable. +; By default, `case` and `default` need to be indented one level more than their containing +; `switch`. (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is-not? test.config "language-typescript.alignCaseWithSwitch")) +; When this config setting is enabled, `case` and `default` need to be indented +; to match their containing `switch`. +(["case" "default"] @match + (#set! indent.matchIndentOf parent.parent.startPosition) + (#set! indent.offsetIndent 0) + (#is? test.config "language-typescript.alignCaseWithSwitch")) ; ONE-LINE CONDITIONALS ; ===================== @@ -95,11 +102,13 @@ (["||" "&&" "?"] @indent (#is? test.lastTextOnRow true)) -; …and the line after that should be dedented. +; …and the line after that should be dedented… (binary_expression ["||" "&&"] right: (_) @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + ; …unless the right side of the expression spans multiple lines. + (#is? test.endsOnSameRowAs startPosition)) ; …unless it's a ternary, in which case the dedent should wait until the ; alternative clause. @@ -110,7 +119,10 @@ ; (ternary_expression alternative: (_) @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + ; Only dedent the next line if the alternative doesn't itself span multiple + ; lines. + (#is? test.endsOnSameRowAs startPosition)) ; GENERAL diff --git a/packages/language-typescript/package.json b/packages/language-typescript/package.json index 823dfd0e9..cb1cb6a68 100644 --- a/packages/language-typescript/package.json +++ b/packages/language-typescript/package.json @@ -15,6 +15,14 @@ "dependencies": { "tree-sitter-typescript": "0.20.1" }, + "configSchema": { + "alignCaseWithSwitch": { + "title": "Align “case” with ”switch”", + "type": "boolean", + "default": false, + "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + } + }, "consumedServices": { "hyperlink.injection": { "versions": { From a53a9f6c15c27995f15e971f050b02b996669a28 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 16 Jan 2024 22:46:43 -0800 Subject: [PATCH 14/83] [language-javascript] Fix `indents.scm` after the parser upgrade --- packages/language-javascript/grammars/tree-sitter/indents.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-javascript/grammars/tree-sitter/indents.scm b/packages/language-javascript/grammars/tree-sitter/indents.scm index 8d9ccbd75..d5fc5b5d7 100644 --- a/packages/language-javascript/grammars/tree-sitter/indents.scm +++ b/packages/language-javascript/grammars/tree-sitter/indents.scm @@ -199,7 +199,7 @@ ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. -((jsx_self_closing_element ">" @dedent) +((jsx_self_closing_element "/>" @dedent) (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) (#is? test.lastTextOnRow) (#set! indent.force true)) From cac042b3c0ce09216c8248f9250efdb0b53218e7 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 09:38:49 -0800 Subject: [PATCH 15/83] =?UTF-8?q?[language-php]=20Support=20some=20things?= =?UTF-8?q?=20that=20were=20accidentally=20omitted=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …like * Constructors (the "Foo" in `new Foo()`) * Certain function-like builtins like `list`, `unset`, and `print` --- .../tree-sitter/queries/highlights.scm | 52 ++++++++++++++----- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 5801f81a6..50fa4f722 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -7,14 +7,35 @@ ; SUPPORT ; ======= +; There are lots of constructs that look like ordinary function calls but are +; actually special language statements. (array_creation_expression - "array" @support.function.builtin.array.php) + "array" @support.function.builtin.array.php + "(" @punctuation.definition.parameters.begin.bracket.round.php + ")" @punctuation.definition.parameters.end.bracket.round.php) -(list_literal "list" @support.function.builtin.list.php) +(list_literal "list" @support.function.builtin.list.php + "(" @punctuation.definition.parameters.begin.bracket.round.php + ")" @punctuation.definition.parameters.end.bracket.round.php) + +(unset_statement + "unset" @support.function.unset.php + "(" @punctuation.definition.parameters.begin.bracket.round.php + ")" @punctuation.definition.parameters.end.bracket.round.php) + +(print_intrinsic + ; Don't delimit the parentheses like parameter punctuation; they're optional + ; for `print`. + "print" @support.function.print.php) ; The list of standard library methods in `php.cson` is… a lot. This is my ; biased attempt to pare it down to the most important functions. +(function_call_expression + function: (name) @support.function._TEXT_.php + (#match? @support.function._TEXT_.php "^(isset|eval|empty)$") + (#set! capture.final)) + (function_call_expression function: (name) @support.function.array.php (#match? @support.function.array.php "^(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))$")) @@ -31,10 +52,6 @@ function: (name) @support.function.class-obj.php (#match? @support.function.class-obj.php "^(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))$")) -(function_call_expression - function: (name) @support.function.construct.php - (#match? @support.function.construct.php "^(isset|unset|eval|empty)$")) - (function_call_expression function: (name) @support.function.construct.output.php (#match? @support.function.construct.output.php "^(print|echo)$")) @@ -263,14 +280,15 @@ (class_constant_access_expression . (name) @support.class.php) (class_constant_access_expression (name) @support.other.property.php .) -; The "Foo" and "bar" in "Foo::bar()". -(scoped_call_expression - scope: (name) @support.class.php - name: (name) @support.other.function.method.static.php) - -; The "Foo" and "$bar" in "Foo::$bar()". +; The "Foo" in `Foo::bar()` and `Foo::$bar()`. (scoped_call_expression scope: (name) @support.class.php) + +; The "bar" in `Foo::bar()`. +(scoped_call_expression + name: (name) @support.other.function.method.static.php) + +; The "$bar" in `Foo::$bar()`. (scoped_call_expression name: (variable_name) @variable.other.method.static.php) @@ -300,6 +318,10 @@ name: (variable_name) @variable.other.property.php (#set! capture.final true)) +; The "Foo" in `new Foo();`. +(object_creation_expression + (name) @support.class.php) + ; TRAITS ; ====== @@ -588,8 +610,10 @@ "{" @punctuation.definition.block.begin.bracket.curly.php "}" @punctuation.definition.block.end.bracket.curly.php -"(" @punctuation.definition.begin.bracket.round.php -")" @punctuation.definition.end.bracket.round.php +("(" @punctuation.definition.begin.bracket.round.php + (#set! capture.shy true)) +(")" @punctuation.definition.end.bracket.round.php + (#set! capture.shy true)) "[" @punctuation.definition.begin.bracket.square.php "]" @punctuation.definition.end.bracket.square.php From 52e2efd0a6ba87820bfdc7ab4fa4b4de78fcf08f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 09:46:39 -0800 Subject: [PATCH 16/83] Fix CI validation trying to check for a file that has been deleted --- script/validate-wasm-grammar-prs.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/script/validate-wasm-grammar-prs.js b/script/validate-wasm-grammar-prs.js index 706ce1f78..ff208903b 100644 --- a/script/validate-wasm-grammar-prs.js +++ b/script/validate-wasm-grammar-prs.js @@ -62,6 +62,11 @@ if (wasmFilesChanged.length === 0) { // are also accompanied by a change in the `parserSource` key for (const wasmFile of wasmFilesChanged) { + // Ignore files that have been deleted or moved. + if (!fs.existsSync(wasmFile)) { + console.log(`Skipping file that no longer exists: ${wasmFile}`); + continue; + } const wasmPath = path.dirname(wasmFile); // Don't check the base `tree-sitter.wasm` file. From 13c5c074129929648ce784f108830a262fcd8ae5 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 16:02:15 -0800 Subject: [PATCH 17/83] Change references to JS grammar path in specs --- spec/grammar-registry-spec.js | 4 ++-- spec/scope-resolver-spec.js | 2 +- spec/wasm-tree-sitter-language-mode-spec.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/grammar-registry-spec.js b/spec/grammar-registry-spec.js index fb5c33b42..d8e932e46 100644 --- a/spec/grammar-registry-spec.js +++ b/spec/grammar-registry-spec.js @@ -258,7 +258,7 @@ describe('GrammarRegistry', () => { // TODO: Why doesn't this path resolution work like the one above? const modernTreeSitterGrammar = grammarRegistry.loadGrammarSync( require.resolve( - '../packages/language-javascript/grammars/tree-sitter-2-javascript.cson' + '../packages/language-javascript/grammars/modern-tree-sitter-javascript.cson' ) ); expect(buffer.getLanguageMode().grammar).toBe(modernTreeSitterGrammar); @@ -285,7 +285,7 @@ describe('GrammarRegistry', () => { // TODO: Why doesn't this path resolution work like the one above? const modernTreeSitterGrammar = grammarRegistry.loadGrammarSync( require.resolve( - '../packages/language-javascript/grammars/tree-sitter-2-javascript.cson' + '../packages/language-javascript/grammars/modern-tree-sitter-javascript.cson' ) ); diff --git a/spec/scope-resolver-spec.js b/spec/scope-resolver-spec.js index 449ba82f6..61b7f1764 100644 --- a/spec/scope-resolver-spec.js +++ b/spec/scope-resolver-spec.js @@ -23,7 +23,7 @@ function resolve(modulePath) { } const jsGrammarPath = resolve( - 'language-javascript/grammars/tree-sitter-2-javascript.cson' + 'language-javascript/grammars/modern-tree-sitter-javascript.cson' ); let jsConfig = CSON.readFileSync(jsGrammarPath); diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index f899f7586..ceb941933 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -22,7 +22,7 @@ const pythonGrammarPath = resolve( 'language-python/grammars/modern-tree-sitter-python.cson' ); const jsGrammarPath = resolve( - 'language-javascript/grammars/tree-sitter-2-javascript.cson' + 'language-javascript/grammars/modern-tree-sitter-javascript.cson' ); const jsRegexGrammarPath = resolve( From 4a8df88ca5e26cddf811f172db1186bc3ea5d8c8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 16:42:15 -0800 Subject: [PATCH 18/83] Fix other grammar paths --- spec/scope-resolver-spec.js | 2 +- spec/wasm-tree-sitter-language-mode-spec.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/scope-resolver-spec.js b/spec/scope-resolver-spec.js index 61b7f1764..9d8ec18c6 100644 --- a/spec/scope-resolver-spec.js +++ b/spec/scope-resolver-spec.js @@ -28,7 +28,7 @@ const jsGrammarPath = resolve( let jsConfig = CSON.readFileSync(jsGrammarPath); const jsRegexGrammarPath = resolve( - 'language-javascript/grammars/tree-sitter-2-regex.cson' + 'language-javascript/grammars/modern-tree-sitter-regex.cson' ); let jsRegexConfig = CSON.readFileSync(jsRegexGrammarPath); diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index ceb941933..809529e1f 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -26,11 +26,11 @@ const jsGrammarPath = resolve( ); const jsRegexGrammarPath = resolve( - 'language-javascript/grammars/tree-sitter-2-regex.cson' + 'language-javascript/grammars/modern-tree-sitter-regex.cson' ); const jsdocGrammarPath = resolve( - 'language-javascript/grammars/tree-sitter-2-jsdoc.cson' + 'language-javascript/grammars/modern-tree-sitter-jsdoc.cson' ); const htmlGrammarPath = resolve( 'language-html/grammars/modern-tree-sitter-html.cson' From 1ed84b81809ffd7b3a5ea30f56ef8a0754341a85 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 17:28:39 -0800 Subject: [PATCH 19/83] Adjust fold in response to `tree-sitter-javascript` change --- .../language-javascript/grammars/tree-sitter/folds.scm | 2 +- spec/wasm-tree-sitter-language-mode-spec.js | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/folds.scm b/packages/language-javascript/grammars/tree-sitter/folds.scm index 0d5f95ae1..5035311ca 100644 --- a/packages/language-javascript/grammars/tree-sitter/folds.scm +++ b/packages/language-javascript/grammars/tree-sitter/folds.scm @@ -80,4 +80,4 @@ ((jsx_self_closing_element) @fold ; Exclude both the slash and angle bracket `/>` from the fold. - (#set! fold.endAt lastChild.previousSibling.startPosition)) + (#set! fold.endAt lastChild.startPosition)) diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index 809529e1f..c8c9ecb46 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -587,9 +587,7 @@ describe('WASMTreeSitterLanguageMode', () => { ] ]); - console.log('adding: ()'); buffer.setTextInRange([[0, 3], [0, 3]], '()'); - console.log('done: ()'); expectTokensToEqual(editor, [ [ @@ -598,9 +596,7 @@ describe('WASMTreeSitterLanguageMode', () => { ] ]); - console.log('adding: new'); buffer.setTextInRange([[0, 0], [0, 0]], 'new '); - console.log('done: new'); expectTokensToEqual(editor, [ [ @@ -613,7 +609,6 @@ describe('WASMTreeSitterLanguageMode', () => { await nextHighlightingUpdate(languageMode); // await wait(0); // await languageMode.atTransactionEnd(); - console.log('proceeding!'); expectTokensToEqual(editor, [ [ @@ -1799,7 +1794,7 @@ describe('WASMTreeSitterLanguageMode', () => { (#set! fold.endAt lastChild.previousSibling.endPosition)) ((jsx_self_closing_element) @fold - (#set! fold.endAt lastChild.previousSibling.startPosition)) + (#set! fold.endAt lastChild.startPosition)) `); buffer.setText(dedent` From 3864c0d0f7457ea65cbf933941ff1b7ae56061d0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 17 Jan 2024 18:34:26 -0800 Subject: [PATCH 20/83] =?UTF-8?q?[language-go]=20Update=20`tree-sitter-go`?= =?UTF-8?q?=20parser=20to=20latest=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and include some highlighting fixes from #869. --- .../grammars/modern-tree-sitter-go.cson | 1 + .../grammars/tree-sitter-go/highlights.scm | 12 ++++++++---- .../tree-sitter-go/tree-sitter-go.wasm | Bin 180028 -> 239472 bytes 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/language-go/grammars/modern-tree-sitter-go.cson b/packages/language-go/grammars/modern-tree-sitter-go.cson index 3f9166c42..5a0eab7e4 100644 --- a/packages/language-go/grammars/modern-tree-sitter-go.cson +++ b/packages/language-go/grammars/modern-tree-sitter-go.cson @@ -11,6 +11,7 @@ comments: start: '// ' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-go#ff86c7f1734873c8c4874ca4dd95603695686d7a' grammar: 'tree-sitter-go/tree-sitter-go.wasm' highlightsQuery: 'tree-sitter-go/highlights.scm' foldsQuery: 'tree-sitter-go/folds.scm' diff --git a/packages/language-go/grammars/tree-sitter-go/highlights.scm b/packages/language-go/grammars/tree-sitter-go/highlights.scm index b3bc38a65..d012b3c0c 100644 --- a/packages/language-go/grammars/tree-sitter-go/highlights.scm +++ b/packages/language-go/grammars/tree-sitter-go/highlights.scm @@ -47,6 +47,8 @@ [ "struct" + "interface" + "map" ] @storage.type._TYPE_.go (struct_type @@ -55,13 +57,14 @@ (field_identifier) @entity.other.attribute-name.go))) (keyed_element - (field_identifier) @entity.other.attribute-name.go - . - ":" @punctuation.separator.key-value.go) + . (literal_element) @entity.other.attribute-name.go) + +(keyed_element ":" @punctuation.separator.key-value.go) [ "break" "case" + "chan" "continue" "default" "defer" @@ -252,7 +255,8 @@ ";" @punctuation.terminator.go "," @punctuation.separator.comma.go -":" @punctuation.separator.colon.go +(":" @punctuation.separator.colon.go + (#set! capture.shy)) (parameter_list "(" @punctuation.definition.parameters.begin.bracket.round.go diff --git a/packages/language-go/grammars/tree-sitter-go/tree-sitter-go.wasm b/packages/language-go/grammars/tree-sitter-go/tree-sitter-go.wasm index a748e9e1d7f14336ab11d71560c782b1396e9d40..1d17adba7c2569dcfdd2dbe398d47d1edb90fb76 100755 GIT binary patch literal 239472 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 Q{wU+%OGvK*{}$ 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 ZUz=b0OZ{u=@LTf!mOQ_vPJe9Q{|D+9%mM%a From f171f338448fd83b121a3b571fc9677139533600 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 18 Jan 2024 17:31:46 -0800 Subject: [PATCH 21/83] [language-go] Highlight method names like function names --- packages/language-go/grammars/tree-sitter-go/highlights.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/language-go/grammars/tree-sitter-go/highlights.scm b/packages/language-go/grammars/tree-sitter-go/highlights.scm index d012b3c0c..330d4455a 100644 --- a/packages/language-go/grammars/tree-sitter-go/highlights.scm +++ b/packages/language-go/grammars/tree-sitter-go/highlights.scm @@ -81,7 +81,10 @@ ] @keyword.control._TYPE_.go +; Function names: the "foo" in `func foo() {` (function_declaration (identifier) @entity.name.function.go) +; Method names: the "Foo" in `func (x Bar) Foo {` +(method_declaration (field_identifier) @entity.name.function.method.go) (call_expression (identifier) @support.function.builtin.go From 937cb15953ccfbb705b684e0dbfafccb5447aa12 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 18 Jan 2024 18:33:00 -0800 Subject: [PATCH 22/83] [language-c] Apply some fixes to C/C++ highlighting Choosing the other side of some dilemmas I had to resolve six months ago. Highlighting between modern and legacy Tree-sitters now appears to be identical to me (with rare exception) on the One Dark theme. --- .../grammars/tree-sitter-c/highlights.scm | 53 +++++++++++++++---- .../grammars/tree-sitter-cpp/highlights.scm | 49 +++++++++++++---- 2 files changed, 83 insertions(+), 19 deletions(-) diff --git a/packages/language-c/grammars/tree-sitter-c/highlights.scm b/packages/language-c/grammars/tree-sitter-c/highlights.scm index 96dccf2de..b3132d006 100644 --- a/packages/language-c/grammars/tree-sitter-c/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-c/highlights.scm @@ -13,6 +13,10 @@ "#define" @keyword.control.directive.define.c "#include" @keyword.control.directive.include.c +(["#if" "#ifdef" "#ifndef" "#endif" "#elif" "#else" "#define" "#include"] @punctuation.definition.directive.c + (#set! adjust.endAfterFirstMatchOf "^#")) + + ; This will match if the more specific rules above haven't matched. The ; anonymous nodes will match under ideal conditions, but might not be present ; if the parser is flummoxed. @@ -116,32 +120,45 @@ ; Declarations and assignments ; ---------------------------- -; The "x" in `int x`; +; The "x" in `int x;` (declaration declarator: (identifier) @variable.declaration.c) -; The "x" in `int x = y`; +; The "x" in `int x = y;` (init_declarator declarator: (identifier) @variable.declaration.c) +; The "x" in `SomeType *x;` +(declaration + declarator: (pointer_declarator + declarator: (identifier) @variable.declaration.pointer.c)) + +; A member of a struct. (field_declaration - (field_identifier) @entity.other.attribute-name.c) + (field_identifier) @variable.declaration.member.c) (field_declaration (pointer_declarator - (field_identifier) @entity.other.attribute-name.c)) + (field_identifier) @variable.declaration.member.c)) (field_declaration (array_declarator - (field_identifier) @entity.other.attribute-name.c)) + (field_identifier) @variable.declaration.member.c)) (init_declarator (pointer_declarator - (identifier) @entity.other.attribute-name.c)) + (identifier) @variable.declaration.member.c)) +; The "x" in `x = y;` (assignment_expression left: (identifier) @variable.other.assignment.c) +; The "foo" in `something->foo = "bar";` +(assignment_expression + left: (field_expression + field: (field_identifier) @variable.other.member.assignment.c) + (#set! capture.final)) + ; Function parameters ; ------------------- @@ -172,7 +189,7 @@ ; The "size" in `finfo->size`. (field_expression "->" - field: (field_identifier) @support.other.property.c) + field: (field_identifier) @variable.other.member.c) ; FUNCTIONS @@ -309,8 +326,10 @@ ";" @punctuation.terminator.statement.c -"," @punctuation.separator.comma.c -"->" @punctuation.separator.pointer-access.c +("," @punctuation.separator.comma.c + (#set! capture.shy)) +("->" @keyword.operator.accessor.pointer-access.c + (#set! capture.shy)) (parameter_list "(" @punctuation.definition.parameters.begin.bracket.round.c @@ -335,6 +354,22 @@ "[" @punctuation.definition.array.begin.bracket.square.c "]" @punctuation.definition.array.end.bracket.square.c + +; META +; ==== + +((compound_statement) @meta.block.c + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + +((enumerator_list) @meta.block.enum.c + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + +((field_declaration_list) @meta.block.field.c + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + ; TODO: ; ; * TM-style grammar has a lot of `mac-classic` scopes. I doubt they'd be diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index 335640633..734f6e95e 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -13,6 +13,10 @@ "#define" @keyword.control.directive.define.cpp "#include" @keyword.control.directive.include.cpp +(["#if" "#ifdef" "#ifndef" "#endif" "#elif" "#else" "#define" "#include"] @punctuation.definition.directive.c + (#set! adjust.endAfterFirstMatchOf "^#")) + + ; This will match if the more specific rules above haven't matched. The ; anonymous nodes will match under ideal conditions, but might not be present ; if the parser is flummoxed. @@ -207,36 +211,43 @@ ; Declarations and assignments ; ---------------------------- -; The "x" in `int x`; +; The "x" in `int x;` (declaration declarator: (identifier) @variable.declaration.cpp) -; The "x" in `int x = y`; +; The "x" in `int x = y;` (init_declarator declarator: (identifier) @variable.declaration.cpp) +; The "x" in `SomeType *x;` +(declaration + declarator: (pointer_declarator + declarator: (identifier) @variable.declaration.pointer.c)) + (field_declaration - (field_identifier) @variable.declaration.cpp) + (field_identifier) @variable.declaration.member.cpp) (field_declaration (pointer_declarator - (field_identifier) @variable.declaration.cpp)) + (field_identifier) @variable.declaration.member.cpp)) (field_declaration (array_declarator - (field_identifier) @variable.declaration.cpp)) + (field_identifier) @variable.declaration.member.cpp)) (init_declarator (pointer_declarator - (identifier) @variable.declaration.cpp)) + (identifier) @variable.declaration.member.cpp)) +; The "x" in `x = y;` (assignment_expression left: (identifier) @variable.other.assignment.cpp) -; The "foo" in `bar.foo = "baz"`. +; The "foo" in `something->foo = "bar";` (assignment_expression left: (field_expression - field: (field_identifier) @variable.other.member.assignment.cpp)) + field: (field_identifier) @variable.other.member.assignment.cpp) + (#set! capture.final)) ((reference_declarator (identifier) @variable.declaration.cpp) @@ -420,8 +431,10 @@ ";" @punctuation.terminator.statement.cpp -"," @punctuation.separator.comma.cpp -"->" @keyword.operator.accessor.cpp +("," @punctuation.separator.comma.cpp + (#set! capture.shy)) +("->" @keyword.operator.accessor.pointer-access.cpp + (#set! capture.shy)) (parameter_list "(" @punctuation.definition.parameters.begin.bracket.round.cpp @@ -446,6 +459,22 @@ "[" @punctuation.definition.array.begin.bracket.square.cpp "]" @punctuation.definition.array.end.bracket.square.cpp +; META +; ==== + +((compound_statement) @meta.block.cpp + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + +((enumerator_list) @meta.block.enum.cpp + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + +((field_declaration_list) @meta.block.field.cpp + (#set! adjust.startAt firstChild.endPosition) + (#set! adjust.endAt lastChild.startPosition)) + + ; TODO: ; ; * TM-style grammar has a lot of `mac-classic` scopes. I doubt they'd be From 57e812b5bcc628b2f801e4fe6d42d88f77d1f5c9 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 18 Jan 2024 19:05:17 -0800 Subject: [PATCH 23/83] =?UTF-8?q?[language-typescript]=20Harmonize=20synta?= =?UTF-8?q?x=20decisions=20between=20JS=20and=20TS=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and add a new style to `one-dark-syntax` and `one-light-syntax` to ensure continuity of appearance now that object properties are not all treated as `variable`s. Also, scope private field method definitions in both JS and TS. --- .../grammars/tree-sitter/highlights.scm | 5 ++++ .../grammars/common/highlights.scm | 23 ++++++++++++++++--- .../styles/syntax-legacy/_base.less | 7 ++++++ .../styles/syntax-legacy/_base.less | 7 ++++++ 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index 16734615a..65960cfca 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -250,6 +250,11 @@ (method_definition name: (property_identifier) @entity.name.function.method.definition.js) +; Private method definitions: +; the "#foo" in `#foo () {` (inside a class body) +(method_definition + name: (private_property_identifier) @entity.name.function.method.private.definition.js) + ; Function property assignment: ; The "foo" in `thing.foo = (arg) => {}` (assignment_expression diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 0243ef6ee..7ebaa94bb 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -74,6 +74,7 @@ (asserts "asserts" @keyword.type.asserts._LANG_) (asserts (identifier) @variable.other.type._LANG_) + ["var" "const" "let"] @storage.type._TYPE_._LANG_ ; A simple variable declaration: @@ -86,6 +87,11 @@ (assignment_expression left: (identifier) @variable.other.assignment._LANG_) +; The "bar" in `foo.bar = true` +(assignment_expression + left: (member_expression + property: (property_identifier) @variable.other.assignment.property._LANG_)) + ; The "foo" in `foo += 1`. (augmented_assignment_expression left: (identifier) @variable.other.assignment._LANG_) @@ -368,14 +374,20 @@ (#match? @constant.other.object._LANG_ "^[_A-Z]+$") (#set! capture.final true)) + ; The "foo" in `foo.bar`. (member_expression object: (identifier) @support.other.object._LANG_) -; The "bar" in `foo.bar.baz`. +; The "bar" in `foo.bar`, `foo.bar.baz`, and `foo.bar[baz]`. (member_expression - object: (member_expression - property: (property_identifier) @support.other.object._LANG_)) + property: (property_identifier) @support.other.property.js) + +; ; The "bar" in `foo.bar.baz`. +; (member_expression +; object: (member_expression +; property: (property_identifier) @support.other.object._LANG_) +; (#set! capture.final)) (method_signature (property_identifier) @entity.other.attribute-name.method._LANG_) @@ -420,6 +432,11 @@ (method_definition name: (property_identifier) @entity.name.function.method.definition._LANG_) +; Private field method definitions: +; the "#foo" in `#foo () {` (inside a class body) +(method_definition + name: (private_property_identifier) @entity.name.function.method.private.definition._LANG_) + ; Function property assignment: ; The "foo" in `thing.foo = (arg) => {}` (assignment_expression diff --git a/packages/one-dark-syntax/styles/syntax-legacy/_base.less b/packages/one-dark-syntax/styles/syntax-legacy/_base.less index c21e13c5b..e79322d3f 100644 --- a/packages/one-dark-syntax/styles/syntax-legacy/_base.less +++ b/packages/one-dark-syntax/styles/syntax-legacy/_base.less @@ -82,6 +82,13 @@ } } +// Style `property` (anywhere in a scope name) like `variable` to keep +// continuity of appearance after some scope name changes in +// JavaScript/TypeScript. +.syntax--property { + color: @hue-5; +} + .syntax--variable { color: @hue-5; diff --git a/packages/one-light-syntax/styles/syntax-legacy/_base.less b/packages/one-light-syntax/styles/syntax-legacy/_base.less index ac2a34a90..7492935da 100644 --- a/packages/one-light-syntax/styles/syntax-legacy/_base.less +++ b/packages/one-light-syntax/styles/syntax-legacy/_base.less @@ -82,6 +82,13 @@ } } +// Style `property` (anywhere in a scope name) like `variable` to keep +// continuity of appearance after some scope name changes in +// JavaScript/TypeScript. +.syntax--property { + color: @hue-5; +} + .syntax--variable { color: @hue-5; From 3cd7557504fb3da35a021b12447700b24ca799f8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 18 Jan 2024 20:28:27 -0800 Subject: [PATCH 24/83] =?UTF-8?q?[language-shellscript]=20Highlight=20`whi?= =?UTF-8?q?le`=20and=20add=20other=20fixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * `<` as a file redirect operator * `((` and `))` as punctuation --- .../grammars/tree-sitter/highlights.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index eaf6fcee2..f2dae5cb1 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -33,6 +33,7 @@ "in" "do" "done" + "while" ] @keyword.control._TYPE_.shell (declaration_command @@ -137,6 +138,7 @@ (file_redirect [ + "<" ">" ">&" "&>" @@ -154,6 +156,15 @@ (number) @constant.numeric.decimal.shell +; TODO: Double parentheses are used like `let` expressions, but ((i++)) is not +; understood by `tree-sitter-bash` as a variable increment. It needs an equals +; sign before it construes the contents as math. +(test_command + "((" @punctuation.brace.double-round.begin.shell) +(test_command + "))" @punctuation.brace.double-round.end.shell) + + (test_command "[[" @punctuation.brace.double-square.begin.shell) (test_command From a13ffcd694d77fa07f24a9c939ca2fac1d80b55f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 16:42:01 -0800 Subject: [PATCH 25/83] =?UTF-8?q?[language-typescript]=20Move=20the=20?= =?UTF-8?q?=E2=80=9CObjects=E2=80=9D=20section=20in=20`highlights.scm`?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …so that the builtins section gets prioritized higher. --- .../grammars/common/highlights.scm | 250 +++++++++--------- 1 file changed, 126 insertions(+), 124 deletions(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 7ebaa94bb..d2bb5f5b7 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -357,130 +357,6 @@ ; (#is? test.descendantOfType "type_annotation type_arguments satisfies_expression type_parameter") (#set! capture.final true)) -; OBJECTS -; ======= - -; The "foo" in `{ foo: true }`. -(pair - key: (property_identifier) @entity.other.attribute-name._LANG_) - -; TODO: This is both a key and a value, so opinions may vary on how to treat it. -(object - (shorthand_property_identifier) @entity.other.attribute-name.shorthand._LANG_) - -; The "FOO" in `FOO.bar` should be scoped as a constant. -(member_expression - object: (identifier) @constant.other.object._LANG_ - (#match? @constant.other.object._LANG_ "^[_A-Z]+$") - (#set! capture.final true)) - - -; The "foo" in `foo.bar`. -(member_expression - object: (identifier) @support.other.object._LANG_) - -; The "bar" in `foo.bar`, `foo.bar.baz`, and `foo.bar[baz]`. -(member_expression - property: (property_identifier) @support.other.property.js) - -; ; The "bar" in `foo.bar.baz`. -; (member_expression -; object: (member_expression -; property: (property_identifier) @support.other.object._LANG_) -; (#set! capture.final)) - -(method_signature - (property_identifier) @entity.other.attribute-name.method._LANG_) - -(property_signature - (property_identifier) @entity.other.attribute-name._LANG_) - - - -; FUNCTIONS -; ========= - -(method_definition - name: (property_identifier) @entity.name.function.method._LANG_) - -(call_expression - function: (member_expression - property: (property_identifier) @support.other.function.method._LANG_)) - -; Named function expressions: -; the "foo" in `let bar = function foo () {` -(function - name: (identifier) @entity.name.function.definition._LANG_) - -; Function definitions: -; the "foo" in `function foo () {` -(function_declaration - name: (identifier) @entity.name.function.definition._LANG_) - -; Named generator function expressions: -; the "foo" in `let bar = function* foo () {` -(generator_function - name: (identifier) @entity.name.function.generator.definition._LANG_) - -; Generator function definitions: -; the "foo" in `function* foo () {` -(generator_function_declaration - name: (identifier) @entity.name.function.generator.definition._LANG_) - -; Method definitions: -; the "foo" in `foo () {` (inside a class body) -(method_definition - name: (property_identifier) @entity.name.function.method.definition._LANG_) - -; Private field method definitions: -; the "#foo" in `#foo () {` (inside a class body) -(method_definition - name: (private_property_identifier) @entity.name.function.method.private.definition._LANG_) - -; Function property assignment: -; The "foo" in `thing.foo = (arg) => {}` -(assignment_expression - left: (member_expression - property: (property_identifier) @entity.name.function.definition._LANG_ - (#set! capture.final true)) - right: [(arrow_function) (function)]) - -; Function variable assignment: -; The "foo" in `let foo = function () {` -(variable_declarator - name: (identifier) @entity.name.function.definition._LANG_ - value: [(function) (arrow_function)]) - -; Function variable reassignment: -; The "foo" in `foo = function () {` -(assignment_expression - left: (identifier) @function - right: [(function) (arrow_function)]) - -; Object key-value pair function: -; The "foo" in `{ foo: function () {} }` -(pair - key: (property_identifier) @entity.name.function.method.definition._LANG_ - value: [(function) (arrow_function)]) - -(function "function" @storage.type.function._LANG_) -(function_declaration "function" @storage.type.function._LANG_) - -(generator_function "function" @storage.type.function._LANG_) -(generator_function_declaration "function" @storage.type.function._LANG_) - -(generator_function "*" @storage.modifier.generator._LANG_) -(generator_function_declaration "*" @storage.modifier.generator._LANG_) -(method_definition "*" @storage.modifier.generator._LANG_) - -(asserts "asserts" @keyword.control.type.asserts._LANG_) - -; An invocation of any function. -(call_expression - function: (identifier) @support.other.function._LANG_ - (#set! capture.shy true)) - - ; SUPPORT ; ======= @@ -657,6 +533,132 @@ (#eq? @constant.language.infinity._LANG_ "Infinity") (#set! capture.final true)) + +; OBJECTS +; ======= + +; The "foo" in `{ foo: true }`. +(pair + key: (property_identifier) @entity.other.attribute-name._LANG_) + +; TODO: This is both a key and a value, so opinions may vary on how to treat it. +(object + (shorthand_property_identifier) @entity.other.attribute-name.shorthand._LANG_) + +; The "FOO" in `FOO.bar` should be scoped as a constant. +(member_expression + object: (identifier) @constant.other.object._LANG_ + (#match? @constant.other.object._LANG_ "^[_A-Z]+$") + (#set! capture.final true)) + + +; The "foo" in `foo.bar`. +(member_expression + object: (identifier) @support.other.object._LANG_) + +; The "bar" in `foo.bar`, `foo.bar.baz`, and `foo.bar[baz]`. +(member_expression + property: (property_identifier) @support.other.property.js) + +; ; The "bar" in `foo.bar.baz`. +; (member_expression +; object: (member_expression +; property: (property_identifier) @support.other.object._LANG_) +; (#set! capture.final)) + +(method_signature + (property_identifier) @entity.other.attribute-name.method._LANG_) + +(property_signature + (property_identifier) @entity.other.attribute-name._LANG_) + + + +; FUNCTIONS +; ========= + +(method_definition + name: (property_identifier) @entity.name.function.method._LANG_) + +(call_expression + function: (member_expression + property: (property_identifier) @support.other.function.method._LANG_)) + +; Named function expressions: +; the "foo" in `let bar = function foo () {` +(function + name: (identifier) @entity.name.function.definition._LANG_) + +; Function definitions: +; the "foo" in `function foo () {` +(function_declaration + name: (identifier) @entity.name.function.definition._LANG_) + +; Named generator function expressions: +; the "foo" in `let bar = function* foo () {` +(generator_function + name: (identifier) @entity.name.function.generator.definition._LANG_) + +; Generator function definitions: +; the "foo" in `function* foo () {` +(generator_function_declaration + name: (identifier) @entity.name.function.generator.definition._LANG_) + +; Method definitions: +; the "foo" in `foo () {` (inside a class body) +(method_definition + name: (property_identifier) @entity.name.function.method.definition._LANG_) + +; Private field method definitions: +; the "#foo" in `#foo () {` (inside a class body) +(method_definition + name: (private_property_identifier) @entity.name.function.method.private.definition._LANG_) + +; Function property assignment: +; The "foo" in `thing.foo = (arg) => {}` +(assignment_expression + left: (member_expression + property: (property_identifier) @entity.name.function.definition._LANG_ + (#set! capture.final true)) + right: [(arrow_function) (function)]) + +; Function variable assignment: +; The "foo" in `let foo = function () {` +(variable_declarator + name: (identifier) @entity.name.function.definition._LANG_ + value: [(function) (arrow_function)]) + +; Function variable reassignment: +; The "foo" in `foo = function () {` +(assignment_expression + left: (identifier) @function + right: [(function) (arrow_function)]) + +; Object key-value pair function: +; The "foo" in `{ foo: function () {} }` +(pair + key: (property_identifier) @entity.name.function.method.definition._LANG_ + value: [(function) (arrow_function)]) + +(function "function" @storage.type.function._LANG_) +(function_declaration "function" @storage.type.function._LANG_) + +(generator_function "function" @storage.type.function._LANG_) +(generator_function_declaration "function" @storage.type.function._LANG_) + +(generator_function "*" @storage.modifier.generator._LANG_) +(generator_function_declaration "*" @storage.modifier.generator._LANG_) +(method_definition "*" @storage.modifier.generator._LANG_) + +(asserts "asserts" @keyword.control.type.asserts._LANG_) + +; An invocation of any function. +(call_expression + function: (identifier) @support.other.function._LANG_ + (#set! capture.shy true)) + + + ; Things that `LOOK_LIKE_CONSTANTS`. ([(property_identifier) (identifier)] @constant.other._LANG_ (#match? @constant.other._LANG_ "^[A-Z_][A-Z0-9_]*$") From dcf451cf1b21b2fd2c34c01e8f579dc134b34567 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 16:43:32 -0800 Subject: [PATCH 26/83] =?UTF-8?q?[language-python]=20Update=20to=20latest?= =?UTF-8?q?=20`tree-sitter-python`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and add some items to `highlights.scm` that fell through the cracks. --- .../grammars/modern-tree-sitter-python.cson | 3 +-- .../grammars/ts/highlights.scm | 6 +++++- .../grammars/ts/tree-sitter-python.wasm | Bin 394946 -> 474252 bytes 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/language-python/grammars/modern-tree-sitter-python.cson b/packages/language-python/grammars/modern-tree-sitter-python.cson index 1360c54d5..d69d15cb4 100644 --- a/packages/language-python/grammars/modern-tree-sitter-python.cson +++ b/packages/language-python/grammars/modern-tree-sitter-python.cson @@ -27,8 +27,7 @@ fileTypes: [ ] treeSitter: - # Built from tree-sitter-python 62827156d01c74dc1538266344e788da74536b8a - # to add support for `match` statements. + parserSource: 'github:tree-sitter/tree-sitter-python#4bfdd9033a2225cc95032ce77066b7aeca9e2efc' grammar: 'ts/tree-sitter-python.wasm' highlightsQuery: 'ts/highlights.scm' tagsQuery: 'ts/tags.scm' diff --git a/packages/language-python/grammars/ts/highlights.scm b/packages/language-python/grammars/ts/highlights.scm index b3c8b1eaf..03e8db484 100644 --- a/packages/language-python/grammars/ts/highlights.scm +++ b/packages/language-python/grammars/ts/highlights.scm @@ -222,7 +222,7 @@ _ @punctuation.definition.string.end.python (#is? test.last true)) -(string prefix: _ @storage.type.string.python +(string (string_start) @storage.type.string.python (#match? @storage.type.string.python "^[bBfFrRuU]+") (#set! adjust.endAfterFirstMatchOf "^[bBfFrRuU]+")) @@ -258,6 +258,7 @@ ] @keyword.control.statement._TYPE_.python [ + "break" "continue" "for" "while" @@ -396,6 +397,9 @@ "or" ] @keyword.operator.logical._TYPE_.python +; The 'not' and 'in' are each scoped separately, each one being an anonymous +; node incorrectly named "not in". +"not in" @keyword.operator.logical.not-in.python "is not" @keyword.operator.logical.is-not.python (call diff --git a/packages/language-python/grammars/ts/tree-sitter-python.wasm b/packages/language-python/grammars/ts/tree-sitter-python.wasm index 0c26bbf66da42f06dc29c045d2f525785c2078ae..8ff8ab2a64134801316e574f3720c5d699ae8e90 100755 GIT binary patch literal 474252 zcmeEv37l2Mv3H*{cQ)?5$i6DhAP9SC>k(l)JOfS9Y`_DkSweOnMt3&&4-9YaE&GI113#&CdlWHBad*$VJzb~;~ z(=(|@%_dfAenyqDb935v&G}0iHCvuZO{ker*X#@f`eOCESy?&VI_BhNcfeS{WO+HT z5nI#i;ryh^@#N%4Qd){jN%DO^DfMYTt!h@*z3`AM8lkKXdEIk+x#T)ZYu}?s*ZZ*eEXb?=yu<`+E)G(*F*JaFzZZH*nEvr;mn`S<3gIU)}-X45W? zC<-|y5J7dC!f@cJ0yBlTc!G6&wpN~GgtKwB>1CNzD)3W zR$d_ZL)M=)g3q$?+aUOJ)}PISFRZHi7Yc6dTLoQe=GrOvXJ+m_g4fpCMS_ko?e+`4 z#PEZH?=Dp)6+Hg^&7OS(pJwATK=9Qj zVTj-bhK~@u(D2cM7n_FT1Yc(569kXg@C$0KO&8SH(wTxDHDR*_Uu)K#EBHVYzCiFN zZ8R1Me#q)C6TH7omIA>)u<|v6_qFm3g0C?7n*|?e#wui77KN=+Hpt3$3Vz7y?h*W; z;YEV?GyeU8zhmVG1%KV}LxOKJyjbx4X1b$-&#uaXm>n{-eSu0;8_*iRhnc%O*l)pgm zcg=&=2;R^5HweDatg%_}b%qxTzSY{>D)<4bzf=(SZdCx(? z`x^ft!3S0D+|bFoQ!JEWR^zDP$4sMRf^Rno#|0m1<@u|4{AZX3eFR@<_yEDj89qet z&#Z?d1b^SkM+^S0Z9(G%KV~B|LGXEU=E63T zs&-uPktQR5HT%F8!}|!n$M^>b{=VTu1Rrhq2*Eel2#ywftKs7W-)9z{AovbzZwl}X z)pa_-+LM{Wx5(vvW@1a1%khhwO_|-jZk*mxNZ=< z(8hJM;71HE6uiLjt%A=pe5c@V7`_L1hVIQp3Gja5`_k6DgMt?uen{|F%!i5vFEAfE z3Oqx1#A8x6?40lva9k+!yl~gde}PB)W2@gs@FO;32MGSUS$PQX41LZTA!X0mYBO5! zPYoZZbq${&_4NXGzRnc(i_3@;M=VXMDi@Tqoq zI4Jlth945V(9BaT_)F%ZM+Kj4@{S39G%Z{Vj)Rh+N0t0FJn+5EI(-BmYxn@c*VyrB zh~RT;>Sj4Y@Wpmu8!h-2!^a8!Y7OO|p!|kU5&Th;H(l@t4WB9aDtkJbE%*e}XRhFn znY;ypkFfR^2|mF1mkIv9@fQfb(cW#W5q!VZ-yryOYk#xgb4^~M;KQtZtKeUlyq$s{ zwEpZ7{J7yofWuE{9UU*SMU$4 zy#>H+fm|eI7pN;O6Lh?-8wG+dwRK>P;8RW24T8U7<(mZ`W95awZD-g@uG0!qBUlbu5Iou$hWy$d)`u(k);HQ9q>vq=z(!bLYk4%7WI;;ZrEhv(57&M z#8WPnMmhuI-IE!pwOD$Y&LoHxUxg#K@?(&eLbiqLUFYh=(h_?tdXi)^d!kw-pXn)4 z%7O?++>_?-&qyw7c#)iu*l3Uvr8Yx}G1wjQdO>~Iu+pvMoS0KEOG01KP$cG}Et3#7EQQ zZLw%ZN|4qWLx>54>F+@?WWHohvM8LD^~aQsWu#=JWuyi7x5ZotF33!RT1n&>mD=XU zE1^5wXP(+T8TMgm(aKf>b+Ce)_g0j-i8>@3%Nj=DpR79}frouhC9GFpln%cqF|Yq>bqG+GcF zc4?R#wE4-+drRcM8#9uh9xx*}xW5;%C1FkNnGwwecO)aVUEGV&AY`Q8PS$nJU7d{7 zjI`TwvEsRmN~DSx_~wRb(F5GJouB$x1lRZnLfNA60F9$o*b!Esge)bk)UDQcp9=M7(beF##IEa z)a3M}^z?M-z!hHwDdMN6N4Va{gn4OcNtkn39&=$ibQJ3)LD(~B1qE1U4uD<;FP%bQ zkK|_hBqCwXlqvU6E(6iz)>HQl8lKas;X;%YWRh@bRgrK%6yESwOp7vXJocwi6NEQJ z10&8p4CVx$R(=)p zVUXd&F*sE+PGr|PQZtDbB24Na@+ZtRS^`r}^`%8nA@rqFXE1hvcw6i?r_!+lVz(is zF(oomGLva!6qHe+`HeLWMh&opl4W_?)7rp`0<8t)1zykSSkI#-covA-B|zxBLG!u9 zyS;uxbjQo^(Hv$4CILf>B#^+FjybnWU5;KznV^(9Xl6bV) z8LmR+k_E=yjv-A7N>bZliu;h394ANgqpOm1>Fde|RL~bJ2Ne(i~ z3|PXVQ+B|x?c%t^gN2b5)o9*2AL|L7VlZ$}73&4Yi$IT0Zq(__h@5Jw{Ddr@k%R_u zB%=|=s|0ulorr6Yc%bA6Y^@|13f=QNCkK8MJ@%=)WH7N?Br_GOxOEHiQ*mO+NXkr+ zPL*{@m{B^3#h1J?p_5o6L(iqRgnYV)kkN5$!pchKrWYRQGO^;_5v{R03O?pfG{*nFv7jKK!wUVTsm1lXLpA<<>NliSLD6v zz2&{_?f2gC4tVc+2fg>a_q`9iL*9qpN8Vwt*gN8V?0w=L^*;4J^FH^Ed0%*6dS7|R zy%XL^uf)suAMkto5Bh!lzJ5Qyzdyhq=nwJ-`$PPp{xE;IKf)jBkMbY#NBa-^WBjrH zIR6oUy#J{G4E8b?tfHfoOkjS5^@AI_G{la2dwi0A^TGT@4;EI=@SeUo(r>_w*j}vv zDe;9q?L5I%nMtMd6C2bnK3@5B6u)MfZ~wg0{#)j^@NV%gXypCqvc^BY(rlBOOSp$_UT1_G}s{z9Ff>!Absh{2T!zI@|YpdqvQ!iGLkbrY{QjriO=?9 z&#^Q-WIpK!GmU$p5oh_ac|MMb_76(zCQaF3NwnqC;+WxAt~}RI(f|Ay~1 z9VI?t#PJv&BR+1#NBrQV5vMb;&8_iqez4hyj~Q{SA5>G3(?XN%b7YfqVG^PZD>cdg z^b9V&H9pplO+AIT33!P%yp;FP%sa-9O*w`467Ujj1o8Sj@a>SVg1J-L<;ExDag-)Q zK=x0$J^rvCo6OpNrHf24vzb@lk$koV9vOMhadS^n^fqvK~VV zi}_sqR^pr>oWVu3*nq7WUdB!E9sU;$9x7!P2Oa6h9_5C`6vKTsPe7A5?n$=2a5wg^|G__uumwwuE6}jp>uTnYdR7TXp zWk|H0IEjJEItA59Rp7E#Rf;_XN?N8&fLB|=Kp=Yz835!)&c z-jFt}q5FQhbAz->9MWPhaY*5pA9}IR!860wn$Lh#QUiSoII8ebz^xVj1n>*i?~j4J zVaO36+YKoOf=B*1MgZ6t7FT+bt!HF?7tx5Vtm8`(?YF!d-5%cg80}Yl@ zx$bVSp7caiM)`4^dd@+v%Ccr>3jqmbeJ5<+(q$~YH#Y^brAz3&`ZWn)t_CQRC z$UD#`lNH#nHf!D%?`-|xy0-D!$naeRrrE}`X$)7SlcqQw)X3u zNAF2aIh97L#=UAxE_c?FhKaNG^;2i09^2#g0e;h5AI}=4d)ym9R#^$GSvpn8 zt-`6g3rM*8y$&SY{m6>p?nlEL?ta^WguCB1AmQ$}6$nkTM&%fI8y@B4Uue7#*oK{~ zs)vnBo;&^eNnugyc@54l_ry?XvllJTz>zpUYLMN_H85$IXyDCd42+#_qZfM(JhlnF z3OHP{UI7yB4uwF%JzxtE>UiUFI$nsUS@{=sDg+<|UJ|eD*;98|;`w;~PQpw+ZK@`( zr{##qr>-vPl@eDM$OccD)dgzO>Jne)#a@8M;qvn0%KzPS-d zxNmL%5^k02frMM-Iv`}33(K+0dOZ2dztV0Sv>tN~-A_he<;8>*cpkr^z{`ZwO>@n) zm&i_es%2WVOtcIXJk>H#lP$B{i!Fi1cF}nyS8Y&;+Ce z^!x$?vl!&|DD;e1_EBiM7kfr)RPgZh^eHtS^I}hHjb`OGG5eGX)4bShtF0w7n`XSE-Safj8iI1 z^kOr#!sX>wc;b`_6Lh3+iI1mU8h0$>=+<})a!UL$ya>mTmU(q0JABy`^%A$!1$gx* z|Gd-wTY$B`0bV+K=U0m)SI7Kr6tbk(tW=v;M4F$8+iA4%g>~b?C8v}!uX-X)&Z*y& z>y*3Zi?h=sV!QZUS?>ed1Cs3})l82ZzjPy=2PAx0gs+!wq~zh@nU|b5d@)9TX`2SQ zT)3%{JB9O>TqWFL$qm9CmWDXoVQKin9Tt^_Y!bEhg2fjS~;J z$~89WB+ujR;!{sEHl8~k@nVmm6Sl%m18mFXRKT_Gt#pkZ^k%$0i&jCcL^l6ILCMC%6b%4bO0?ep9td$XtF5AFx1XL&kky{5R2dFbT?W{-=X4v;#ut-N6Z#e7HPI4)tPVS$&k! z9KD7oJI_KJ|ElA>%9Zi%v~uMn-0!HIl3F<}9PW1Uv7$UR6^m1|3FFSH>w$t*uN03* zaV?~RVISk+&PeH2`7ms38{%ld1vV@X0SPz3Q9#0tZzK?VXdD4JJar8R5*|T@0kOw; z7`*g2HUvm`923)#5&uRS%hc~*o(=Dh4TK4uTugHGA&*|^^YT#oau?Q3CO*moddUlb zOegQq{wFp7MXA_5@1}!!B-WL@I}+;>#WQpy)|tffwVzV)sE+$nkZ^I^cwRl^c%6G+ ztXKJ*#CB`^&%sNuVXSBQJOMqZL0B#eYa8zwyO$n=Be71zA20L0LX}68_wZ}gShr|! z4p=)zgWAYCP>tFZ)W{9ikrrKuC$lV%oT@Kwi&w2L(rA;-{w5~l&jM_+DphWQZhtMO zdRW|p-&4eLqCrDwlNH6uF%tVjG-!hCzo=r9vhB)Hpf_EyamDV82A6>Gcf@!}1&p18 z!!DK`4O)QlKcYcPWWS9Dmm>QORlBr;YMrnn#o9-M%fR?6V!W&Z#*V?~4vLq@ksQ$Z z=yS1;$FsCGmWXZ+#;3R0AL6kBs7c6&5vh3sck ztyKlp{ww&*p`+lq?lg|zZSuyJZR5XDZ~Q$zLWns|XC}^D;#s2N@s`qd1R#q*EY>&M;61yrIY@+u$c#&93-mN3C7QCWIV$FGvj>InEC(cN$8J~e7v5R?Mh{P`9Hx-dsQ{KKKu_k=@ ziNr1>y?32r5;R2S&hY6I$^E^0#;@fE5uRi((W@qg=pyXREnCtRHXm2mkTk(}lmIFL z+~(**Zrz{6FA2O1FE7Y{b3m1z@tZO{5U#*bK_A=#irq-f?=Gi#`Z$Q2fp3(gpHiuxdk}AaEIwjrmxP!sD9sc}43hq?;E=H!mj_$L1f2W%4OH63ZZgZ#!qiy_xU{I-HHj!Pg_paw&zE8+?xY89327^WWE4y_|nNMHaDCwKk6SiH= zpW|wxVN5~~Z=z{;t7Yg;Mr#XNMos1>9UGpe<8>a?f_&ETT6b-EI<|;i^NogSSZavO z(;B(fgIsIm8h1^3jWmy4T|pzLSo+BnL&O%}jNUY0SEdiBYEt=XcuB0)H%X!os^=$2 zI*%pM=T(&?uOgaZMJeASLY?SyYl8$y=a%{K8fU>^mUj;ED^&f9SZOP6sk9&UPV2|z-sPpOUgj<klswacq}0d}0P zulp#~tyNy#hS;UPzU~C7TeG~nnb_GXs*9%-EGiSJZjJKlW?(n``nr>-ZuRo&o{t^t z>+4RYy4A|7+W@<6MRki==P6XTYI$|fqg|+iF_OAdscx0>>YgjRd%3P5b*E8XzRa7< z&k8aX=+UBntZ{|y9%Y?3(uu1wwX08qywgzKda*{|P#Kt6NKU-*W9NbswR+>E+d}iN&0)e(D(G z9Xd=|1H*y=f@W`@vckgbbUu^IE7kG7fW`u^(IdDe9#Do=&(EYAwe&-agiChZ95K_L zPe?M&()v&k6K*sqT0<|9K{)-wAhlLf5+cWWkc;=S#Dy2YU_vo|xfJI^&rw{-Nop6b z7F>MFdYVR4q7L}gyGb)R>oNQ^juu`%SCcZ2qv3!G;T6*j#wdrk4scl6;&5QV3E$Y+n@9;Y3$LJ1# zuUtFMpY+-W3%y{82ig*^UHuGPC*&DQgdJYHcnb2h$vCL-wkx(2bJA4^WutU5p_hfTrkuXy85tXIp+{#jO-Z|9p6Xzrt;e&J9;WNAo=2e%f zldDQTql)Au=ScpA=1~9WIU@B-%7gJ$g6VXZetH%55kONS4vi50SP^C*y zS2X&disS>TlH&}o+D;s2Q&kbu6RM=Nq89c>W>A2>DYtYCJuh9iRZ;{HgYRK^H)XEDqpBLt&_^cW_ z;TF^oZJw_|4T5VWOsy3=7RnyI2R?T*}%7G^8O4X6I zC7)GG@_j0Df#&nVoE58Siq(W-!Sb3xVND1ttZBZoq^5TCEwn?6!7!EENAoXgii$&P zNzX>sA`?ASt4mNzYtE}B!@O5(EYo~Jn3E>+YN;kmRM7HTHc+)}pj1#F?P71ukJJ(s z9;_|-;M%0Zu-c{bZ%l0&rIB^SC^NL?M9m)!b5dnoZB=E03Y@|MAA>*}_NO3_mZm-` zaEl6f20Sq_M4?t5T8CtgtfNCctB$C$PiyYbe3|A?*69-HoLgQ;`twE|vc&E>HWDgf zsE&9a&GYN(Na)lZS(it+t~R`&t~kodbHxU))sy@|&G)F7WtuOnOS=KjkmV|QA4HH3 zU}hB6C7nL0OO`%Tw_Sba8(L4SvP?ye40FH2fU zIBU<7wx?^}SMvwMoO+Ufp7x~AdFpZJ5qbJ~YU;<&ljUid)|waQ#P)>Mp0Bl+pGUeB zoTs}l;B^o{le+);qRz?&l9#BUzhU{(%J~gMg$)fz_J<8rg`ww5hqh!$%@vyGXLJdg zi4j+3NX_jTWW-%4h>$gOU3oJDCpOU6-Y5blUn=?f#*%MoB>B2b$&YFSA8P&%Pg}&6gW#H+M7=j~lL9 z?NhB@*L-IqslK<7R3F%wst;?d)#o*q>MOPS^P10Z9PS${8%xcC#-#RYE)bP>pfdUE z=A+HEA0IT=MWuz*n521$s`gRyE`c6zMzs(L^IOnh6tw6PRMX}^Y#~Cn zw-g~ID&!;Z=)7CdQY!CgNs8}jsWbPBOU2oSUn@1AxJvTFmrFk9GRbF!IcZ;VsaoX8 z%Vdx~yG)js{L8xp=aY6HT~2A?<+{9ldb!xAS9S@m z(%#LuO6KI^tEF;p&DXRNyl<;6f%fhtJ-J|+d**8D=+vuK$bqZHM6X{Xl{Rahe@&M_ zJ*@B=(ct7Yq(T0*bOl2EW$CqIrS)y3@)v5Y4>doi`Et}zdw+PX2s?T$8SL|Gb-2I0 zR{AnlC6!z+67#R?5)|k`cuX6qI;jm?qD_~;-0bBxqQ_pXy-V|*VNQ*0X``d_dK(#? z-EGJeZ?w@dKdDld>-w-T%z13B_VOD=jTJXi?bSDy?#VCRh~M3VHn+%$_WM>VFwlVF z0xMGC+cd}eS9qhSwMQHH5aMWW`czpyy^-`da-;U*gt8sM&0pTRAFxJ-uhK?JP{fmL z;wpW_>W!Dt5Yiu+4B_b2P8?u{)qc!?u?9R0ZWc2M%nbZ@&tSR{X9D0=V~z1IHQ-77 z*x$DP0;~Hn_@Tlk;G)977oY;|4U>1P-cRgO;K=I=yl+7MPKbO*J>u}|s?SjX5RktM zh2|79cBx(;nY1|uJdGmm$H84H;4mm8U^fKRw)wSN^;&OwJ#WCA1b_x*#%`yh0v0jR z%H8~si@NIKTTEOZbB`S+1pqr}C}p2X8BoL>n~Hb{;jDWOH1@MWTYT}el1KGnxX)W^ zuL*A|P+*NMA`yD}8T+OxIRyaw&R50{fK)+&b}0WX<(&(F$NBKvDtod4^WK8&y~Hu;2d=k84ED;+s{C*RN;WE`aHHQP&_#XdX5DhJbUnG*r$L$ml6cNx zKCUUow+yhK%!ND2iWF8B<>N$xWucjIwvl{a)MxAvA4|yrOk`7b>vT4E$;W zz$3NASM$8K#TQrF1u+ov@fOIor_p|e)>)G{H~}C*;7~!2ftP*qC;*i7eg%Rq*Nz^0 zMRnZws;V~7fa9k1SFflhC17SrPrS;K=DrF^=F}%Zz)D=_k_B%$oyuJTuHQ{co_1zs>4 zHA)5841izx6j3QZuzb0dJph?*pmVo@hZf02*2)3{=55n1JP#hWM*%2cT>)JDXEg}y z{sTRfTRbuqYS^#W9h@ULlt_0nqk5w8!%G%m<^?(&7AFQ zS=dPzi1$eV9ls`hrZy}&qQIOvM%ke@EGChk=uDeFM-^NT00Lf|lhh@+O!fNcDBezz zUZX;>pQ^Otqu_gAh4lYSg-rY`iOe((xb$omAXaR(Nmy>c^9ca?30T#i!6N-!A>uH9 z3jm44wI=cHW2(xlpDVELGw5_kb=rH(gnY>zEBq3L1vYaxd~L>BmguB z_(i@B0$4=Q()fx&-<{@2dw?4l-9JcWd^L!Tg*8o$^$;Ll zG)o>)0iTRiVBT<3(pJD}28>AnNLxrzZNVZ<&L_dNd@V6v0K|&|n@7g`{4ns+JT4ig zP3|+GU>JI#FPRR4jV;k{I7@Dw zl-cQN`gq8ov&!p_Y1N}s6gWJ|q)t>|jsf`-A>v{YKYyZ%pE!xd&zQs(TqoFEWcvD| z_hd9hQ@OXbuy3*oo;w-x=KL;BFi>9!=BU4aj`|GDuFdDQ#ubZY-dmFH2s!|@D ziVDp|#(Ps$*qUjq)r@I2uIoWyNxiM(pPHn?X%KLM2>1+atj)8Ju{Nt7Lz&6g^%!K3 z@%lWWZTEj%fl<>HC^7MSz|4|RB(i4%K;`_$Au?5+c);VT)+CcOECC?r82Gq32UtYV zEC48(OM+UeprKFbz%DS|W*IQbfZxJSEK|Q?J_tP!_q_CfI=d*^qas^m@%~?a892SxpuO6CHW ziNA`Z&@7m+&@_2gfg%HD8GtKHQ=Zk%z4EMz#N+mxM$BKJI&E2?LKYh^cmZ_R&1?zS z*nbNFpzS?W)%!6F$r;L^Dfi(zl-+#qw3 z{s{n?sARF32rMFH-4d2E54cD<07y32H%eB z)(^qYlBxeC+f?DhTNPMoKz<=UL&Hwo?7pq~5WaF7f1)njhC)00%-ycij&D~XZyA6W zL=b>J7Nca=LYoRUdW(j?)X0as$H^Ah3zw7lmUf%RpgX?D)Q}p zEblGgGB(GCr$`SEhw>g#!TBTbWqfdj?JX5`5CB9KzlFjf_BiqZzRI(>;a^w>k10@m42=5Cdf*o-WIO-}$)Aaj z>f7wuVd5-&il)2q75ef6{g4?n5El35B&H(;s(ID1T*rJww#88CxnlGiSWid$;b))_`QLM^)qDfz zD6r)j1r{a%q#5d{W?&Jyho51&sH<{k0g{=vT&28VasiMOaHy2c;N=N2c?DZ6e>GHZ zu3cQQS`~bEiwat~R)OILyu4Zm_nEaS=@0<4QM3h;%vguEsH75;bT|PZmB67YfkjkW z`--UaDg>=DcYN_xxC6Q4-aV?yIs;}JFvWmA2>>-xvfCN~3mOTg?@0}2>`6rtQv2@x z7(f~0X92M#mzbbM2>?k1hpN4Jj~Zer0FDsMJmlK~s8_KOA-TH64q zB~;e&-D>i7S?!$$?6BIe8?YMyYQKR@wAlxU4LIcuHQ*;!`+xy&CjiuTQP|7t4!Oc4y-C} z87i?87rj)87qFKrVH?TNL7Y^KUssdIlpK!AmN{pl0#k~?*jvxkZ|=~~WRs3YSxSDa zOYkCIlJkwS=tpOMyKAW4?%JofyB42vt81^`?xI`M`aK*spy7^BdbrjFO&7|YEuo;FS*`@%U+F56v-iF94#(O1Uc5`5z3&y| zpS|xzhv&2Ry}sZ3UR!@>(Y*F;)o5O8&yy%!OEsF;agFBnncnwWtM|PY=zTA{=Oup& z6rrxepVRTLmi0Om1;0$ifK$-SdUT%&(Y-jO`%KESP;Y*%)Ei%mHGkfdn=ZH+#&7E_ z_Ltod`|Mh|11CxkgEH&Xum|g{w>jQEntRz{NaNG@JcDov8 zk-tv88kP|Gi#3?0_r0d^eXpT*-wPqY!v5p#7hf5(*j*#^0^h0Oz#im36Tn(nG%&;g zW2NPm7%qpwwncVVY=y=KdqL$DXudKk_IyFF1g=xQ^-&s{4_HWHR4<$%dKfGBp2h_G zPy>xwz_AgrFapQ>8X$Q%8u0((dEx2twRWN_gr)?aV+LF6ssm4IIW5bg`< z@ak%TSsIyZlWM(CbBl#GkE4Rks;(*^Dj2Jr1A@FvTsPSRW4dm2WY?5JZgC9EqS`)caY= zK8x8#8QVN%L&z{5-lfX+e3;V?vB207ON^y1t0BMTSb-pAeD`xB$1Gc4LzRB{lu%=D zs5lE?_KJoaLr5}~hY)1k`~k?TLPqFQlhOweA&kq1AubsG@NJgH6&n@iq~0*QZ-y{s z%sx-qEgabbzLqx6*br_kobT&2vYAE78mck2=4srpW7^Ud%{PTPwY<(mzN{@5)|890 z_-RN{O&Z5y?#Kb_NIs&A(Qup^;H*zA5|?k`$r9q6$>^yzvzTp^u_5Rg_jiHDEZePY z>oi}g`9cIr)8CS;)hZiRkrz?KKWN^`A=S3kQj70Zk;N+F9nJTZiYiu7h>XUAXA#r- z)TX{XVDZfmD2ilce&SJ^topddN>gPm zP}*7*v0U?nKxr?isEry^Z4#^h&7L=uZLLOB+p26E!<@{uwvMvDtn53KeJ4V-@c>DHwm0giqWe)!KXS6b zWp>lfLiAa{wi0dT0OY9ReKdC4P>r-UQZMOAEVrR`Rg+oDMls!}e`}R(spbi>+tw=U zMrGZEux|XztQ{P?ZJWhzqu6d_U5nXPtfJo0oTiP2fh$&#i2lZ{57hu|L+g>bN=(U- zdaZq}#&xrRa~qX?BeSoysBl}9eW$WhxHn$Fiupivpq^S6vESIbM>MjVMRQzG{0^wY5NUTP!Y}<`10PCAdyB+j6etyAX?xM&cV|&WRnK(3o&`g>gE^q8n^M z<`9dH`@P~kTDHR=b9w-zKy&oz#$rENz%YyMR@^|gw8@(9*2cDIz5zk&^u)L8JW;=h z8$wt*h#lX68Xecbez5vv16gAiskrAfU#LOsp4WVF16frzXt@NpTi!s&5>f8BPkj;O zj>d9wrf9kLe96a!Ik`aJ^R?P?4H&WRe34GE@HTPOok<*xt}sIf4Z-PHt_7jntnv}0 zj@wNLO2>Q~8%etoobIbkZ4XiEn4N;u@zlCd*yc5s{F{T-iM0lC&^h!3;p&i%Xsl{J z*I3kCrSdF_-AWE}_q+w1L*zPEW1X_^Q1%_nw%*uAUMSikJ{@cOc@xp{plZEG^Kln; z!5<{nvDP{tqYe#37}E}+?0`;bqMDv;A~N$W9-T(Gd!Q+zm*|d?uRp;-P&;ma3S!p1 z$fNT`a}xGZa}_oQaq4J!oqVMzXpspmUfn*8Tenj4$%tR4`{7nS(^9BA+Ut)f%aIo3 zC?B@afjg>fTU$!E_Gv`C-I^o(9b0s-#{YR=`G#qX#9^0`xIq@*ZoK{uo5JLgAFS1| zcqJMR&%)#7Ulzt@L?}FNVX}t2n}U#dd<0#_A@Sx~NIXQyW07;N5L=X}=wk5ev0}D{ z#6xI2W-UatJbreWz%lajuT-<{yHd=$@){Af;ws69YkpGAU4)=|I@JeVC0dTZO6-If zd+6SZt7y39UZrxkppbg~ek+l;Me}?F+tUO*$!x(5`D7zyXmd?WES@69*+A3~aatnyB z$2o=9BM<%NuzIpmsd$Ulxt62ft+MEMh_%O3w<1U$&C~6O!^ip~Y97#{8&&^LQBJlB zW8%GL5%^XZ@ENM=FYQ(#wvdSBpn3sf>jem+hx$nQhm>4O;q+MQev7nMWI!SP`b~d< z{N^eRGk1jf0|eir$a|26v{V{j$)xcLgWS!s0D5NPsdw4AY16&oT?*N74AWYZRT2`HLua-$i80cQm-(PKae5inhlNcG3ds%{Cy6+y{VG zjFQ(ajvR&Ky5z1B<9mq4!uV zgx(WgjlqWk<)vtRtON(+qhrEJi#``dz$=a3XkrkaPvilhwozH-g>m}w_n>X^!@d+| zkB`uhL)M#$Ow7h{`^Xo^S+Ko=uMN)kCUlTK#}+^ zC1J2NWk->TMLtGgK3-k+SrEJM24)!BaH@s&8%t69EY<*m?eREr@IJE98Aj+6|FHX> zPZ_{b`*g*gU8r&6C=eg>=Tj)Ybv&B85L*we6(W-^gpv8eFnV(;j?DKAg72}~TPX@3 zP5B~<&Bw>fRfwqvLOwE)yo-YDk&A{=@(^}UMiKyxBtrP(ME9Qaq?v22qOvtpzb4po_3!i=doQs*n#$G8itYcN-SXB zVFU17e`tpe@t5G|iWEVQcc-}&I*%XtkB71JRPnz%kRClJC zC|n*-!TA1tZcOq|HTSJY-WSKpyif1jLGeO~}2Mj>D)bvrNc6>|3V? z-D9yFbB`wWaC6VEiMcl(G51)9sSU<$y;oh|9Bf=l`+aQs1=)4fq$kFqBo)JQ-RDL5aE<`fFqcNs}7>dSXm zkg4z~{Y-d26%|JEd%7QL>0|0wVB=w$M8W!akD?HMjaXBVAbJBbu>{5DW6Ot;@xt(X zb1cN)WCQXCK+Yt6tNtVc_i-~@DS{uVzEk4*0h)uMaF(*h%UjWFnQ~_VGsY!Zfu<7}Ktg1;-2H8HR!U zR@nYPmp{3o?U2I&#r0$N&!>QX9M>H6xhu$|Q4a6NEAc38^y`E9Q3yXC;nJvnP>x3! znaJ!9h(~yzsa;`|zrp24`QsKAQJg=Xtt$~N5T-(=Eu63x!We%D?k6Lg|1fIlQzA;m z67N!!KpND1iuA{ys+bjXZ znuJmRp0x0P0LXPpCYb9yZ7~2T7@(*>i8}`_jR%NK1-}A_-RtCOaRBF7K)_8uLPPWB}Z?sn)du zL=0pf-2i}{9`W#G01=5#fZZ13uf)WZjV0JfB!sa9*CLi6oBt)N2!NX1@R&6Vky44m z26CsDTSUPyv>*W1HLSGAA`7mVu9d=ggaDX#x-~$72Dx9jZz{tP1~Hst{R(3c0-)Mp z)wO~m4sz`es5bd)F$Evws4|elo`g(>ghLV1GI!qigrl+dnsHYOVb#I`3O}g7NKZ`vVdAF!sjjQVaby!yl@s9lx04LAchRA zqG*OBeCJar<<}FdW{bIziEs*K$ii1zOvMswrH~>X>SvV2h;YaEf%>j42)P}@eo(qGr?REstvA(Om1-LTnMM5A+en#W@z4F$~d&u!-DRHUY&;WZ;X1s!bR#5dhEB z=grq)a2Vf{C7%!zhJeTRdP7SItvAI0in7)k&%RZvH_1&RyFZ9VoD#E|}l z6zGwUW*Yf%KT4#jLE0x@M?@o6eur6tK^nASS5|)-x-=x1|PvG zr2zn>3}RMl0~i%)0HGIqXcVS^iv=@caVp&e8=a<&R~b zE?~Dnrf$(^p&G1YxyqbktpFg^#xFG0<}Osh6dRMR+}~6KK)fX@jrWlP<(&qAefcE| z>RGZ%TYB7T1EAVqRUsTT>`gu&?XlR6VZh5UmS)K-DrSoT`Gsh9t-gxb zfvBB4E}LJ4EMBYVLbn{D5hD@}=OdH8P#8|O>=V`=f^UkF07yx2sFH})Df=Blb&AtJ zYrFu67Xd((7g~!F6qS>W6^7gl!-cN0+7z&pHKvfA3~8ENU4B96>S z%g=U`fVSU1=nKSMMh|3uuBqw-~mWrhCoN_L;OV6K}$S@Wsf^bSB z6v2~aqDXp4Q90R+h{`EE8lDpoJyj9N6W;&dIGy4{gWtedR;59tNS(;0B9pO1SWfYs z$;GFJ?mYats`ZpqXYIfITs5MoojgYQ8n+W-DQG9Mf{*N`?zD-xWlQUMNl8??7>4tl zI}v}$cb?v)q2Qe?{>3Nwqj`RBd=@VDEQ;sk3@>tj2L8&kf0O-70z`ku8Gqgxe+L^t zovOa87i@5uKK>N6XKZKlzt;j8N%RL+dRCs~InPguB&VdNrB{l^;+4;-Qngz38Z~Rx zu2Z*O{d3Q2aDGN+!wVWUzOcz;ujv$Ts&~=F%`R!)qUEKRU4F%tSGBtOnrpAS{)X0V zZoDbD`3FC|rR}XhYWL%x-1gI--Tw1``^CTi@>jq9&2RtXKY#c8|N2ALAKTy2p<{NZ zJMYTr+@d2B9`yQneZ78Oe{X;{&>Q3p z_J(*vy2qNn<66;43azl_-o|E z3c@=4k@PFwVlVMuQYjKC1xumi#h%)1u@@&YTW+yeeX&=A(3*?ATF{Oh6&@X%hrfIt z3DUbXj0ClR5`PAN1U(~?7fjC2kMz7H{=65P%jJXd!5(Zy$a3RzJo4a1!9B6^;O&t#C5nrxZ>B{G`IEfM+S326(2z>40Y_TnX?K3gfT5#~xQW z26(!{almAK>R)BR(-b}j@KlAX0G^_7Rlt)Kt_FCL!qov!RJaD<2@2N){3zQ5UyI}8 zJZ`8Kh~t@f7{swctPSELO#B$cF+!w2SU(O#7hHb5r%Okys&g2NWLR_`I424x{=j@} ztTamI7Uu!WC-8}6ZwmkO9sj+0P(MP&$sUOg>TAVwk&g-6e@LXB2jau!NIe9p5pNRy zk<12}Nsvh$oam8^;C!u?fqXQ}di5P&iB)ZUW+nQ)TkR`4Cc5J%79>|B}$B zrY!mZYCqz!CKrjw;9`~14Ebh05bYDt{>rq~MEh@|QQf~V?FFL!jcC-l z`oR!$Vm$9L&w8POhuXZCjsi)s`%JGtvFwdR`?Ixo z57Rag?OvjhJLEC#MWX$QXyjnMn6{Z{_ZTggX)h5ik7&i<>&dj2iPno~AA;6{X3(Rx}RKH@&SA~fae7Q9M$k7#ghrZ3G<*Sd1`*Qlr)i6jr|!nCbKyW41; znYN8+U9IUHrfnx$7ow5N-o>;XMC(j6>dKu=+ex$>lh=u9uM_Pqlb6l3T|~Q+XygJN znYNo~orp#{cVOBcqGcQ39ZY+JXdR8#o@slD)`4i`-hX7;KBC1 zX1`$C`$YR?G&m1pe@jK=PCw_O52)xDM8ln@`0Y$PM6`b+8oBJxnD!yjer|j}W!gtX zyPas%{B2A-Otha7ji%R6m{v@*pVCU@i&(NnJ1#mxML!{SviFae_A$|Z9EHU)lZc=v z6sq*|SUcjSp=`^%M~U}G(I5k&Z=)hI{SUz)Rby>UlOF`18SNIL9R%Oa!RJQ%q45RS z**Ze$5<>G;p(8oimoMg^2%00K2CrEsdP;=sDtc=Xiyg! zDqoE3I%1>|xg0;lQ^qT!K{E5Bhd`6C zkFi+tms-I?R#Yb%#87l@G^mD*E0Z$SgVDxOlTLSjtZp>G670w7kbE*@mEd7xsTRdi z+K<(uBC<#2V2l-2AsVgX@nEdc@PoXjV6Pqxl8~V?wmm;q)f7(;#u;Zc8dO0M9=&Ba zQ-epWDBWl&!FZ#kMRAPuV=*cs^F@M3ttf?Pbb3w-CKxR_8q@@PdNjBQS(i&=WZ}&I%SC^N2pX->@Aup$UxAp)#<#cP`wd;MZOZI*4j_w`rb2)eS=$@OG z)gw2%Q_i1VmZDvAdgZzHxp&@kcXqeDEXI1Y&&$is?IuX}pHZP#F9;PpH@j>5yqrH} zYkhZbPS=hd+UIsOynWZ4_Pw%8(O$i>bMsuUyxg2_cV_jDC@q9vL#>=%=u>Hh?%lg)w@)DS=-w-b zr#(ChV!PB0*8e?a&o!<9Wip9+TYU^3xaj~6uT%}X>ksXbWW$7>|6&?@HmW0 zb_XF~=4RiC0+|Lh9Wgq8HZwXNL-hq7@35qF#gZ`&3rdGQB(Xt5tkk<;Q5tlUpM@nO z>rd^w!r_h70c%o-Y~}EvFkB+jY99n>bqnO$Ql% zl0d}t>sYo5?9nY7{>sx5%PGWX_v+9diwxN@w?}tcV?o5SbT|1%sneO|6DW6PcN51> zWDDEGB9g$H)hQ9f&?d~Y1h!LMT|5Ia|Ags6iY1I14RtsHWT4BEuo9rFiA?bDjGS)R zu(Gkjg4=8E;xWZl)i z8%76f3|X{ScF%jVyLBL`SPgY0MTqo(!_wAKZVr-?_ZIdt_v`&iL7{ZoAFhN;k@^ z-0U9N?ei{AoH0VWtn7hI880hyFbj#c@yTXr0>Xn-$XE946q3tR=`vWU>?tT@KjkzO z(oa2yO8a6JZWrR)dh1 zFegKr&RKJ;)4H73y-Rkt%i#E~g=_9Eam{o&yBIUTUF4d&3teNU|DEp+_@2Ac9YT7S zyEMsjp1T}rs=E?tnrnqL>aIiD%-w*rg=>TKYIhUTcJ5}Rzi~fAn&na>o?GrJAwA$~ zCVOs?dpyN+%iPv9&uw&XBYoCAU&+JM&q}28+)1Qwx+Lej4z8m+==<)snBUcteYeTI z=-x{6-NSC8dpq5C3*17t-%oOvxmK9(+x-Yufj_$T?hbcNQpCkvJ$J6V*fmT|#dFmX zx5BM-tKAE3zpI^G*%i1|?j^U~?QlEY>u$H(ED0fzscWE_w;8`TLLA z)5Ys;#{c8|y@9I+O|Nuykly9)Lh8BBNK;)`q*2!cX)~9Lw1vw<+S2_A>DBJfNZYx; zApMQ|8`3QIG1BGk6Ql=RKVILT;J&`fD|et!dcX5xcuQifnWgnm``!$thMX!=% zEBekfo9hwGZ(G~DCCv5er>*TJk*{Cd|DJwV)Z_m_Ut5;b?-{4{`vCX&Aou?J?RQ3n z`}vvgY5C}PdF$KL+;7>_=D@c%y7@>Sc8iftEVH-2RK^2N-P^y*J^kAl_udtZ``mk#y{ym|i5e|A0dJ*}d(eHi-wO>27xjO{!pb6i&V z?{{rK7xR+#?{o0~R96*g)U`(1!u-*~kDS!;S67J zhuvSf$1?tYlxDuo_J8F0#NPJAZ4mv^#%o^#8$x0g*r@6+9Mq~+~p zqj~Jx@Lo10;fy}3%%w{|x8UZ=>HcE9m!=3G+LP$2D=5+m8Kx z&F^pPS@cQv^Vt>n`7pLYNA~j^_Ve4=65rQ5#(%XlOVj`5bIG^i-_KOw--+wE%xih4 z`p+=0zl}4?T=e_Qp2rfO#J>JK{;%?_aDD}SpT+Z8o=aZCeBS6DU(r3fx z=r*3bNupm7(wn2f`bFq=eWP>}-W}Q3pVbLpfBbLwj=wCas>{Y(s@k~g@MHHAcbogE z`x)MS{Ty$;e&PPz{nGu){o4Jj^=i`@^{T#G#9#1N@E3gf7QY$e;JKHPrn*9;QMVOo zGq)XS3%3*L)ovHkc5V;SEJysy-782BxLy3!eihHe+L(9Gx+0{dZv&U;m-?be*|&ku zgYap?|JWk!@IzLoqnE3{onQTEsSJ~GGFo9U}WsZ z&0fHsD?*y;-a?w@_9IQ_cezpbKHw(q5YlGuBcx?-<=n?J^C=$NzF1%Fo1Lw!wzrht zwdu#VFvhrTWp3RZOc>SjZryzIEsVP5ys?(I)B~~FG;^boX1O7-M5-Ij_9#YgJpL9N zbw|0E@(z0=;N>oxy>=J(tUlgiZmHlMcKPqD`zE}zE=Wywh3*yis(a0CE%%-Ene^^l zXqD<3A#LHBBE8bJKzf(^45{aiA&t7@NSnBmNSiqa{jYXD(snL_G|OF&bh*n%dcbYw zar=sU=eTz_mzk3n>lgM5!!PRfFhaJHewi>@HPaG%_vvYG&A;lHVemYjZL-^62N*Z{c;?BT z|L=gCxN%5R-2|j9+!Ul&^Bupa?)Ee2be#`vkGw3|8zB{js{h#p41{lFKmw~jrb#pd*?&jftfA90~yY$dL-@Au?m%Us1z4z{4?aa9;>H9o$7JlzL z`nR!OUd-#|B^9if^LV}d^%<>~|M8uzm&N=Z>=?fXJC5{9=i{mSF4qEDd+t)CQFkTM zCax9IX6_oKSG((wwsSWi&Ej`~%iR&wI^Z7SXQLI|vvoY@o+e{V3s$ z?&S&3MBB@}D_eKkvwEE~dRG7Ldbjrfbnp6q@4c(OrW@a|mXF4xC5-g1{j4(KOT`-ek1%pNk3L3y3Hevzm(Q1m<<*kMG)Gsk99`(?vF)6` zASF<(>J?<>2ono zn#1YykCU$CIVXLbbRo|_9p5H7r}X2bODkB8F2+fhS2TU;bB0%fK68Jy$Qg=r6hzK2 z`0RvoW6W3QTeJ=X@8##Uc{$8B<9Cq4s@Hx+=o9j*QPj3$Kr{X*gaiWy)s?rL} zH&^Jw4sWesJ#|6f?d_btJ1UsIV*5gUj_^)SpWn}jGpGGuN|9D5=db??ec{~|EJGJI zcy9&M=b|sXKSW1w<73}z`FL0V^1)4QF!ps}i%IB=qOJ6{n7+S%5V8y!AKuDkDSG-F zxcsE2DPMo@LWW7=HZiscj@AAOGJGgRhL>^~j^xs7tC-D&zj-9Y--z?dqfaWAS}Xg< z(#78C$53pIdM;ouS|zNrbYY80%e6eyb66BzV6Co zrlOVYK#wgmeT8~)yF+?W7CKf({&9rZT_AQ8h`j{+gPQ5IfYbCI>K6I{^(5o_e`0Q_ zfm0S7aW3$*QO&;WnWt=FUS|4t4vX7Y(2EL{8PmX0$xLZuTgZ%QV~Zy_*D_NcB)!a< z3f}WM1(Xe-u-%?DTo2#F_{V=fZ~Q*bkDToD^q+Amz8M;JuIVCBR7IbnuA|RUH`14= zTLR8IJ(yD$x6gCc2KnvKurp7KJ>|4e`_jGPe?e2wj-6tC;x~EE;ljTBdyc2VOKxeL z480yGs4{jNe}`Y{=zpji=||M9#<|gKYo;CtmR!LB9!tZ01?a?ttE@q4Wb z_x8*umdbM|pP1frq>DXRZx(dkezCEK>c{kNa~B&`rLi+cnM*rUl)138pZVT?{lp$| zI?4!OEzjo}i@ysw5v3AxCB3LP55hcsE9rj3e}X|rE&PZj`v|X z`kBk}SJaIGS+3K$Z;abVT$At5^nJwo*&4;3VpCisEaEBFp9N*ni;aX;f9AqB7AG^- zhgG`FiW^J649X@ElbK7euVm)J>!*(!nfxj*Zmg^r|2GFQes}L{Fyc&jaT@$=oCDwJ zoe6&xdbt5~4QhG%HuIJ8On8|EZo)TTGBk?(C&6EV)8*L6zc=zVqpS3@XU5@b8p}M; z4zwfnsH&%qIOA>*4WTt?G`@U1me!DOow!r)i#_K)Jza#85?TY!^8c&TRozbM%2Xs>Vdo)5 zX92RHrIvE28w1Aw+wgd4F;-h#8S+Jt4e<@4dh`MD-#sZd2aw*r8Y)s=>FMgwPU-5@ zPU-4Wfpjey@P(v8vxolgB(-hcaLFRa#+5xPPVXqI! zpI^Qr<@Gm=?}ySlsE5-8)RXXKSayQ`5q#ty_RYx^xV%>4^74OevIm#fV9dT=8S=GB zCNK6~+W4=>oaZ|`zcrI&zNil&5##hxY&-F0)Yd9<8n`xz`E4>~LtUx_n zGT^MzB(n>ZJ+DyQ*k6qLn<1qp8iYD1le;yyuqs&CypRk)=|=wPsT$lasT$fYsT$TU zsTxsnR4p0$-RJ0@IIIt@Dtp^D;1Xm8%ocAC-2_ zD!t}yP;r{)qCeWOT~f7iyQFGLyQFHfilZuBJiZ0!sU?2~sfGK$;M~ziCC`ba_kUYe zoSa^Gz0Zu2K6ai#v;uNUKwI7a>#XK)gQ74PJm4#~? z8P9!J@Lb8!CAX0@8BqVutIIhpZ8Ps(&iIk#+uKY0cxuVx`ZR0Q{d0>^_Ht~A?Iqdz zmpSmy%_PnaI38ohI{F9d#(+Kc2XcEEi~))lpuItWHpM9ap-I z#hN)S!Q-%zB_4+@nJQ0l5pyl2nl&rrIrzPnTfrtf8gCA%LjR=URGGS_YgwUj=UHWqZAz0<9?!jT zsdLKd?EZ|3v-@Q9q|vRD%c@)D%*USQjh#ysH>Zm=&-(u))?9`A<>74-1Ek5Hg~iUJ zIX!E)8+w-J^laL0=;_MoIlm3)aocZ>#)+IPi|LOnOEDK)nwV@UE{liTKo;ek)3~_g za~f&RhW-xcqt2!8Q7@wS@1tB>;(T*y^lU}0XZN&;o|P|ueoo2r=cVW`Te)nuZ4=p~ zp~s&!yM$8`Jb(7j66c!S_bn`&RGz-2oO810m)J(iIexjm zelC?hViq~S3q!{KH*k8&o$X6QiGL6ORE>t~Fy6niY;%~6)SIt|SpjutzD{N!t&6{# zXg2s=MRQQkq)E`0MR}ZhR5kGP%QBdoZKk!cvTi)ihMR!X=R4ARv_5S>lW9ZRh&IM4 zaZ_kh+Ke`*EvTugCpBOmw?3xlW@7*?8?ldyFwB1J{i()GOw_qQolB3wGu{kbQ?k_&?k8^{DEa_pS}xS2lY-Qh8eD9o??? zZ@U@vbl&m$5KEk;X>s}10~O~Tf5WQzrqESRXa9vL`KSUZaXbDWz@^cP`^Df@r=>cr zHl3aL{rn!Bk};f;@`{}^4F5p`o(O>rwC;a-eTwn9^rGv9v zr8>{IX92r(w&60-zfJF7P5BRL_pRj}=hV}^h(LSM{iv6x2T}K<$MJR4 z6Q~wm^^APJWgF~)Kb?M|yK6hpuEA+OTRvnoT8RUSuM(ROra?Xq~j7T-thL|v#W zb))XI1oc2xg?%rz4=qE>B9F5otxT)n>!|~1HDp>Q(U$zHsnfl^K@uN<$wRnr_!4fZzJTjGuK&Ib;`;Di9)y@{ zI8~#bx+>gG3^-p)>gss(i zZ*?QS;w^WhZk$niR9#m`htd7?5Iszf(c|1|>UZfRJd9q7^vTn^>Unm18$zw`|6=jQQ#Za(klbdU5T{1SW=mqV~$`V_kvSw9!- zpPtqFxgh@(*U!1tr}6DTpMK^vlv|&|W{^ifKZesN)RVlgZNA9$=~b>zuW^0)FYo8R z<^9~b_~l+YkJAvGhkM71n}Wv^FKhY~^ySSseM&QLY1KA~Io#%^`*B?=cW&BkA8{L}q1^GSTRGIXi5%S0uz8!% z;MS(wW**!v4ePdvUkZyiqQCkbc0%pRT$h65jo>(Aur{s^iZkNB80~sY`g|LVBV6YO zj%^3Nb=5ZUOK#((6F3d!j`@EjN4P)D+e{f4fTdbRP z-9N0^26CvUH!z;>MQ@>AjuxQqhddCQfBg`(ntz?C&3DcuD%t$2>-o;-xP6v8Zg4xd z^Bt$5+-p4C((qv$&=92C4{_Zdi%gbZw-;h-9G23*F`pc59RP)@@(-1*f6B`DNFB`@S~t+tOd?_8HU{O8aDMk;43ii?v9u zc{;BRcqtYqXr=jN}b7q4+!D|i0Gt>6BxO?2BW4TIaH?{S+Ce2&YZyko>d_PB_BEgvD5Tt%Ov z9zaK9CFdgggRlB!Yl82ks68%+MecD~q^;F#`#moI<#t`}c@VcYv3{G_gxj?TRoo`Z zz4pMZ9M)#K7b$~#_nEr;{lL=JBI>1ErbpLR>b&^DpL?OOhhT$jqdFT|}J zYT85&ZvE1aypJolUvfKVIh^ZKx#uk1j)A`7awzv0$SnV-@CPk)7r!y+~zet;53vs-x_|> zz5kp7aW=u{Joo)yp8FOj6kN-5-|^=Zbc#Hu;7cv{9khQi?wkU*ef1Yy7UhmN+~#NQ z=f0`j`5CvqsZX1XA>8WH=WU`(ZvE@*Ht?^7oXI23;rWL9rvGu@P(&wJl_<2 ze#dv3Zz|?Y9=GGUHQHo6=az<1?SO`%?SO{W+JpwT{`HeK@UIQ@GrUYa{f@db{fWAX zs)5Hq%AjthG3dAE6=~Z#Lz;la0HB3ro^0th@UkJ%IXn z>VnmGC*=9kHG&_Vv*}MXHu2a&!=tN#M^gkIJ)Gk)Rm0;u{H^%0bOau~oZumLVfNv2 z*^A@xDC*;>yTK18m$2PkZsellv7?5^k_H}3E@61Mmy52aqYONji;&AQC6!B)505Z@ zxWJ>9`a?68%iE`19lK%#{r#NzE&cnP(r=abTXQ+%yL>C*>!9)*p%S0+eDf~nolGF? zbh>6AqYZsv{vu2tT=uDhk%Nexq_nfy zPJk8uR+5M*Nz722r*~MkhSSkZqw&{3VqeJ}iKvZzQ8)N&l0&n7IQ5G1!suSx*B?si z$3{qcT$XvtxQH$8s|$+m%Wy`vp!PcaCB8X4r#g!6+0|+2Zo8J1Zcj*{+v_;c?K)Z? zG9IGoST!uAnI<7F&OpC)P3xd(+A!mL%|o-jH9hNFpmhnm+6Z{m=kbWMt|{5L@yO(C z66?y+7QEeQs0Zd--!{g!w~lRnvqY^cdGC-w-qRh(J4-u(QgiH~+jQ7oA2&9w=q;b` zHYK|S^tv8;y=~-Z*Oh#;w3ne*GriXLiEMq3SnZmTNV~G$XkW_rXXFnV?d2Kk+O2Qo z(H`BpE4x;jc0dBl+RuSysTL1T(BdqoEtZSMEY0NJ($wmGV!Wj*eO4Sk4E7^E)$+b? zJ{{_40`1AT*5BSy&f7aCvc2P+w|7EBG>@Rke zqP-f^qm>e-svT1@9YTqom+zT&WqH~3!Llc#gX=Yk@NO0i;&+XCEzEcFWkSl zqOS)HLFQ&CjYmC`u7D@6qN`BX(KV41eEC+n}CH{V-?n zfB86hY?b(m(Gc|Q>}w(G<*MmUx{K7;%EncxuNpmD!$uSXsgPuZT|9^CVjjeElF z&;7XPUy<$I=3HOqM)Zm*C-uO#<5I+V%&w##w%ZHu*NV5R;`~(c z@?(BDjGv|O!>pf??fLE4eLus-A>r-0ABQk|knP#}QVM%uadVh{mSP-oLL@)k=K+ed zzvAtoIDQt|Uahwpagecg=E(?IK8{(7;F*1ue@LDM{&z%6Plv{OrdLbe+H(;$@w}tf zYQ3+etObs$Z%Mom(eg_UI9ltiiuwubq12j5CdV)z;9iblExD4Tq;Y9OS6_*s@jnhZ z`>Vm(*CSee(?P2$-}w$&3iGRPJJVUQ=Cqf=*>@voeBS|$we%p?qxYk6hNXNQLGOo7 zS{2`MVEaUreX>@=^w&+R_kz}5G{E36)1olhy3itNF>4yFeiA|JXAU@Q>TVcU-RZ92 zY)^wm<`u#?>&7bx-CfbpUFPM(T6N>)1+B{)v@&^ywdz8iGDetawE9&xiAIkfUEvH`4E@2N3(#cQdh5B;~B*rubzpZHD?@`jF2$KGRS||MJZ}uIJ4? zepnwh_qe#I`No>Ma2=?v3tQz{2#-v8gz1|bd8oD+U13`0hOThghe^E-vd?)l&VJcH zTz1*lN65ah&gD3$bA&WHI&G`QP$T#Lf$JnXvu{X zzTi@LpiEM5f$^6dk3%UTgF{mns3rWDpeZ&pPUP}k8U z)QvP5^#Ixkbu(>(x`j4HEqlD}c#k)o_jn7qEaWPExu$M?udf@?5Y^YMUsPYWc?55^ zbif-Wg{>o6+SX}HrOvV{no9i*Ueyx&nrK*@?&52rs-@|WQ&>yWoXTmZh?aJ6+7jzq z!g?{ceG8*0tR=TJF*${`x~fg5yN5dqW(3>r5r2l8X<+< z9O!W2yb&w4b*?PIdzH(})Wf^LcxjID1!clm`My0Oq`8*^X{wgk$S=%#U5xxxOZ%av zFn_*}1DagO`v5NQb;>U910tj_%K>kc6b_DP=}@OF9Tw5j5l&k=Dx#%hoVIjaL`x?) zZRx~_mQHrs(y0+Go$j=yGb36$+i6SZMznOE)0WuiG0dyEA3cV(Z}j3yVOJ{Nt$6TDA&wd{QY8>fcx#_c%ul8BZrb|7z43i_;D*vt#dP6W-oEDb66 z3Y|v~-OFDJW~XDWatt zoVIjZL`%0gZR!6aTKbpMmKgWK#@=qZcTWUOcR8i$fryswbK26w5iQMi+R~#Da(dip zOH9kdG{UWxvzRZeB^NQD@)1u*$mvO^++!LMMw45OU|Js5l3Oij-YBdkx8CTv2s!=R zshnPjXz6*UExi)a(n}6nDm;4sPsPj_ycxlp*B$Uic>orVgz2!`c;uZ3n%;Iw)B6!E zz3a54Qtv=ea{4%erVpLcbZ$gTZu4_2=NJ}syUjVW)tO-}xm}%kYD7z?JC)Ok5iOnU zv?UfLg!u@!Q3A{1hso&#r!=vsJB%i`Q8$|b38TsF49F)DG=1ijdn}g_#yuCg1m*X> zh-m36r!=va!sO((B_^k^mfXsT#f@QdavL|Yd5JKZ+|Em|2sMl*w-GAqbHiG4+vl=T zY#8_4j$&EV9Y&Ljs9RYsTT>9$l8ZG3s-m1%ye##l8TOH^t3m{le$6?kM|Q7Tbpu#v2#= zkd)Q2F>08Gx*el3pB2`UTc5RD1o!$m^^PMWT3W+tOKf*Wm_`hD(9#mdUexlReOt(R zwGVB(bECI@_dVo5WX+*F`TQ`fuGd7Dpkjvd2I5vIPV_JSNH3pO&Eb3;O zk9sJ*jCwk~ih3r^gY7p`9k3iuZ^Nn<(GRHS(nI+D-uw>V7puid;`8u@C&9a?sud=W zRM*lp$Yp!lfp(-s*)fRlsTh zUBfXHGOy>j37uRTSj{CNZJUGYRP!q|+{RVuxK-mTsPVXE!GSvJfO-IRLfuT=P!A<` zj>&Xl-+G)$3pn2zId0$MmqoNK$E`2dM2XuHHG*$lY9!wpG%u5>(Q*4T5#Pl3-GAg< z`WbaI{f2rd5y!2X8Y;ikT&eY=L+jRtO?C*qs< zmiZ>o(wTG`FsY++P!FJgqHd-OQBS9pIN!Q*+*l8@h+{jKb}?{UAK$CningP*U>(91 z&eCw3j4!JxTWC#$8$0i)juxUGKp&uPrbVcS(&wnB)0e1c(i^~`k-Br-8u0fb+8y;= zI@FNqryk!v%FA?thTCff-mD+ z7hZxTxm-ylIi?JfjN_Tkt^S;UB3=}cV(EF7Jn|7SPbbc^(#AYps8Fn`DiW)jip1(S zL_Tw=v=WTd`c=55uf{z^i_cSt(<^LG@r;)X3HB5N3i1?%>Q|;BC7CS)R_P?ULtyXS zmXa*Tn5}UC)mR2e7LHYivS3x{SZHUCRjJ29$+JA7zaGo6Ds6tJ@K|*O$Ewt0q2w6~ zk(+pd_duo1O?06`v3ji{v3k8MSS8Puh%CvoT(3%zHg<`cwMPgNsjC0|<+P)%rwOvJGHLfDD8d;H84KE8; zh4wgeIaZYxGrU=bm?3Tqy*kf^wDN4oa9=hgcx}L($ZW`vg0dln##wA8wA6EpU8qp~ zdaw-o6(`B)xeW28b33o)ZZ0DZyOCVa#&A7b)2C;_t2?GeuIgB$AU!K|PNSYnwAAy9 zh3Z*(W{3-&_1u{As?;O>LV0z68Empk==`F8MUKeTtjVz|b*`pRuliP5ylSCXJzo~A z3eCr}^`NDm!zg@}##Gs3}h zW9vpngMTZimoC)D-@bSm8tnModR)u=g`DM}iLT6N#y^6C%eJ#u8+%ENAyY%ZI3XOC|l|}0d z9r0IltV%oLkCWtE3?2PtQv2^W(4+>vwnH zcd#hyVsJGUURzuc_=>YEVV;s-+^aYAyp- zaUNnn?iFTnUw^RA*9VU$Cq&M598gkU|3?|TYT@e#H|LTp^(ds!e8s>r=vU#ZWq;=q zEbY4b!dEpe;8>MWggl2^@X6TnkXBBzu)b zl7(WmbXl+}baczkFDdo;1cm$fX&kFk`}jg7$WC@CwTFna#prc8rMJaG_3NXu#1Mr_ zvQHT#S-7wNvJAYcrK8}%XXbY=KaFz)7Ewdh5xH8Nh%k^w(OR@F9hO^$cEQOE8JxdR zhtpmfs3Y~nc`ALWKh7)|gp(SE;LMldG=fIb8Z?^5&{$fN*2eyZ@w5(2pow@-oDLy# z7tea_EUwkt`LQ-_J4?{?pzcp+p&m%*pvGAgsE5#O)Wc~G>M?XF>albs z>WQ=(`mPL4u&JhRV{%2=WT#o-4R}M#3=u(`z^3Plic);jB zEtdsP6y3+>>N($PInNl!7>8_LNSaQs+>f2+h!SLUJig4?N=W7Wz7ROaQ`Dbuxv%xV{htXc;C2ogk?6+n`kRT zZ=7D8n+}@htOQ&oV#rEc1KMGVk^* z^Aqq}_{H}FEt6RVqeIwca&PsE;jMlu+FR9nr*ujAO3pJstT=ylE*Ad1UL! zy^L;K-6L#Ex2#T~SfulKIxgKpanUhp2*t$agx|mFtu3jwCi^Ho4)Mnz$u-PXf7qCq zRvBAF)7&$FX5E+CF_$=nPV)6Xn*UPz{bOx9{Z7u+-wnH6oWgGZgjZ4?^Bv7&>M^UN zD=1ox^Owvoi!;?E_hc(}l$N#?apIk9PzWm&~9*#?X8 zl^z_HOV`GDoFu8*_)w!m$>i#M8&W2{j9x5m3{h*)@j-~(1sx*xlb#{@I3;JaA?dKk zLy}j;(2)!6g{2nA9+deZC86tcOCg@s`+pIW$LVq{iIWQ@bjdeclhg36yD{R59%VIx z!x`#`y14`+t{nG~GVW*NEp;Mx*Lr=l*|~mMJUcVhxHdy8K<_)}$InewS;TBj`H^#v zs=gc_bL5O_UtCMw4Lkcnvt_06 z(kC%nHa%aG(P(3=ok`kc1RG6b4~s@dp%~No>C4dXIG<7J#o}61FIcbZ&!{BV3pvv6 z$!%##)OEBh>i)DmYMdj9dI+tGdN>V4J%*Z5kEOw=C(>{uo?oh7LD}(^>CVrdJOH3dMxdY zdLm6Uc(8@XgRMLs?C9}ePmc$Ocs$rX&x36Oc_1Q`7LNyJeDkix17+tw)=E7vtvp$L zqx|~;*(~obW!`eX>@r&1Bu1OMjVTWmoV8^6qUaH`K329praeBE-i75MY!CW!t_!@2 z91-`;dlr4y(1MzY+WH z>mc^+7%DT7)laH3DyyS%`Pb*VX*#1vTDnJ^N}WReb1|NoVPbpc>yazgJ+s0^$D~sz zFN(3EV2&_6q!k5YF%|d2?8ugewAkRbSUfMswte~hp6V<8(e6~ljbZ(y$Ro?vWyBrU zHwH_9>4NGT742h;*@Ijx?TTi794N-sirQqO>Zv4SuLBWFW#}N(b#x@^{&X~Id{qPW z5IPCK>4dHAbDi_PnbGQBDN|lqHiXh`Qz@xZJ&vO4`dm*- zhSBrWN{(|3InGWk$4;U26eGc4T2&0FYpdR~cBbfTwVtPzd=AS^%bc{zGN|nId}x!% zriQP(a*v71F(^!)jm1RC{BlF)m!_6^$55GzEV$%woV^B1Ta86^X`AD*tTzY3*7Y^z zXUK+P2NRpY9*KTLMc%`*OKX|hLVCTdHv@MWVm8&v>}t`<9DJ2awQ^l`Ww)ZVVQZt8 z-OOPxyN3aJhC|3~c2)7ZGcJ*bT8^5bU*6h^dRan^bqQ?^cd=ih!fFU<@e;==;g_8_VVO+dwKFlygc~> zUY`8Ue4hN)fIPX(1Bx{Y%CZhNVk0*DmM*tZ3T;zaFr{s5oDr>Ur5MSp5sw=43QR#@tM$f>Pr&{M=EsdLXKI47usZ%ds$>?{T#uA2+g|I9NZ-SVRN>!* zZ>6izk!*oQF+pv}2r@VtC@ucEP`i+}AbVna9g2ui6+KB})VAT4xkgt?J6+EG0KLmLQOW%U>L9V%zTubd$ zI>l&dhtRlD+C*HGsG?TYZ;MqfvUg}Pa{PK9(J{33-Fc*x4hONmMeHikanLcSrQTTQ zULU*Ky*Jm&V(h5&EhHZa`o}ruXfugl>l7-pV#XN3+QV}0e(lla))0z?tut~o6WkJ; z$xwd1#n|!h&vGcMf5yn2J(W6lmW!oF(V_RZEPrBBkVJ+ugZ(V5teIY}tD-r1pX^`J zFLuqdy}(NUleD6^#c~EJM%XuX2DKF954Cz(`7tqnr!+Ar{}VRuw)If1I#+U(qkYw$ zm>t#iQ6KNy`JcF!RZBYei_@5f*w{&q=Vc6~>`l*Rh^(TbFnZ=NC?3}%92Ji%&6H6? zTr|$s7R6<36fHIf&G@!3YnX5Nj(MqlhqAMm4ahG#g#4NT`PI~rllNKv98KYUmg3M9 zBbJ?JFV(t_gfVonJC=fGNk)PYUwJ-_Rhq#+2YQjHY--8 z7L(yno?m$?nfaH#KgjdPc@OCk<(gOJO{C{n?a9o)@{CcQKdxofl1sm}(9n_v4z=V1 z1M+*RA*=DjsM-H<+p z$u{UK&X4eRCmezEoS9b^CqS85O1XMB*&f+iYQ|}T>U<8_!nIlp{?j?cI;>k1-=-i|}A1OzwH+tt>h0R6!=OC}=E5qg91C?XbGc}5TY=yPT z0<4o2C(Ou^lz$yn^jv|0Yp<_PcXEw_YtL**xGYBVV;eW#RB-KRTf!A%SSexQ@8Y0N zMczir&t93)*ITEi{HO^#DSz#CVy^JDV+B`m?dZl8TszWp1=n7==nAgA*3uPRJ6d-I z*B)P_gDYoSrFHy_6%@=8?DQl2%!G5h&e!|YVq~k}1w!n&$`n^$>oeI376o^fv%bULSt9W*jt}wqN|CKm9$8-z9_^3)uyu~e zI6?NN>MXS+akGEkU5D*@PTw7D)%V#uOVY_v!L@fUq=W0{vw3<_kE-JJL*Z<%SJ&f! z!u?!%aJI)Z>G-U8VP_3o!DTV0@<-=5^K90LklujQM zTzjS{9o$^#I8$nd96SD^jmv-HbJwb;O*S64sjC*nqh3tFO-U;&*0+Vm{88n?k+ZFpef-!$=TnxfbGD4S+$G?eX4_H0_rm=vCOwPVQW9n^)#3#Epy_);ogXRnD# z=My>%!=f#PykEH$b4;v@29HE`vROj4b48vIpdy-Nepl%qn_o~o-4{F+`{1R`6qa*RaP4`u zboy5+xW)7X^9t?<^nGT*{Xk*EW9vh)0j#3dg?~IlWl0ob+9I!E*A) z>$>&Ge679?fJI)(WTbSQ2qp-Tmq?I%{cF+C-| z{+yEzUCw1Yyb4kVWW2Rvz_R0r0cEWO!N$cQ;IcJX3hsL;;VQe+|8b!s2k5cM|;xAiMso;L;4DNRZ+;5!0Efs(5(;i&ugIl=W zz1`&ETUq+aRHZ$WO64oX2~_qORZ5@i@wwasV6IOpG#g^C_7PCijz#S?7!p?*w-*vU znH*3aK#m2J2Ph6Iiy;-%SL@T@sv^Ca*hR;d&!D<#+6 z=)Ab(vmPfT&8^wi;6}^rm5UN;IxlH^90}Fbu|oR^d!(HPs`56a+hJg@vXb}~!&`;# zMxJ+^V#Lmqy%Wn#4i{#{_9~(@_$uEJ95YBuD0cSI&IAZt8C1#Lw+XE+ivOTQL zm^DYPkVMw`9NI3GEDM{#MPE8Vd3E=r1N^w_oxsmCVFLcNbYw~+?dpe(SO^_Tkzq%IdW z4=gpVxEM`XP}r9$g7qS4#v$%hZlxFYdN(OSY1_p`*>;9GjRY00_CD4$xRy>Y>S%rB z@YVUBDpM=Isyzw4i8vp!39Au@W;?)-_6+>?%`n`n1%1AvP_xE>Xd!AlOE1hNqkKNLa0)lfSX`$M?izNrrdBR|QP3v9k9kgz6wfE1uff}4AODipV zkGaG(oxTP~plPKQJi<;3H8{_Z7OFkREcjZSwA8pk#hvmrz4#RZabJ^AeQj_aJuN4g zmr*^9%*3XJ8azLd7HV*YyI85MfK#?Rll|oYb|Ny2g46k1mRnF# z`(LW~K(4SY4JU%FLyW4ESx3}&MdS`v`}-A2igH|*PKx&4yEOhn>4ts!l+=xM-aR<$ zt>`cA#HC2aC^RcA)Zlp?+p-GPtl;^+v`~Zj znigs>U(-UhS3$dxmc0gAdY5#5AQ;!Q9I)5#OI*`=!r+loT3mx?y^FIgwQgZE>=qF# zBDT&(t%%q*Tj+|2=#^4}8^z5K+Peaz)Y55KaIcuw&j#aKoYaEz2ub(h#H|T2V?@4cqENUsyY z{cv%xcLJjs0#qm~gAlNF>LS^1Y`3AY3CN0#` z;A-y;O5=AGU&{$KEnkCiO$)Vay_&h`jGbrVG$WN|FC=DE5tF`JGWjZ6{d=eWZ;h1; zx<03xeAY{nre*WQ`M=lQL zg1Jb8`H>@-|J7j1EOlC)|4xIc<|*X(vpAi7;BYcM}`MEkEA%%2^>%xHaFb%Q-tDUSBHG(1&o zQ;Z$i`(ox)s~-8f>f*n?QaZTiX_+In-f392czjjA+*GAFpkmx&cv}jXK_efr&nW)f zKDF06_=L{*bru=SSg@U$#qVP(CH{)vi))n({U=EjVslCKSbE1wfUEec#;!s?3R&+M ztRMCsv>@9nh8Ie1TWi+rUmsEke-+FYzG6`PzCp3lSnXX^mLdJS#9Z(~taOVzW2tbvND4RJzZZwE(_E@mzw&W3SFkYQ#4ss;DFC zI_iwNk-DPpN!?L5Q4iGpsR?y6^+LTm^+7$9mO(v@mP5TAb;0*27SX+^ucCeNy{)V1 zas2*aJ_5KBr|w@%H`CG>F%G8fX$RVo?yjq+Yv?+?Pz_@ zp&vMhHsTzT61~1&@Meg{n;!#t(~ZPew0)h((ve*3zAVXJi;*81bDPK!ox3@ zkG9c|V|;kr)+YQo&WA_a@Z*FE!Q;dV!Q*5f9%r?Q zew^yVqiyu#^a{b_OdlTC6fKuDe*J9VVdg)sHt;B<-%sOD&-L-+5(AIqe!VL_RL$~; z=K*3BU4XidE<)W%7o+Y^m!NK@%TTXQSD_wC*Pxz8*P-5ycI6qV&v|C7n~{OJ!OKWp zp=G2#3(Sml4b5csKpV-jm-hgJtGyhi%*`dwTXqe|5hl+?>Dj?zt+Z>R>|ogF%|%|& zg%tE0a^X_w=IKF4NWCs5XRT}K4S2qaZb98@m~!|kFgymh(k;sGBH%Wxc~ml21#J{&gW zI2>3;93J-J(23))Vi|FG)Q3a){p8~nfWwm&fWy-jfWyBl0Eg!)0Eg!*0EZVU0Ed?< z0Ebtc;2g?Ds)8kAJAT9jH_fM{kj&reh@g4>gj~Vq`Ht3RV@R7~?Te6XXJFr$Xr+r7Dd>`wbiS*#c|{0s#W>lW zJm1&a{3N7Jk*gTP<+&!OQ(r9-HXi(t%Tpf}N;*H*+FZR%y!}LLb8eaF{7h?e#Xvf9 z^bNQ)kiJ7boPI_5rS>(XgC6XxPjm}-^V9@s(MNTX;U ztiTp4c3WvG&B%7*Yk1k0tHk$NhLHJ%7D-Q2m3V(N_DiexdsIcgpQDM0PKVRRs3lE< z4L)s%Ob?@JbiGYeJzps<&ngx?QuGvykC0n+Bf~0(dLo(l)HVuy{`AQ$8lT0rfYqpCypQNR-T?@iizv8y~L*7;!$i(Y=&sN{}*{UBeDaDmIl><4I zYZ%zA;!)WzkV;`Ag2t(k=_4GsXY#lWBoo?G9&UFA;$}jtqrn`j5gaR%XRRJqEk3Mt zTai3dx-M;ZJkAzk+`vlH7(e2FcQ$rB6#A~T(VpX+!V;;VT~XVTCh?O-gI#dt1@zZrO}<;h|VpDgOQ9WW~p-)r{cQHUHSq3wEF z2W{8n`??8@U3s4ty{{xg8w9-jY)!IvWj`ckxM5>*8P4D`+*^~O$-6y08Ez9GLwRP4 z;GLAird$qNb2*s$u!SdwjRWK$ET2ij)CWmZ7Cx6f6Q`9*g8G~6e3ayGDjQ@cs}y5_ zP;pEhMnvI|>!Kb)>!BV)8=xMWr)LB-jzwdm@P9{Ilg8u!)e(9115Yodg|v2k4ZbAGz98B$ z1|rKqX6R_t%|$>rsb;#Dlxp>+id-1qS|~1N3460|0dJ~kR>&$Yj_pXtqc_aZIjG&s zNKs_kW8YYN>_~5Nygn`oUL9#D*A87L$8k+@p_z(mQyMJ=j4C9*HiXw?z9hN-5?0Di zloXZ}Z>2gH{Pa)ZoZ2q69qGJa_7ty~(Rf|U@w%f(yyCpaRPW`)dcV_YZ;nWdhh)IuLKy(?J}@A*ct^y2g0o?~NTJc9X}^eRv3NZ2eIj zPcw8R$8DB@&xFR#kXY20+v9LLCIqK(32>@4I3;!PIP{q83(Ve-sKygE4qr%4HLQr?P;ZsK5{83KF#1hBJ){+|s<^>nCVpXqGi+z{OMO@LbmIuCDS0GT-E*+0U`p31W~#(4HC0JX{MFW79|9eH@c zJw>B|r5`^AFXv%7(12GQepeNUU&fHI^l;HqjiZU-PzX&8F+377Ov0Up80m?AK8f6v zceXEcI*2sQ9??Q)jRhvUc-p#k<0^)tikn1!J`Ix z9Cgn;UmkAEX%b-Z!w|%5>A8Qpfrkr-j~Eb@)*YJ**SdK6pA4YC*5KN|IoG7UKiycb z@r%veFpkxDZ^)fYE@b(~s6Y(_851>);Z(fAex{%vD2DTmOMes96FQcxf zS2=HAL*0|!K;4_(LfwZJpdLXBQIDiGxlP}NamVlUkp+u+fEIcWbv=E6x`94I-IErf z?oFSf?n9rW9zkEC9!YC)SU+7-WYih%VUhxI=V z){dOUVqpEqVg0PZ5_mmb1YUx=#T=sGy@2&o5wL#eQ2x~LdXUp-!m2myP4`l@9T=xC zhrGVed#tJsVoXufft@DCPDD&5J3*J=lunn;qcl3Tjm4uhupV;=YZD7r61x-ps)Gb_ zhOWD`!8MA&tDa-j$TdUAF~fE0-$lUc$YFKXU@eBO{Z6({B>HaSbUOQW`lJKhs$EZo;Js*eP&HE&K}3V(A%;G6erZ;rwf^)woF1C2%9lh#H(g2tmB zNw1?#)gz7T!1|$q7>lrVEn(QMi#Pq)zLak>o_{qRO#a2c@g(N=<@cExH&xVkY_0)! zBiPEZ`wR$ zHXv3bF%FA06G0Yp9ini3EgO5dd90P?SNJrXeZP?X&2NZXjjzA(+C}ASyG{;;gs)&_xu*7{DG3(H5?l$H(mR~ ztapz<*z@ze3CC)$z&90E@f>)Vb2SME_K9h$#^bQ*aZNsq)Vzd{nt5Mnc#x!ohMP~v zQzvvL33dAgQnxUH3=Rl7y)nR$yCiCcyIGz&BsXzgcV8 z$Dw$-AwMb-{junc4de~Z0=Gnrc2l>{+z>(>_h#VBx=OM?W`ewB< zHHa_Q@inO&H^=x?x*2NWW>gzm5lMM#EZd{5QA{j?=f#M719*Zk%Ykbp+Ci* zsWs$!t`9FpF^eS`z47v8ykl>O=QDI6;Msb1zE97jKHAc?^-;;iuucm{f!H&&>INy)Lga;@Nn;z7ljP zy^hD5*(!Tp!jJO>if>F;!m~%$f{t3c9(6qpG;&B+dpV?d+?d}{xYdyD@%(-yo<9<% zZCgy&bgL1z6%SAH&xUs_b_Ep!??yv@wRAH$n4w!y52SrD@=>1rG(0JM1(QTBG>;b~ zgWEkB)Ovayq|tY9OvLK+R><;Bj>+8|lf6SQ8G>U>er~xcU>e z_A~hl4A_$*%d9^yA?moYC-3FB-p_GeCjeLBA&1~eF=E$q-a1U7VGPrFs-D!S^7|-z zt$)_Yc?Y%6xWw9Lt!KQmOC)aZ*Hq(7?S`rcxr}5_ULV?%KLk$H(<7*x=rPnSbOv%E zwfXh=;o1|K1@`sqOdqAZm<5GnByf3xZ!LoZ zs@FNc0~=3djFVa5h^3*Bnq9rxyI{LMG`n;RN$*3nzFRkR#^fO>g)3s3Z;k8oDg8F`wzU`^y{ z^fPtE|EJS0;E3SD0zBKB7NTB}-b1ap(Bk8Qo)HVua%MGB%Y!ib!oaA5hfz-tBh!0) z09^EVt2poBk5_Hm4YF=i@5Als6W|D$89n013AOh#{_Yp3Tj&u(mf`Jv&EGj1?R}S* z>sMZT;cp2nk2J9SHX)YZ^A>;LShCg9%BJIV^(X%3FZ|6`nV#GI|vN@NFE!+_q)t5OOI5TM#&YI$)z8}J;e`^?GZZX*L?L{d_SAxoNM5mWBWUl zO(xg=oU#6=1BciNb*s1X=N7=tRX~5lGdsbh!#GY-XC5>md%0HX&BFCthF@DX*QXP@&gT=Cu zq=-Z(8Zqe6JaT99Yv7T)j$dzJhP`DROR=Krb9muw)%_M<^<3$SczPR}fHpc*E!(jg zdDx+}Ja7^k9yyH&;Jtk3G9cjyJTrRp6N*wQ1_L*Fy6^>jnC0R zc&;ZMin=!)j=E2tTdKb?aXJc5)zdMkB~H(9_-`BVGu{bJ(qApqe4X(8ELWoY@e=`2 z`tjpDKYl{qkH_~rC+GW}tg#A@*^S*lD*FzXwb0j7@wV;9O@5q?C+g`;)RG_PaemA& z_>m)h#m~yHJ-M!7ApUM3v0g!}0g^nEe%tgZqW_dU%y?(p%6E>;$lM5vYo-4ec5C(# z3XaHoGY{BGXQS>(|3uxJE$CH^u6i()OPJGBxpO?Ord#5J6 zHfR6gTpF7C4EK-+a8Ep%+m%(aVB9 z;K5Fjn&;X4Kn<@~Exh8h*wvi+R~(f2hs=p z9ch0H0E@-8@w)yIZ$nL4k@> z{>z`Z!+7GG{1eP8$Kk_lh0&Oy?*j0dfDxpeS&WDELmt*ofR&*eftQ};S2`ch(HoJ| zV7?~4)nB|;m4zpH2}17C^ePrT}TLTC@OkdFL`LyRYw_Q?2! z?KDLEVwBZ~<8l?=S1a^b{z_UyxIQh5H(O|?rB89QkymnkXMNW4yyaUA zE-0IB(Y)jNd?lZlIb&lIeAAo1JKK0yc?_n5VbQSkPb+~N%*=~V5EyJjs~WngdP>&6>pdl6 zHjc4rXA0w1ORlFBiD+6x&8A1)1aP*YjSNkT_i>_UWOKuM{9;BfES6%twqvPqTsG&p zY-->V6uDoC-m-zVf9V)Y=V5s)G@C@zAp_+Z*ZyD7GD(>vYY&{^$w#x2x!9o->mE>;O++!eu@Sxb({V ziX^ZybZ`LvufgVQ{0Bk175+8!o<*^UM@()_!l|h09Yyn@fW_dmy=rU~%Mn~UN1<+@ z3qkX@c^VG$XjbnYq zKfu!c$z8avr+aui%Rncq^4W+75fKS{43aOiN5Rhw-G{e_&=4QLnFg~+KxB}D`1JsM z0h=R;@@sQ_{^H>fJ$Tgky~ff=7C$MSeVpTL>In1kCQVs`Ch1EUzE5$!J;V8y3*?)U z?Xw&&X}ejkKbVJi>x`L%_W|d?0Nt2x(52vx7|X*Qs_^(ep*(&t z=*tFV=zqc!4fKogoN8yW(N2bb$8+^$+Qn}fzg;N(XY$U{0`!^n0b2Pd;HmMT>^G`9 z^IuUT{y{yJ#v1*G!mqBgJ|3(gQxbBVC+14R`ty3UpmYHFG+f(0SjMbOreSb8;XS4M z7`O2GB6D}zbvWT!W~KXqrY3LP-UaX0(*f`|KhbRbuEy<()@}x^>UZW7nXeUIQT@*P zv7p~|AF9XTDjpRw6YsoqKn0L!$#Hn%Ny^j-&Zhx565ez5WH4S`2MOPd>LrGukbRz zb`XwNa|ql)2HYANjOWbwRYWJuuMfq&dK!khm5vGY>$NljcXKp~KRFt813!=cr@S{* zn4jn6X_)=0U(eNkt);Pmur!TBy(?V-`}vVphulsIfOdAkdu#Le_Ktk-80|e|obW~y zO+>By*7(k1^k3`6z3bs_D{X*!Ds2sH^oaKWc)T2KhR2@V!`Tx0d4G z!&s8{H5&tR9sLBz=h7csk7ci3OH*(Ur-!0$pe<0h(BXJOalV#>JhsBU9Bsp&{=4yn zlEU(x#hA~O&1D+S>e+__e|2NCOBpDhFzNcCb<hg1lgv7#^f&FlNcOmV6cx51Ev-BJ0{lqdG7>8&j)}9%HB;|%fNomrAE|q@-oPf zSdVT-O0#@eF|AZs9m+X97nG=#?+1JDWax;1yN7vqRfbNEHIKp_HXEt9)>qT5VEm5p z;rG6VpMu2fLt?FdT|tAder5LIe|F`-X9sG()_Q*GI8OBms9UHx#1{?H-cv2VuC<(@ zlK~+^XMnfgvse-_MmCs6i&g1x8!13v9;3Ii=5x;ja>K6Vb2ZeElF5~x}1wT|i@e-f> z89jb%7-!|LwKO+zkH)k~y(jvbD}YCiuHxAAH>k+aHHmO!dM$aAq3ifNrrjNhxoPGR zaZ(@dE=@P14)&;um_7NQmC=~lnv7D|uaeIDIh_x3 zI;%qHWbuQ)jfe27n7JDSXd;XF2;j8RW2mRnR#r46qQ56_Z&#WE>4ZmrGBPo-mywD2 zE9;m1T#?a+`7G;K{Ljj0!+ci873Qxpf-rxTkpTNOL(gztnmxl)dHoa7j_~0GAqm!#@upJp_BFhQ!>3?8jd~ z9Kx&-E0yz}Sb7GtWf^0#U(G)EJ!sV&T9Ws?60Z5gyZnis#uKVN*<%QrUg6v|ec?-a z?jFYd+iU!pH&8ba`$C%Xnlj_6uVnrNttE_w=(6#p#X;rg-mz!1q4FuUOfN zdKWqkFu%^rJ3|w2%3}+CihK3+I{2yMqMy4aPTy4R>C*V#kV8$#s0{1Vkcr9B7rd>v z@s7&r*3f_PYf~OCIg*1H;?Zbd)U71;vnU*X%P@G~1i;JCkGR)L-|>5k&{i%#3y`7x zu`g{G`XBC9^Dijr{1Ce#e#E^RdI-94RURi~8Tq-GLJBtjnKX0sGjH$NK)L~|aBSlDdhvU|1K#iX_Z7YS;;UE8+w}#kOE|Ze=FhhPmhvGP z()X2PLA18tO}^JB@I9t)Ewl{3w=&+-^^M6fN6YbhKN-5H@KfGc`hXSiyr1VQaVV>x zZlzxVOU-U&=vi(L1Naj+0*4?z?C5>lZXoN;`17j;JfHFU{1)EM6zG%6on&Zr{>Bj0 zEp(8@qgH-zc;LOgxL%IrPndd{A!f@hvBdklwpGVZC>*%>;7)37Fg z&!jm+Yw=&lqi&*Fyr*`+fOhzzdJ_Bj$6GY86&NkFE`Qthi4*y+>!J4Ze*=DR!@zrD zCP>TyZHyC4)BAOceB*zxVgR_fCSp z&e7rgiS>csuX%r0Lnj)1IKksX4T)2AB){ZII->v2(UBZhKfqG`e+_Mlh-+I!d}2k% z=9rBf3Mw*m41fAKj$1w6QF@S}6ZpN8P&d&^25uQ*=jP|=6#j%MiwrRz*+QrBd$#{P zlmB`)YCjKIOwmN=@+VeBd&+Mpd7PGybTO-hCuP61(CU}Y=TI&TY-b&=6SMgfwobgn z`;$5RUJGzg{YedpNLBLvg}jalJ-Q6<_-)_{4(V#ttz`Gd*W%Y|x*qi|{QK9c??imX z-@6&L-!I?F@7*4F??f(_JNOf}T=bI_*cboQ{%`EC;&0r88uMqkr`xK2=DHo9Fkjz9 z_wlz)nc<`_?$00K_iTSI`hmH)*Fttba5#VO;lTGE<-b0Tx`|E&p2}V_^d!IcG-^N3 z{>|?_7kKY^e(#0AdpYPb#-d!K*R*)1@BS70ex+_?=p_#Gl|Y#P!LPf}>!@cCj8u!K zl%A{A95wVdo>aE`Cj7Cm-M{nL_Z{4|W8WHjAHVj^`;vF@4vUyF^dWzG5$auh@iMdY z9DRzqo=jh4_G@3@3B51*iofwSYCqq<<@df1ymtnd^AG$9TR)g4=IAGW&+a?A@fi14 ze$Te4b2!Z30%7W>;7qn;De@wJ;JsG59X6z5q#FJeAr;3SmhX?KE5orGbveYjOJDxm=dyZ`rb*!S5{v_5o>)jv@CyedDMPdSK#+n3cM$L)yn*y?W^=%#(RJd`gp6F>*=Z-vaP2X zes5slJ@M@qHbQOnzNDjcXM1>}DhgVyEBEa*17?%8#y>+dc)vD?w`cbY2Xa3$1ovz| zlA*o1{}Vf}cQ@#(!9EY&FAdDc6rw+D1w4O$IGkfJ5_KybW#|pgj^tmd5ND#>{mdHt zy|JkMveV<-ad<-aO>5)2n#QBvh4w{zs*kOq?gsun^7!w;`_Ogqjy>i^J_Nt2Su2*? zVA_?T-SAEet;gT7V~XzZDowNjzc&>)=zXi+7yNF;FdOnWHb(7_mGszWn9+x1XbOLC zvw-))@UNlH1~0nid7+=-T&#|h!9_gkUETcHKVQCd|M}Q zzHh_f**f|F-f5w!{GM%tEbrBqrt^EJ01p-SB0mc|YoZH9M58G!rMFB z(3Kjx#2DvXmhWHnZ#RgqHYgq1$k3rp@;bCUr|akdx@u@!O>w$j4 zkvQ8(;V|8Rw?iJ@0PZtaL)}W3fL7HfsD6o!E7=?e8-pFsvHb^Xe{SPgj@wCrxCwrD z=b2cW->2|5PD8y5U1sQv!XaoCyo@^;UR9tkM`r*=J=r>WHiv&Mhdk8yBGV z+s;y4J{R#PY`wdf|9VN_dxBQ+Z5JP{+y*Y=Z`*k4Ht?$DUj@u7@LrB=nEH2<#21sK z+%t3)f8!e7-b02iXXqasm+Jy?5$)X&*q(l>-=l!3`&secO@Z%;d$$DMV|{)L-NtdT z`=mSg8+Y=1%c4Df9Cb9O;ckA<<|oUIV!oB%GxMJrI*s4EKkz;M?8=)h`X1zOJcQb> zFOTqhj|JX)0>9?yDgMOmmK`F-(?v%9Q&B0hNr@A>1CXF0TasBK$Rb|Y<f~>9A zFMPjz<@@Dp-!I?#ewl!8EHiE@$lv>(+1`7mhQw;ZE{F}z&EqY9?QZ<4;Qio(C%?g_ zp2>n@mZ?;~$eB0w%TIt~a^)A_FN=L`{qB3_Pv0*rOKU=|>Sq74qmNHDzGrHEzsQpv z6cua)Znniv{xxZ5QH1$S9Uz;lw}dX~>$&7!des)2wPJA4TX$nx-iUgoyxi1t9esFr z_Wjb;_Y1?@)ST{k#-xPd&3=(O(lr?!AQ<(0^fEG}~g3&0iMb7n72!dFxEy_TiN5XHZf@2k>8K8NVvY z9SlrO4<^qySI@}&gZkxAyv6KK{o;RyagJpzYUnVI!4V-CupUKtr=##h3!azzfsetp z>hY`TIP1O`{j29s#aKvx{scVF_#)w*Xu&(#x<1vqJ{{McwfE1&HS;+V-r2Zj=eNsi zk&9B-=i}u_|J!>0Ib7@fd)~VL0 zZ{k|l*SD?b-?6UW#kJo4`?%Ke{m{BUisu>>e?P{3T|S@ST5ta|3*Hyj^IzdwZ~tpt z>+<^6y8a&5I)8q!u79$g{{`1Nf5hCW!hbRD>-hd|!TS@}IzOtqo9)+F*R{CT@vp;10Qb$1J14_xc`HCgvNS@P|L`#Szh z<63WDtgcY>^s(Tb2K;q;#2N_o{4#i6m(OU+e=ldj>xXL{{}rwK{c)}Ha~13U0PFpk z$e8QxuVy_jPL)>pw%GS^t+zMCy5DMDZ)4FXa(4>;a6GT`dnB%Pde^|U&i^qM{57rT z*TS`~-+#lkPVYLn*72WUU5oW(3cpFXuj8}6_55U9>-cYEJ--RAb$rBXSOs6K3sl#e zTJXi1LUn(0>;9Iw*7a>`T&w*x)wC_Hb^cAW-k)yW-vQS;Jv-rAhrbK1b$;xMYn`7W zyQlEo4fpl-_pq+_vaa{RwGMwj>-qredY1M6!PfmlajoNjn05aMT69AiB% za$AbN{&zfDay_v1vO4CwA|3LW~WxJ(`UP2kyo9H%_ zzI}+!MuD=^J}3)OCNBdTPzEduTv6(m17A?SK-qqIq8Cxd^&`3+WrY<$2TEo|qJvNt zp=_}d(X%L{`U8KIrB)_71?5+i-B%%c3uV1kiS9>PbpYBxX&6ZKca+ajwp)#8KFZi; z@D8PK3(;99)q{xkNBIC{i`79R%CN!UD@xBH;1SBtC^LsbMkpJ$5R)`Z@?F2A(ZrQ1ZJ zBT+s_*6y+IkY6Vdr7f1vEVGw4DYybGQ~VGH19qRdAbx+~Efl*~-%70Syfqjtk{ zDEO>A%|w}xGHef`OHs0W0vD9mP=@Y>cTuYM#&akyq72&y&!J@YCE5|?8IKy)z50+h85g#Mv?i!yo^(G@7!gNXJ(c@d@cV8{>UW0ds{fz6?GJrsOG z`47tQzY|@AvKVFBVMGt3EO$83aVQ_7OgI9vK=~GBnJ&<&K1CqnO0UP2ji5^MqG zCzP#ECVBv+&neIyl=o5ob}G>|D0Qb1?S}F%l!lr7IEx(uc20-~Kz zZbIpJA@D|d31!Gd@P#P9plmyvXfDb!7ZV+W@*&DPbBL}(slNpBL3tjfX|rYJR6677QWG|DPh!R}DLLfPnQ(2vsN8t4Sdn<#5s3wuEM z6J@9Ch@M30e?8I3C|{sVzTy9|cP0QgRP6(wnS0;6WiMHh5DL|o_EnUWHWk`c5?>{< zv``A|TC|rW(n8vmN~NMrNKq&f@nug@TD1B9o;ml-%zfVb7XE$Ti|)OC_snyibDr~@ zGtZnkGk4yLn1UIw?Gv0!U??nv`cD$N@C!i7w{m=gtD)*Z{bRK5mrLIH|PTlf{!5aCdVrDffwK#XfU2*8XkaI zP;mltCENgSz*^YrE#eEFfCW(FZN?LBg=MhAJB$O|3`?NKyYvyRhxxG0d-Mk$hF@X# ziTDnK;UkE@&p5%IFcE%(wv#wt!ke%L8cgP#2zSBz@H^}=g<}kczz@*y1CAq@3l*n2 zP7AmKWE)@agK-UU>80-r(IS&nlkTn10U0@(Ib<}c_6FG9J`m}j6D zJPiw>%53%z^oN&V1=O0uc)?BZCai%5pEF)?7rYO@!ya=PFBk&TA@K#rDRhI!U=Ea@ z$9W5S!!wYa&+!KLz+_kldwof~!ch1G8Z2O5gqhH2A-=(<(C|ORBTRv6U(q(a2(d-P z2MmLiu-{_#8+-`WmN35X0{j6jmlD75AJ}6V_TYWkdO7`rr{QNfYz6THU%<{^v!CG& zNUvlq3BzDH?EMYn3sYd*Z&@?IQ}7cUx{8>F&tS*Z>@Ro);@>gH!C+VfdwoxTVKP)( z!?_b)fIpz+53D6%J~aH1`2xnnRzIc&y-h>QKDzt@% zK>n}L19(c}I+zCA@l=XDVLTcfu1k)Fdtm`o=E<{`@Bn-SDZXtx6&`{murq&^cM&`c zGeMppJPYoGnNXc?BTt6g;Un;P>f}J^3d7+OkpDY(UpOD+|1AFmin#u24RRed8WzCz zJZ&XUwaM?Wz7A!1dgl}%9R;AxB=dU-=WdA*nkINCX}s$zi>ai4?jSis`v}n z!`rY5_O9kS7s5!G0adE=3j;75K7{hyxz3?*2|Nxn!K=Zw9dv~UU=D1zJ>N;f{V)wG z*L0l|VF0`Y|AFc|u&-b!%!h4j@&7Hr?JyIn*JfYA!|)OO294_A58MpnUD@;Xc%d+hH6mhZ_6R7W9Hg zVH*4fJMZT@=fT}D84~+b4*J2Xuo$*Iz;#+c4;Tt_A$6eZw1Mm4d6);8gIwo0xC)+u zc~IwI*Et^gz*8_6Qcd{XTR0bPhjFkJsvbf+&;y3TWcU&4HYFaQA3OzfAkoZq_JMO? zAdG{rq3WTo(;T|N5O^QfK&``E=NRY(kHZY$KLU4lfm7gGcn;=5>Tvvnv*9WD6ucJv z-^_3dTm#R+d?<4SaRleUtuPk;1Lcl%orB>5xCh3=3fQ(K^AB`|2jD$e4K{^JK;gE{0(+8Ge9Tr!bep zr7#>mfS;hwsjhP@^nyp=Ls$!SPh-A-%i%Hj7}i0<(;0W@2hYMBC^~~*#)H%0dKeA! zAl;7r0qtQRyar2Q>oYk%p)=eI6X0v8au)Lzbb&$eHhcrs&SrnWWiSG!!ynL~J;xgK zg;DSc{0=*v<2on674R5*1Z!c(4)hf+gW)g*et;d$Wz3)_JO~qEHEh?>bq)}cm1v4Rb9_Jr86|RA&;R{Hg&-o16!!7V4dSf&n1qv|A3O;&U>!8PkapoJcpoZtVGf4DFc0c@a8W|#`)ucU3b z5#EB|V4tg)@8Aje3TpNxj-UtJ3D3hE_yy|pV;tZdxCx$sk6|s;?9cv&3*jyp3$tJi zRJxk;51a&jU@(k@S+EAGUqh@zJGdO~gE252mP7Jd#syl#)i4ak!EE>u>RpFl&>bFv z*I^F)1of|H&V(K?9Hzla$lO4zLsMu6m&0A~6ikA}5WA5$fU{vBjDxw58Gv1A13lm& z7zfM2yNUk59&k4Ff)OwS)~Je<4Y32iyiv!6cXi-$I$YiF0THXF)d@ z03+aKm;tLHa}W0505}@XhTd>5yZ|4-GDzIZ`3Vkyqv0&*2{*$d@FGlsFW?6#x{vt^ z{so6YYv>49z+EsBUV|y{1^fU-gJ=WxgqF}Adcz&?EKG#iuo~R^u@4QP8Jq;&;d*!g zo`;Dr7gj@JFt%YgI2=xaOW<}G4sXD0_z{X8;Mjw`;Y7FyZiL}57N)~u_!Y_w!7l6v zZJ`_743ERR@ELp$sRt3mxDRxD7_ZYw!syf}bGy5ar=OXbWB78n_Qe!36jezJ>H~&PT8}w1V^D zO1KY3!fP-SzJ;QPIi{d790Bd1C)^4nVFG*ti{K|H`w0Dn2G9iBLMONaZh_(O9J~%6 z!Xo$uwtAFf1^xxi;bb@$dc#dH4937Dm;)=|H>mg+a|P@RM?yR30sUbRJPmKbr?3>( zLS_X0hh3l2zVLZftj!zeuvB`{DnQ>FlYnk!{u-T41p(MJj{fJ@GUq` z&@NPmMsNTe0VhKTxCr{gJunhphPPold;!bgS4cj|dJ1-gJ)s%2h4#<|`opboKRgDn zz`HOV=EJw}E0lkVe!xz!FB}FZ!})L}41fn=6ub@}!F>1@+^1RV!4A*}_J@{mDs+a+ z;AXfF9)TC&O_&1nVFmmIv1hoZg`HqeI09NjN9YYV!!URfUWSSAIeZJhLiuMI2ly8p z0!PDH&=dN?tuP!$!@DpOmcb9;KF9umYETdMhr{7i=mNdrR=6LYhF9QSm<@|yEfkF= z=Aj-mhC|>4I0w2wFBkxK!(;Fqyb04_0elU=L%HV}OV}L_gcfiDoB{ua9&jbx2zS9y z7zJbCO_&Cs!(#Xe5-+fSpe8hc{on{V5!yjl=nXf*UGOlx0PnyjFb`J3Z;&3tH3{qp zyTSg@99qF?&=D?${%{LC08hYc@E%Nuxv&JjgV>AMgB@Wv*dLC9w$KSKfqrlsJOod| zt1t!T!V>rneuvac^b=}A1K0}=f#czH=meL+jc^wXg;6jD-h|086TXBM@C$79GRG*? zgWcf}I0{aNbD#@c1-HRq7zMAw6qpN3;5%@}vR|PFG=%-21+;;4pc`BTH^Cry6rP9i z@FC2FzcpP4Wci=;q3(MhWNW6+Is0q8k0dORo z2xmiA=mR&wAQ%B-;4PR2^Wbav1yZkZeGheE4`>Rli*zF z0sUYg41p(LEW8IZU?Hr6KcLJT!~^UM`#@7T22O)ca4}pBx5H3)3SNcxVHSJ^-vKwA zoib1zc7}bRIh+V*Ls#enH^Cry7@mVS-~*TgU%_|aj3>6B1~i2IparynbD$es1-HN; z7y)D8Etm%L;A{995)&AAs0F*hL2wkD0-c}-Tm`qlV0awHz*{g4=E2wS3#8s69-uDl z0ZrjJI0G(#UT{6!4G+U}Fb*ceEcgmm!5>iOZPp-AA9jZ(a15LV=RptX12@4S7y)D8 zEtm%L;A{8=Qt#jw)P+5uDI5o9zy;6?u7|tfVR#PSfDd2}EQKE-{x0JVHJ~Bv2Q8ot zoC95<58MQUU<8bTw_pm)g88r%R>Ln4dyl?CWvB@|!5(lhw18G{3bcm{peOW!>tG<< z2M@t0cphGZcVH^ag88r%R>Ln4n@As^3eCn&7l>X0`1`fxCE|(0dOZg03+a8 z7z=O1hwv$U3Cmy&tb^41oFAbE>;${RfzSd@fYYD@TnLvzKe!q0g<{eh4yehbcf#19|pi3a6b%(Q7{@_feA1P zro(Jl0Lx%CtOa)}?L$SV2DPC9G=}}58MK5G;8bW2=RN9wKcs!A2-ToAG=RpiKQx1uZ~~kP?csdr4!xm241hb}ei#m;U^Kh} z6JQcdhuN?ImceRR3+_j>4;7&r)P@Go81{!|&=O97Q=vVa58a_R^oId(2iytUoMq{+*`R&19gEk{~`v?5eudmGpms#0@1@@lYMlXM5t z+N5=0N4D$1PHgW?+K^OUjY#GH*xij({?@KB=^ogTzsKDdq>cUI0JaZ;CTt%<+6)fM zB6bdE`v_=>{wV4n3&%riIElY-KaKp;**+86Q?3KZ|8aO8bcU|b9i%@OQ}z&Lm=_q&_M#GEn3i@&ICgmrP zzQbrwBK-i}G?)ROfxPCDeu;h&$S;zuq|Udrw~G8V@H6~|&UK5N1Z)Kr+_GrS#y1LK+brWy2-FaN8x@h9A_&NxZF z*pN0upNvfzKkK8E6U0~fyIzxTWScL?pWT*YQpUU*b)-*noJxQAn|8Mr`P(rTX)5SJiAk!aVE0ZA0c< zlV{tnM*Gas>|58B*q50+*FTYx5r30`uT`_Yi{AKeeHI(0&8VNIT+~;oCvuE)LXkh# z;!6eMTm0epXWIeUcEIX9e2x3Zs!8MgJ%t=sDc^VPZ-RU~zQ$)OGw)GD##!o^a=HE( z`$e=>Q(f8o2mkZOLHf@i zm@zTK5^M(r{9&R@cIYDcVMUv%a*P-ojW@XSaUXFt+^{}&3`$&v(nsy{|iWdLw6rm zn)|WJJis}SHRi#rF%NN?vcf!+6=ri*mMvIW9?8n`DCcPB7*>|YIjvY*p5UCw>avZ~ zmi6Vy&MD5RtT9jLf6{5k8uKjYY*v})u*y7_Rc0rC!QnjTeExi)vvZ--g|+5IPB&JY zJ)EAbH7{{4buMGA*_*ZI6|6O{WUblP>BnmGYUdi(n%A+`9M1o{IDqx$&8#r(A}&$?{)5T2C?!S%*u0!^B`-_Va`L;d6@s};!#$guR0@HbB=MIaGrFY zVio#~^Q`k6E79kj7s!3ldC7U%8Ow_FRp&LQ5l_gS4z zcBZgCo$7q(e8d`cy7RH~3G39E&MfCs)~d6eInL*-Rlnf5%=xTW7dQ*~-&Vh3)w`aJ#cyhV$L~I^;Wzw$}6H z+%0kwZqiM;X*c6;<(6^F@`H5c-3o3+j;Qd}m3g}>eSVPiL0TV6I+n2+M>@_a=Po5( z>XeVv;hr6N`!J9Hv&lCGCU1L=KA|SZ;Gbd3*>oSuZyCht$NvYexw2y@|Ko}LPbGD; z)MQqx3zEv(+N4Q8mHfKQc{Rb5Ns)R!#!d>IAbOLEZ0ktALGn_}f}YPl!z5QWi2UVDmJ9wqLb7Tm6MdsmmjScEzkAs zUzWG_OuA1n{x;u^k=QlkVaLJ9CSPxxeuTQelEtPiW5><36V12#BR4OsXMD}w7p82< zKFhwh``_*#NhQz9cH5MbeN((nSSE~P8_z~(wxs@sAbl*UytH9;rtMIc z{Nj1_{qnZIl8S#qbUP|b8-meGeM>loGG4ZhEniY<$5_fs85tKzMV4)8M^ce(8Of7z zmbT00q*B-Bh5nfGq5bmNIx;4<&9E)mhbBHG&tlp!<*hwQrM{8Fv6MbZz9m{d-*#9| zd=J~SWo_JvEZgFfl(YLf|Gv%Do3YY)){Yr7J9eRM<4@8b)8ci-ri`WbNAipfqZ7T9 zEti9_C&z?s&y)-MFS5n%YbmSC8$WX6+xQjwXZ?)YiH@I)Yw_d5v}M{feX(ujJ9ecn zQJa6~wjBrY#U2axc(AE0BdHxHTV7Jhm$J58RA+6J4c4N$HjK@1U+2~}`EpEJ+qNyS z8%63xeTnL1+t#<`B+s^Gw~a6P{EOz97&P|nwn=UK)~;>quTtBtO>KSamzAS>ZBukn zL~muWW9rJ^C7g4tpa0ub_L(Id6Y;_JH$2uw zpBsb5S9^|cm#mj@XOZv^w$0`jO7sC=;<| z?MQjq78|y_)tNC2^QElx-IO<}i3z)H`XSf(G7f^+FtKCOvgC;@wyfUR4f8~{V-l?^ z+tPN_FWFA`F%yo1ts`xTKIQvj>X~y&Xy5kLrY6qho}!5l|TCj-m0zv}5f`S=lznRPG!jK8apz zTBNL9hsw6iH}jdaEqyhp^_oekUYFBJYooL%4o3dsfnt92N zwVBgGTV`%BeF@{tjz!dN*au@ve73et{m_qm^`tL${L69IQrd{x6kSvtCn##5vQ=2b7MDrxy`Xzl7oh@VgV#iSOEzx?$mr$q6h-`hcZEx-8nRBTv zFJ)xgwr5jo-?nMXi!5bqx#+gEV`V94j+yYdvvuq_$CL^CZraH8PwLq5k@B)Fsa*#c z|8wUe+aFtA%1GZu4t)r1iQf8c>)JMLYU_z?%i7f1l{VzbR*}V~#rD^hkB+5n&#pzR z&ZgFOv|VdIT1K{`Wuz@B7e(}floj8~WPO!9DJS_de~T>tSDMWeS?oz_$I+%{ZZvx1 zPgu{^G4@QEXrA>$Qftq)Z*19Eu=_V0TkE^+pKT**)B11sugKEAv2EJ4+tD;yCc16Q zNS?*!N&AB2hkY?^S>HrwV#17Z)F07FIXgew*s-atYs*=iqPIRsU0dI7+f?e=Z7DC? zHnn3YX(iUg)(=}=>e@D}PGnh^i!8^Y^+!^>ExuXV)|WQQWy_1swrBE;9jmwXrEac1 zv}^k>wxpb`BdPcu^)V`W=DnkRKc zFLotgBRZRB+qSaxM`YV})YoXf^}&=2eYN#$SxL)h`(n03+fr8St~CJtza{cZu&&9~S&#keQ;V*!; z<-SMd?DO~4vd`b|;y-_17Ax}n{a!qaUx}?axixuCzY)*hH{tpFCOm&HTUKhx6Zl8- zmgnz}~Hv<@x(d$?xtz ze}6I0-(SuX`|WrZ|7t8;%TxN@oEvz$U!K3eiBC!Gr`-~bJbynp`~3Zo?AC)ki~g81 zf+zCLbNPe)t!Ky`LB8b4)A}PQJ=A|cL*DDW-^_lR=kMP}mYlbF{$6zN^8EeVzAPFk z^Cr*VOO9yY&OU$tW$^s{LjU>uh2*awZza;Vq>JENp3nb*r}bB|El=vp^Y=^rE%W^S zx0H}N;q&(yp2L^t@5}Qneww#Dm%ptqmnW6&6z^@(N^XXCIo>8GG9{ zyo~=@9ve;EL!g=e+1x$cZQ&llb~D~bBN&E@xAE$DJ9>4!+0>}u?d&z6 zhFGra?dGjOzZF(jVRJP#=U{VZZwW0mpxsqiSw#<|NAsyI*5BrtKN9F zUqLh8dzTXLl0V6t>`mcw3h77QG;g~1vG<8L!<*^N@;>!GBWI5Hxi^>GdER{QOK*X< z(EE?~mAA-S>@7jJgme+!tn_QFqULvOt?_>Fe)N9we)iUSzj(iTzxlP-QQM6z^kT6u zvEjzP@>Y7Q{IX?YWn({j}PMA*iT;LSee+Kyc<(~owoyJs!;1Y?_kQ;iGAkPqoq&j z+jOsP?BLiZ^z3u*=veqZA$CHnwR)c(J0sREc4q9X*x9l6vD0H6V&}5eiLLX{oE__o z?rgN}W8ElsE_p_GE*e{^8``rd*O@w}lWXfp&6|IBPo9%8$(w?+* zu3x(|xgFppr zfZ4GNI2LALdnz{i@F(bERqW2f@+8{(h#GUS*UkF~n{#PdJXuD)ZeEr66m-?&(R2ctvT_%<1^5FNd8>f>EliH?S2}&7_U~w zn#Y<Ev&qT1!5!@Q>Xqy}8tw6_aCohVSFa@!7Fc;|}eMho8~M*|GNVbK)K1b7LLj zo#Ll^=h42=c8Pb5U+8s|_x-RQ+m)b4`4PT1~=)jnSJ_)6Ma#t7Gp*TGvE>npHZC4O?eD;}QfP4a!2!C0I_ z&AGAe^yE}ZuB6>1u`9hkj8h+f1kLz$WW?&lukboDT8-k9{GN5flc_PuuZzbku_(RY zn>H?FUoFAXMa*B_7&Fy8f{=)r}|e0$?nAMXmhtQoIPFS=4kdUP>$ zy7{AVDKp@e_$wvbvu8TQdofq`^iD=P2M;O~i^ ze=d%9j9*3%WtQ#3C|9AU-Pw~@V!LB7l49#pPsZ{*w))1!>khP09a+Y)J)ZW#PWSi~ z_%53EwAm8r;&=;knzN_6;nz9Xw|l3nA7@>#Q6=8pYvkLJ{#Bt?H?OB(P9jnEWOr;! zDx=WFZ>uBw^FsD!H@MIfAB3)qP7nXgajAcf=*1a=^8{YVsCA?dGGfA#nDk!uMo-U- zR3G-o#f*m;@e9~DQqGLL8Sh5;X2!OI?@=FmZ}zc_NmtHM7qQnQ=R&Wp-@A_V%#`Sg zC)JCj1#9^tuUe7pXX!@||6JG0`>JSB(c+>dMN5m86)oqzv}h%7`CL-;9qE#yAJF{7 z_D}xya?-_=TTJdUbl*`@J|#Dk*eX%Rf0s{GNK{Nz;t16J0m| z-ILG5;j%<8TIrSOM2QQKTe00OA=+yb*YUm~aUx;@-r4i9u`+ zPCUTpgNdPuVSEnvKOg0DsQ;GqLEe(uZOIwN`@Y1TSa>z@T4Ef$fyH|g6WDs2yjR)2 z)z`h|w{S1px1f8KI8V7#BY8ZgV9LcSaMOKD4F1MFeNgindH6b1}7>cD<&%??@3flj)N-6s>wS^ zD<*5Ob#G#aC9i&RCq64C2PGOMYokddW0Y&0+#xBxSH%9EiT%)sZxxf7 zWRv6}$)<2fa&@A4azUa=@`&UrK95RPNFKx1>O?EboIuO1lWmf1$vK(wry{RToRDmn zJd?b3$@Y9U;oSx*B+pBpPno0G?t;Y%(1sE{lNTp1NnV<~EZHmBJJ~9E1-7nCUX|>d z?3cVUd3ExdG?41pV5?EsW32$x*aNrQ}b^pOb58@A~8giQj2)9c{X)RalCr zhLf92rBdlsCiOa=y+mI5RE1QgQyq zL{HkTkF;~DL8@V@QR-8?y&?H~a(8TPn|hNL_D=1S+82wflI2t5k_V;6BpapYK&41d>cx=hf>2+ z52qgS{aH-O)qef&lgHr4Px#S1H5#wmWIZ)r?oKQFre06Ik$Mvg+oay2t#`24Jasx= z9g~`zT9o`CH5EUONKH#kPko&FBsC*7Gc_x9c;Yik&tZSeCI8dp{M47J1*y*{@l|S3 zYB8mjrk16ar&grCPOYT;KyOuQb;^kkO|8N6`IPt>%`d56Q=JpPr~XK-elVUj2>2xN&Rk}>NY-36L<@B^vf3JMHTdHjO>r@X4)}(Z; z^wnOS^x=t#$%^Uv*jh{gJ(6sc-UT~l)064f%+wy~S+uhbYim;brDxFIuc=u2_f(U# zF8H7jz^@wOtnlOg{6$I`k@fx@)>8<1;<=TyjOKBJEyEzhfZp7UAL3ihbQk=bMGO7#V@;|IR#vA5c+*mECzq!tCB^#WkQEJSfFj`UDF-D7&1INv2yQz9e#I;e7@A z^GI?=YDRh{BmHUmv-Irrob>1EPKhtl7bNDVzf3PkFHE;ee3f35UYuT%UYcH(?(eNg zbNr{jNq@_zRl?uz(=*aPqz8IGrGHMZP5+Xvl=?0GJ$2WS?`FKr59xS@(|#tINoCTR zOlE$1S?YpBxy;P8M{cFe)@Ukc;+ZO$pVHMb)ia$EGt=9XoAK+^$^4wkWa?$=XLic$ zocW%Xs~n9F}RG zIXts}=7`LZnU*HJROKzXc)yU0#D+keTugp!EoBj3% zV()h99*E6@Xy@L{eb~J}Gnl$VD0u+-!}0%Mzm*|;-tV_`9M)Q9p2l`7Y&W6S1+;x& z<|T3tLTW>;)|7aIwp&y7z|7me_Xp8VAK(9%sL>p5$JgmtIW9AU&so%NN*|=xM^W>* z%zP{^$a>g{{3U2RlYc1Xj?a9<=Yq`Y%y*gZDR~s-j%Vvk(!TU@2`$XvbAQ?lZwJfG z=gseJZkmUF$M|K6P?D{}>;FFjNxp;Re*^@1mQ0>;lUGH)1K|Hqg(`eEupQsd?Z9^e zJBo@|J=lrgx69jP3BO(gWw#+YZkMv$(B^4dlD-$lG^v7zS@3D zP4lujS<$a6bwd62Nvr#_^y)-k-cq86$Nyi+R;A?P*gdS$*S{Nl)e*7yidzzK1cdv-mwF zd4;jjp%h}HBi}jMR||d@>Ki{MzDb#s|A7`+B#8}4?Yo6v$$m;r^RhYCW^Q@@$5*Fn z@(%XnU%g5vHf%3S@~-M%#`TsI8~={PMl^a5u!t}lP=RYepI!ES>!&v{W@4O)^ zWwTzEPkEbHG+%OTY=ru%$+4SkY*;U|ohgmrGGD_#1QizS{ zHEe0j8~YbxgZmqs{xxiu$T{T@?yaovIpq-lNVlI-)4Xhsoe1nXCDd0>Q5x4N9~7=rHjCIOjdRMFO*S^{ z?56K|S-EiUYki(GH=}4jH|%d7_br@LHj8JZxC+ZWY?mFzd?w8pHdq0#`sM(HVX4bG&V}(@7iwKWMiZ7 zcWu$wD2?lsWrgdM!djFSoxNvnXY0ebXFhk6oj0tPB`ihpy(Epzm#|;I-xn?X{)UYW z`^y%GFuqF*^G0Fb;25&8VUI|eH+GEKqpak#bbgz~dRdZR|EzhVG_F%VFPu|0i+Q6o z?u%wN*?FVzU0Z2irz|S0H#UoTqcqMbYYOL-%_25RI&kg%OxmFfpW3xD?l*YVq#3sAmD9jtBy%wFc$<7;v^+svO zM$1ih-YCRIX~)JRt%mOHTe$Z{(7x1 zbxY@YQR}66kni=^zHdp-nO|0j4L=C>j!V+i-!A#%uVbS(mHR+nxH@a-I_E~VZia!* z9nRg(ea>L#LFb{Y_7Tz%&L}>ga-PlRJ@35eZ;f?cbKYFoRkoQHe;pfJ(!8;}FmL!_ z@b}CcUpwm`8#`vhuO8`6P6Iw0IlE@_{^d0GxAt`QcJ_7lXZt|sU_K9Vn)&&M@!2f+ z{}cTz|HEiQ*>R4D3TnHhb99h%EZeOdS&1IYtYPL2ClVV+U};uLiqA@!RJM$CPhv$z za_!r+X+Nc=dD)z-=v$IHp?>?M)%{soI_nMVWl5g>weRa68=L;$wS5zbjlwylX-Pqm z&HrbeQ&tsX!{6_J&pE}}fOE>GKW}_jh>b#QFar738*2)&@i)fCB4_=tVSn`7b)2=N zzd7sp^xPuXWTxD${H^dBwwyZ=)&KSy)`?uh7S^JLwP^G@rJ{R+2~|D|Ytg2`SmfXM z>$T|CZe@=6D*jPljn5ix6?X@>4xf%w*Uz<_7U-Mz7z``!<^a`r7-RonyIgGzimP7}WcX{)K*#68q)>c8b0R(jz$%>%tiCB4Qc zF3FUn`|svADsr6h3CCHJSQQ(e7@zQpydp`Xtx6tqGW1F98oVXPymPlqO|kT?y^#0o zMlEja_J+hp3xDJbv9YmZ%^ji5DmGfOzwPh#9GyMtj&)nHRhc2E;#70CbGCPO;JY^a zIsu(f{MFi(dtYtclYQ-}{%144*nj8V*XeF}@2j1A7VU-S6vx>uw!Z(DU-6#g&#}MF zl3!bLZg}tOa?f$@VU~C_u{d^5;-19b@x9}cI?lrM!t{-P+S}_*DY*`<9?TlMa@S7E z$~$+#NyPVxzs=LB+<;-um7bUEi^?_fglkye(IV4aX_Xd84EI zZxtIm7v>EcoEw>LDf7npZf6x6)4aktWg~+kTWw2;jV|s*DmG>p&ME)D&~Ubt*y!%| zRI%|}AvOxJ;eSVeiF=ufjY@^}MjO&UNkp|GwzWewl&(r`+Ed=-#33idJ!(VI}vz=n>AJ-51S$ zw&(81{S9+pGm+p%o~F^#%10Zypi9hn0cd)Yranz;?EdE{ZIKmWvKg5v3cX4 z`hCjT$@Td@B{$~&_ur=!Vk37C{C6e$eM-B{A~x3lc~LuR4>Jb{`Cj3(#E$kY}ZZz;7tuMI74ZHD*Edt|>)sgx}F z`;^XJ=j`_>w!TUK_v?)X?+8->{LV`G~8v5JkC3$am%4L>$!xU*DjJnro&7wFEOX_Ly9k>vXn z$+hqG9l{MQZ|xSoPx1Fd@Vh<#>wD&(xpP!(Of1YBHaIsj-BRv-&2{Ig*f_9oe`6zK z!dBZ-V&hA9p^A;^g?Yp7 z3+oLTiPC$vXQ{hf#l{}VC;ixXGHp`FkyIp!4N2|W?!&)IH?+L9SBMQ6iPDRWuibA{ zZ2VG~H*9cjWGaW2{f&k4SsN9dt=TH+Hx}f1Kq23&^kQR``<;r7RfY9NzFo8dd0R?s ztZ{!-vEglkf7e#{9=0^ThyB_8Ma9OGg?nEcFh}Gox~0q;zqx;?*hm-VjeI+N1M;?% z*l;|LC-`vaubW4eiW4z;3Y)mbDpR$oLVXJK^v2nb2qKb_bg|(>N$s3t&DY4PU zJ4waH3x#=OBV)o=+friV6z?<@86JTOl?Iv5`F>j&+W9qW_nl{OU>JoMHy2FmL3>#>Iu$ zD9jrr%o~>$VxtfnCB#OrLTnUbqlDPFybv3O*eD@3`V?ZL5E~`L##M#bD8xnyvC*#( z8->^?AvUfq#6}@DN{EeX3$am%jS^zx`a*0JVxxrExUmo$h1e(|Hf}1!MjUT5hRL;I-ODr7Zmh^V`?$y5Jd)PtVv5vfByrmcVdstg` z(@8r9PgczEkMh0a#lJH(dHM6LPEsimmfAc1{@*@tY)EX#9yf7Oh>eYlx6Layn!1BI zvWI}<3}W98_J(!lh2{Hp$1Uu%{)NSHE<~4QYE%S!)t$CogvM`dXOwhKG4r~dQ>3Jv zQ!2a7aI3N_=M*`An72KPh_?7S<I$tiigVfBUB$Q`** z+C0xGGMh)wDI<|{Uw?g0F?FKnl#$+k#M4Mm&M9*KFz1w!o_*&#r{uPpD;3Tu=1lUx zIj20~$ACFoJjJ$Lr#$05_b2C+=O`tZI?;V+=8fmP=lyfa7|K+3U-Cc4V(+EkIwd@( zNS>AKbxPEt-hLHp@~Z4U;l1jO^PceEvfePSH?sPyxXC4N1=lGR{jKHkn9sL|AHhe7YTkNUpWHacNWkJW+ft`d9OY%mBK@KbtoOGlTqn^TuFSp}A{O<4a*J zD&z2Xtwr^`A#2gXyrHB1?~*sidBdC^WW6D=A=j{Se#m#7QU#s4hAruwBI^y&$u(?c zSJoSqU9;XOex0%(t!>CTrR4R7*?Wa~L&o9nnm5M#X9lyM-(p*0;~nq45@W-0-lNoe z{@OtwO=i9Ep7*|QbFy#k1OM|w?0t}Dy&-uU5*yQe%hK+6Z<_b9H{O4T>x~(KUi-Fb z$ZrIzi(mcK!6)%gf*k9i$;+Q_b&^Vnu+%5<&x7?wm}_lrTsq4iO%ofRu?HnK=6G}S z#)fHOE;Z)sZ=6PRIW+7B|zw$p9^Z8Yt*pR#piH)V$F|S$PQg698%YTQl@pYiL z2^(X2(~Iz=>coifss>y(k+SnRzN+z+)^uqMw+Lnu?+W^Nny zI>m7c*D3$~>y$rRi{|bZIl?8Ua1EO~E*m0kj%!hKybj{K75jb4-+c}H-@f-{_E2Fh zD&z2Xtwq1_=YO-_Se0FGeCMsnyWTLR)=)z*QuL@X^U50UM^+Jz^D|{CyTACKzw!A? zp7n<0ZOD4#5A2xNHy+!uZ#;R2>kT$H>DOJs>Y|OmI;dJyHOR4!o4ow_Rwt>H2uoEh zS{?K~%(XT*F8#CXlw6DUoKm<>$sLyskv6aEl(-*lW)4WOE%(e*u}m!A{S7k;8A@eh za<4*{jBlf?r4K*_lGLp(I)RBAUQgVoISDyQ-;@>luEqU2H=aR}Db^R*oX;HCR@;!6oTj4rIM)U8w zPSNWPIp_af>kU~~6xJKj*x$U?8`b?4jJdy2gKfDtSu<8EmhZl(>18cS)rysTU$j=N zj&HLrHb#2&eVaS;SwCi<6Sa3jMJsnh&3k?Bi#GHviyzfv4P(2+s{8M7ExKEvkM5C8 zXZwR-Ejr3ygT7nzZjfWWGE#L)W5qz47PI_QkV0p%6cQ;y)RSBtT*hnO|N@OQQDD$D3m`)Nr6yqo%H1(W0I*K z$Q^wb0?}z>^!}%OeCw-1eK#e4qU7_GJX`*=sfa&wl>E7pw^IE%NvcQcf2iz#p~`Qg zgobm4B;D`Jllsj6RTC8vg?MRWts9{Hd~cwCc~L z2`La1cmC~f+W4@)JQeEAFHwc^1InMd%3fpDUR&kQOw*p9D<2=L^0k#bUya}Ms{YSP zzd()OJ;q+pfhs0m0{K~`ze~x>Rr&r(f3K3w-}HpzY5q1Ol)v-s`IYFs>wS|Q364X2 zDxS~rm^Yu}Qu4F?2<=SrcW&`~j?=t$I9~JSbKK_5=lIQ=&vBeLpW``iKF4+5e2(wD z`5fnY^NF{-`NUn`eBv)}K5>{gpLoohPh95BCqDD$6Q_CenJ@C@GjHV0Xa2~W-?D`M zay&?RkXINd%qw~GnP2keGtcDBXTFhqV?JV^c_(i^^H1J<=ApdynSb(@FDak-iSqV% zv;8gJf99=7Io4P?$GPif&y$ofuZPreE~~Dv9lO@D?K;l=zP|XlaDK|$AI?*G^EqGT z&F8$8H=pxY-h9qudGjAG!9M4;yyZDRkstPRfEkDEDDjtV{!=7Y@4BzcC`lFnW#wRh zWc57V;};3@UoiEu`d}P`@}tzc<5|^iA5-5ni@(NRaXX#W`D3(iC-lSk?>IXe{{nk9 ze}p>!zUh}J-p==aeLF6WldYGv=QvlH^JsRUtiNG-vxdy7sioydd`n^ZNxr?%kKFML z?VRct3G2OK>;!&wP~+TM={u_WdORnZeh2oBGW7!oW+{7vmEJs&75cZm(#y9m(RkcS z>E)Z;sJ@!go4>FR?blKI*~-2jE|K_`Z+xQm8>;&9R}@iw6{X)^>31}G|5H9z`ugJW zxSKzMe&dv~$CcweZtMm1mnwN{<8Po}R)YP8CD=FX&EoCqb>@S93&C!7p3gZx?eQM! zhZ#SE40F5%VzJ{TdprgG__x{*cPe==<4<5v?!HI&i+`CD*{|}~R8jp7B1ZIQD!q9O zFN`Den-HN~QPr1U0f^f3hbLmcg&L3DRsH3v{{BkeN$IO9{Su|$Md`;WeLbarS?Mb& z{o_i%x6)5k`u&vtK-K>PlzzIZUtZ~d&N-huPHm;%LtWRFQ~F<2{q2-~m1^I=Y>w32~5^UX#4+e+E5q3V}Y`dUhVt7^Zl(#zfK zXng-m=|58S8!7#}O24Pl_fz^ZO8=nJ`(mX3<}X^p{nJ?0H{b1t`mL3|vFhK>N+@lhVJa>if&3Nc*)_{l2RFXeHmL`RJt1?`HiF z*3aIj3d#@lx2*rJHx{`lypFWj4cUBa$Ck6Qq+xK(j z<3)cf^yf9@ulal8P;b8337U5XDSwA4e;-o*?yvl9r~I9${K>ZO=gP+`O8>d?*Zj>% z=x;gGUQoY_@^^yrcf9g9qx`*J`TLggC)<9|-m6Ognez8Gb^N@m%Aak@2LpbrnSTTO zAFJbWy0Z7Su@{v8OpQkmT;`XB6oc}5@f|6HZtP5Jku zvR_8ozeUL>srvs>`a9Kl@1@G$q1wAkmA_osyG;4tPSrn8)$gj>J44C;QRRP8_O4U< zo+`d>&hgKU>G^cLiHBhP_4lsTP5nS$EyteY%vANCF>-eQx?Z-up#Hy=zn|xncO1PQ zYHi8~^-omwKQ{FP{aO|8-OYFg`iE5c=E`0JQ$L8$qf~znGUFfE)AMgjZBOlw7OFpw zDSu8?`e)SnWtwXLJyrfObv~=5{9mT(*Ejm0KjoCa{nhx5G5!YQ^RVjgr^fcb+{^hFv5LJIawf`^7npae~^;p`;F*&d4;lf zwX*k-((hyX>syhJ1RerLv_pDztT)$2+`k=q3E4iPN`zyJQYVT$xf2-u0N`6e) z8?5vrl>Pyw|3=9pRr!@l|G3g0uH@U5yuFfdQ}P;R{}`peM#&wOe2c2@DE+^ce1?*D zQuT)^xq~Wyj*@p)R+hjA5{5@N`JA^msk2@m3)Yjnr=N#+HV!wvvSaWubldBEIa=M`kht( zwlc?i(B6t1*^MpmYue-4O-lP+!|$=J9MrFvQ{Qn~dtxA{?`7@zR^{VfwZF3Sch;Wk zW&IEAKdt<~QPqE5>3bS|(B1;&U-o)Buz!!Tcc!veUFrKM{rO5>rOF?q^qrObiz>gX z(Fgvw${A0`$=+`X{6ATh|6TPr`@LwkyzBP$EeF+|xUzqh^6y$@?+R7^GgW@3lAluY zlR2{MUTORZ9Gab@cbs`@e3~iw(VX(GC-+;5g7|Zs{gwU$)!um3zl&A>2IbUuoQ6ui zSIKu6*>8p8z#fl5|L#%c8z}j{-1^0ihof`)@4C7_=2xcd@yD;Gs`dGcIrSaqO4Z*V zRrz0({F|!(yOMuY@&qLxr{wE$`tQar&)Gk&r{wr$=*tEB*NurB&Nq&eRQpqZzdkT$ z{p-ea$Ip%3o@3ATa%IQqkz1ek*RA7`s_g!CW6B=>u3J|=&^yj9=KBV}75QkXzJGW< zXFlhD2vqv3l+1tn$ji3xIFG9SpPA#YoXc{{Csh4sRsFT9{>iF-znuQK@te^%4EzaX zzm|LqSN482?FITFMjyztlzvjq@xlL4q2!55e$Kb#8}Ya5n)nOs*H>~qC67?`-&FQr zSMnQ5eo57DrusKc_3yEq@o|e}JP!%azg7-9ls3n2(4VQw|0zoTK*>)i`AsE{SMoH~ zzYmrCk&(0hndfsN&tdw{qe;BJo-;0i9MqHN*dotYmRL_;|HRFB26nP~-x}?DYyB;I zyjVH-o-C_(9O4oiSu>7XbPe_P3**|#S-Xz2%(QFU@%8(w^2k;n7kl+Wy_ExdKjzv? zNcq-bc`I9c-p~G4*e@gd!GXrj>K%vU3CqRvi9^ZHI%vnmafmPS0=q?1uy$nF4=V@t z%=bxw9lM|X?=vIqs{Cwq{LKA6%JtUJ-U(rQSvmCI=pBdgiuxIwOuZ^$Ju3%(PD3Br zzg||hdfz`U9FLs%^M}OL&z1|u$1~6M1^xH3-&bYx!+x4_VZCfQ->U4d-0!(uf1Gy@ z`;(Q6j{|WS9S83--(u)b_WoElKlI0x3+3GVXs)N^go*E(rS@&&t-mJKWSa)rrrnZ1u6MJ*(Gp@)lFymbbDkpAdcjFz&Tnl&x>eTiM!6 zh`-dgdMzhKA33h9Y|DGYbM;ov>iHg3trK$B9gcI8Ij;xh|7FSta${Bh6VqOxZ|%Dt z`0uIxW94jlw@CHJ%2pqf@j5LWPb*t}T=eYkY=f?qbM%q%^7WD9H#vZk9mD!ow)Kmy zWh*)#D>*JQ^RX>&W$TZB-ep~5^;Wj}l(gR?)LYr=eSgjm^;&ji9@{7MU(4~E&^HL{ zYdMi!C)oD1TqO0Ig!Q$Y5dTjJ+qW{g@^a(X@yR;G+PAW=m5-xTJY~=C+4AfgvrY`; z8&rIruj2DUWpB3MQc&G_#orA4iHU!a{bS{z!qz$MyNNp~e?~YST26|-bJ*X!^1s9S zzCM&4=TznY1m*v6s=vpp^10_H$9W*Pzkd9j7inMiUqp^ykGxape=&Jrjz4ZZD`&^c zO=jcCFU9`XvU`K6Z_8`hACC(o{>gYE+w#c=kh?_mS=s7~#Qy_Ay_K!r%eL=(fqzPN zoTJrv&hbmy_L*x`{GDgYXYJves{c+-eK)4RN0{JyX6?JazXvM+k*)tlw_)#~h+fHY zksF2Ot(^7GjmvoL647U6t5@Hnx_*02ReQ*RKeB(CMf6&h_2<5k@>-Vm4~^8%%7J~6 z4^w*N9DQ@8N49!@KJ6artsLmZ-<}bDR?g91tn|o%UXGtjBKoWx=*8Zp5q(z9(O;(Y z$X1__{+|`izP4L%o#)y^Q}=5xtU=5`X80{%AQS^Fy1kzLl;0 zgv>8(L%o#)y&QihMf6!Y(98Iq9MNZGt5?qzxCuG`o*F5im2LT$%)im~QC7Bk|9sB* zEr=(XpCjix|NM1&L@)kCWr@Et!}0Rt4>_pFg+e4Imt6wxMf3DJZRPw)-e7CB9hMMnhS8`7!->u~HmHdE`hbp;`l4r)H z*I|FYSMnoD9xlZr<-7ZrdSU&Gl-yOxLsb0>mHvHo-{u`9zoq2omAxTKUq{KcmHfD> z-%jnXW0ic2lAlxivxTxhSji74xv!G9Q*sR@w^DMElFKUjY1O}}N`H~szsD;17$wX6 z8QuSHD|^dS`PoWdq~y7({v0JwSMoU3{!U7NgxWvNmE1(hm#F=Bwy~EDXxGa=x9Yb_ zzq4|9-@@qmg}I!+Uv}NBpTU9gNyZ@^(KZ|qh zIZn5n_8jLTC3jWwg-RZ)#!K7ltjeFKobqlgjz5hfJ-oC zx%#~M{Cz;)eEv?H{BVCF+Ue&|mFO8&&=ZW$!!H-wCRGdnKQxbJ{JTc!uQhTo9@?K%bIQB%d6cXphrIs^TmzWVz>Utc?7 zU-Za9{m+r3?Pq1{kaLmh@6X21YSySyIZul$cI|BICWR<`wH zU-~`EiaZ~cm2HOet^^W7zRrX#=ih#^-v8l-z&)pyIu5nGR@L7@`TwJ8ud4F@Bc;#EfxmI3PpbL}<)4;QrhL$$ zmC9a5`CHcXKPX>WwRe}QujOY{{nknzq2$HN-l`6pGsyV75vu}q zO1{R(K|Cjwz3%6CnRDx80Mss8<2 z$;T_Xk&;hP^0`VLqU0L?*WQ&tTTz_ps_y%qfU=4po9qdWqC{L0H3jE^9SqM{PS`TnX~-Ti;}zU0lA znR8~&yz}aIfAz2R*V5H>yXz9(NO%U}kEwk36TK$k2MJFl{0ZrMg6P)}ev0a8b2?08%#_l%P(%*TCQQTyfb<33LK6Z^q0 z+}{?>$9-~9{pIoFzPP9!tdkVY$9hXq{pImveWj=#tala7$GTZj{pImvovf%H%)g7~ zV;)~re|h|vw-?njpqzZ%#}?IJ9zX6|!JoD-KhIC=+hb$8DL%Y!;CgH-_oTzATxcg# z%kdNUmqq<7k01Aw89(t$Aaq@L9MnuXVtOtx*3ab`Gl|CWmt2>0N?b{L(*4zWo}Mtw zBl?--PjBKspYV2PCB)B|PYLJmKN5Q{6TPL=m&QBPQ&);p17+9R7fH_|6*sK668#>c z*H`+Cd64LTBz%zc?I8N4YJ4^371G~`uID`{?vE30sp`STYn6Q)F@73!-10cD(0*ds z*P~8?vA-huyPI$)kDV3yxPbis9^rEcV=%{Gu#e}C72Vpu2suNqr|8D~N%>>r=fGVv z!~c<@8}p&UHYfb2Cj2&@1Y9c}@AKFgt;fdCfDhk~IBoE+WH)fu&s+WXYI(Z+W}>4z zF8R2W%3%qYsd_Y~1J&~niN6=&9%S!`$B92}iT_Kox1Z?SNxp>W*U>!m65=06^vXo9 z;_$y9{({DI zZ%_DP!VO4%1o?9;(fg8oYobpe`CmEyB+g0uZcO!Am+*0fnZF&;|3YydLi5TzcHRo> zO!D(B!ab>6-N;^dg>AH%>~~OfJYz<9pt>Gf`&W{`%lVVUE%NWj;yrkD`t1BLS~HLFN1|;WG)JrLeWE|C{bUxzKOlP7Cw3 zeH(q{{7v}s81n%)PjrnR95(XTYv+vMBtH4;uG1p<`Z{i7-5+c;)p4fn?i5u%JQL_l z2D**%>!86AGnC?al3ypt(`__G>9_VNg)z>Od@Chy%%bQrxd4`s-xxMyIc^ zTs)u3zaQ$fNq>;%x?5-bSV(pzC_BcCCHgOjeg)C*SLLvl?{9V~ej73UD@8Y^k*Wt9 z$@j(SJRQ%p5`Qn{pN;%}kLh^gu`!+Kx-mKj??ZOWVg)WcNa4*O=FcKHb+> zfnJOsO7E%Eeg}}A%4BDp)0_JBbK-x-UzZ%0e7x!Or|~!{?-AmTv%-ALhl}Q8UX1); z*G67Xig!7SsXjlhyYVg~XUx4oSv@7dof5sqtWb1$hB?b`%toTWpyn^eEcEj&$0d?a z({*|q@xM&^)+xG;R+0UtR9}~p{1a4Pml1ui>n~}XLVcj0fU__k_d`YVabJY|5Pv+Y zO?K8$zbvD2pg-Wx2{}q0=QC_{J@F4_O!m%k~1upy?&QQ+BY= zo^DsMFGp%O^p}@te0W}!KSU%-Mlul(G^EhK+L$=i4%=*MRK(d#@| zT_gXFIDKgxJw{v{XPO_1jQ$7>X?_?Vf1=075~=@-f)LgP^Ee+T8w<|FG2lEM&wEh6 z)7Kxb?_$yq9P~STU5E}G=s6k3S|k|0I!d4$(~#O%DCZrjoLG+}xi%yhTxj9q7WCVA zEbLd!*sn$91wZ~0{wV*xMDX8=d@iBm-lbBO- z%Eu0OmNySQdp!;r=3Hgp#?OPEu0PunZQqvM2l@?(KOSG7U=UUL(I*wQC3*i6`?Hll zw&Y%gjroAafk%|T#=JoEBSc^4u&X3!wvk`|ba8fo_bSAEnrjTLIhL&s+f$9C^P2#yr7QS&AD_xjU(H z8PkR8s}K37>qGVc)c*EV^48Tyw!N1sx-rcN>wUYt{K!l^Zlv2# zY;zBj|Dzo)Y(Hq1nR-P(CA+)TIAe49dUx8SAMGVO=qLC~>t#IA2N3S4?AchidzstG zU(jb`-R^A6<=m;_Xk%_S{YanCv-QxI=-iGgQ#)%+cng*Pal#St|G0`64CTW!Aw+K- zYx)r#FZ+n{7yCF7jub!k>`?6l@8A;7Kd0lOD5`EDe?C#|!I+w+ z0CeBlf$AxydRj~Lzmb232tT0s{q-+9pV~&(^MQ&V`;U>n?Zm&t#WO9JJipKb3H=L{ zB(9OqPqEZXO2__vs$TH@IoX|0e)T6@N^u%T^n*&DjhB)AwN$QN)L*x&{_WRSn`h?t zvfkPp=~F-Nb=swTqsR{01^&`F$bEkU!VNQeh29Y9TK5uLki)($N{=xwtNw{Ov+mD! z9dx92jcKar`2K|A{~}?%{$b1=E*@#Uhx_&J?tVSZ5A&Kbx*u@Uj-=eiEGBzh2ruyd zyH6>{bsjq|IX$1s^D))mCl056`E@DmT|j=lN9|-BbT`WQIf(pvl<;$e_o#M*bzQ2r z`BaVtir-rO{0-*2)Xq;={$lSJvfrER^(EZV@fXHrD8*$d@kvXRvA8+)bDy8K)28Il z*@W+=em9-y$K@nIslFc*{d}Syrg+>({4J>b4IMo#zpQJt5|cC!_xY(GJ5)Vkt&i$u zJlSbN^c#rYLu_Ws*_H6cgg>ToUQ2PPLFN9C_`8w5X5`;o<)4l32Y>eau=X_G{F>~| zBz+%{{e6U&k$g>(|B>2%9qA3oXw;0#^8+9u-&V`F}z>di(x-#y^$ zhiKbqe_k{AKnZaU`6*xM7h6=jF{Y=ohqWv!-)$71n~1)c=(Wke;K5wgF0cn5>8V5b zIcf(Fk)3+PKc48#h`yBO8#AbX&LsYKXuMuP^le11Mfy5Ze?Nib8xx*L{xu@{RKl~U zypxGOhv1j%Fd4d^h#G_o@7!lV5v?K8yTpNcfjjpY@5pp6Fvqe|56I*U>}o203ncm`C)#QG1;as`nY>$7gikGmz-B34cNSrxN{3D%VF; zZ^sk=Nrc}Z`4efLh?lDIm&PIV`>NFMmyq0QvQwXMSHgb2mGAXnxnwGy{&lumn1GXiie@a64crxKh zDR$2zApXIB=il@M<9EWz-Uoz#L|CqS@XzJS$DNhrGsQDKPBJvMr4s+HiG5ot_1!Ha z{|joz8e6yCitho$sQa5m_880e&)ImEdF(#r<9H=+bF+~*D)G;l$&NF`&zL&n>Q zJmKH%{Y&s4$X~|q(zx!Q7Y_bouVkXnQsb(%JWtuZddLdpYqRMfKf@_|rv7mi z(f5>u!>4cx8^2OxO$E5$y)L(W{JgbuaP9)!ua9zdkh$vw?UpkHWzd_}j zNO&aSeuU+IFspyHvXAEw2){t`FB1NM{Hsmz+e-9Bq<^1_r*o>D57)to=D&@n%nHL| z8Y?XP|BU5CpxXc0ue!U(Z&d#=@MhXQ6n_71LSFaVnwExouEap$KJnh#% z=E(9_l)IvQS>6AA=N0v)kgqVO(9809%BK`+`OoK+uf2Q^r!P*%6yIJ7e=|Pvqk$e^BkxsA@Sgu)3Ri zyZr3Ov`l^pX5+FW&U_r@8{HAGxf6G=ZGorb{3fK)NGqX!Dvq1M(-XA2a2$!F?BaD0 z{IY9lBkII2>sR(o7`zh0Q)lKSYw%#*=ZBr%A>mO+gxiGzdxFc#ze!$w*fs z4MUoS)E}uIQdK#J{7(424e1B4dnFv40e_x?lQWQHH(A+1^kyXarbi!@v2!@@pw#M^;H?CtF$V_&$=X zvdEqJN*uq1<2oE`;&=&?JV~?{Np?oL5c2X%5(9948EC>QGT%lz4M}#%dKyXe$;!I? zn&{i$c@;7rA<1eNb{;j`kffd^$&+0lBK1Ie7CuQmE`aPh-~+(2<8L46llFKfl013e z2kA)0LO_)dq9&Nds^fC5a{@NOK_C>kh0y6^Usmj7<`K$vk>Pi mkRHRiJi*ZlN!nLel>cV~g_U?cmUL=;?D1q2oJs(`pZ>dZ6aJYyR|gE1k2B%sbSqb)`O zkyTVgmWU{zD4-z78jxKiQBe?(#05n~35tq>eQ*T z+}po2R$AU*+rpnZ@dF;r%E-=~{8D|N$Fl6J{rA`pTln98_#V&0sNn~y-iO`7y2rwQ z;Q7FVfGI%65&5v?dBzv?hO>vqh3?9}f3Rg!J$`U_aQcu3EuSGmcMZt8ZMbC-krWE0 z<>iHQ^FssEGP0~h;`IvMb<2%+r&;kdN^Il1{(JQ+ME6w1p_OV11q$;rsh59fLx zHeR7`_?46Upt0?J*f z2S8+}Wrgz6)3UR{PtOgf<%eP4RlB$*Y6HS~`MEg{#_F}Li5_(utJJPWO5xm$w5*JO zRdTaKO*G+VjINnW4xoqQ+$0pr$R3c9iwO%+$nrA~BNI(~h~@ES-WMOAV8{7vn=;S# z;6E?wUi^&%ZQDMt$M)cl?TZ7umdB>Thh{6$L%A7eCqUTi^Md2GYeO>5V|hG24`gBA z>m{=gfmVDxve>cw3BPt6S~nEBAL$-SPs_>*Q7+|K@qc1At;DuSNY2M@oQ(bQZ@DAX z1Lktl(_pV(e(&DBukDP~t5xG^v;6I%X?_~BUBiQi zrVR;YV9E8nEx-4Wtln8xvx{nC@X~Ph0GMkYjbL_|O!V%5`;C~$%BJrO_3nK~w~*E1 zbe#_f!(Nk?Zs(Ovkat5M(DKi&Dyvn^0+gN=PNSVJ`OoYwR!WWX_&Unt)Q-`iVIPj! zf=`+H=UwQkoNm`P%cS*xyRw}w3(>AVBsYv>U_fX{S_aK-b<3;Yb=fpo-9w=P;elzx zvhuOnWaMLi8HCk$>z$!n@9Y?|&cEEXeA&R9-22mV2SCrX-%i@yafe!8JWLNawyg_pb5-4b zPwVZeyy+bECK{wudUH~oZp!Ec=WseA&Zp|%YTeXzw$diXa}y0hr!!A|k5CAU3tKDY zd)v!gyIm;C{cgt^yS4hTW0`T(Z@uHvkk$HnSMxM`A%`IwXXP-QFge-bP+C59-|q(6 zfQMf<1X*BRcx{bLVLNd*zffKlZV^M$^6#acd^lOTD4Iv7afp)FoZaLP`_lWieCy&K zt_w9y@2&$ga`W;L!`3x*|Joc0#GScm*?DQ^u*C%4j&KgP+INe3aOO$GD9l+#QmCbK9MvJ33>sqQi4@ohJIu(5aF-W{KSrwcpJ>KtuVtX&L!>{Z2~f z-aXQFnEmoG%UEs0Z-)=?gk~EHzQa|n!P87s=T4#O;$`-_jDRUYVUGi{cLWDYX zsgXFH2)GF0zDkGBV5@V?jC8?$bVwHVuKvRYVjJq0PjRcX63zM@JeZcorT?ta0K38F z{Wua&L;+DZ7S3 zgTf}eqt}v3pP51sWUdED`O_ICS6xLTY8f6nP-3^gGaHPd_0C> zYt9Pi)0*vdx9fQqEEIQ7G51)yBZThHpa;kY(!)c{L(8CHY1mcs!{KW7q!kY z*06A1Zl~@lgD2yRLB>EoB!Eg_6XcVVwtDLPYC3jn5E{hX4NZ3Ver!t4HLlyI+4-<_ z;i?7iG6qmoF{|bhPES602<|n1a%bzRx7TZ9rnE*|PxqL$a$VH*8YN?=jswD#^6|F( z!B+2>$kpJo6SEfDM)#E(b?@#B{jd~}K!b0;5f!UXsyhLlx?~RqUcmc-lpN0k7z=8FS7^b;`Ot+OyIuK zufKUQ(cAh<%w4f2SGCLJ4Rk-g+~8=!{oDHMDVCi|)3fehqq*M+!3 zA`9Y+)Cbk`x+jkyld`$%&Y!V3gE!Ba?Lt|n)G_^y6_t-E4QfYUfb z+U_dLyEhk~pa_;`+WWTP)ztKa9=kMG3GO)sG-mcnJ!=G7sg`In0T%*mI-58ePOI* zMr5`!iiB}kZLDWT;m^w0%#89A%Gkz?vI6z1L>Qx#v4a^CMrkj*gfUtr_7cOx!zwd% z#}*e4ux#0Ol|9IeNQpAaiQ#4CBUJZs{V3JrxPF}K@m!B!_~#{Xy@2YrQ|KC-z>I>R zbU&HtwTVJcVLDP*=xIz(S9c4Ueo-f7Hq(>U*||)=srKhHy-ej7GX0j)i3=WNBh;TV zrq`+bmrQR+68Qs6f1~XOMPK7t&h*#XeuU|-w7;WFzo+fTnf_JVBh$@-AjqT!mt^s5@~X-qc~?LsCutM%DTA5?lS)7#X$`Aom5 z<`y!&MCBJVJzwc%Oixk$l}wM+=oc})Ufb6*y-w-POcyD=jp<`bmoU9Xhr5I6QQE$X z=?abJUZ&@%|7A?Sr1Y0ezo7I1rdKL`km*9D%bE5`IFB&7T$_(Fy;|Kl&h#HjM`qCE z%gQ!&=Y+P6V!BM}Cz;->^aQ4VS9&tjpC~GzbL#`G4Y3z>dfr(!nK^R<00)88vS zpXqOvUdZ%er57{(wbIL&{z&PSOn;?x5!1gay`JfEr8hIZOX+P)mnvPt^bw_ZF#Unj zyO=IkdN0#YDqY6(n>zk4nO5=ulOCDbgOyv$nJlcW6VLPkU6n_f{zB>FOpnsUh|Dyr zevO_<1x$ac%Xk#ig>hp4Nv6NmM4P~Lk?vBHnf^|9l_^Y*(*CD0U7_owkm<47KAY*? zYJV=%pDR6|>DB80LZ-KR;pqGyf}fd<9JJSN%~;&(hWNB-7JXe*)9#e5xsvI{ zx;~1SeoJ@H^`ft*^k$|vD!q;ArY`f;UqF#U$oyO?&5vb|O4GNzBX>!0awl|I1q zE}f5qOmEcrC}-L|N{%qSL-YG6)32(%<4hk_{m3jc|1Y}p&-6@<=P0HhRrx2G{zUCf zV7grWo6Phv&DSYRFH!wzOlxoavRCZ%3FOtNB=fw-b0q|3%ls zD5e+d_V6UrpQ-)?rb~2vOlI2MPNpz@o}||_Cd+iW6f(V5SNm+H$Ev$?nck`G^O+u@ z?F*T9cjv`SyUSx4)6c5>N~TY!y&|UF<+h&bR^skvCV$cBZe#ixRWD(Bp3*y*eomvY zi|OsU`t~wCR-;?Sw0jx&l4m=TXdf>j`1x--~?=xa(4AxHe_-jEfcpe)3o4mIFVYZY2 z5zILIo^yUVEf5-iZ|I$!-P<H*KfRuGv0t6Q zi9x$5cxK?qo?DYF1S28YPWIh*iG_IxB-1=#KI=(vl06)k1kW>_{!O-M z<`XG9Ji$P6?Oag4WDf%6*qO+O%dJGXm3Ut;DJ9Mu)uPa(TFzbzbBlf~=a`jQ$7^{l z4<@jkmFNVAI=I1EaQQu}sn4+j;AWp0lSwo%p;VIB?`?9JS6@Rx|ecnJ2O@@_^4S=@Eo+n zkqoVonC^^TLN&a2zv;kBX*U!*imy_*l3~$_^V1Z#)&hxs2tS;MSk&%|m<&xqTACpy z*@5^?;zBOxvPpWr;4Qj4>S@+3JSB`(=Y@o1ibW9GniTHWNkn*1ak zbY3g7PMjT==<~%>!rIts>iDe0M32{>9ET;7k`O@jVt zDV7)c*PBMrCztXqSl9FfQRAmg36z8}3qRF%lKNn|C>@t<`!V>WTC|$c0l7s(tqU5# z>74|2T#B9SL3D_KlZn9qt(oAt9c+xZX2C=8UWbJn=c`@2wg;1HJE?t=Xja-FAP8xjU_*o= z7)=fcHp%jnF zXOa&#hB!_)RIoflsn~ZDaYFwS#;Iy-Vb@37J@`KjdUWo8zZF+8EV?t$VM$TA@En?7J9tryT~B84V!t2a z4vrlZ{+sEDx8V!|?;u=Gn?6Z)Q->mtJhhviXJZI>`3a5b!TX%uq`CkbwAb=GK7R__ zG2=|O&Ae{GFHX^o2$va}KReY2ak^jOo?|-|WWU1h*DTeh&TU%Bh`-4o_(?}N)@ZP4 zH&2je2NB2YH|yrX#DU$M?i+O4)1pIb1cd~7{{c*06 z0QpE>VK@WO8>R}DX(Wh7RNDt_ngmFN9Xroom+GYMnD>5=q{&UDq^#|)k8UvhPAPCV zILIjd!+)tw*A*H#g%^v0>Nf74R7LjN!FK3ANIP9H6*-5R8Bwqo>KSx-?dE!KlW%+h z#_fhKz?K;SEF<2C@cB(q$`E{zRp04$Z0e*%{6zdf*O!=ZLDSz8Zt`;Wq7yF++rjp5 z4~c3nKoIUgQ%#GShK_3yEo!gn&3^}LBbi7WI;l8&$TcE5VPb=wsREr#d0D&G5{)&i zbF_8A|6R$ZS=S9Uns5TW-(^JpVJ`K___)aDKgaZhD4Ge$#GRZ3&G^jblS)#=!nE4? z<`Nt;UER!Finh6fTmGOiC7I;d!~B1DqavFe#hhmMvQ#gw`l$3vH3!;oTFP(~9l43+ z!L$T>&@AJa_VBcLX{86T``_zYrkkrzXA=|YquKNZFUM3;4{fo;?BJCtxZmO0#iNVk z5vAh8cM~}?&R|d61+eO9q-0Uj;ARdZWm8)dDEfgd+40dO_bL-rbOVx8hz8XbJ@yP< zjgitO&V6F~f{wo}Tf5d+68Df>G)M}|b#U6GvOi$rjyu5>IQp)soWa4il%^H1;M!W^{{WNcH@HYUBzRY7E?IXdPDaCp52UYAAPVc~d{>~7GMRt`e zQJh=~85%=zo4*Y$1G=VRUTr*qVxu&XaO_(!aPVLT8==3eJGj`*1xwSca8jWJ4BQ7x zM0j|`Ty$E8V%%%$_gc7o(Qs+vf_M7QMJ?Eq9HSv+Ql26@6!%2zk`&e0iV4$=tYn^3 zU8S~e3L3|Gx!S>-u*wPBT?iGRTjNHA<$yY{hIrvj1RR zK!T4v{}?%h@xCCszi6z@KI}ZquQ_C~;4$3n4z$;s6@sfguMj+{-0b&Vjli`_rPXhr zen-M%gv_x|ccejlA%HJccBE9i$3U;N*5YZK@X}hNy~z$*m9`~Z<*=tz*^_KADF@sQ z>2AE=K{8{R|6 zFpOl24%$SRM}qiLy*$G>1!!`;lp9b0_=v9E=s(qLv@uJHcQJo+v)Ms_&cWE#4EOx0 z79W@NW{OYY;LRk8tdbe=*GG%#0K=7S*>W$Sv{3rE>)OImtZUo~-evZ!V1uUqHtK?z zTHGlpOUY;IC)m&3Zfg;?ECRfgf8I@Y9O9ee^|gDp_HXtx_OtdB`#F26 z{k%QRo^H>uXWE7K3-&DgMSHgWlKrwh$DV7?vtO}awddQf*{|CR?1lCs`wja|d$GO5 ze#>5JFSD(;?dA3gd!@a~UTv?ji|n=bI{O`ay}iNSXm7GN+gt3d_Ph2r`#pQRU2K=w z@7o{PAKE+YkL-`_o%SyK6MMJ4$KGpyYVWg4?K1l_`*ZsX`%8Pj{gwT-eZc<4{?`7^ zK4^b$|6m`o%k9JVkM>XY5&LKR7kez--<_U#4&{|*-tl>yD>Lyh<-IlOH(b|Kuqmg+ zT{As0<F6-{`o`0n)(&B)FOea;ndzYy;4#uYa(6P0yTnSlzm zc0qkQ>NBw!(I}zZDbuOdFX=gtGYdR^lN8MAoixT1c;2+v?vvCukjd&nmhh0vwc*oL z&lC7-Jz=bS1J9|#Bu^lNHR@E+nBp0Qzt$*dc;Ujcsxi(J7{nU&s%Sjpc^rSO$Dt7i zji*_oZ&KJyUxWrS+3@z5nW0hEG9M9m%&WUeo~Jz%Jd^MjCyd9uy_@J6Z~n&7`yY=} zDa>Ab0u~TSR*LdOdZIRA9`6ZEgeyoLzw-x$b`nzoN;i*rmp8^^TpK~IO%T`c=FCh$ ztZQT8*ci`P{B>P>(gf7dNuxc15SbMJ@Q%;8YhGkm*iU%qeHC@sC&?2SZMundnf*nA zJmCpYvDcGZOy@kBg6^TSv5PXr0!Yv7Ad z@HKAIv{~~OiM65^Sk|sCn<;*dc0*f z_WGg{7skc6NJvUdI%zn`wNh&vZsp4txSZObH!x2;?QaVrpeN zo_-($ROVvuqG<5pV75>k+VA3Ee%IJ`!`u#A5tJ_PgZKNq6<*@_#bfvbUiFc`*xh7| zH?83HE_k(-+~3LWLD%f>D69BZe3Em;xLRz&^0R3y7oDAsnNICnlh)gT9mcozeUn;ab-*Yb2z=-UvnM_S zbPmv1i1%1j|1-S3XnJeXIy>-zG0?MbQmXTl8hBrMDbBCTLsZ}z4 zwkxlt^PBSCQ(g<_N9Ao(UUTOc<#D2+k7j`))7-0XQd6f`o42^*D#b3o%66WJ4(Oqw zPRG7U%k04BNH3Op7GbP*BLe|pKI(H_SzVBT_=KW44VVS(m@B<1;bq<9-d-+tE-Ifbvv+HG{`Up zUNs`Cs%X4s2Udy3#nmdTtfDaA4y+V~OR7~^QAOcZJFr3&+EuHtyo$mrc3`*lwaWU>jgova!g10e`I*VB<2_SZHJmjSYNaWLLET9eC9p`8>X)pFHA5w%zEYKX`U;6VhoTwn`PF?aTvsF<59rP7zA zMLA+FSkq83SK8-MF<08DsC1KvKZm-xSWQ9YGg5pO6?31^CX*0y{pTz)r*o0j+!|a?l#u8|q0n<|aL2 z2O?E2GsYIZHo)(=n(Kqfx4>ieV|J4JkOK8GdP{(kuMRL&0PniXXyGZE_T!{`C@{kH zdg3X({`W%%Rm4OGY_4qFyG}ih5b=KmVx>>`LY9pzGtm z0{@mv_C&a}ks>|;m5-@19+h2G8HWm8smG!;H|Zx)G1ufVs9Y}NdjfTHD;|x?7o<1J z9dUMGD7_ytkS~kg#M1jAGjATJJ>8D*W+?CwWo?|fU!g*A;d69&;Bi`khX;0CczuDp$+AH*MJ>Y))Gs2-CGdoLqL_n+Yt7xxA>};+p5-J}dTm8ckYJyr z;emhp@r>;Y{DU4$e1W@2xKXvj^c=rMt^SAPQYy>A12KG2pQQfg$$$qL9Nar83$t*t zit&S*|3)KDg#&-}I~Sn%3kkQWY+s!2oAejwi2Ct>-?;?hcaZocrx3p*dXF6LciKVx zzx+;n6t|I9hf`?X=6tQ4RRX zO(+W?QB2uH4P=vA*Xqo7pq$vJ<{@WN;s%WRv>MGNi3S^mK1sI)`jJAn z>bgLRT_3&0XOi4yr;zI#y@}sPa@|iM*C%?5&mg%Tr;zI%eNwoWg+U~D z#VO>jjXo6&^yA**3pgZx%J;mEnHc2aHJ?{~%{zdu8NR?(e&;F_z08r}3-mOvMSOuP z$?Q6Uuq9Vo#m3$@G+nV1eUEjU-`PwPjhA+RLN8?9>UUZ~?QXN_`2s!6p63g6HwU0E zaG5dd3v~0-YW4-Xng?TFpo=-`e1S{-&NkwA_B-!U*~#y0r?R8TJ71uKpY|JHpuOLD zpUQUT)bj-{F$bM5fQN6Ki@v}`W{dR&E;Q$@FVL2TvGe5NBRh}bz~~79+KPSjEQ;gU z7dW33c2`kA1MM;9X#|=(=#89N9Q6A5hIZ}Rno}W_-evxZh9xRhHbphzAVu9Oa?sc zrM^?<1x-*;&*eAZ%dpAGWZYNDXb)OsB8;{6B7PE@slU;=bX%&c4o!|63xiwXVe_U?fEN=#cZV zbKsgYc1r$+hGL%AnVyr;F_diVmgGo^lDiC<%48)sjWqd~a*~hN+Hec@jgQv=pH+>I zop|FoZD3NOfk-~7lWT0))lMAT9jfW1W8mu32ZCNR0Axks-iB&Re)#9R2EPyJfDP)j z6G$dHM@_Wg7X@sB-yO8a=5|IC9it|iS9r4b+p&P1ZG;8!x0db%iZ`DuEJj-$y**T()I5GI*!h$`z+}~u(Iy?bcCHzcM9o3u(EDzI`&SZi$@vk9nX<21S{*FM@Quu zb*GXp1S{*N((!sm-RDUcf|Yes=tw?|Zn^P!8tFo?vTiaR<7d>JPP!1RtlNr?{xj;% zAYBMn)@@1Gh12LBF+Sto;U&S!x-IC6aYo%q)Gq`p>o%ur$r*KV&+(FAW!+|Ul{t;> zQRDMd)Gq`p>o%q9&lzo%b)(;0Q2CS3?t)@@9;sOofquNs^bpkFPq@ZfsV z9TfKtENc3N60doc;?Ne%9|{Dp&w23aG`4`s&$iT&9XOXBTfKo4zd6q6j?fxpE59>= z9Biqdn9#35B(%a!$K$c_nI>MBq79F3-arf5ijLr|x3^zXbLT?c73AO#1e*Jua?FqM zsF{qHylZOirQSdjzw-ihB_Frpm0rNSHljO``FysM0VLEjk)pSK2t{`9q_{u>zf(wx z^=TkJdfOPNN4^wcE612|x%CF>5`zuYsbnB2NLLGc=s9%PXXgO8s8C0f{LV#C575J` z7r)QsoR6ZmAHRtu!nOQP1F#agZ(tMx30%eJ+xWE^;}Nh9_?0gjxI=ePOdh{4@-oj{ z@(@e9EYT#v4>L*h?ty+M!TdVVhc^RVhBM4^e*4fvpDW>)Ns_so)PTz^=WsbIfy?jW zxLjj%IZw(m^XWJJGD=@qDY94M`}$_C zz)t)6q*8P&j1S^iyeux$iROQPq_?mR=}oF5dW+5>=F8`h$1=y?opU`tj zeB>N<`FAOw3G$Ro4U+Yjg4E^gpmaGm$Zdi23HqFJB)*e4d=lX9h$Z^5EZ{He$OY={i=_e?<>7|pW;U-pDyL|Zb_D=G!jpyHR5gyp-uyT5f&v2UX@M? z#A2~ncpV}E9(IXnk8RBUjBQNDCpMOup9ePiR4NvBO1V zoS2K6OJp}S=jd!`!9CBG@-ZnNbxRsYq=k&5pan-}Obhm6ObcqB-9lpiQVZV2R*Lo_ zw-V-eV7V~yBY zD&-sJyJyat^LZRa=ktYNU9@Q@v?&W`w&Q5bY{TWV7jQYzEveI;=SxOCa{*i2a{>D_ zWT+Eq!_)Fh8}{c10}MkJwq;94+Yk=M997?6!rGB`EE;J?#-DE|Bl-?(vjeqf%^6Zw zh>t(C%XIu~X;OQ(^hSHORMbAxIafLXi>!Ryfvr@Cl^-A?x5ULASbJv&3isX)vc7-o z$cZ(+2W!6EmCHk&xm?hR%Xw}|?pJh_*u2t70?~9Ec$F07A@?O>2&3$IbC_(zI_>MkC1YGH>Mx!mg#h0(f7Ksl@~5! zE7%iXzl`1d3M`7#C*4_Vo0O66nNDlgF6qwNC%Us}qz654nWK?jd8Sh&*X?I|v56VI*rCE+ zna&05&~~tBE7~XOyQSRamegBuFPW@QdT|u?^r95_w3np739+(DHjyQ6X{K7WS6#(^ ztiFo(zjar+qkQkG>&-T_P#>yF*I7J}(ON0z_y0I*#rj85V!JH4iv8LvJ$w&ybg2C- zB0pb6jvT&9hVh4p9X8LzXn90CsQ?G`^tBdkCKFKbL(>SnLkD9d3O>~)ud_Iqb5!+3 ztvt=LGavz#DJa;+e}+1<(PR=~E-EIE)~nVEt-P|%a<2?UP&V@0+2&Tz@~rd@`lp$j z$*@hFJO&2=&f!labl++vvI{2nOEw((L~I^G#iUeZH<~3O=Ij>7eo%9-fdi`tcAMcW zM8U&3q>_<6P;bQfG-r>vwMpGts+9#X6`Bo*%5*@4N4bWyX?3AOA}}IpUaWQtG(mQ% zIaEj%5@N1Y&5bG(XI{X!Qs@$Vi6LwCXF61ZufNu@}8TSgY>i5rT~ zekSe~qGAGgOyyA_U(g`FL_QbUg{YXJ9r{9S&(zAI&tZF?#m0-i5QWH>q7XTN=Auiv zdF&PsPy3o};{AB7RBRDW$rewh(_ZAac{sF%sF?n-m%Xyh!&!KUn3P1%Y!}^`?`crB z!HDd?{V zVi=b@^W!Db;~F(NCZ^I5%1=$KLl)hF3rW z#UCg*!(aYDI$!t!>_~?HK};HLslGqju9bohAtpyi@rN?3{U3@vD&%iD=;(uA1+`jW zZ=CDn{cg+{sZ2cPWzL?D#o@IdN#&0nQh7%!YqS#C0Us{pA)}Q8vJDmUK=_-Am64c? z==UAs>cWp8M%(5x?P$?QCNfLW0QM3T9GN2KuLgs+qjg}Ir7%jJJ*+lLwX)|U^eLy> zchEF*^)o7_&qqE+tK4|Te+(uac5~F)Os!0e5ko5*S)lT$P>c~V**CtW7D}oazeqGI z4ohXh0_E(KXqJ=hpCqeiFYvPQO{f?T-(BF%bUJZpe>egrc{s_n`?HuUKLW9D#mdNE z#LDzvyp&^8Ky$?Ap=LZ=rxsReWob->h67Paafq-}t6|RckL6s1x{2imHTlI+@#TYG zrLyrCICW5*+ILi~{4PF}{Ep@#Y2JJcT-p^@M1+)GXW8{v;q|~kEoCc zf+o4Qom$KhJyPO0^D(Kc86lMl?Vu#$%XI4SsE$1%wtpT03*=?wF|@Ye*7qNi4vQZb zBlER#51uO?_i-}3`?whS1r_69WF(BVWFzZGif=ndt0(GYNlb+Xv}vSI#{4mqO!Q`q z7LyA{!=zk$j}w!Id*}%(wQBaaI8gN;uD_Y`Voi>-K0Ed4Z5 zDvQReySh!z(#kV26|x5_;x|Ot?>ERWZE(v~78R03gRU@@T{;f36#I&C(q*YuipF6$ z@>c8s#7s;cA20H#kV$wd!&yNsv+o1W4 z?n;OllND;9R4Z%9lI-liLcusUbE3FVHW97$cqV=!CQVqyWDV+5TA3u3nOccVijH~t zBr&_}DRB_H(CVke>&RsBZHk(m98;ljjGwI0h6p?O7Aj^yWs}j5Wcu`{#lg~N)UT(d zvN@(gCf7WzCig?hjQOo+#AMMkQP+PWrWx}THTkSmBF{oho`$zf5hHItC-Ozlp;azn zv!{YdSAb7m6x}0*QaLn3%}$rf0Lu}NhT0hyQy~MRU()=5 z2uErjD#o>iWJ#`VV_yc7TwAQJ&C|*xt&D#e^7=6X zdu1uvl-t+BdE)g(RLq9BX`XRu!K=ol2nu#-FKWCC&R5G?iOh$=jywVD=gWLAd(GH+ z^)*eH=U;~b%HL7y?94^#+5)K*y$(wlri||WH^n3#8ctmGp! z%WY}l$71gI$71Dkt>EQT(Z_K-vqvFjrg*|mk-r+Pd!_Z=ePGhoa=cVNp06ksYo%H# z*=IhnFD#9to#81IybQl6HT=)P;ORL!9-rdV01vswo)fE)3HV_DV|n2?dTKnobfi=i zP@yS;6S6;5Pz(80@vB();&Z7KYb8kG5x{`#jsH!@ zc~mOpMu>myC{QGKdt;S=HRz9F!cgQTE znJw%=#q^H~b%Hp`%s>4)T4<);S|@=Vy+A6(uS;b~OogteCAW`k6=uQL&PeM17R znF%O(%^XC{bY4~rJ94}nEEYQzYUfZ)g*<|UcmxslXv6!W6!`#_)=P%I`vEe9GIZZw z@noY`=4z!-D+MtX>ZM|j_5u;^R#zpf^c?5^1>_TNYCxtB?@i z--Znn%@u5H9SY8$O{kek|4@~;X=Mw`f+l0{x*eBj$EZ*XG-ZN!sIlE@V<+1HO_HCu zHuf<8Qxxn+DXCKU3O|+b{iHU&(#jVx6*5=mj_*rooAG_8zM(=QFe1Jkr53ZVsg*xs zDkKXD3D*fV_r#~7gbImF1I>?Iv#EvrUGsw=oA9NBd@{bGBS3|eAS!lOLdm#U_Fiq- zQf|7@qgo@N{YM2Zw5kwB*N?gjl)@XKtr zf6PA>)K;o5`1CXH6@nBwF6g6Q#AgMZEtYrR`}B>slpWodIp%G;d|FH>^8|FS5I91q z%c~eb-P{kA0e3U68x=9P^d$HjY$){YbdWdcmSAu6*#5hmBj3xpsmMHq!$Aa4I1_L{ z-;4_ig<}w0MVw3w&L|^x0%s3dR^%IyaE793d|VfvBHt7cILplPSe;}b;M|dqsKqCY zLf0n9bXG;fJzC5CI6=X1fWaA$859RB99$@?Eo*RS$WFm_6Od5yG4Zzn4h|veC^-9EB%OPxeUro@e?WvzR0Yjd z7_i;D1~fN8L33{aAxA=rfGax3#hV!foXqkc=kSU9hXA=0X!fiC>J<34MgVXT0N~{M zyjK8l0K%CVjuI6H!W|0AtOF5eX8m))$(0KLZoiaY)Xl{AlCxeI@z zAovsqHdc^iiv%5aRC+9ya;sZXY&NRN?b35e1Kz&&ix?g=${KLml#572AbN`9E0CTF z8j{6`;_v|M<2e*@g%r*+Vv|%1=sqL1Sg?6}#M(wFS4g=8fIyj~4WhC|EbkDJcOfFr z0=q(6fSo{9Y0f#RYBZ z94lpoSp5nr^2rHMhCDn$8_pBad4f8WEo8ZfZ4m6>4iVepmXre<8jJXL5#K4|dqr#) zz=<+b0417^zk~?gF%_Ms2tq}s7BrE!0b=4Sm=NC!6fP);!igd}(O?$GHW6n4UgS)J z7@Z0mL~MnWF&M=SBDzIHcZkSVz!+sxcZvwX7%9ezO;kAJeo>(XB(TPEQ31TsI51X# zh+~^l&??l=i2`TbAoxYaR&EjTEk=BUq92Pze3yvtkAXMJf+-gfz#L7C4+|1mXvER3+_?znX?Vx za*QG=0k|{+S`9oVi7S#)t__5yq-(xHmK67<$i?!OoUt>d+#|geOSu`qO!?$xcMJBv z3_ZoeB+!@mIkhES#iq2Bl&> zAw35CCar;)f`;7CihZ5pmXraHwGy>etypbiE4Hq%Pl9`HmB-Qq)W2jr!3lYp0Iab3V-i_Yh=MgUAjYd#T$Q38Z%?7nqA z`?yx@DJXM|!E7#7_#}XsMtq})?-cQ!Mr@OcO}v1u0&Qu${k08yc|g40E9I06GVvXQ zoUvu1^CNW3M2Jphgr@2JL>o36QCy`UHXmt=Pu68O0z}iu0-R}F_+DfSfx&!Ny8KOK zo&n;L(s^bVc2kkJio7fp1m+qkX99^SA3E+39Ow5iL8*9HL=Ly7bosu$Oy3a^+tGms zS1Q;}25|1{Kxw_VgQWGhA~a3_z~efSttS+wIkh8?jL@Ex3L6BbSs|!SMR`W>%VB~% z{-qPE%oNz>0#PXhvQzG-D+SpJgr~8(;8Ko7g@~3zR5s7~g6sss(}*evv;^Q!d2X53 zg*z+-_>&^LraN0(-IdGnQl5~AmjN6qA2mMFl~t#9OR^0P<)cC&x zI8PE+Na)8vl#2g=fEtmXAwm%wzgFICe5g3m)mr%lTJnByZIQt5b|^HIFrrY8Fd`KA zP#F+GM2+Du)o__sO4j1Fh`i?hY^@+Z539UDNk;+73A;d)ia~=YrHON4oAVSBdPZm| z;Yv*)US^yqG|4znreb_KYR235)TRqO#m#6Xv`nxFUur6ZH#PDVJ0)yo1WOfQ+5Sop zQu6tPqDALx#f77yLYYwUiDDuNVrn`eWU1-I#hLD3;O%bVl*WY6fsq?i&^AyBgeS zWH0)rv@BHk=wk#Q)em0*KsDVOBr2um6oro#seH9?)8`3pO7ei0vJ0q?3xKQ2kl;7l zCfunRz6)-3;if>MvNkHD4b-b>k5}v|flzt&zZO}XhvoRb0^@hl^EP+lf>CRTL7lH~ z)1NfXMT9by&yW#(Hv1#sre@12RXnK+BXu#mFDPL3Swf=fhh0FB8V?O3l_FJB*r_=! z6j=JIRtykTelc=>iGUyTA|3#Lt4SRfP*__rhkXL zQ6wm+IlQ(iWON}xK?P)WT!Es08WT!jP~#8)o*Z#h%z}0SpNKsBK*&$CB;QcLr3>&;<6AC+TE}=~rax6WIYOV@xURE;zL+*wjP^7*h@+0HoZ33qM7LW)c#T%LFzx zN`x{skuO%IH3T3%hmX#EDn>|B-pCbsT2UaK9Dh_-`3NWq*yxW(1&1-6K&BM=QdKM@ z2&&vh%N`T4!pGJA<6_MPrM~t!o;8&eTd|6fDe;xAw09glc-)L1>g-T_Do=@ zK(k8l37~3h8+A`5YVV* z6ps_Sl#~c>ih|IlD4syUpEncS)EpV_D8$djVHPN&(*@?b_)~(W!pz5P4QN!cMp#s{ ziIyssH$qrc0cOJvdu2eWX5J>rJk$_^TJe;~$6`_8Cz~Cq_|j7K{FLa_F{ePMl2fZy zdl|u0WxHAfz^jSqAKHnFP6aHLr#SL7J*gIVs93jtvTEC1k6yzh4z2glyd;yX`N9;`|C= zR!s+o6w$iw1(S&cW<|dxC^)ZwSIH%s*Ql7$y`ZBj0^rrSy%`m=27uz^nFNxQD|-|H zTcKtuLt$l8`$eI!8wd(ZlklD@qC(wneo?!HN$!@=uV&Dz6c6hHV+9dg;VLZyBG&l2 zdbTLJXj)XvxMphy1e7(hz{hg5TnO$09hZxtMTN8>Dq9C3W{viDq)mxip-Sb1q1Dd; z0An>`224wH{%0|?F8CG|asilHae=_J#`XqO%)|h~%JZ>bXQ)^!TeY$&2C=(cEdY1R zG2Y2=+%M69zCK04dGbAVLGBkThPGmk^i@s<V&o$P!38~ES52DQk3rk#TdI_V*r4ogC*dv3CeFv z#32{>i;7vjOEvisdC3G+OeVNca2Mh`@oh;V7f4*P4Bg2T5H{HKHkUxc=0s5Wd2d5Z zegO&ASd8$&CQ2(5;rq5$#w>@t{MP+)pofjw)hb`CVrxiDp3irySpzPnOfFp|-i|*r zlo%rH)Ff1lQ!`cRsTJr%*1;<(_UkGMQpG0egiyxllrY99B1O8;4{a7n7jzui0)y-2 zPDv1BGr9!_AV<&8F6h>U0RuM7yO0Ynt|%5xWE6nJn`9SwTXDt&I5rdD0+Y*jKu+d~ zP{^jstqMnu0-3d^Sb*}+D!-JF%9Pf{)d7@uD?pi$%A7!oJg!if_nN)p_a7g_AHiow zJ{5lqh?(q*6(n^Go z%-_i!77UVj>F zO-evna|fu9GXP&p2bdM^02ph|gQ-O#`{)v>RJowGt^ow;SXb+6ff8 z>37=)utmEUK;+zS3E|RZmw`DJBVf51^~>5N5auk83i$~M@sl9u#x~IAoc(XAEGi@m zG`h&baqfUH<|bY)fZPSZ3+ntGh(Z_ObGcF*@Hx#y6lzWaRiNgy6@9Gze;89CM}R>W zM+kgwoF>eQ!k&nx`Z@0VFbXO zRRn1cl)5+qV;qtHe~@z*2tVdiOlMs_QVDi$1_^9AXVA>@s`&FmzlvwC#wh;&t0=nA za~HTCsfs~29n6|8*z$@B0U5if^o7&$4V;Svs>^KwqkmQN zZ&)2Ge(T-fZ2_a}$6yLdr_WObW)1|p`_aWQd`gvo$pZ8oKi@LnuDT@l+f|nf4qYMU zJH`G^^X;l@^xIW`mCv*AEvx1uijBCT5I{jbA=wW$J*_DE{E%EU05u2qkoi@uAM`i1 ze#Q+T9&E;&<6^+SJ)k)AkuqY&nU6HN7K<~7<{0yvKGHWG_;fN>{dQITR#k=b|6(l7 z(u@QQ-Aoa%<;I&`k}`|%O9dBjVgY7uM9zNc>e(+{y&4&I_DfgKe(9=n_Dff>63%|< z>e(+{HAmywFI~lIAnY&QKorJXBh2sFFI_$RrK@HMo&D0)vtPO@PswM$bd|n5^z4_e z@=FvKmwNU~SDmw8x*7w5J^Q7rXTNk6_&|l+p8e8Q`qEV1GtYkMs^VJDe(9>9%g%o3 zDnFf`{nAwdvz-#wdiG0K&wlBu`H<8_e7Z1E7h8JvOIOc+=_>E16=%P6mG4|R>8g3{p&@I{>);=e0inf;Me0yy)Uf+O_Y{(dyLs z(k@-QUDmzFpAZ`sZ@*Iw7VPv7hN-EiYgH{WvWZU1%q9e4iaumAnG zzu)zb|M}euJg?wjx-hin1Zf z=ggS!6)Q>4*l^zKGy-#qVIBhWX=XMC^I60E5zNWVYy##pFeAfu=caaM9p5vU@9DNh zy*Gu}(?+)xx|3M98JLsNh#pyw77Jqe6XrF}=uWpimfvZPIrlj~KyjK)R-6{1*b?Pa zu16EtYAY}&Rb%xatoo3J&l{V`#wHDUs!cYW6j4h>InmhMkH&Fq^E@yoh)o~9OiF;qnb`@AG4iH!5GOxP8WEoD;VFZT_HN1C;mrp#J_@Rckjd*#)qf{DVc<&J}S9v*xx1D%H ziB}G}Y{M%i-Vow_58hzID1yUham% znPJp-P*WzEq};jJ@IE5meaahTcpnolL%SYmcsq%AFY#zz!-ltuc!N}TfZ=^Yyn(8l zZg{(i7bYG}cYnj%L%adRBmdG2Z!huERqh_c`;>V7l@~I+eZ)&69%b>}hF40wd;Cr( z4BMEcuKvd~l~L2(Bu*Lg55xP6c>g3Gh2k#5`2c#QO*F$ll)!?@Qv{ zMLcr-zYT9c@%~OcnytSY-dDu?n;#pd7iMu%dD#*zvpbB$*Cg>5wSK$d9U$JF#QOqr z|7CdJ5bqA+k!QCV-nYcNoel|a;IGs~sdI~I`i`1zBObmGEa_&$J4n1+iAU*qli__& zyjxW6M#KAocsCP|y1&8j4iWDr;?Yv-XL#kryV37-MEAxl#iFliI!sOdNSxx`$MAk6 z-t~S&EX6|%+8QB1O1A|1k}OT-bw>6G$@cL($uNC`_IizJ`k9)pBi;dsJBIfQ@vc?5 zs}1j0;$1^LnzpM9?! zDDgTFk3xBg;S~_CJ@F_>E;hW!h}VuTR$ewsBfiiyJx)y*lQ>1WtuqodH3Tjq9(CWw z8Kt}nRqg_3wDQ{ealP;cE}Lsl4;({^Sj` z@jKWFyaA}!M{&O2xfq2}pk!?Bj8%n}WP~Ex%o(S=7Rqbtj8|TB?W~D2L3z!HMZ^hYNB~eaHeQeE#<{K&nYj_@0jKs(b!5?704yeVw!Nv!L!@H|A14Bmi;Zth-?PRkUp5vg?hpbI%n;n`)V z-#_i8`nGkR?VtQo{fDgoSpT;E*UHa*&>E1Do}ZDEordbbjO?_mtOu>k@Pk(WoB^Ec({{8Ce6;({cwWotBl6mKTnad3oX7e7Mj*FFiM7NWK+*AU%vCBQH5S zC*K;9n~|Mwh4S)I4hp5`Waq;R^8EfBm{hl{v|)qDJ(x{{D}%C$u+nn|n-ar^fwcUv zp#~1iAC{}$#qgmBM`9SJ>sT5RG33CU+!!i146E5OjF_-Q`<9Rn%*`1bBbuF)ot2ZG zmKDPql$F!J5~F`^I4v_q;QoyKdt=DKY5D1~bjHA#Mv7WS_ONgaYd|7)9^<>%z)Sy^d=`wvKiZ@FoM5e0D6&pa!fm6b6hF9WP> zG!6*GOk>u)rjx-)_j|+HCgEXuSY9{}Sz@JQV{rNT!)SulV*0(|;kh~4JeM?;Fu zDyvwba9(=a5bOmQO74&x+PBaJ*8O0bq3G1>;A1$0!r7cov0`o)Sh_K?p@Fd!;vJLS zF=AB{&dd*OdBc&SW0D?8(?YGO!^c@gkISqY5=BH)q%o<;BcGh$4`Y9imMfg_tm5QF9oS^21rk zOW~Uwb?aFD7(RXsOrxJ>7d2@t%OXT;k766fh7!I%D+86mIRl0vvuV1m0XaBH2XLMF zmdSg|?7tZM04SPmHFR$pmS!GSBt;}IJakw%JDsdz`;attnR!_mXc{yOr>=zsZ9&s| zFe99WTHb@%=?GOg-O9^N?|}5rMjp3MPnS*63Wel+3|V(u|Fr&LU2XO1WnJ0JYS+v9 zcTel?p4Qbp!RcxB>}g$jWl!t!o>qqrJ*{>q73J~PySd$n-oD&Hntc6F|HLdYuL z3taIk_XC$-_3U;VsvOcTKlZS8nJ1rc(WYunx@e=jpXbH$%!Mt6Q)zFI+>SO=Yn5Zj zHCFW?a2u-Ib=}5l_6@hK(js)ZF^kdV#VkIT7qf(1o-8rVfRkL#&&dpDcS7b`?X7m! zCDz5Vdt8JRwl1{VS{GR7Td7ua%WK(Iy7j5YwmMp$;b(7aKYsqj`VKz_S>^a?TR-Aw zf^`Hx{nk+<7c7ug~wyviM98<&ttu9Ew@TNUh7h;i*=>dGr{}+v3DilR!wjJJ-0iYdmCxE zm5Ndt)NK$dlvFB7nr<|RL?ZJ%h9t_EF+<3ZA*8=q$efTuBtn!i88T)3e(PQ5J!|cK z&ffRjv-dgo-k#6%{8sked$0A*>s`ZMhi21_^dxm3bY6@+_Jb9znGj8ILWfNGVtAP^+!392B92J zgHcYRKCIP#tkn~s)p>Ll%EzfNUs>}dtjT_)ZTC;CeJI=Qg?6>=PRSFC9Z1Gv_lg(| zzFd$;x6-5Z7(D@7c{PdsPWRPkRp4=DKpw-e*=-YS_GT*{wSykth()D}wb}B-Bd+IY5A?z(uC_*Uw^<{ew~}PV#ksY4RHyRo#@;B+c;I+QuR&(i5F zRaU2aGN(NgIK7BD9mbqaw>T}TvYhVCobHpr>G{lQOXl>Ane^UdWv8 z#+(kdINiR=ayo!H-7kUD3z*a9%xP_l(=)QnX}#Fku5BcOxyp_xN7Ak+C(-_(IYI}Z zET98XR;N;w&FCPM9q1U8D`*_JSU{6e&ZE|tJyNqq9q_N33C+pVvq@$SsWaw{WY%+7 zwY>PO=Xl!UJ4ZC4T5T$(j5lpKbCpPCKsd2 zNm1T!AS9db# zkC2y_U5dNoW2+~6eMI}(g`hu57on`~u)sO2slUP36{Ke<^+?b;;!m8}INcg8*#4G$ zO{6T|!tk++nZrv^I&JYf=5UU$E#4T{naxY(h#fPTugennx{3K3;mg;UO3c?4%$M>m zr@pRczHad4>*h+#mmNXuRmoY*myR9U#}fN66FVxO9jXWzrE3%Pbs6*3-&bD)GNiAD zv795lSg+&z^>I6tC|}A^{uAcNE6T5pa};irmq-|Hl(%QID>A;P$Cd82Ze%^#9%Zld z>lJ>dUuC-266;&VJ@Q8=J0#h)@eTLLdhdo_$G-`j6woawtJ7SR&eeQ9Gp*NGoU_rN z#&Zm_E8|0}AO6b9H+n(Fho~DBE>xB%+3cZ zGE#)0tGg0(<+WB|uM#BoTba>S5Wl)7!LM%Pe(G;Tb=hkms{onzt6))G`_;V(y1Ilp zS^$oojE#!#0C}VMgp7j0*dnb7I^b|%f z`&^~;r68HmlC6%T7q>c&Uf$|BdUdPgXz5nR(Xy?Mqc^uYj+R$Sj)LTNE5MO6x6|Kj z*k5a8FJ}m22E~82E7=TJre{#X;OZT=JUe5Z$rA@SB(Wu6y*zf#7&Ai4PJt&XELTOCIqZ*?4fvej|)*;dEV=UW{| z>$f_NzTE0K`npna6h_wSwM#&MMVoAAK&EqXnUxGOX8IO-a*mlU=dAS)&cd@jA09^5 zx{)o<9$j3@91Z8uh5a>Q(Aq-u4t;*QC@?N3Il&->vgZ}=N%%?IP2OGrpRF2_YZR1cD&|$o{?QoQx zXcEePbPURobUe!ObRtTeO9ZRSqrNB?@Ygph=pK#~cVjo@t#luv!&x*rwp;#)_)fO* z*8a6)t^I31;|rTY{%)p}#?sOx-=JPp<~OL~OF>40zi|AkEPKAf;OMulj-x-eI*$IV zR2&t@BEqxq^9Xr)(@Ks7`sBYBnc~QD3C7UBV zYF8{TUe=}U>PS#7UkRRu|Cg_}&d2{dztpP8ow=fyyV+kJK-qyFMA?ZRLD`QULphS3 zLOGtEK{+XQYTqr)ozhMT<-*1aXf6JK1*ut-1#~#uSR?L7{}<~=ACC8<>*F?dpXD!4 zSUqabBwwA?FY~K2;U$RgD}RYPzN4#H-%n33ii^sl7s=An60iQFC^vYvEEW}{ zXS6w~n0`dK&?oF%iRfD3IA`Zpj=lB?JNU&eSXUjC&XaU<*ovIz=DeJrL-*7F=xW4W zb?Rw5GAHTO$gKuzY=SdQgP)$0E*JFzbFpm(xX?3dAFwVyLMdNKZD3v4-$ykB{Uy|x zHDaG$TbFg=oIiUori%~bx-fGY4dPq`|0YUwp}$=_mASCLzMjrp*xy|%E~3 zikJ)MTKw}dE>4egVP-1~7xven>3v}>T$I-@b^sT_{GwT07s34^jQ*kpIP&fp^VP|TS+p?GNszI*J+oag zqjKRQ^ zQXBK9HP!jCeA?Zvv>WYC-KaZ$GiML{BEvpZ6xoI*;ujTiF>Wrxc(xfvYxs?K>Owv7 z%L;o_Z|XyRseYPkgnBOBo+bF7?|jFr`PHy?_$0kcUNax*&76z3mUqUf9cE%%Q&&j5 z)G_1q9FOdrvrKQ|7e%hYDZH7QZ3@Q2Zd(Bl-L?WAdQ>VN?B8V3zs90}hb4-r6QS*R z?sa#R1=Jm72ig6ZLFEtsq84dxVraNz{5V3iU&P1c%J7hy;fH3b^E^T&-R#LPwv^iW`B0B)hmCF zA|rVXGne}Jmcm`Bm;SB1F=+tvVE=N|%N&!=NfMLx#jk&t29IzGeaNt(J!?3M@hY?!=52clYhh*d8gFsnR8jZ3gjYXO5adEJCe@LZ}YcL)T ztyDbd-7)hy|4C&Z)&x+W=h$`CpYxwJoI5!8Ua9=25HpZw4_3H4uS5^!Cr1)xT6yk+Y=f`M^n)K>ope;FK!Q!D&^VgEOi;2WM3R4kQkh z*OSi!?Zu8vXfXH1&K&3*^u?7on>)V}$Uj&dy0FS~a8Z@#;NnWaLAqW%6SO#+5{DXP%6;+;ttExN)v#UG@*H!`!3X|-rxgK;)qPdtMSy4gzY05j#a3d&o zuD>UnXJ}ce=NWFQ1lABND&A7%Ihb4JIk>&bb1<(Ga3I-PdE<~h)A=v2w*Q!9wf(LP z$03R7_d}A6XaUL=^bpD&X*N~>rcoQrMa`o1*eN-azMy+@YarSa_A*t+ZpaR?Jq#o8 zW%eO-Z|?T!AJlLB)}lJJ4Q)$x@hiRcu^+NAf8n=1?SK`gR@8>t;v2x7u|u*S&N~=~ zJyPT8P&$kzU@Tb;SBI0PMN{!8XlYKjFf9?LtK84(f%UXxl1!syE8@R<=qe7pXW;lqFg~6*pr-J zpuP~3x%uw&YU_Ld;5)!Y=H;F3eH^y!{HpF~wwTut2d>ES_t!z9S20uVT&H<5!*NS& zC5V3}`}SdKhW%6M4qM(&XIS21%gqA~M%;C6&`1 z79*k*ICk0Vh;kK2l>PA?$>mv+dDyfcPyw_DxAk1Mnxz$B>*f7^$NuKN22<_)=Kh(O zt(!0H!~OkAiHkw#_WR-}({z`2g~dLl=t`Eib8RKlv$A3P=YR_E&+^J#@A9!FUymi< z1JN;C`+G8F=i@W%pJFe;W&RKM|0h;}%*#u=Z7F9a@lmxGDU<7;;mQ1amicuRAoCzO zSF-&4xGd#d<+YW>*s_jgeoGc*9-h6dVcL(ZlC%?hYU>K1y}VxzJ%?=FdB)%AO#24V zeg!$d9Lm%eL(Vxjd;ZU!bCdbM?990Z85<{C%UP18v2pO2@ge)&unMry{ueHt+!Tv{hIg7T#8P2lycO+IKldVGrU;7hU64xQ^HBniI%M zK2fJOEuz!R(jtBl_I&a5Eagu@*0}vnS6Do>~ywqqYXQ zOd)-WvNo+lo9Z0FFLM3P5nPMkLhwIFaCL4f=LlAdQSeo6op^m6Jx(UvklQ?VGGQKa zerkLHc6SL2=_*Hqw+~2?= zoO`+snL5c(JZWPxEt)msv%&Sst@Hu+BqUhr2aUXZR$+Wko@*6V3iATs|~q1p{Y)&p49BP&4GK{B)K z@6{1cs+L#w$Ul-7#>hVm?doiyZUtluLGsB1*d`CD0GkX#wU+gS3XpY>%$SQyhv~hQ>9v0c)&BDI6}AWG>Q<&!wZfqHu?nEqYqjjhSAcwj#D|VmEI#~N0rn6ie|VAQo89~&NdJ~>cTr^?A75Vq@(nV6`-JT` zyW_VY_V6y#TXpiCk}SrvXl#B*@8BCHldtGd3oNanHA&(JYP(4H738Wzmn5$?R?XYNqJzFP2$tADL}aDP;Ck7G)+n4w7qh z$f9qCL2vsiMsJ%6pf`xmXLEg6>>&ufb1T5#g3x8aQz}5dLB^&pu)k$zY?>DvI~AkN z<|JP^*Y(M{>tnA;@{^w%S!X}*SjOqk(rz=f+aiAAbYq`(n}pJC82QIT6=45C`p4JU zp0eAY2Z`UWRe*eh(EEB7qxToKhwS#}LE_W$sM*uYyKbE8E zQzX{m3m$cPL@k^g;C%{1Sm#HGZiB2BoyD?p##0kV@3Zn*JEkU&qp9YzL3};giFTRZ z+Zu%4y|QSFVh=&+?NI^r28m5KF}>Lt?~1RtMf@(LPAEH4NuIy2x6doj^(B%M!jw2rd_Svbo(T^X;DhKX^`=2Yor<@vgrpi$Ph{wy&}Aquq~=($n?^mb@4)LM?QWs%F%F{RpQ@OS zTVzqkGVTrH^G{ZQ&j%T&&t~~%XHFvw`7X(#d}VJ@Pqf*BGEZQ#AmG;CwnUUBj6JCECBu6=@0{X8Y z-;-Bodb9iedl32VS^@G6GKP7ReJHzgbV2fiOR|_Bh|k+Oc0DV{&fy$eef#Lu4_1zE z9~Wm)X3_@+(eaa6q&Jz4?Qztf9M{!1wq808{*A53EJ)r^n`M@ryg}#<5+^$|z1iKj z5`^B1DuCV~as8zVi0eV+{uYGZ^Voi~yY>>K4|s*?&F(xv5PI*b zV)V|c0D6POhvzFGJ_NCc|5bo|gT#j^OmBAMLlAmjuYmX)B!5V@KPJ;_$wBhTzgfQ7 z%_oEG-B`}_W_RyKka+e)7UNm6F-}`+9Q!SganyMTRYaL zwd3CbwS8&&G2b!ddO|f!uJxQsTK*V&zFXB%8bZx2-*^l zPi$*wsBI~K7rxwU>S6i2@O7oH3@;CruWNkxx;kXrxWSjN>q6!0W*@%hgv{4%zI@#p zDqpHCZ<`OdtLv?&($^wAiQJ=K{wrZ+=xy=*4f?IpI)? zUlpsp+6^A7gh;vR!<%C}ChL;nnv8}X{7`MY6+p6)4_-0~T;f!BIp1QA}V)eNy zx0lx4{t`U5mp)g`S&2N|t%N;i<-fX->G-2^CofLJ&YdP$dQ>^EmmY)Xz)t%aX0@y0 zo>#lU zA5xq}D}7phJFpa`Mg3LESBP8FXq8Wk?}prBhq$G9#mL~6B0OrTZU&FD=tCbKKM0w} zpINGFeOmk|v=$#?%W1@xqj(g*cjpvg^SBM`ah(s3pN7Vxjxpb{RKM`yaYJY=YVWAW zJbvTD<5z)Ol&JQ-Pb=Sr8f!FfJ1}obnqGbwT$;k0ir8MQgcGsFi@i2 z4X^*xEw<(sRowJyF?ie*Y5s&(y!`G5&)ur_PTAD*q+fm7*&Jd!iXShjg~?C0+WFmw zpDk5TZh!gk^G}HU{O8k7B;RWncKPi(FW=jLs`<1dql~ilnTwwmpdBx}F7#=~>}XHT zPpkX1Q!~VNw(*f$?GW3^7C+gF2X%e)Q$Iwx75lW)D8zP}`q;sCA-0n(ezIk6N^X-p z&VdP2ZrS3exsM%e?_&q$jiXze|FrUv+m1eRD{sG$E&s_@KDxEFqw;I7co1fOt^Cxh zoiP2hwNE>3L$vFiecI^|Vmlpu+UXo(J1W2S8qbB9UuTP-U3}!WYlw2&+U!7$f4uA< z%<<3GW(R7VWiyxIvnukvc= z|Mio2u87R{W=lURKk(8|*m+1c+EMEzUhRarUZUn*CV9-ig*oq{))&0mspgX>mUmuE z&BuGS6XtyUUOx7=NB;I6-`1<&7uM(Uq}KcN_GzV8Xsz_|ky*dcTIui8%D~WC8SEpm zL7}xW#D|xmp|x^Pu6GQ$H#aOB8|fpl;i2&|%12@cht|qUpQssp=Z2gv+A*Sj<#AV( zlV}W11B}o(lm#>%Wt0v>S)GnR*@2G14u}^tbBXm1;h~(g``$OoE z*zZ2JjZ}-Bfd6noHM*1TqWRQ0l8ckN^eJ73=jX+LoqRlP$@Tj!a_M=Mzj^f_;rZKS zpH?P?rq^SAS~(`PR!;P3<@nHAIT@{Z^-!mV*2qpjp9dI+bed2H^x?a@oFVJ zy*%$Dv1dcm{tG_5ycAk1su%Rqet5m0n$PyqOL+6ysu%R)CA?lx&CYtY65i~rnw9Ws zCA?V)HTv~xCA`tET4(Umet7E)s;~5FCA_{;^)Ftngx9~Q4A@IA;bp)ohw^)M|!TE8(qXsQ$&PmGJr(HHYifN_ca)su%OJs_3_f^?PB~0xPL3>b7>P34~Z|XyR zsg$IRj}VPa8y`B__#mVU+^FgW6-MaiJ z^O6_)-9M#ip-_&}HcBk!7_8^sm_oe@FA^%+O3CPGFh(kqXh2LyYjbTKtAW8# zDLU8VVO!^gh?*}#eoxWUWOg>%I`3Z&oeRGM(dHzQSeF=wejsCftRl*`gke0EMhK4 z6x0PR;@!fd?(uC-O@Dt7+vm`jUfun@)~kw!iaYfcK>79R#b08iOPyn-SIx1~Ya+)^ zUQ^X;sY9bsox0a5 zd)8j7?Ab^~$wW&e(V}aXk(24%D?J*v^`ybJvsz_PVCR78(XovO9X1t3Wl$k4ixry8 z(w2I$)snVFV~NSe57kqQWs$FTabcq5}2Tj%a^OD66Au(dCRZ`qWrneQqqTelV6-9}mgs zan3Obd36Dg8gwtIGK=imgS6(=4~WMp>oXa*?&Fl4#n)2lb4>Oyi%0S&TA8P*dv$J* z>_Os~7eA6K2w!HzV`oFfNh68M%#zttDY6`$lU)hE3g{Y?9Z3DM^GMR;mT9n=PBf6e zj~a<`0o|OVzlpjbN4|x+Ehi6OKt*ETKwaP%GZg36riW=Ek1-b05_*ANq?hOwdX-+o zD1RBf9j9PEQ}6&&@EB9@49ZC~gDF_c6kLLn#TVdri!}ug$0>NiLBVtf1@-gFq99dE zQu&L~w$6gfZ%HEYam?>w%gIxL+$1md6bg$V_s1-NIX~ln2zVFA1f=K+flV6sTG}Ex)Nmp z-GH(+-HZ}mfwB|bfwCLjiLyK0jj{*bhq5mX=BRpgEUI1;i>kN9qU!uuRQ)g(Rp-Q` z>UBw?s>~iW;_;e{tMzzvuoZdCh)g1ndQ)3udB&q+kzV$oXJyi}gl&^rLU)%fr0Rj; z#B$-+Yo_c$XtYyorfeE}pv;=svm|!Rd%)p=Tgvo6(dolzX%fjCgL|$d$Q*<4_&i6M zmpID2#Zl&6l#}RD=5aPhnZ6uV--tz-*Wyv;ZAX+@K;?Z+wM91AU&q= zcq;R#ervP?O=li;n@=*26PU;KtjB3F9;e26oZ;Z{aR-l!%haPCIg03Mw3kbZQ5Mk4 zC|lD~lpSap%1*Q#Wj9)ZvOB$lvIo77vM&wf$njh(ax95OjyGeGy-W>AFXAzYL3Rmo?t)AK5s+3=FA=u=ijMbai_ z+Im&9T5i22ABB#^b9x+lICx7or!gtkKgzs>8S|PMiV+13ct*nXWTpp8)~-ZsuZ%x2 z*Z0crC9gO7G#UPwg4%IUQdzmC$=0pJGOu1#_n#v&(toDbc4rx}HO|B7MYI6A^BlaM%NzWcUW{oB7S*RxHyY;F-dHql5xwHTLmBV++v#2vXs5(& zXUaeQ?KDz>ZCA@^+y46AvjX*qy)F{(WsmVz#vHpKqyi2o_MLay@^256g(Y-E(aAD7`2W&X+QJZsAXBwb0Bh zyqh0@y*Oh;%)-jN#NDC-eZ^^1!e``NkOu;NB{igJocxscZiAH z{bSfQ8TDoVwllNeI5oa!WQ1?=buW9nlUFl>Se^PhP464AtuC3(`Nz@W8HuB^&%ld+ z@ibY{Pwv|dm`AhI)~pRA+h>rPzAw&*zNKydxO#I&;;O8@c*)wx*zV0n6sWZq**BtW zD3zT$skY_*1~HwsWS5K=Ut&YD``hp-yVC7`qMnOeZA*T365%-l=sOM;hk8Kn%)n|sOEXlry_~!oGrjh&m`}^t4f7s(H(YwFwXJkb7(ze(Bx3YG-CEo+N zZIaz?-s29hw)GdI=~1wa2L*NxD0b)7zWv>5dQ{X&N`*~>$lpKS9-0xKcdq^16W>o` z_WHT^#1$hG(kG0hvKPf(FEd|z*!yX8_G*9eVX|27-F6}~|2fDbS!Q9+Im_=_)I&_l zr3NSqs2R%E)B;7u5 z5qqY+yQ*xW98KJdu&Gdl(zl*Ty>gvMXjG@ z=9B~B+uyE7XGG?bYv{FuF6a$AVh6r`mVx9NPFqU#JTs|Z@4r7AUmAAAE_}Ow*@K^6 z{USU6IqDV}oul^G+hG~eo5X~&_AV#(ujSvnEd82STk?Ife3vZyrp*|{e3`8JHJbv- zSJR)No2qk?bFEpQe!h{sEDh|9+EtEVE4QW%HjKIX5HzA$SDm z?XxSSeXmHEoF090rJi#TYMkc+rDk(yWkm0?7VpKsKD8q~&h?2%ZqA+O;0W(t?WfnW zK7l8(n3N(Hw4S_QVf ztODE4%!yNW?q%kK?LCme=7atH=gkU~=kkoSEq$dI-~F(UMsft_$?M^rxGsAF&3Erg zv&FG*>SfGrX8@^==u0ubuFvC;{f7D2kzwkV`GWN7PA%@ekrBOxKjt%MPM9&D{$9~< z%ojc#=FAC0hyH%kj}D0odpY(-?-32Qqg!fq&oTx3wSz>Pbe=o=Q7=2c#&HBIcV(@60HLrwe}Cmx&}LH9TZZnLmjma z2}uGY9kmV*SgUw~iTt)F6h+ea1c^&tCtv)De$9F2h1WS3a=wN6p4*&sv424=Uinh{ zM3bF}B-VJaLu#V}N-cce%s2CfxA7_RrcSyrnOH7(lansYh&}c7ez!%~bxS6Y-t4>7 zESZ2^v*ZEk)ht?epZQ@VVebMhZ!B-0XYVR)ofl4zHqK#@V**;FNFdS9!-(Yr9TMmp zk_4)uR%5pj)GBAbq%(pL38+b}SFK z50|~eL1;eAVPWH8VPV+95sqkcc-(H&(OD_R26}Wb*+J{1kZ4WJLBfzgV!s}wRvE*1 z^^;}wifVpTpHOakju8cV=bYUuChpu5*(YWcLHLncRn#=zt)iyRRfE}yibSSX6^X*A z^;n1X9TU*{WcJrfqxyue^z^FtBD(czuK~(@f>-PIDP!r;pm#PoX|O4f6$dX0q*cl5 zl3Q^7SYD^>MKU|D^#-xI6CHXyKA;|@)>9p|o*YuG|2TfL@vr#r_erLb`j}IlBP=Vw zUNSebwtL4B1q~fiPG!%JNaak2R8EIf!WfGt)*2)hg`cOJb6HKa9aBc0E;}N;bR+&C z=lU64C5!BJ9U3cppPyH&rj@WPLS+Uf^HP~X5Z#HLDL*k0U;ISI3G&-J<<05ObI|)Bt}Ym@Dx)>Enpw4AwN6K^#&f3yv;pahymr^i&iG*k<{O0r z9p7rIFEwRVU-kK3UlE91sEpi5#muw?lZwiVO|538Em*B;)N5odqh6V7Hs5BHJJ)IVZ&<`b&9^J|`JK(;zG-LuVu_m_{q;|=yjD0XuYNOAYxyO1K)EGm zpER0WVv;qOSs*2)uxEk1dScN?`D{(}p|S?!7bL43?)=F0BF z&dimCnLb@vSQsN8wJK@kt5zk$kgu8*Hnpl*;V^1d<0(_C8c&5$>kp2;Nw6rB zIO5T?rZ@8<5%DVrts6q3HF>QPyVLDWGgE7FZDoembmM_&OU)D-dsQ=qVc4tczf2r3 z{Z}x{n(Ux;Qb@EW#;h>BK=q170;X3CCV}KRWl$SP9Q6i~fQ)*}ns0NT8Wtzh}bf8$(qxKDjZ zq{sfXw&deK+k%Zn$cQ=UjF9q+@M~3lk*U@6MMmza&cxfZSBdL(Vfci~aty5|BMU}r zW@=TrlcCjQy1{5wS-GjzWaYtXRU-&fs~JHAt5uD5Os!_LlU}Xai(sfEOS3IXLd9Ty``ZQD9EcX=A<8Rj~<-AHdsvQ>_b;8BgU(SM1#~RxlyL}tGVYp zG_5jzw6o5#*G5F9?%7n~U(F!cHQGMswb~^7?~8A9)qXwqUZix_cctF8v3lJ*r_!xg zWZ<6d3L*okQ?0}ryBZb9uB1+PZXt9^50H-iyEBV0>U7Vb={keisan4?^AU%~<(ZD1 ziagzOa$(Tv&M3l?r?I8+ao&UI-JMN@L8p8C8b+N(QL_ea?~)MSWfxc~@k#XVo)-v% zPL*pI`y3O~Q81f#&%cC0=U$Guv_~kmi8ZC( zf4bMB!k{yGtP93_a{CN6Q=@Fj*u2GE>glNyH^J(+P>5Sfm2)Hys9J*gbr&^aj-dm8AdvwxsE zMNeuBs=U$dr|FKBq+T=cZ#-4Lf>rIM+m9+;nHr6*g806B$D7!HkUEo(6@$gSe=xUc zZ0fIEp)-i>yZ7YStyR6I2`ns^#SPb!ZvGMyU8r-V+`KN~tt z|C|n;$z&?$iHJ55-LIw_|Abce7t}$<5VH45`<0v)YsR}`2SMVh%KMGY%D7Z4AiX)$FHkRbn9I69=uKypZn&CJcIC_e4QwmExG&AFnB-AVV`DRJ4oJpuA|PgL$P`HzD?0l z5IWsEOe<@hYJJGW5Sc#-W=qM((820-?{W)6o|&lA{l%Ej8N}b!xWwp4#wEexQu4kd zSeaTy&c8w!jZU^kI5NLuXiR5(qvEllaZoh)i1|#5#>9EjbZAtu z*w8pW0F9CfGZ|vGww-=Nw^qX5wsKIyD|_)tI=KHk}$zv}!c78bPe+ zE6Xl7gkqPOsL{5b4FN{WV(BJk>JwUxrLWFS&(fu4<3p-urKXIg{Mc!5>p)KF@4?<)z;wOUy)5qL-l z5xAeD#y%m`sAdEWjlDvsv6_{?MMBBnj?P*9{>#^OeV6a7YaZ%SUuEW@Ms;Gcs!i(J z9kq0#KJmJWVs!P6eQVyaAh9klx)hHc=|1N1Vdk+P)3qSR<2^}vR1_7*I5cMn>$)D} zx}M>>G>=cl>RObfE-xPIGLPHGdF)7isxXMRWky^j?gr7Za#bHR&$~OSmSn*R|M(S{-}MFOOE^QFSq`&aK5` zX}uG@1G&$y6z!kPG)%Q<*q>=QH%7xTNode^DOM>pY5RVQccSc0ccbh<`u9JV z;{Q9))zG1m#x?l2ChbAD;a_E&AHss?&{CR%-w|lf-%N;I{f75CQ4VWQ$GTFsP>Shr zQ-U?*vk$oAoQ@~our2(+wdr~`#_E|3TTu2W?|tdA4YyX-<2|*aR+fz9J@L^mV!yLd zmWPUL4+sCbbRtX7U(Tt^wjkDzv}9>?Vrh(Jsg}f~(Zt35yr_v{&e+o)d$p8COJd&* zx6bpoZfW~hZu>8*?LT5||Lkgec0$`Co6A`?wp4CrIVIX)>at0uFJ%{H=}X=l7?a1K zm^}KHArE=)Ur3^m4uuxJrAT3&GS_P5JzM^Y&a&h$?}t*JK3T@ke+bO-f- z#;&F*C~u>;5Xa`zz4SSv(VcWR-9yjP`}6^M*J{_d4Y#0c)%Bgub$ivC6Z79lVJdUF zsnJk3fri_CX-KWs`c|!fL26~mOE^ny)jl;EiY*$BPC;ivL!%I-yPZXYin?XVAwQ}-l||E*6m*kXt*xzEwJob&`)W@Q5oxy#QQA8v z&~UCV4XJU~!K$@+3OY=!){a)KT3*w9X_d3eI^(?v?Sis^c10Pb-BDJj?kHQ+9w>LE zGdND&gZgfx<6;r&QCEbLlY{K~5^LIvTlj(NE32l&2x`YVRZ}rN!!>!uH|e8nyZ5(v z;ljV|UMaLKHTla!)f6Rvc@)Nc*uSRK>hR~wUz(CF^#;v_)CXk|^+VZ!`lBqSfhe2M zAe2pMFv`v}1Z5W*in5gU!(79g)C~Iiflh@by^g$H&q4&RZ|9KfJ2>R}8iZWmsF3TM z9ddnjLar~L>ytP*9QG8Ykthpk6v`qx7-a(*gR%*YL)nzZqwGwFq3lA<*z$H@%e&N3 zQ|fgbj+&y5n$AhHrXvz+Qom^MdOX8Rou)|%HL209sVNoNOy)X{L0K5%u07=RB^^=j znvUg~j<;&sjcampr(!_~oybp}jIxMMMcIH(N7;nVMA?+iM%kIpMcIXVvF_@#?y8lW zrm3hSN*ACM?zW)5FUe^IL1?P(pec3TO=HSz%WUkZDHYvK=Q?Is++E8OcUoo;?#^=1 z6r?6KUu`Tibva#{AgA(M<}9w`a!XFPvz!ie&=iEbwvL)o=kCe`?wmBGUenbHHRU>J zO2wYEtgo@;q+@3JC4N0qbE8$$-Yjt^O+h4H?BFg)O@}*bN<~gLF?Y9E+#SQ*mEVKs za!t2eHBI4~oN+t|cO#g)LYjv*M$tVeN7KD152yQ4PNszz1^!I?BPwpDQ&GM{XP{h3 zcNJEnqv#+y7?Csa-39#aqiMbS5Wo9iTJJ6l(C#9BcYa#!KFaUjQRcfc*Zer1FQg|? z7SYov8_;toJJS-BU1$s>yp|Rh<|1eAh|G9wQW?L9XD3s7GJcugy|YYulj-(Ves@7y z?=B5M^D=(-{=CT}*2Y4$zOC2GOR?6i zN2!~*uAfkLrp+k3aJ{lp+yI^|`%tv6|60hi%-n8AJgxj(=BR!xEJO=>UAQCa(|2XI z!j2Wc7n=1F9V?`cExvVVe*R*bf8{!af7O=oWViGWKWk*ATN7D%#WE_=veHir2eyZi#V2&@!inNj>M)$h z%4m1Y>$a!Hps)!wLD`C$q1>4Ys^!p?bOT+DT|PI{S8@B_0e1_j1i-J;#-Ne+Vyq8yM@#hWeM$p40vOT z@9oC#b>sJr=l8@$L@xyx|I1DcrDc)LvfKzYrxhq$P!GJnBkfczLbK>%tPWmEpVOuI zcP4!ikCgVDgm}2}BiThG+V;}lo<+HMT5C^wN82*IBF*ALXQZ)Z-4k@H-c8e?_N=5T z@7^r8J}kGp9C8!ia?4Hlv)k{-?e|C7fHtBRS5d{LA@SLP-0mQLV=&5Mx(}ALj*i4A z<*m4^wG8c;I)tN;mUU@dhYMJHkFq9*qP88W8td?onC@o8bSXBW>CwHRu~6gr_I#AB z?>ceamBeY(<3xLwQPF5@&D+j4<|sRx6{GDkmz|ZxyZD@LS^7l1<3!8H^k@D)H=K1b z5@iWp$u=N5w#UFWhf2qaLuJLnpN=u3P)id!7-cIOgK}reb;TIbfkbze)rjxdy|i%T zwm%c`6a_|m>RriZY+7r9iX!?QzF~AC{3Y6@w&5Jsv$kP**2^Zey(>wS#QS62BROdk zy6tRG`H0=)c(tMF(QPE-aUAog{6BRbwJmEN%M*tVjb%I{7cU!8G>eU-7W*fF3-n?r zOXvu;!}8E|WQ;D6v(6iwI!KLxrP5~GPgc>g>Xe~-}ZD068Z%6$3&e5|21koa-5C-%@CPjlm3jlmp%tf1b7 zr=xTa$_CUgUayI>x`$Sg*4dkRN&ViKWID#BK9F0}`vvYtJB73WrR)@F3JSlcQl7t- zR<~d-L3x5{Rqiw>a^DdTuv>YETUlteGKgDg&#lNCUe>UP-+mNjF{v*n*2d+g^ifKW zqijG=p=?5nQ8uNW;&KyfNbDDsHArSF`t`DgjhO9HS$0WWhR>s&2)%%^fL=mbogM~d zb7>{YlW94)JB3!GJPEYwxwTjD)F@hpax}e#ax%5UvzzHP=ts}^+cK40OYhYcE^G^Z z8+9lTRr$XfjhDp7h4xb_6Ek&53wAE9TM*yY@BYfOD7rTYzb{Z*?_)A*@V7B z*_65^*lc27V{F!Bze<-*-%J+U^o)XS8Jp1isPC@C`xdhvyfpA5Xe^}d!13Dn%%0{| z*@|huOFS!Im+z&e(>ea=JqIeQ7>Y&jy>A9&jx!R*MdW4`jJsMVt+qvlVh=5LFdqnMg)9MmX{ zmN@2>Z2kYsb>y=~r429t(Gi%cC(`dFO{F2H+-+$pt(TIHAe~ayy3&x2!V*(+K+!15 zM>(3JC?%%mR+pG6zAzKB6~&&ixFpukrzVG@ByzBAT4_*h+IV$Yb=N?xg;a~{J{?;5 z6!O#ae75B3@Kf8O6gyPkN_7R`kn9TD$h3>@*9n3p za%sz}j-6a}w29TxE=e6;vF6p7Z3y4(Svr@4@3mBfGZNf0`d+k@#AuOvI&nSMqMjeA z3+Rzq8R5w*pX-Wx)W}Zi>BjY3#r5oldZMwKq#iGy?tyxgH%UD`xt_zgo;|I4ME<>F zvg=b0+4bW#N?^x22kIZIW1v-s+#3|TH`ux-Jb1};2;NaqMtB&?JWPu7;Lh*7WJp79@DFr?5dc0(M5c69c=XZ3Br?E+R^74;ExQ@~|Plqxs+D<0KX))Q}M7}@H zMQhnT^ZTQ6L78K z!AVJE>*dR*;2o9ol+~8fqoPULIxW`L8Rcke+gN@jZF$k8Y|p02%eIuhl)nm1XT@kb z$D&Debsp>DB(@0^6WsReWqZn>3emGjJ?C>h$GYk%iH~w^TJ^~NLVn{Sltpwg%Hp`J zy?pNyw5j5m$jQssm7G$s6D9Xlo>P9No)cbYGUX@4{YdOz=(2gWS75ZB4WC|m*0N15 zJG;Iskv$aCWuT^!kDRrHuV9+5VmS*Rx?jEqe0)u_p?f7;)i29^n~&dl^r**q!l##Q z=vZ!S<63T8_k(J-QTjo#&l_U)Imfb3X~RoKGT$P!-pp<2n51Hg=tS<{hWqW~>#4UQ z>uZ9Qke%bUWbmJhY&*3p zj#s#jvLyam>?xg-ypF3N_*_Hg%JjYXsEAqCz zy^A-B<0Iq6JSQXmQWmwV@NT2H_kMt@T$;~vnU^3Jt${UorjS17HnpCPb!b38^$9=q znf281{FK$fGH^rih zWSp9u%cjugL-#RdaT^6a#%fjUF`Ba5RlcbsVp%m7ag8EB?c>^(XD8UQ7wt71R4MyO zy?x!Q3hg#W$z^8SUM+67EDr17sYXeyJ9!JXR<`ALr3LLj_3*cj)Bt5EHAFdb?c))yC7!^!vZ!+dwW#47>$c&0%W>~x+R1fqXTGQ7T?y`~IdSoyPPiAL z5Aohyx`<=h5J>T)c$+$se2)7jhRD00!-J!wYq$pQ&ZT#`2C?F<-0qi5Qx_LanwL*- zZv*Y-x_2DwL`TnVv3t^HBE1(m=-m@-=F-QgcMbKxyGok!t{1&>|7Yf>CsVyQN}Lx3 zem;u7ukCIh+$p8LD96%Fwm9K;0RC1?`=P|CRcPDJp%1`cg|7W$bjf>K7T>TehQ|0! zc5k@r-bmD0NLo(IF&CqI8Erp0#@Z_{pMn>o*Ms@pFVN;kG|E-)7@vFNt$X8K@7a2r z;JSAtzo+eUqU+w#*1e-*_hi*Y_hD0N$oi=Ghss6us)WhkPvCmA9FL3DBf8bPI~h-u z(y1uN(r&Cfx&LPwwtPC?$)Ph*PNce!FH;S?tsU(YL;HagsZiaBVYD7Sm2>=hJv?d!aUri}?QUXy=>w9bMZMNoqR~ zv%aNt6~E)8t%&D?XY-xkP}|ygZQF8`yf(?58~ATGp)4j%f#`28{??Ihfi~<>#iQ7n z5T)Dst^L5um+>|p=ho-(otn6_K7MBzzjIfTckaR8qI56c*~anC{rtBDC`+g-?wB2- z5AmIa)*Tt0EyCYQ=}}NT3OR@9Me$xjkMmoEnv7JQ!ryY}8I%+0G~6+k@hsn2!gq2U zceFLWh&!dEez);G#3}8!ui|eV>E)R9O6&ToyGx`s;Ofz2Yu+^gFAPyz?TY5Ty^ewNo7JD4wJAA>Zlc;JH6`Jx-*La3_bH z+UbW_P)ck0oqBlZhq#<_SlXZQopbq)=xs8-UTIFp;AEs0*!3wCE31jp=lpyzo;Oyb zHM#+J+#1z)zDjZ@!mC!_aBWWgDJzK5#w6`%nQg)y(Vx&Z4DXcEkNl1^0w^v^>1V#< zZW&TYtMPv=!p%C{^dy{({{Z+O$q<@_ncOF5;+Go8NIpLjBG*N#1#!->GZ8 zBUY$RI%`g&T~=71pDae{j)IN&&UQ)eH03+nC%My{@9dc5PAk6CCdr+LnBsPP-^t}d zzSBO*9c3|crh-#uI(nAi9at%}_Fh~!ow%MZDBYaed%L9Qpr+ zK8W^|FjYMr9#`_|5Vq0@M#AQtb@nn<+ zaZS78d1K|rGKc!S1%1+jNJZQ7G`{cD>Xj8B@&VYpLD-I+^~ z*I6vDb6oOzh_HGxw&qZqM!tHcr zd+CnajJ@c3^f?>O+Dg%Oln!Dpdpe}qkNc<5xFh|OaM_!=>=WZs`eQS%D$n)j=LWi@ z(FxWQ!6}tyye7|&=I6({p0~f8-`hc9SJu#2rd?}DY8u2f4UW|$e{I8mZ5RKm&UhxW zl}&J2Sra@fni+ytzm8kwP=0=h>v{VNc>V3WXyp)=@S#lQu@3qt@ZTn)bVrLL`OZ;E z?(D`o?#4Pk0kv&}b~GPmj3O=X!}2+r>vCG~a`yNse8*|^Du<5JaeU`!)NgvRHT=$r zN#41h@0^_E&c}S`RO^oP6sO~F#R;R-Gx^E0QMx5^F5j7&%-o08SaR8NNrc}(^sK%_x7{# zwKdMBmR~{H=&$JvrwCfoB5DM9?2J(Qj^Lm zOXwD^N#~AoM@NU-a3|`@?)4pgCWkX_^kV++U>cm+tA6KBt2Xh!7VLj5UH)zFY0XgIO{U@taP`Eabl};@WOXQrn|RYI_`i!?_74-5&8Y-&vgG z&U1Wc3Cd#n6M2If^?b?x_#)qT`u+ZFXD{;|iKRNO=$WV~7!lg@NndkKuO_L<{)*}f zaOv)au1?YmFGW33TE?|qjdx6+Zl6?hyW`HA{LXTIXP)CuZ`QyH+;RJ+eLm2&&Ue^4 z^!I=2Y-K~W@|!5V!|mvig~XQ+@V92Ps-|-$RC#$ZeaO%M4C$K)`X|fmBfjI5{vj;= zwS33v<$v%ypC)-nk6zZ{PBA@*EX0gnzTl@fpmf{JSA6Fi>yGg99sZ_g4efc7@9|fh z#m8@L3#ph9`%sqgPq^cjvAqvY?|>7ZvG+#mU6FEU9%NjNHlsFo9;E&G@FX^)Xe*)L zn6@a>CcONCzrpfR?gZ+z6|1wM?Os5isjT*F==*>3JO4V~p;~Iz$n58pStO}b=2+!g z)oHge50Os&hOFGrL49gQM6PpP*ZHn%)xKTdO|e-lc|Yp9-w0pEs^^8LqFQQv`vGKg zmFsUG^53MMNbEhiUJ{%Ak?Xdu`!&!m`nEV9wOn+|7gO?n9T%M|U3|#?1$kb}9cynf z-6%fQ-WR!6^(iZr>kGL)b6@GjzQ3)DKEMZJh`{y-ad}^`r^t^wlA(s>jNBD`{ByavOlhx#pyi2aqmD}8Onw^?v22e z;k^`BruBmySEF%dIMUg!a5UEOO2xxhKHjZPaf^K(jzr# zeTt(NJ=T0IBGc!S4J*p;L6DQEL<5n&%u@9?>xto=R2-0#Fdfm zMYuApUyLgw2|dpsJm{}t5&(;WKH{nUc!!3^Y<~r`(?zlG(S4P%%;mXi?53USH_d4FYA6KTm1&${l zay+@v@#G?0Rg3fRsN+h1^&uQR?zs0Pt_&@D+#pXr?YO7EMUi`panI2Coa0K5f8@y} zxMwt`#}abyMaO%323hXuxo)|78BZE{zUp{yspD#y zI%?5l6nXM%$GvZHWjNZ1E7QUz$JLLH_kPBeX-|(^q=jD`PyXh(`onScr{n5x$JM{M zGV-L_wghuv^dKo@#Bp<~+Lv<0ZObd@dX739;L7mO&~Z<%?ny0;aj$9Ir}bK++-u@^uNkgPdpqFDP}TxhhTE2o zdpqIEcvTx*nOfR8-fQo;SK_$pge!{E*#%do&aSvJwCsi}LrXVY8Ljki+}qP}uP3gI zj`nuk+sAR$*KxHku1tFaaAj!O&vCWCjsNVJ8X}I15OoUmy4-Cj5dJfpF8qvK#i(H}`fjW6amjM3)XXN7@;P3*% zSI|U*qeL$PyJPu&0nogN=z3raFt$3;QlM)M!d?lY8a0W|0=@)>)k0f9yV`gj_zyU` z4$&&0=QczS0QI&dx&ZhV7+Dw31Fh>3T?K3bCe$Z-1L)d-=vE+FOmrf!2I$ie^Z@l6 z5uFEo1svFz=qaGZc0{v)-+;rK5G@0CZweZL!e&G#0UrTdf*(ZfLf)wx}kP%luoEzxPfT42w1 zM7IGsI};rNECqIMPjm(FD{xQ;q9=gHB}C@}>w!TXi5>##cYUG;FQUtU?|}XH2Jb+v-bBX(%YlyjK&QY@ zz_30<{{#L64(?0zG_YMiqH}(qUB+;?J>p<;N{6FwNU<)vE6xsx89t0TyuK>*thF*aWfn7&K zU%(C|>AlY!+x!C~+j z;8~#I1pFOX02CaKzXQ(#4JQ(v04xP|I0AMBtN_{^NpwE28t60$@c{S?=ynuz2Ye0e zJsI%=_z@UzH2ewp132&)#1nv~z>a~1K=fFm{ea7W^}tTY!B2trfs*54PrxU@ZYRJ8 zfG>fbCn8n=n}B^!BAN^Q1{`oQd1C|3jor*ev_kohrP$%#Su-oaV6ZjJ7 zc?RkPHUR_91kJ!7z=3ChW`NEH&A|1*CSc!l&@S*BaKO2sA6O6Uc^;ktHUaxi#WTQf zzyarjHsD{N^aA)Rkbfb34|p7?HI3*<;5nedMQ96H2t=n79SS@N)VUab16%@p26USN z9)aaRol6jZfF(e~OQAbpDNr;MIt88v{suJ# z<~I?I0xkz$0=59V-VEOc?f}*Tjcy?t0!#;<0e%8n-%2zNxCVF~_z&1)F5)=wKi~&o z=iAU<05<^d0)@AOH{fjG31BnO_72bpTnD@XMCO4;-~`}qU=2|BPUsVu4m=0^4s^N; zu>hC{d<4|F8+`|G9`FRP5omP}>;||7coWE*Pt+Ya7Ptdg1r**3Spp{lcLN^+HSZ(p z4V((x2do9Qxu2*Xa3=5|unwsI0NMo31s(x50F4%)j|VOQ9s|Asnm!2K0Mmh|fbW6k z4CMw|pL2VMYv1==ozoPn!>SAZ=*hese+;5y)S;2)s#BJ?l79N;Y= z@;~Sim<-$stOW8N1^>XYz#YIUpzty951atp3A_&!J`Vo`jtAxetAOYe&@XTW@B;7) z(E3TD(ZJ=v5@0j1(^KF9xD0q6_!(&RH0&3c1w04*1hjkxb_dJ^o&|mcc3cdf2QCE` z13v&Qo`sx%OMqv9TF*f@z$w6dU=2|7dBjrSWZ)j)L!ibI*cxyWa5u0TsQv=t7jPnQ z7w`d4^dk5NP5|x%-UkX_0{_7Az&v0T(CTH_1Mmt^{}sp@cnrvU74!jj1HS_OUV~nM z4ZyBTi7o`*2AaH%*an;rECSX8U6-NX0Uihb2KIjg_6sZoegoRP3HbuEfE7T&TZomw z>A+%OGth21=mZ`DegL|>4gCW513v&et$;5B_X58IB`ZNYa6PaR*!CTw;lNDb4WQP$ zxCZ6{?*jGSL;na|20RP=3v^rsc>&J@KLVZKN4x@_0saO$e1O;pJP7;M?|{-hXJ<%Yk}=PhFt;kfek?YwXg%=bl@>yGtl`H z$O3o}_zBqcQ`iLX2=D{Y;WNkrxDWUWXtfT030w(05Bvk{@i}}Pcmntp*yRh@3-B=T zJ+Sk7_!KZ7*Z|bsfZQ249(WM=4ru!&(Int*;9a2pSKtr08dwR`{u(g?m<7BJRR0EX z1egZA0Q?8+`YmV$<^vmm?Y;y5zzx7EpzcQ49dHe>5~%w62O4?wFQ!3%IV@Db4HC-@|A9q8KGxP%72CM?M`33C& z*8r~r1;0XOz~R6hz^6dd--yNlw*nskjebWvzzx7Epza@_9k>#B3#h&Y@&IN4uK+&* z9sh(~0}lghf$D$Z8Q^kYCGa=U`fv2xz*OLVU==|BKxaTHZ~?FY_z-CFFL(oH0*?Wo z1GWD{UI-ikTm?J>dSPP;Qu3S0-g57fq* zau47L;40u1;74FPj9t}A^c-M0umxy|-A+S*^MLz+_kjNZbwbui;Cw)x0RBEu9jioY z-`!!rWxx}_=YaaIup6L$SL6y{CGa=U8mqcT19JfN`wTw-jWJ84zPvgCP$#&(3j749 z{a9*O*J;2Vz?;DDKnsk%2LopScLHk1_ZFZfR&s{`X8~$whuRJB7qAm%y@mo81CIb| zKClquYc+pz7;qWz1h5fkT?h05*8xj_?|=r|M5s3~1-Jot5%?ZxxGm@aE(RU}eg-<% z#ffsjjlhe*CZJ(G=mk(6L=K(1c+{rzXM}| zi-Co}$3XrLs0SDgTm(D>tOjzL<9l+T6gVHaA9xS=7iiNWLc@S_fO~)yz@I?N9V2uA za0YM(ungD?G-(MN15Np}1-=Ao z?+o7ojsRu@&j9Ozn(d)yU_5XM@CdL5sMY~;0!9Mo0rP75EWo z+%ZCX14jav0gHguz`wwbogy><1U~P zm51e*rsogM5IKft!IPzy_eG zJNCu^BY-o3xxh=n*Feo4uw!5pa1L+>@G9^fP-hR&2#f}%0(Swg1Dk-ldqS^3DR2rf z8(0V|2Q~uHy%4K_zQ6?Fd|)oH7+3@R0W|0dp9Y2jCjgfL_XE!Z?*rcfe*@KfVTKau z0PGEn1f~E}f$M?!z~jJcz311tm90Y3wUy(6>( z&=Kel91ffcTn#)3JPWJ>z5)IN8tns`fPuil!12H=;5Oh1;5A?^@Dotj2fhPz1O@?z z0cQf20&{@*z%#%~;49!)pjuzF0dxTR0ONp@fh&RgfG2==f$xDxKlFdV?!Zvs2;gjB z7H~K46!1E*7Wfq?*cbEwoq<8X7~ptd7H}KzFz_<47Wf&+>yNktbOr_h{czz|?8a6E86a5-=b@CfiK@F}nnhzvxZ0dxR*0>gnLfs=um zz@5M%;CbLZ;2YpypzeN%8$dr`G;lI-8E`l7H1IaC9@qlZ85E(mKu=&4Z~|~CFb`M+ zyb7!Vz6SmViuQ;70VTjbz%bxQ;51++a1(GZuozedtOhm$e*<*}M`#D2E3gkx3LFWX z2FwI*0`3Q%29^V#13v<}2cS;{b^>|;2LKa*6M*x9Yk|9fr-9|b=fH13(GbKfpaj?l zI0!fnI1ji2mw#Z@=z(YtXan>B1_NV(Nx)ga<-m==1Hf~@O5ihKGmt+N zb_%oydI9?Z31y})m0sI2|2hZLr^a6$fM*wF4vw*q4Bf!hRa^Pd&Ti_2MIs$PB*a_$g>;oJK z910u? z3s?hu1^fa;O2H4X9nc2Y1=t%H42%XQ0jB^L0G9!C{;$0^0laE>|Ho&}x#!$l+LQKO z5+%u+7FtlE5K&U8kdjFDUD;BWRCW~=LXlDmWvQ%@B_DhCEm^Xp5B*=y%$YN1p7(wC z&F|0q?Q@-b-_MzOJ=;7p&zU)M?>+avK{G+~KubX{fZhUq3i=kb36$$CMKw@8P*c$E zp#4FIg8G6^0*wY;3c40_8)z2j5zsQw%b<5aUx0oBc}L^A4yprc2HF$U3DgtR4|Fo< zEYKLx^`JXIvq1|%&w^HiJ^+0M`UR9ZMvBUydZ3*_dxN@w4hQuI4F{bAx*RkSG!^s! z=rPa=&}z^Jpl?7ML17>G1JwiV4B8vi1#~#5Kj>u8S)ehX>p^#bW`h=jo&~K2y$AXX z^gZYgP?^3sPe6@9yMXoqbp{;2OK{G+~KubX{f!+pv4%z_P3@Udl z<_%~EP%BUy(1D;{pn;$fpz}aif+m5cgB}1q23i4n9kdqoEodVs?1yy_)Bw~1)CP1Q zs26A;Xawjy(3PM`py{AFpe3N^K(B+=g1!Z90_Bdwc>`($Y6)r!>IymvG!QfbbROtR z&?L}w&>YYb&~cls0yeSs1ax< z&~BhMppKw!pu<2%gZhI`0G$Fl19TqfQqWbP>p)XLcYtPq?gz~SJqB6^S_xVOdK2^> z=o8S_pdUaRLE?B^^Fb9r)j)MXjX^tsT7mWkbpRazIt0`U)E9I-XeekT=q%8Mps}E9 zKodc?fTn@&0nGs|06h+R2J`}GHRwN}4?&-Uz6JdR`Y*^Igz*7Y2Gs!72kiiA0oon3 zFQ_A^E2t-^H|RLf5YTYYDA2i}OF&nGt_4j7-441NG#m6VXc1^BXa(qH&>Nt4K_7#@ z0(}qq6|@-?4#u7sv@NJMs1c|cXjjl)p!T3Hpzfd}Kz%?1K_`Ju1)T}H05k?P4s-+P zX3$j7EYO3X`Jg4Br$NtyUIo1c`T+D9XdP$+XcNdAg0%-!2~-_a57Y$I9Ml@r2DCru zAW#p`QJ{XH!JuKF(?REeE(TozngE&vx(##}=swUxpoO3(LCZlefnEo_1NsQ`CFncQ zFQ7j_!3kKqKvhAtKn+1Vf?9(11hoTo1|1AK9CQq50O&-}2+(NI`Jl@{SA*OK-CvG# z1C#*;AbNx-v!EP^z6-Sts66TwKoy}`6-4(Y)C8`DvJT3+pn9PCzzso-K~3O!NAQ}V zzB9_^D0e~G60|Go^efZ5qrL~qy-?C)ZUHjX3&%`hf-j9}gOg`iZbT3FR=*2=GRNPDgz-=xoq=AnMPB z(7OorOHm&Kx*T*R@Hp_VL45+~I*iGUpqoIqL3Ss2(@@?Gngt#`W}}<~ng`wj&?4w8 zM)?Fr{%QDn26#DWC3r7DZx!e@5IxqQdC$rF_oQ5c=o$XOpLD?uO z>qO;t(4jhJDthUOYS5{!NmBdeAc1f4fq11PJ@U7$@MTrS*Cn0bK6KCrv`xS8hqaL+ zfiCW&kraz24|PFU(k~*B9+gDY4#h|H8mL!>EyYde3yqPE3v(B;#^6y|9wq(auWc_Q zP2H6A3o+19F(4j^-hwp7okNI2$yK{H9_^FH&%{T1L=$edt^+;lOMU24 z{Pi&g)Q9?LA3Qa#jnPlt2U}9Vwnc1uY%{V7?CU^};-w6kJ|*kAe?i=DgUxvBxC6u< zz_*9kX}kl(X?&B6c&5+PPtrC0w3zxw`KP{Z4}Bef2Kn&ekJhbB?3e0@6LHgjm(k|~ z#YSr!of}lv#CV`Y4#L=;+9qsbCHrK&MsDKQx;oa{s(l?t9r#JMXX_bt|Co+L$Ae!c zL!4RFlIaKe4Z*WG8^=@|zO}xNH5m)pn6aaHsNJ&A*X;#pTld}Y>0UM?qmp7VGK;O9 zjy0#EyWlhjjdmj*)ibyI+hSVvW_0Y#9Dys%fIn2(Q!QvGzu6B zJtkTj*AoLoT1Kh|&YCEF?Ts-3i{ls7{7X1GHr=1R4wV8$oL3q%|KGyaR>j#eK8^d| z@QAyhvqvq^m5;tnNb}wNUy*IF{*}kIx+1R0m9b7##oVi=eqXN!W^pZ18|z_RT=(jW z2BIO>%*I$Vn}{7mQ|#fIiJh>6Yc5(~|JD+FH~Mcat+998L+pv2+uqo*wZV?9t!O9O zW4E>+c55B6TkDM7+5y<99VEJ9pLVe5j$PWJ*roNvF70sa&U#^Yb`*&I2S6YEe$}zq zp&cjsV~;ivd$d8=qYV)!V3&3h=w$5DhKp0MPdgR+w9~Lp8-@SPGg_P}&ca^p9C0po zYv+p#uvfcCTr4iZUhOjM)y874b_MooSK+^rj>BGUJoakWVy||+xIs+Ber*yy6P@y1~)!?j# zrFrPRc3a3(qA~CiRk*$;y+mt*uvx)`oog)LuKp-#+fQ?!O)f(>GI^vEikOGihtb(u}Y6 znN{uSei}cN2dZluHwRh7=11{StiH+-@u;rtj2}}{JQOpL&Rs?1kH(xzHy$&$v@OZG zPvUVqqi19Fln%H3U&VAj(0TE9#Bauq`!0^p^|l`8KR@Waq4UT1`M=w>x_V#oSB;DD ztILXb#h8zDoTTF`c@o=tat>=v?15k10uJ*8v+>Qf}4=Ds^4AqiyvZ z)$QmuwVpfHX3VKHcGNGUYx`q(HZBvR^`YA@x>uz9*gm-OE#=PmD^ADwO!`miCgp~o z=d_I?!>2MyNx9{hi~UqUoTOv=W9n3DpR`U<47wfCBTOaP>XKgL z>v2iy5zk;=8d(LrLqO}GX`is>X@3<|95%kBo{53Rrvlz*FtTK6*4QL3UtNzq^{u%4 zx;f-N^w`o^(mt=KF3AnQxR}g1n3D93uHl)|_}Wrw#*#|yi}Io4tC$$Cq@K|=emN$- z(YHF3e?9(G+B%)v`R9SFXKjqne5Hxq$dc!V@u$yOI(O;3%|ACRzby3V{3Crj?{ZN| zJUiEPZfRd=<_*axX5#62Vsx}0&9^drP8*rEGi}qHb#+Wz)QbNAtCQ(w5@TG1!vE(C|$EOuSa#_9s6tDcAiq zdADUz9o@ERzc@Q9H~n&blHBT;G1PG;Wu|U)4K`z633H+?))6Y*I$aZ~4O+W3RZ`bU z%`@}Z=799Ip3PZV_|)<1(u{R^@NHd>fyTuD|4Sy0q#ws`S@Gn85`4|WIhcqStjLFH$*zgdT};J&&Z8GZL4#x$DZ=6 z`;BjIMq^;kH?2owWb)J&?UNp1GhW(`Y)H?Hp_OZ0?SpKrFRiQP)JJ1a=elW|_%zm+qI1+q9W%&#miNt&e2?bS%0}Gd}v<(&q@RNhX&Ri=LY{27RvTzUy|9d8hml z86VcCJ?HWNC~)P}{nX>+u7i3U^!jY`LUGgiVa{dU4*5xrn~sI_bbGYUY995KY;?P( zPNj)K>zTPo?UlvcEThQC2$OHa*O=lb-)20i4Snu&y(CW7sSgw@@yxkn<vfTD>;>#%A+i=#+ypxliJXA($nLrOWh91%vkGj&@ouQG%n?yn5~@`EH%s(0y@B(@*ka;^BH$ht3!Bt96M_{owHvpW@W#Db*>zIv&%8 z@mVH5m-V?=HX3W~gLt}4eU7+oCF3;XY5dxf&ZVM#CViu$=Y+)+qt2hUvwEbXz{F+zo6^Kac61&jqvo46K)0P7Uo&Q= zZ9UGUZ`#y-BR!+zj}2ou%kpLkoesn+0SW~HUM?SSo zkAvoGJ=3P~L8T#WM|!4xb53bn9fOvezG{CukGgLC5hfes-(WPr9(2=}en1f49)%mG z2t*83(|5XQYb}ixsG?LgUjwbFyy$8y1W#FzUQ|H@k-jeMeN97gm(wm-caL)9)ZEtI zzf}bzQ3D?I{af^kR^Pu>4!Np;`?u&`NV;EtC%o6#9QSxN1aBv3)BRg?7cqOks)erZ34Z;0eeFTlj`M7^;AoLH%{a#1n4zRws6YL1^uECvQ z*TCXvSl$pnr{E4QdfpJ1bpO^g+`mOfTkDDY&K|&%?%$e&ySL`48r{D|9O6;!3HH?Y zZ>_{VTy*~ymHJ8dZ@m`Xzx5`{*Kq&V8r;9NT0P%WoHrEj9UNCf@}82Drm@p}vNN_? zLjK-_Rz@0r8Ce$plB*o3ES{BQWmyHsZDlpN9iBC0P1I^DTv^sfSrgJ4kkrSqsoYUE z!*gdmGpJM947Jv(q`H#h$^-OS&Lc1jGta$z8 zak9T0AP36h{1E|HJRC-7VLhobw3G9gTzVh}W$_1#c zk39bfv;=rD_#5SKauYDM`93E9yVCQ1L`?6>(0c+Jiy_?vG#}4}vXV!UEtK1$d>1ww z;pG#ww+Z!nu-(>ch~s=%HSu1NO}$4EGkIz5k^cqo{XV#@y@hfQuQ~jC-ZJHTwQT3L z_d0m9FlskrT&H2A4)EH6Gh24^x_JjcdMKVfy~Di2LA|^qy`#L|(CF#)@%nnldi}iP z@a%x{cyEw5SlJv4t)Y+}@eyynx4?VUTj(uP`ZHiR-+R(q>Meua)7~@Qv)*#puk@aS zhZnpT;pKkif$Seqwu>TtqfNS`c{jY?gEl|&KKH)xzVyEGzV^QH)_LE0>%H%QfAD_v zHh4dIKYPD;zj_htl<9w`^tV5zp5Yl z)%@-J>V6sjM{hg7wqFMtpLrGhui^1`v|9!8ZT!m6sOqotYWqKXb^KlYmj14OD^N>+ zcRcsRa~FkM`EAv+gTJ3o)Ctcn{sB04Q00C&cJL4Nd-y#eJ=8w}wIfmQ?H}zQln}kMBW2YjYrR}g)T{70~!O136TxyQdDCQ-&kcq zqj3bt}lU4KmFjX_L`;Y@g|nnJtg?J7zj&bo{#kcg@@+cgl2!EqS4q4$t)P zsinDcw@giFG=u&`xSa*a~9W@?Lsc~$L*nUGK zG)C0Rj)<)eENY<~hjFcgFAYsZMrmxm!`Re?2i@leh(z~$H+X7}XFd4Py{EpnM}%~3 zqRh2H%d=%`Xmo^zz-rqStxm%VT+f>;8z83E(5MMNWYGrE?-uo=I-+e3zsP=2SH)c~ zpbRt&xcDO;{ME%cbWk1}qc$Y-6rLS}PIz|2 zla8H&r!uNp;J;*j*_h@*9;2Gasf zQ-hhRZaC9o$+Tcz@JKK}SO8iWED9bA7NeXWJb~I$;6*^spuRjIXKx+-2tAck?dmk;%2U-m6Pl8W_&){c;D!)c;4Y+T@%OYq~I}4z<2<3d} zY(lvv_yf{40WSNYAAS-9;n%_Q;FJMg9DI!yw71IPqQDE+z;0DgJ**Md3~Pn8!#ZKz zuwJ-4Xb?7p_Nt&^*aW;<;ew!9xKp?a+K;Jz?F!Cr&}b0Oht6XG=`0HN4QImp@}OS0 z6p|H?bPjigrw0J=E5 z1UAnH!=e3ra6)(`I9G?`U@<(SOkc%Bqa2JfcuW;|~VZwqe^?+AN=H!YkV z-WA>*&H#TRxVMG(A-?;=2f_!#IpN&!A!y7C9|`A&3xI0D>L!$Tqm?J1b2HF`I8yC? z&`L!wgfE6Kg)fJz!dJpqVfR}2diX~8X1E5v=Y(&E?}YD$?}hJ&AA}!s^vk2Hn5~qpoXuscX1C2&%O2{D4{Ky=W(Nd)!?M{8VKqpr zWgBK2WgBO=&;AhZkZqdXQPpc^H$rn$*ukS#{yj*gHEoER!7;HipI!oC)2$UST_r zTBkOeW={lv6MDH3&rRV7v_q}^8ji}AS026(&qfOy(AN3rQBC-*nyr!Tjh0>oQClBF zRtem1FlOZQIz+hvoCR4$JSQUVS=k4(!-Kim zhq4c6=Vc$s&duH$KAK&aT?D*1yCgdzcq02`c4)9HJ1TfO`%L!P?DFi2>`F+Np!Q;R zMD}G!M+C2CSEFA~W@m(>f(Ns2!QYJV9e92(`+oL=?1$MW;Cm&WE3%(uM?v;w_A7Xp zmtB|r7VUhO{XY9c_Q&jo>`$oulKnNi5yy=vH)Q|FZU#^0yqpjEF&pNxxm>PHZbR13 zZO)d@RmjO4@yg_?g0iUlxf;;(z$eS^;Y0f)j~n1k`}$RRY5|*;x$?PIIck6R+)vp( zb9?3f$nKMCliN4fHup=meXc`pKX~ex>y+yZEOQ6u4uVw~v~f`G5Los=T=);@(DHK~ zRRo71iaxo%sPCRT4z>fJ-5JvF5mgPeL9w<$c-uWU9`!5WgDfZJZp=->af%w7D{{A@yb%_9B!9(7Y|PHc z%>=&#tPaez$X$ZCAH?xNw4Qv!h2F9GUwWF@-I#r+4@M^~lOqt|-7x*mIlYrf?>N$< zBHr=BFS&xM;d}cv@h(|iyc^b#M0hj?HNm$a@!Pog4y1mxz_%dj(F*UD?SXGV?t^bX z(xaU^cEEQa-3P}4-;gZ+(Mi4Q=E}Q*cQC$3Nl*NCfqERGj^lHk@lG9n$N&$S)g{$5 zS{_`PBd&RNRyK4bD~+g54}-L&%o^^S`X?il4t_lu`?%qXL&xQyAnfEX$IfAFW^9H^ z{PHbU&U01y8{XN#ukdEHF=^0~IJTx`WZ%VfP5Dhm6gBP?Zd{HCVCys8BQiY<$t z5x?+@Z=~u+U%WR-51r}$rIP7^_};939DwiBeiKri_7a*$B_YZ*mF9VX64Q~aG@?2^ z4APdk%17Mw!AbNZ7}297Gi@U>ttZR%IG2il6i%iG#hLDoZ%c1&rn{@5p(9yoM0I)? zWHN2I>w{lPDbqG06(BpLnWh0LZcdx*{kcqkm}XjCr%Pw`9um*#Lr~k=IjvWGI+B%H z|1DQf8@<*W?)qTo`1)D0*J%@6|XbIelV0BM-)|d~4_Q!D?dA zk*qYLIz0?B*J;CD9~@UonYIzB0NLT+GN(&&^?tCFGM%p8baIzureDEpV)H1;S6OMM zY1D_tt2f=*w6&{u7nLwNl9fhOr-wmi^)}q~LBCR((>5X%AUph9R_~I0J^eu`WjcL5 zO(%CruHN^SQl`_@n=)OJbNby<%5*xXOL|VvETv4RbGoGG^gE@L>2yw)bf(`*GhK@B zk(K0*tW5g8cPVDNBzI(M(m7pQXx{@jMiRh^x zmaDP;)Y5R*;~wcq5k*P98*1XSttV^gdt@{kf9vnNC-4TD?m$)2q@Yy=nLZ`{gySImhuW?EgySH(#6zEm zp88?A8tYFu40nBSeko8j!#C6OQLgDbwkDWR%O2eCOo3Qp$AtDvL5* zlJAB-RZ5vo=QL%yB!B&)XDMYm{q>8I&h)@E)BlpacmGn#bh`JZIbD+1>6=O^)9H1Z zGF_5;?-xob)9K#3q%(bEn(0!!PM74IelgATza-O}(@d9Qrb}{1wp}TGmX+?v=sI1J zzf#qwl;(8$D^--~lKe%RV@fI0=`Y$)rb}}5o>EGgPFL@e&h%$#rvD{7vX9bC|4TAG zKh1P0X1XNbIjLAmud>p2L+LtQlHZj7D*dK>DbDGV+5_asePk(RI(s(>rqelH(wSbDX1Wx2WF@)x4od0ubULR? zdQMMB=X5E~>5|-$-BC)JPIqK9r%N)^Po$YH#W`J)*XbJRb^2eD>Dp5{%q-~B&#oj&zX{7?CYG@N)e1~m~)acm}bCI%iYL`zlb|0%y$sr*lQ`oF^Z zaiBO*NctD*IO>vW8qxohC$4!Os7&ZcRvJ;A9tLSknKj%u6Q5a@?C*Qqh*W^=;Ks#- zeq2ziEdl{J15;#+;k)>ji^o!gUo+B zG+g)hL`w3P+-*cEKz4BBV!{H-^r$q`&RXMUdbBtTjB`O3fG!5n<1%qMj#q)M5!Z?v z#3XT(xK-RiB0Q#n?iRCfyiYtp3_RwFd8%9>7KtU|N%53;R^gTE_=0#rmG;1~5HDL{ zk=m=`b+LwV-v;kJ@wR%J?a_ykPP%%t!BQ}bV;Rskpz?|%L`6{qTq)xnpup?}d>vbGrCUZ{3{U2fnJyb~qo($$jy3 zXLV`JX+16_F{j@M(m8GNUD$KF=Ra~zZ~czUtQGArTZ!^L^d}r7*;k3%sbdGxL6!Ev zu@L)PVUb#=Vy@E%NB>{e7aipOh{(Lk!l!Kh)_#^%q_MmV{mEBeQHlPq+WZl09k(zt z-AQ(FGJTY{PVK+eg}TIhJ-~!$^`_E1w{DcQc7ENG{46Vf1Y5@~j7%RWyE>WP;BD=H zXV|(?`X;1je%&d&^^-Oqci5>vWvrs8Sf2?koE_nf^K5k?}+q$m-o+4s3rAx@@q>FQmenLbetbu#_mbWRs&riaN>oJ?PvUZ)E*)2GVQoJ{vh-wiF$ zOplVIolI9ruhRvZ>9gcHPNrw2*XaVy^m+0EC)2BC`o1?$bz!`7a*@2m$@HRhPV+<; z$U7&O$+1qRKTb1UpqaixUgc!^{q$8ARr? zn(3$IvreWzNmuUz&GZWSoRjI^-c{=L^i^41;`eTW3DN6mD$TRVfaGOp?YyG&^|Tt6 zl6pP;f_%xz^!4d=y2xo+7<=zk@>M6(8`De|Xr^D2Z#bFmo8H-9pqXAH|Knu(_jE^A zpqYM0zUO56>NL{@n&}VZS|`(Qrq}5L&Gg6eQzz4t(@Ym=razZoI+=bTUA+r5(_hPV zPNt`&bGkq?yOA=>pC4FLI-k>8WX^3pCT48k0yp#_@hZM^bMre8}}?*h$q zMX$1x=~vTC7igxddexjvKb>Bu3pCT!y_!y@zeqD(pqZ}i)patxGR<^>X1c!D(8=_$ z^nULG&2(e0iIeFW>6|XmOgHtKIhn4TzMd}7Oz-Tqa5B9jeU(+9nQrN|axz^m{hgBn z&2(#T4=2+i&2)igdM|GuC(~uqOc!XT_x0L2nI7Str@n!AURIYvP)Ufsfk&lz78#Jd z46U74lzszG4NFOV1Fr+}ocw%Rh-E6%%d)!Em=I-}O7qO0JkirPTBe_6B~lz!bFwVHd0bAG z!*MTAS=7qO%8FYJ*gi;u9+goN8LYW!T+9}T+L~}ET?p5U;r^MjuUhwX*7~8YGu_{#tno~1t^Uv=DlXF`D=P;ojX@rrH$%K3 zD3h5^Vx8#|p7ahA#; zZ%NN-l9!d|;CP;QfzrFkyNG2viFKwgQE_mO24CilW%4V$%e#7x3XSzP> zI@1l2@%(eToNNdQQE_vcWMySzrO`xP3!2GhD3fzKiFKxThJNvn7P2Liw~{SnYuQRY z&2a3&bn^Mz98CCIGrbuz_=n(Re{--o*qGUvp)wf<@q{3v2O-0;H7z6iVWw-s^`bTY z+;O~`2RdulqOLQ2ecm~(wXTQO^;?+JBrhu`D!-GI-V|>No6||GGkvqtFD~|5z1yAD zTZlWoTfJ%Co$6_ZFCnk1g9H7Sf|r8ond%uTlf5FI5JdDKWH`2_ zWn|ygbWONkw8o!1{++A05b5gu&sn`^sCl4g>nzmuoW6GpbNXIr5f!(3ldPJxbxya(Re9&|L%)64 zKCBj03#d%SK|EX+qj^rqaBNNMll^<9Yr^%C^tiS4$JOZQtUZbB=u9umn`!NH87zp3 z%QVT#%BOKW&wEy7dWE-wWjcv~An#6Rww}$E~fup+-k%Z4K%= z)Bo8*rvC%2|ELV|HuT<`{n;2sVB*!z^pKleWNzVtp< zPcs}}GaX}{EWZm{|E+WSJLGV?aFqXD@Lh0w=JpJg$@YmS1Q9(58IG-K8QGsuJ7v>rDR@t9J#wx=mN_f6nU7 z_ulK&l{Np~TVEHpcJI9oSIuuMY`=4$&GS5o`Y7>Yxg|D{S~<^33bgyGfmol19v3#^6 z7vc;DOYbdmA`}y)!9rjj!bed)=3`zy<|Xl?cC8=G&%Auh)4YB#U-R;p784KVZ(e=O z%4r-@4S4>^Spe__q=?}`@DS2|Ga#x19|ya5AyP{F68B7eaOqlI+2%; z^&&4H>qcHa){ne=tRut+(Zik(SWoiuv99FxgY_k^KGvDM`dDxB^0DsZ^@H^#FaN1x z;)(Qiw-Wurx|G)s)+g}o{J+wfe|U#Q&F7-?4C@&AE7A_uv%Gw)YkB!t-}3UY&gJD} zz01qTx|f%a^)D|U>mc~H->0*FAIh-4TOTITV~JjuBZidsgReqRa)aaZOHS8vrYFQB zY<&-%cBMR*`89r2Gl)OJ8sa!j)oh$K^nN2|yvF1WnfwzbmpUHBr9)MwAK_SjroP_A z?deZM?KnTHG-Gk}iK)eRYkAC=!Ti0>A@?_g@=HyL?j?CXty1#MzEtz}+ zlecB^IZR%c$(ytGRreC-;eE`$IMRBL62d`3}tf9wu+i3;+EItJjjReX6wHOlecB|ZJ7K{Cf|w4tFrUA8k4VP_T`!U z6(+C9Nb_`#^@PP~;&9MFi$@ceR zCO?(ofh^tuTCRFYhpXB6ysi5m%f~VK_e@@&wHNCBUTl9dTc7n^tTz5-%wHsr?Wb$G zx=K@Zw)Pjxo9gyr`R`gkmhZsiy5(41tW{Nu%d!5vq5B{EJDv4M->Yf+^CW9OlE?Nl zwLEU{Ue=!~EZ&cqzsgMhA0}_Z;{SlfKa9n%?@P1sFJ=BBx#H4chL*?i&tdVeX7TxK zd|zYokF-B^q(i{spUdJO&EnVh;Mn+|X8t01?0=S)$MN6I;(wXN_Z{=MlF9#I^6gms z%UJxUvH10!B{u#in7>G_xOBKr%j5X(Vewzg;#;rv)sYUDG5NPl-iXEj5R3m*7Qen< z!p8p$^B2h#mk#%8c^v;#<v4?jhcWww+CG-=#@e6F{P$<$eh2f{m&xB`@{bwb z%FUyq#!cQXBe>FW&I{{N=0J8}PZW&ZYL=NERJ+l|TZ zWcIz8ybF^b$mETfe0vsOV@Q~W&$T=rACLK4r1Kxk`R73O9DV68aP(swkLTlB z9%1P*eTIctujhSi|E6OvL?_n2uDXA5ynD0!e#iVZXY#w4|CgBmDs22(I{g=-3~T=_ zX8!~8|2UI(WA^W8dEB3SnEmt2KI(5gUVWK-AdCNfCf}CHJ2Lr6O#VBQ@51DNFnKeE z_2(pZzItqaHfQ?ZFx;Nur3~-Ga36*@F}wrIXA6dRVfY?q--_W`3|D9Ndo%f047XD4 zby@s182(c0$Mdg_bAC!0T|eXbb`JA@7Q?49Ji@`!e}TV!v^QGag(nL()G!e%%{m!>tQ?&mWpXgv2 zkpEuRo?#(+D@!vz(vSKRH*kR?M|%vP#_(8%Te9oL1ac$6m^)|FQo{j$DY_n7<(m-^=iDhUYTef%SJ+hFi1o zJeiH>J#0MBW&Z1F9QS7vvp<;O(agTQjwiB@&wph_%;qfK&TPCYF!_E=-hj#LGrT|3 zAL+y=Wpp1%9M1^WpP3B%%>OJVpXOlcasM|sav`pA;=#A289t8Ts~KL;@IyL2Gu}n! z=LV*KEyF)Cd?~}{J6Ou|R7+-l%HT@iF7bN9u@D!r^X*eT9#Opb-Ec=PGvseq>yKf) zu5`vzdgI-AGNXa3*!4`|sxcOV*1P2Uh&i`?|7<27z~sEWDBsG84t=$LjPGInJ=*o> z@%El``{%polk};7Hhzuqk+rfS{{2dBUuRE`^ff~9OPiB^!H@;z@{G|^KWqM|2Q3Qj8A9y6t_K}UT4*@?HL@~pX=&psQpBI z2AlYTOCWD&{V^=W3raKYkCL}%`oP9thWzbh zV`X9OG>*@YNG=5CCD}#(5sR~~;9GJGKcM|a2GV;Uf49QY(|qL| zoES$8=|y@wC1cr{l2OUCOnzXqFj?2&X zU7YXKu8H4^{KkG54z6?f4iR#UsRtuD(z0_p|y2 zNBS}o#b@F%*pUyn_DT*M%dbW)DUYy`2ZS+R#=pTv9#Z=kTe-opoa~eG2pf5p#cyyd zXYFSrY~&dl&*rxMytrDTzoehQ-iN^ZS^Egv^G3^6UN8pnIQYyD$11NKtiHi$jUH0r z7EGSNsvp2wUC0O*jSJ^jGOqA)SoF1a2FLlk6!PTy&akBUxwDPSU=xShM`7O+`@0g7 z#6Bpv0=RQR9${l2l0Nof#@=8f&yapgD>vB4v(&$nteoQ<$pzUJX+JZL+*mos!6lHkwf;FSL-XrGYtON2?>K8;1e5qN52*>^jAH?JdoTc#_Z2cF(lzj_H~Mu3xWGMU{jPo zUGYu)QqFeb!LN!q?^_75(uqficXfZw0E^cdUd`~U40HRdl_%q_Xgn2JJg+c+4>NoR z!(%m$#uLBn#N?wHzMi$`<^#XB$n;-gcooAxG0g4H(ET?9ATDI>|CibS&hQ@$dl~9# z>`w4_PSpDGcyx2lS1H#hiM2n>k>j-&i|-|-{{xHXTZY#${58Ye{!BJL2e9_PWcFV$ z{5ivGHIDnw;~C84PqFb_tZ>nJh5OhLX*{p|uhGI@aUP_>(ZEV?F67%-xxq&6&w;#_ zl}ET}ySU#h*{(8Unc*o6-=?vOnhrdk)0w;`%kLZ}Z>-P%*xyx5el)XRtmW}|p27O_it-eT zMMZ5NGb%7#j^S+>=Jsc^@f^w8FU#!9Fq~sJt8v_a9?u9i9zQevCzQPCd5iD$Akw(o zVjDKjzcRlsFu!lHajwJq`5YVPsZ4)5!*?+}gJEue78~cyjqGb_+y(^x;okpt;J<&0yDWBF1hkFb$vo`pQ=Kf*>HJnh;WY~((Z z8yw4*x%Pg9W4Sx;q#t1;_vk*_a<=~l8+qnt*T2C=?y>j`Hu8Y%cd-5qHgccI4K{M6 zZ}TY)Hgct(kQ;2|9*f^#BUk-N#Ak3UUy1mW`HOHYU(Vzaj^%88G7&a%bDy(=6YFdA zxvf-sc72s0_Uo*Uw$W@Uj2M>%TaC>?fda^M8*%Z@{C6^ayA3oM*Uh=8X&2=e+F~ zr;qDxUO!J4!^ia~um9roaeZ<8f2I0`&+--D_FMA}#_M~fXYow7@2TXI0$fLrZW_mo zi&V|pKhESYFn`;tDQor1Fua)gJITS)zgxv&?N>T-A?SK&^NjENF!{qwK9Av@Sv)xh zOaCsWe?0U5Cd0ol{7y&?Z2aFj{)Kp2kC$qN4hOLDe3Rkj&iG32PGxEQOW(!x`>CX$ z4oY(&i|-4DUu1YrPT9u}+OT*&V)|b>Sjrbvt0q2tcBA+0u|N8Cz+`+?*!XOA{Nb}1 z7SC=ho@&g#F2jvk`%Rqv73L4a_cQ$uSby3uefoSfneU3Mf6uc1e8celtbe<*{yoF= zpJuoNi}yno&mtzjh~fV-{b@{o62m#x{-I3%uEOzkR!+dVSO#rGc~{odx-Shh12l-SxbT3+C^9hciogeU01fV?Z$e$vvJ>r z;T8^-KHc|)_d!*5(J%jA;Mx{@bbp%K8lWV(){pxex9grS(s$1fnW1=hPx$5cyRUc7 zFCq44nD?ud?uUvhPuxNDzN+b$_ny*>Ao3UWE0({(EU)-|D?Dr-_3!(sAc!BI|L(p) zdgt>vSi7Nfy^x-JKRE6IVESF0eoOBx=6{2uFTK%_W8Nw*sovMI?4DIaz9Gn0YKCfe)h=;Iz>)!(Ay=I%$N_b&V-k{|1DxxH5Np`=y}ffDN%@=;w`w08lP@Ws zVDi14eh6_3J8$W~{#kpxN9CMfLfpaRmnr{6`;}2|$`<8g9}W*i`Ph$xZ{o&xpxEn; zR~Y_MkCSR0cHWOH4vle-8@qnGeA8YL`*=R`^%niY!`kujujhg)9}NGla6BGy zyWCGRX7{wpTWlAfe~%V({$W234@LE{F9+ZD=Nt5{dyIvc#M*`bME|jNGu(@vPqYuQ z{&7zZ)Bl3$k7DwE+Fl*WPxSt}(jq4Ei$@F%ju=Jthmm@sf48vqE@k;^%jET0yn8YE z9!$Oylec!}lazO`c=mATxA&Qrt0UqL>GiDRaV3}cVx#3%h3 z+Fo%{6%AZ@_#$}tzGNhqKJCA@wKzj^`~5|{2kqK>^tu!GB^!J1JK*GbsWI;DQs;4` zhWpv5A3d!d$KHD7$JOt_^nsNY#!-z!8!PA7yFqE%`C{UlpyM)*qW`-Y_eXtS^LXnw zdYx$0b-VjoxoS6oy@|RX#z1VRYOeo5u|4+OOgsjrR7*s9DTLK=zgiZ9cJYW3sJ*~M~KD@H)Zp)HN!_Z<0mt8em0BS z!#x+w-+K)2#{6CF`t$UBwdaL?J%D?;)%8v}gN5|zd`-+dhA~H-cBS{ZYRCH3SP1<) zxAAy-Uobt5u@1BK-JGwNIp?eN*1~>BVmyX0f2Kd!2O`3_U4I_*wu`Y4PdM>o9cJT3 z|I5GORr?L(9PPIT5u{0}WAzf@y&gq_EKk90@Y-hAgeA|=t4i zZ<2%YIe|Og>UGbKiG3cu4%!j)JR7gI;L$le(4FUMeK;{Oes{X@sMmwZ@tx?5hxBfQ zPb-%}^m4`+#t!nl>(pbd> zO>BpUan*F>&qzq3!VG3 zq^J2Ne(66Bz1H#g3-J?cZ;kR}^o6*T$#s6Le3Y{u;5#f#zdOTI7(SHYn>CJlBPFfB z`^51YTy#7ZIC;bSMywy*Sib)gwJ;SYjXiIqr}?&jgWY-KKLWcNaXdmSVC`JY`m+mr z|9-rZ+xS0;;<(+3UwWEvVsVaUcu$76VR#6`WfNZ@uV|jiU|gUq3cJ zKQa6(>%Z==^>-8NXLIKNQ)d4&)9=jmo3VcF$K)9%-<`?7Q2y;WnCsRB&UH(OUs)V< zUM0tABg0c!J4ZA89qVTwCjXwvmpF3ik3xHm68oi3RQvcom2>{%-e1;#zJHj);=a#m z2fy3uoJUgL$@I@={&!~fT>mQN&yKfQ_baiuA7rEMEHFV=}K38Sc;Gx{KK##_)KS$6ic6fyoCsaw*5N_J3h`S4Urn-l|fGO}xYWoWstOkjYyz956hA#eFQ3pU(Qxm&wm$@*2*0 zAmvo%e-E}_xlPIK`KH$m>{r?OwmY-ClKFjz#dRH%-|fhyPwV9l@p>%fg^s?I7cqRX zio0Q}a1$%{=L0A2dvN{HZ&c93uK&~B{waUkC*(&n z{dul_K>OWpvA$HF4h7|7+7Rxgn|1v}Gk2JROknrI##^;Ibyt$Ok z|HjUFgzvmF{RK>a4`=-G-Vnn-JN*^nTZRu~{&!>cpR@LUWBNTA{+^w$jhMgM48Owc z7qR%NGW{wJmH}VS_G12)Gd!F5AIA1Q1Dt#c@eS+G0_JZX!-q5bwM_mY!|yRXh}plv z;(eRxZ({Mi$mBJh@xtd*O#TeR+cEuRto^4L&N6*W7Cg*+5n=+1uN9N;&G3^fp0-TB zFT+Q&@#@3Q*JGKyH_P{O)}K+#|E)~_DCYkP=6@8EAHwi(r#*qv_%w#EW%g@WeDpdcxxVbf|bT_HywYR z$K<9cuPA3Lo7;lgMxo!Wvnszv@9$ZTexJqSKT|6jb5YKp@wa7N?wjK+TW?9aHJ-Ml z^S`@_ZK+pV8nLaD74=?}lk~J@X;QN!>OU80gg9FtsKrJ4HC6BkIqBhJr4I{6v%|Kz0bqvry81nWA4vs|>st z7*NnVt2@JYb(9BzKOEE@g4W>efqHXL4d5*7I-~3e+7EOd=tS6F_Hy z=og&m+fDS#T=Z*F^b1)%K;=O6UqBG9`aT|&4Uo1k(9e&luZZJG;C={dDt7NDgO);R z7-Uz1HbZ|r%0A#94{8tn=fI=#LGXKk_cn;`^lb_LXizoO>5hbUs80fo1+@pJUuSB8 z@_f*PXcKn>s9)}`1$+7iIoY!(#I}`L6-5cY$_c%4oDKXdaAVZz&i>0#{||WdF8Fzfk$#1>9P0FIeP5uBRiI6vzM#XYEtKn^ zN3TlTgGK@$0bc_^&%=&BrN071ufi#>^zHz?L%R_Zdvxwsz&~d1D0nGwk3%Uio zSE17q^)aYFj{2FXe~0=A)ISAn0M4P@2Na@C>qRZp*PuQN&idiQQEn6E&W#-}mr^o^utAo@=-YfyS9Y0Rll^xwVc4n68;edwME xyUD=!g6KbhzYL${L3BP)F874a`H+o-?0MAbzi?9yb_5ND4vjy}g_qIx{|AK;GbI23 From 5e84a7cda414e7b6fd6aa3db42e16ac6d538ab08 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 17:27:44 -0800 Subject: [PATCH 27/83] =?UTF-8?q?[language-shellscript]=20Highlighting=20f?= =?UTF-8?q?ixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add `declare` and `readonly` modifiers * distinguish $()-style command substitution from backtick substitution * prevent double-scoping of punctuation --- .../grammars/tree-sitter/highlights.scm | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index f2dae5cb1..f117e0065 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -37,7 +37,7 @@ ] @keyword.control._TYPE_.shell (declaration_command - ["local" "export"] @storage.modifier._TYPE_.shell) + ["local" "export" "declare" "readonly"] @storage.modifier._TYPE_.shell) (variable_assignment (variable_name) @variable.other.member.shell @@ -91,7 +91,30 @@ (command_substitution) @meta.embedded.line.subshell.shell (#set! capture.final true)) -(command_substitution) @string.interpolation.backtick.shell +; Command substitution with backticks: var=`cmd` +((command_substitution) @string.quoted.interpolated.backtick.shell + (#match? @string.quoted.interpolated.backtick.shell "^`")) + +((command_substitution) @punctuation.definition.string.begin.shell + (#match? @punctuation.definition.string.begin.shell "^`") + (#set! adjust.endAfterFirstMatchOf "^`")) + +((command_substitution) @punctuation.definition.string.end.shell + (#match? @punctuation.definition.string.end.shell "`$") + (#set! adjust.startBeforeFirstMatchOf "`$")) + +; Command substitution of the form: var=$(cmd) +((command_substitution) @string.quoted.interpolated.dollar.shell + (#match? @string.quoted.interpolated.dollar.shell "^\\$\\(")) + +((command_substitution) @punctuation.definition.string.begin.shell + (#match? @punctuation.definition.string.begin.shell "^\\$\\(") + (#set! adjust.endAfterFirstMatchOf "^\\$\\(")) + +((command_substitution) @punctuation.definition.string.end.shell + (#match? @punctuation.definition.string.end.shell "\\)$") + (#set! adjust.startBeforeFirstMatchOf "\\)$")) + (heredoc_start) @punctuation.definition.string.begin.heredoc.shell (heredoc_body) @string.unquoted.heredoc.shell @@ -173,12 +196,12 @@ ; PUNCTUATION ; =========== -"{" @punctuation.brace.curly.begin.shell -"}" @punctuation.brace.curly.end.shell -"(" @punctuation.brace.round.begin.shell -")" @punctuation.brace.round.end.shell -"[" @punctuation.brace.square.begin.shell -"]" @punctuation.brace.square.end.shell +("{" @punctuation.brace.curly.begin.shell (#set! capture.shy)) +("}" @punctuation.brace.curly.end.shell (#set! capture.shy)) +("(" @punctuation.brace.round.begin.shell (#set! capture.shy)) +(")" @punctuation.brace.round.end.shell (#set! capture.shy)) +("[" @punctuation.brace.square.begin.shell (#set! capture.shy)) +("]" @punctuation.brace.square.end.shell (#set! capture.shy)) -";" @punctuation.terminator.statement.shell -":" @punctuation.separator.colon.shell +(";" @punctuation.terminator.statement.shell (#set! capture.shy)) +(":" @punctuation.separator.colon.shell (#set! capture.shy)) From 5aef671f5c9960cfec609ec44b476a2c6512f5e9 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 18:42:25 -0800 Subject: [PATCH 28/83] [language-php] Fix incorrect indentation after ternary expressions --- .../language-php/grammars/tree-sitter/queries/indents.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/indents.scm b/packages/language-php/grammars/tree-sitter/queries/indents.scm index c7f198a40..2b888d187 100644 --- a/packages/language-php/grammars/tree-sitter/queries/indents.scm +++ b/packages/language-php/grammars/tree-sitter/queries/indents.scm @@ -1,8 +1,9 @@ -; + ["{" "(" "["] @indent ["}" ")" "]"] @dedent -":" @indent +; if ($foo): +(colon_block ":" @indent) ["endif" "endfor" "endforeach" "enddeclare" "endswitch"] @dedent From e874d51362271cc4542a6cf64e8d5696cc4db897 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 20:02:22 -0800 Subject: [PATCH 29/83] [language-c] Update the `tree-sitter-c` and `tree-sitter-cpp` parsers --- .../grammars/modern-tree-sitter-c.cson | 1 + .../grammars/modern-tree-sitter-cpp.cson | 2 +- .../grammars/tree-sitter-c/highlights.scm | 6 ++++++ .../grammars/tree-sitter-c/tree-sitter-c.wasm | Bin 370175 -> 689687 bytes .../grammars/tree-sitter-cpp/highlights.scm | 9 ++++++++- .../tree-sitter-cpp/tree-sitter-cpp.wasm | Bin 3311504 -> 3310599 bytes 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/language-c/grammars/modern-tree-sitter-c.cson b/packages/language-c/grammars/modern-tree-sitter-c.cson index c1f376e33..c4be00a85 100644 --- a/packages/language-c/grammars/modern-tree-sitter-c.cson +++ b/packages/language-c/grammars/modern-tree-sitter-c.cson @@ -7,6 +7,7 @@ firstLineRegex: '-\\*-[^*]*(Mode:\\s*)?C(\\s*;.*?)?\\s*-\\*-' injectionRegex: '^(c|C)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-c#212a80f86452bb1316324fa0db730cf52f29e05a' grammar: 'tree-sitter-c/tree-sitter-c.wasm' highlightsQuery: 'tree-sitter-c/highlights.scm' tagsQuery: 'tree-sitter-c/tags.scm' diff --git a/packages/language-c/grammars/modern-tree-sitter-cpp.cson b/packages/language-c/grammars/modern-tree-sitter-cpp.cson index 98352d101..93e1c2978 100644 --- a/packages/language-c/grammars/modern-tree-sitter-cpp.cson +++ b/packages/language-c/grammars/modern-tree-sitter-cpp.cson @@ -6,7 +6,7 @@ parser: 'tree-sitter-cpp' injectionRegex: '^(c|C)(\\+\\+|pp|PP)$' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-cpp#a90f170f92d5d70e7c2d4183c146e61ba5f3a457' + parserSource: 'github:tree-sitter/tree-sitter-cpp#a71474021410973b29bfe99440d57bcd750246b1' grammar: 'tree-sitter-cpp/tree-sitter-cpp.wasm' highlightsQuery: 'tree-sitter-cpp/highlights.scm' tagsQuery: 'tree-sitter-cpp/tags.scm' diff --git a/packages/language-c/grammars/tree-sitter-c/highlights.scm b/packages/language-c/grammars/tree-sitter-c/highlights.scm index b3132d006..b20484418 100644 --- a/packages/language-c/grammars/tree-sitter-c/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-c/highlights.scm @@ -175,6 +175,12 @@ declarator: (pointer_declarator declarator: (identifier) @variable.parameter.c)) +; The "foo" in `SomeType **foo` within a parameter list. +(parameter_declaration + declarator: (pointer_declarator + declarator: (pointer_declarator + declarator: (identifier) @variable.parameter.c))) + ; The "foo" in `const char foo[]` within a parameter list. (parameter_declaration declarator: (array_declarator diff --git a/packages/language-c/grammars/tree-sitter-c/tree-sitter-c.wasm b/packages/language-c/grammars/tree-sitter-c/tree-sitter-c.wasm index 3f54a976cfefb2331cc0c2c21b1d78c4d2167456..771b9c53b030a73c8e3766ba4c2d10e2fbde34c2 100755 GIT binary patch literal 689687 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 DQAJjK literal 370175 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 z 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 diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index 734f6e95e..d1f02fd9a 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -259,18 +259,25 @@ (preproc_params (identifier) @variable.parameter.preprocessor.cpp) +; The "foo" in `const char foo` within a parameter list. (parameter_declaration declarator: (identifier) @variable.parameter.cpp) +; The "foo" in `const char *foo` within a parameter list. (parameter_declaration declarator: (pointer_declarator declarator: (identifier) @variable.parameter.cpp)) +; The "foo" in `SomeType **foo` within a parameter list. +(parameter_declaration + declarator: (pointer_declarator + declarator: (pointer_declarator + declarator: (identifier) @variable.parameter.c))) + (parameter_declaration declarator: (reference_declarator (identifier) @variable.parameter.cpp)) - ; The "foo" in `const char foo[]` within a parameter list. (parameter_declaration declarator: (array_declarator diff --git a/packages/language-c/grammars/tree-sitter-cpp/tree-sitter-cpp.wasm b/packages/language-c/grammars/tree-sitter-cpp/tree-sitter-cpp.wasm index ae93e20ae297fda28b92fbe673d8bda828ba3bc1..002712b107d5f1b742b9d740bb02dada31e0f2f1 100755 GIT binary patch delta 60877 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 From aff27bb5bf77b163579ad717aa3b4de19293caee Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 20:26:27 -0800 Subject: [PATCH 30/83] [language-html] Update `tree-sitter-html` to latest --- .../grammars/modern-tree-sitter-html.cson | 1 + .../tree-sitter-html/tree-sitter-html.wasm | Bin 57695 -> 18346 bytes 2 files changed, 1 insertion(+) diff --git a/packages/language-html/grammars/modern-tree-sitter-html.cson b/packages/language-html/grammars/modern-tree-sitter-html.cson index 5cdc42ba0..fa5fcc41c 100644 --- a/packages/language-html/grammars/modern-tree-sitter-html.cson +++ b/packages/language-html/grammars/modern-tree-sitter-html.cson @@ -6,6 +6,7 @@ parser: 'tree-sitter-html' injectionRegex: '(HTML|html|Html)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-html#d742025fa2d8e6100f134a6ea990443aa1f074b3' grammar: 'tree-sitter-html/tree-sitter-html.wasm' highlightsQuery: 'tree-sitter-html/highlights.scm' foldsQuery: 'tree-sitter-html/folds.scm' diff --git a/packages/language-html/grammars/tree-sitter-html/tree-sitter-html.wasm b/packages/language-html/grammars/tree-sitter-html/tree-sitter-html.wasm index f71b6baa8e3b1db7a821d9acc8d1666fdc066265..2d2835ca4c38ccd28385614934ec2effc9f72f48 100755 GIT binary patch literal 18346 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 literal 57695 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%0Dca8&Sx5guoeK4@rH4CR}|Ok3-q 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 Date: Fri, 19 Jan 2024 20:33:07 -0800 Subject: [PATCH 31/83] [language-ruby] Update `tree-sitter-ruby` to latest --- .../grammars/tree-sitter-2-ruby.cson | 3 ++- .../language-ruby/grammars/ts/grammar.wasm | Bin 2108219 -> 0 bytes .../grammars/ts/tree-sitter-ruby.wasm | Bin 0 -> 2109157 bytes 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100755 packages/language-ruby/grammars/ts/grammar.wasm create mode 100755 packages/language-ruby/grammars/ts/tree-sitter-ruby.wasm diff --git a/packages/language-ruby/grammars/tree-sitter-2-ruby.cson b/packages/language-ruby/grammars/tree-sitter-2-ruby.cson index ebb414df9..f36aeeac6 100644 --- a/packages/language-ruby/grammars/tree-sitter-2-ruby.cson +++ b/packages/language-ruby/grammars/tree-sitter-2-ruby.cson @@ -6,7 +6,8 @@ parser: 'tree-sitter-ruby' injectionRegex: 'rb|ruby|RB|RUBY' treeSitter: - grammar: 'ts/grammar.wasm' + parserSource: 'github:tree-sitter/tree-sitter-ruby#4d9ad3f010fdc47a8433adcf9ae30c8eb8475ae7' + grammar: 'ts/tree-sitter-ruby.wasm' highlightsQuery: 'ts/highlights.scm' localsQuery: 'ts/locals.scm' foldsQuery: 'ts/folds.scm' diff --git a/packages/language-ruby/grammars/ts/grammar.wasm b/packages/language-ruby/grammars/ts/grammar.wasm deleted file mode 100755 index 182c005c9d11b6b8f6fc2e7ca0cf4a6be828ac76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2108219 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

>NA7wl7xrj!VyN}~+m)i`jE7cah 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

^%p5D&Q}z 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 z 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

0!dPwl? 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 Date: Fri, 19 Jan 2024 20:39:07 -0800 Subject: [PATCH 32/83] [language-ruby] Move files around to conform better to convention --- .../grammars/modern-tree-sitter-regex.cson | 9 +++++++++ ...er-2-ruby.cson => modern-tree-sitter-ruby.cson} | 12 ++++++------ .../grammars/tree-sitter-2-regex.cson | 13 ------------- .../{ts/regex => tree-sitter-regex}/highlights.scm | 0 .../tree-sitter-regex.wasm | Bin .../grammars/{ts => tree-sitter-ruby}/folds.scm | 0 .../{ts => tree-sitter-ruby}/highlights.scm | 0 .../grammars/{ts => tree-sitter-ruby}/indents.scm | 0 .../grammars/{ts => tree-sitter-ruby}/locals.scm | 0 .../grammars/{ts => tree-sitter-ruby}/tags.scm | 0 .../{ts => tree-sitter-ruby}/tree-sitter-ruby.wasm | Bin 11 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 packages/language-ruby/grammars/modern-tree-sitter-regex.cson rename packages/language-ruby/grammars/{tree-sitter-2-ruby.cson => modern-tree-sitter-ruby.cson} (64%) delete mode 100644 packages/language-ruby/grammars/tree-sitter-2-regex.cson rename packages/language-ruby/grammars/{ts/regex => tree-sitter-regex}/highlights.scm (100%) rename packages/language-ruby/grammars/{ts/regex => tree-sitter-regex}/tree-sitter-regex.wasm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/folds.scm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/highlights.scm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/indents.scm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/locals.scm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/tags.scm (100%) rename packages/language-ruby/grammars/{ts => tree-sitter-ruby}/tree-sitter-ruby.wasm (100%) diff --git a/packages/language-ruby/grammars/modern-tree-sitter-regex.cson b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson new file mode 100644 index 000000000..caa7b6878 --- /dev/null +++ b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson @@ -0,0 +1,9 @@ +scopeName: 'source.regexp' +type: 'modern-tree-sitter' +parser: 'tree-sitter-regex' + +injectionRegex: '^(rb-regex)$' + +treeSitter: + grammar: 'tree-sitter-regex/tree-sitter-regex.wasm' + highlightsQuery: 'tree-sitter-regex/highlights.scm' diff --git a/packages/language-ruby/grammars/tree-sitter-2-ruby.cson b/packages/language-ruby/grammars/modern-tree-sitter-ruby.cson similarity index 64% rename from packages/language-ruby/grammars/tree-sitter-2-ruby.cson rename to packages/language-ruby/grammars/modern-tree-sitter-ruby.cson index f36aeeac6..928fda052 100644 --- a/packages/language-ruby/grammars/tree-sitter-2-ruby.cson +++ b/packages/language-ruby/grammars/modern-tree-sitter-ruby.cson @@ -7,12 +7,12 @@ injectionRegex: 'rb|ruby|RB|RUBY' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-ruby#4d9ad3f010fdc47a8433adcf9ae30c8eb8475ae7' - grammar: 'ts/tree-sitter-ruby.wasm' - highlightsQuery: 'ts/highlights.scm' - localsQuery: 'ts/locals.scm' - foldsQuery: 'ts/folds.scm' - indentsQuery: 'ts/indents.scm' - tagsQuery: 'ts/tags.scm' + grammar: 'tree-sitter-ruby/tree-sitter-ruby.wasm' + highlightsQuery: 'tree-sitter-ruby/highlights.scm' + localsQuery: 'tree-sitter-ruby/locals.scm' + foldsQuery: 'tree-sitter-ruby/folds.scm' + indentsQuery: 'tree-sitter-ruby/indents.scm' + tagsQuery: 'tree-sitter-ruby/tags.scm' firstLineRegex: [ # shebang line diff --git a/packages/language-ruby/grammars/tree-sitter-2-regex.cson b/packages/language-ruby/grammars/tree-sitter-2-regex.cson deleted file mode 100644 index 004b818bc..000000000 --- a/packages/language-ruby/grammars/tree-sitter-2-regex.cson +++ /dev/null @@ -1,13 +0,0 @@ -scopeName: 'source.regexp' -type: 'modern-tree-sitter' -parser: 'tree-sitter-regex' - -# TODO: Decide whether to have one regex grammar that's shared among grammars -# _or_ one separate instance of a tree-sitter-regex grammar for each language. -# In the latter case, they could still share the same `wasm` file and perhaps -# differ only in the query files. -injectionRegex: '^(rb-regex)$' - -treeSitter: - grammar: 'ts/regex/tree-sitter-regex.wasm' - highlightsQuery: 'ts/regex/highlights.scm' diff --git a/packages/language-ruby/grammars/ts/regex/highlights.scm b/packages/language-ruby/grammars/tree-sitter-regex/highlights.scm similarity index 100% rename from packages/language-ruby/grammars/ts/regex/highlights.scm rename to packages/language-ruby/grammars/tree-sitter-regex/highlights.scm diff --git a/packages/language-ruby/grammars/ts/regex/tree-sitter-regex.wasm b/packages/language-ruby/grammars/tree-sitter-regex/tree-sitter-regex.wasm similarity index 100% rename from packages/language-ruby/grammars/ts/regex/tree-sitter-regex.wasm rename to packages/language-ruby/grammars/tree-sitter-regex/tree-sitter-regex.wasm diff --git a/packages/language-ruby/grammars/ts/folds.scm b/packages/language-ruby/grammars/tree-sitter-ruby/folds.scm similarity index 100% rename from packages/language-ruby/grammars/ts/folds.scm rename to packages/language-ruby/grammars/tree-sitter-ruby/folds.scm diff --git a/packages/language-ruby/grammars/ts/highlights.scm b/packages/language-ruby/grammars/tree-sitter-ruby/highlights.scm similarity index 100% rename from packages/language-ruby/grammars/ts/highlights.scm rename to packages/language-ruby/grammars/tree-sitter-ruby/highlights.scm diff --git a/packages/language-ruby/grammars/ts/indents.scm b/packages/language-ruby/grammars/tree-sitter-ruby/indents.scm similarity index 100% rename from packages/language-ruby/grammars/ts/indents.scm rename to packages/language-ruby/grammars/tree-sitter-ruby/indents.scm diff --git a/packages/language-ruby/grammars/ts/locals.scm b/packages/language-ruby/grammars/tree-sitter-ruby/locals.scm similarity index 100% rename from packages/language-ruby/grammars/ts/locals.scm rename to packages/language-ruby/grammars/tree-sitter-ruby/locals.scm diff --git a/packages/language-ruby/grammars/ts/tags.scm b/packages/language-ruby/grammars/tree-sitter-ruby/tags.scm similarity index 100% rename from packages/language-ruby/grammars/ts/tags.scm rename to packages/language-ruby/grammars/tree-sitter-ruby/tags.scm diff --git a/packages/language-ruby/grammars/ts/tree-sitter-ruby.wasm b/packages/language-ruby/grammars/tree-sitter-ruby/tree-sitter-ruby.wasm similarity index 100% rename from packages/language-ruby/grammars/ts/tree-sitter-ruby.wasm rename to packages/language-ruby/grammars/tree-sitter-ruby/tree-sitter-ruby.wasm From cf884f5f865d79e06f83d4c6454c34b154783bab Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 20:45:33 -0800 Subject: [PATCH 33/83] Update `tree-sitter-regex` for both JavaScript and Ruby --- .../grammars/modern-tree-sitter-regex.cson | 1 + .../tree-sitter/regex/tree-sitter-regex.wasm | Bin 11756 -> 12671 bytes .../grammars/modern-tree-sitter-regex.cson | 1 + .../tree-sitter-regex/tree-sitter-regex.wasm | Bin 11756 -> 12671 bytes 4 files changed, 2 insertions(+) diff --git a/packages/language-javascript/grammars/modern-tree-sitter-regex.cson b/packages/language-javascript/grammars/modern-tree-sitter-regex.cson index 2d018b40a..f79ba9352 100644 --- a/packages/language-javascript/grammars/modern-tree-sitter-regex.cson +++ b/packages/language-javascript/grammars/modern-tree-sitter-regex.cson @@ -6,5 +6,6 @@ parser: 'tree-sitter-regex' injectionRegex: '^(js-regex)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-regex#2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96' grammar: 'tree-sitter/regex/tree-sitter-regex.wasm' highlightsQuery: 'tree-sitter/regex/highlights.scm' diff --git a/packages/language-javascript/grammars/tree-sitter/regex/tree-sitter-regex.wasm b/packages/language-javascript/grammars/tree-sitter/regex/tree-sitter-regex.wasm index 553c23b6b76c8fa5c93acfb4669dcfa8fb01ded0..dd1988d42f30342410ca89cc47b8c36504771d28 100755 GIT binary patch literal 12671 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 z zu3#SImy=pzey3H~#WbJh(OjBCvuPH!#q#UcXI!+aKqhFWFWZQA45-q_5wx|q(NT!# znnSd<0erQu3^p}H7pD*%LwgzY>l_u-feU>C-HCG}-G%c+x*O+7bO+K`P(8KMG-?9B zn3m8jw3Kcq?wWxSSdfM(f-S{G_r}q9noLuug`(J6OxhIizn6Fj<$Wd~??mJa`fd&Q zc8}6`N5FUcD1CPae0Pr0cTd3g!BP7527LF9()U2Xci$*|Qvu(Dqx2mJ_@+ncn+y16 zN9p@;!1tk1`C9bbSc8qYbre?iBO_YP79AJQ-wAjg8=>d#iRX!c=T}DP`M7xge!%mw z5qdr)o=*lm|8PW}CVeB|^YjRPo(cF&9-+^(0iQn}q0h;H&o@Wt^L)VPTO;&274Z49 z5&2ZopQGXyy?}EK{RPgo^lhA5=tZ2PxEC0-96PCryTeL4ja{>j#sW{p-dah232hCX z#krQw;XIc93g;Gj1!wIW^L@XMzSZSDhi7^fJ~ebfqNuFe^Yo}ar{(+mt8=Pse=V7B zoYSOk>D5+@xCSGwlRJf~fk_8Nmny4!Lv*i~)%~sL-YTQB=w0Y)>3y+y2luj?qMR08 z5&egv|6rKjq<<96$7N!hbX9c!R7Mvmn)!d09RDiTb8%iyp9JQi*!EMg{SUF7DYpL} zu(hzh@EDD|utB%de_?J2civ*@=OxlbV*AUy)ZnLQKf-liYEZ}sVH{(q3aytR!vkbKB&L=U`?Z)4!dz^9kk>9wh?VJ z@FZW~?BgkDXFwkH+g4vb4ecbzXQ1Ucv(Pr6o#W$qXgS^jv^Jp}q1=mpRP(9b{>D18jH3bYNB0sSuMInWP4KLLFXYD6KI zf!2XGgW{k=pf7>G3i>0^pMt&*dJA+JbQSa&2vb6pplVP9s2MaBGz+v4bPH$&XccG; zXdP$+Xd|c#v;}k@Xcs6B>H+Ns^@B1XeY}i*eh1(R=!f9Hj`3wdY0w4WH$dF)OK2ZN zyAyOBwyy&J2-FQc1MMe}?FRoA_=})-Ks$hcjCMQP??S&7?HRP6at_Fs0>6*;GvFSy z_kcLoDbP9C?SuRb=wr~ALC=9+hx`omt>8C-+CVPwBoNO{9q3W;`1>Ng489&YW`cM= zz6al@&=w!Tr_zf2b)cSUd7qkw{kR@aw+(o{)z7L;SY!HmHRkWe)3IJ>;+cOop8eJ0WOnk&NFG)WPzgF37953DiLw7qu#e4cW~i zOo8k(T=vmY(NF*|jdF0Si3OSuENijTI1I!TJanv}jCtN4OMj*E@>beQYfB^lYHXp0 z6(IicyP!VsS0BydEsJ0B`0cB3)Wg03>yq#e6$bIqiB+~3QTWGimZ}w%&o9I}=i~n~ zYuio9+I~~AZn!B~*N-r36Yjs|RufA{znXZREX}W?a;r&wxtNR{u?2f!i~Odun;a~i zr2%%v1>hIwF*8eHu>!jyQ9HQyfKF%Aty1arTmiTizj9+`>904|!WDDltbs22EbnuC z=zT>VKSaV`bFe3915~mY;{y+lyc*wF1m^`&h2_jAwW}54tx@{Cz1rytdUX#dU{#d@ zzC-!TnNP+2GmKl6-j8pXw+S{&u=qhXT#oUvT)e>g{&<2>@?mkJH?YUJ%f`p}%gRxQ zvU1d;tQ>VID@T1;KCJ(!6Xd#%hA~?#3Ru+%CcfOqT7d5md}w>Z(?v1nJw2$uy$Bnj zxeCh}b{hNf4P$w+UgNxePKn;fT5l~X)@!WwA%2QRUO97qA8WnE*Lgs%ab92IZy^k3t=y?QIk+eg^GqA;JO*uQS`_9pii|JRX| z;xIJ!1%}Dv59)oK*K_}adLL_ji2D;R#4o{k8-gBr<;NJ5&Ml z8(~3jn0!A9UiS(Up6)qFVL#Av#Amr5Q2R^Xvi8VdR*rr^?uS7SYNa2#?!(8S{xG2J z4QqapeIAPxaYY|0tP_p3-caMw@ks91@bd*miC$rT_SHv8ez7m;ReoR{Px6=Q@uj0k z&tE?DQGDGJo+$Xx_Ia$${b!GYzxu07!M+$9hI&@fdc!QiMv1+t?vI6eSD5g35t+w) zVzpv)Tzp|D>bGI6D8l%1P=dV@%zse{j(c4Rt}nq=C0M;h7Wz|HqVFid>fNGXzqUkQ qe19`69#14NFQwz-zk~(*ub!L=@zo!+3V245eg68(*H_&yi2fJe`m<>O diff --git a/packages/language-ruby/grammars/modern-tree-sitter-regex.cson b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson index caa7b6878..96a8820c1 100644 --- a/packages/language-ruby/grammars/modern-tree-sitter-regex.cson +++ b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson @@ -5,5 +5,6 @@ parser: 'tree-sitter-regex' injectionRegex: '^(rb-regex)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-regex#2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96' grammar: 'tree-sitter-regex/tree-sitter-regex.wasm' highlightsQuery: 'tree-sitter-regex/highlights.scm' diff --git a/packages/language-ruby/grammars/tree-sitter-regex/tree-sitter-regex.wasm b/packages/language-ruby/grammars/tree-sitter-regex/tree-sitter-regex.wasm index 553c23b6b76c8fa5c93acfb4669dcfa8fb01ded0..dd1988d42f30342410ca89cc47b8c36504771d28 100755 GIT binary patch literal 12671 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 z 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 From c01099323f11d4a78beb6e3c5ab2e91cf5216bd8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 20:45:48 -0800 Subject: [PATCH 34/83] (forgot to change this spec) --- spec/wasm-tree-sitter-language-mode-spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index c8c9ecb46..1663ae0ff 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -39,7 +39,7 @@ const ejsGrammarPath = resolve( 'language-html/grammars/modern-tree-sitter-ejs.cson' ); const rubyGrammarPath = resolve( - 'language-ruby/grammars/tree-sitter-2-ruby.cson' + 'language-ruby/grammars/modern-tree-sitter-ruby.cson' ); const rustGrammarPath = resolve( 'language-rust-bundled/grammars/modern-tree-sitter-rust.cson' From 81ca97e0c71146c223ab6be2e143a5f3f8012d73 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 20:47:00 -0800 Subject: [PATCH 35/83] [language-ruby] Tweak scope name for regex injections --- packages/language-ruby/grammars/modern-tree-sitter-regex.cson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-ruby/grammars/modern-tree-sitter-regex.cson b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson index 96a8820c1..f451e88a2 100644 --- a/packages/language-ruby/grammars/modern-tree-sitter-regex.cson +++ b/packages/language-ruby/grammars/modern-tree-sitter-regex.cson @@ -1,4 +1,4 @@ -scopeName: 'source.regexp' +scopeName: 'source.rb.regexp' type: 'modern-tree-sitter' parser: 'tree-sitter-regex' From 054b067ff2f6165518987c303bd53f73b48ab57b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 21:01:07 -0800 Subject: [PATCH 36/83] =?UTF-8?q?Update=20highlights=20for=20all=20regex?= =?UTF-8?q?=20injections=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and add a distinct copy for TypeScript so that it works even if `language-javascript` is disabled or replaced. (We might want to just make `language-regex` and have it export a service.) --- .../grammars/tree-sitter/regex/highlights.scm | 11 ++-- .../grammars/tree-sitter-regex/highlights.scm | 11 ++-- .../grammars/modern-tree-sitter-regex.cson | 10 ++++ .../grammars/tree-sitter-regex/highlights.scm | 51 ++++++++++++++++++ .../tree-sitter-regex/tree-sitter-regex.wasm | Bin 0 -> 12671 bytes packages/language-typescript/lib/main.js | 2 +- 6 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 packages/language-typescript/grammars/modern-tree-sitter-regex.cson create mode 100644 packages/language-typescript/grammars/tree-sitter-regex/highlights.scm create mode 100755 packages/language-typescript/grammars/tree-sitter-regex/tree-sitter-regex.wasm diff --git a/packages/language-javascript/grammars/tree-sitter/regex/highlights.scm b/packages/language-javascript/grammars/tree-sitter/regex/highlights.scm index b0018b6c7..3f79debaf 100644 --- a/packages/language-javascript/grammars/tree-sitter/regex/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/regex/highlights.scm @@ -1,8 +1,3 @@ -; CAVEATS: -; -; * No support for lookbehind as of March 2023 (waiting on -; https://github.com/tree-sitter/tree-sitter-regex/pull/15) - (non_capturing_group) @meta.group.non-capturing.regexp [ @@ -17,6 +12,8 @@ [ (boundary_assertion) + (start_assertion) + (end_assertion) ] @keyword.control.anchor.regexp [ @@ -24,10 +21,10 @@ (lazy) ] @keyword.operator.quantifier.regexp -((lookahead_assertion) @keyword.operator.lookahead.regexp +((lookaround_assertion) @keyword.operator.lookaround.regexp (#set! adjust.startAndEndAroundFirstMatchOf "\\?=")) -((lookahead_assertion) @keyword.operator.lookahead.negated.regexp +((lookaround_assertion) @keyword.operator.lookaround.negated.regexp (#set! adjust.startAndEndAroundFirstMatchOf "\\?!")) ((non_capturing_group) @keyword.operator.group.non-capturing.regexp diff --git a/packages/language-ruby/grammars/tree-sitter-regex/highlights.scm b/packages/language-ruby/grammars/tree-sitter-regex/highlights.scm index b0018b6c7..3f79debaf 100644 --- a/packages/language-ruby/grammars/tree-sitter-regex/highlights.scm +++ b/packages/language-ruby/grammars/tree-sitter-regex/highlights.scm @@ -1,8 +1,3 @@ -; CAVEATS: -; -; * No support for lookbehind as of March 2023 (waiting on -; https://github.com/tree-sitter/tree-sitter-regex/pull/15) - (non_capturing_group) @meta.group.non-capturing.regexp [ @@ -17,6 +12,8 @@ [ (boundary_assertion) + (start_assertion) + (end_assertion) ] @keyword.control.anchor.regexp [ @@ -24,10 +21,10 @@ (lazy) ] @keyword.operator.quantifier.regexp -((lookahead_assertion) @keyword.operator.lookahead.regexp +((lookaround_assertion) @keyword.operator.lookaround.regexp (#set! adjust.startAndEndAroundFirstMatchOf "\\?=")) -((lookahead_assertion) @keyword.operator.lookahead.negated.regexp +((lookaround_assertion) @keyword.operator.lookaround.negated.regexp (#set! adjust.startAndEndAroundFirstMatchOf "\\?!")) ((non_capturing_group) @keyword.operator.group.non-capturing.regexp diff --git a/packages/language-typescript/grammars/modern-tree-sitter-regex.cson b/packages/language-typescript/grammars/modern-tree-sitter-regex.cson new file mode 100644 index 000000000..66e8e414c --- /dev/null +++ b/packages/language-typescript/grammars/modern-tree-sitter-regex.cson @@ -0,0 +1,10 @@ +scopeName: 'source.ts.regexp' +type: 'modern-tree-sitter' +parser: 'tree-sitter-regex' + +injectionRegex: '^(ts-regex)$' + +treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-regex#2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96' + grammar: 'tree-sitter-regex/tree-sitter-regex.wasm' + highlightsQuery: 'tree-sitter-regex/highlights.scm' diff --git a/packages/language-typescript/grammars/tree-sitter-regex/highlights.scm b/packages/language-typescript/grammars/tree-sitter-regex/highlights.scm new file mode 100644 index 000000000..ce8ed0a90 --- /dev/null +++ b/packages/language-typescript/grammars/tree-sitter-regex/highlights.scm @@ -0,0 +1,51 @@ + +(non_capturing_group) @meta.group.non-capturing.regexp + +[ + (anonymous_capturing_group) +] @meta.group.capturing.regexp + +[ + (identity_escape) + (control_escape) + (character_class_escape) +] @constant.character.escape.backslash.regexp + +[ + (boundary_assertion) + (start_assertion) + (end_assertion) +] @keyword.control.anchor.regexp + +[ + (optional) + (lazy) +] @keyword.operator.quantifier.regexp + +((lookaround_assertion) @keyword.operator.lookaround.regexp + (#set! adjust.startAndEndAroundFirstMatchOf "\\?=")) + +((lookaround_assertion) @keyword.operator.lookaround.negated.regexp + (#set! adjust.startAndEndAroundFirstMatchOf "\\?!")) + +((non_capturing_group) @keyword.operator.group.non-capturing.regexp + (#set! adjust.startAndEndAroundFirstMatchOf "\\?:")) + +(anonymous_capturing_group + "(" @punctuation.definition.group.begin.bracket.round.regexp + ")" @punctuation.definition.group.end.bracket.round.regexp + (#set! capture.final true)) + +"|" @keyword.operator.or.regexp +["*" "+"] @keyword.operator.quantifier.regexp + +(character_class) @constant.other.character-class.set.regexp + +(character_class + "[" @punctuation.definition.character-class.begin.regexp) + +(character_class + "]" @punctuation.definition.character-class.end.regexp) + +(character_class + "^" @keyword.operator.negation.regexp) diff --git a/packages/language-typescript/grammars/tree-sitter-regex/tree-sitter-regex.wasm b/packages/language-typescript/grammars/tree-sitter-regex/tree-sitter-regex.wasm new file mode 100755 index 0000000000000000000000000000000000000000..dd1988d42f30342410ca89cc47b8c36504771d28 GIT binary patch literal 12671 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 Date: Fri, 19 Jan 2024 21:25:00 -0800 Subject: [PATCH 37/83] =?UTF-8?q?[language-gfm]=20Test=20for=20undetected?= =?UTF-8?q?=20URLs=20in=20paragraphs=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and inject `hyperlink` into them for auto-linking. --- packages/language-gfm/lib/main.js | 37 ++++++++++++++++++++++++++++++ packages/language-gfm/package.json | 9 +++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/packages/language-gfm/lib/main.js b/packages/language-gfm/lib/main.js index f416bb04a..d4c62e1b4 100644 --- a/packages/language-gfm/lib/main.js +++ b/packages/language-gfm/lib/main.js @@ -88,3 +88,40 @@ exports.activate = () => { includeChildren: true }); }; + + +// Since this parser isn't guaranteed to detect all URLs in paragraphs (see +// https://github.com/pulsar-edit/pulsar/issues/885), we'll inject the +// `hyperlink` parser into `text` nodes in paragraphs when there appear to be +// URLs in them. +exports.consumeHyperlinkInjection = (hyperlink) => { + + function textChildren(node) { + let results = []; + for (let i = 0; i < node.namedChildCount; i++) { + let child = node.child(i); + if (child.type === 'text') { + results.push(child); + } + } + return results; + } + + hyperlink.addInjectionPoint('source.gfm.embedded', { + types: ['paragraph'], + // Override the language callback so that it doesn't test URLs that are + // already handled in `uri_autolink` nodes. + language(node) { + for (let child of textChildren(node)) { + if (hyperlink.test(child)) { + return 'hyperlink'; + } + } + return null; + }, + content(node) { + return textChildren(node); + } + }); + +}; diff --git a/packages/language-gfm/package.json b/packages/language-gfm/package.json index 54610b63b..f3d297ea7 100644 --- a/packages/language-gfm/package.json +++ b/packages/language-gfm/package.json @@ -10,5 +10,12 @@ }, "devDependencies": { "coffeescript": "^1.7.0" - } + }, + "consumedServices": { + "hyperlink.injection": { + "versions": { + "0.1.0": "consumeHyperlinkInjection" + } + } + } } From 88ffe7838b89b1ce8f3fbea53ace2f22c72979cf Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 22:17:30 -0800 Subject: [PATCH 38/83] =?UTF-8?q?Fix=20issue=20where=20`suggestedIndentFor?= =?UTF-8?q?BufferRow`=20uses=20the=20wrong=20tree=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …because it makes a different judgment about which layer should own the indent decision than `suggestedIndentForBufferRows`, plural, did. --- src/wasm-tree-sitter-language-mode.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 91ee6eb91..b75a67237 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1163,6 +1163,8 @@ class WASMTreeSitterLanguageMode { ...rawOptions }; + let originalControllingLayer = options.controllingLayer; + let comparisonRow = options.comparisonRow; if (comparisonRow === undefined) { comparisonRow = row - 1; @@ -1249,7 +1251,11 @@ class WASMTreeSitterLanguageMode { // resolvers. scopeResolver.reset(); - let indentTree = options.tree; + let indentTree = null; + if (options.tree && originalControllingLayer === controllingLayer) { + // Make sure this tree belongs to the layer we expect it to. + indentTree = options.tree; + } if (!indentTree) { if (!controllingLayer.treeIsDirty || options.forceTreeParse || !this.useAsyncParsing || !this.useAsyncIndent) { @@ -1556,9 +1562,10 @@ class WASMTreeSitterLanguageMode { // the current row. let controllingLayer = this.controllingLayerAtPoint( this.buffer.clipPosition(new Point(row - 1, Infinity)), + // This query isn't as precise as the one we end up making later, but + // that's OK. This is just a first pass. (layer) => !!layer.indentsQuery && !!layer.tree ); - if (isPastedText) { // In this mode, we're not trying to auto-indent every line; instead, // we're trying to auto-indent the _first_ line of a region of text @@ -1581,7 +1588,11 @@ class WASMTreeSitterLanguageMode { let firstLineIdealIndent = this.suggestedIndentForBufferRow( row, tabLength, - { ...options, tree } + { + ...options, + controllingLayer, + tree + } ); if (firstLineIdealIndent == null) { From 65de46faa145e89e3c6269ce1e2a50029d19ae37 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 23:16:15 -0800 Subject: [PATCH 39/83] =?UTF-8?q?[language-html]=20Update=20`tree-sitter-e?= =?UTF-8?q?mbedded-template`=20to=20latest=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …which will make EJS and ERB much more pleasant to use, and which I should've done ages ago. Most notably: empty tags like `<% %>` are now valid, so the highlighting won't go nuts before you've typed anything. --- .../grammars/modern-tree-sitter-ejs.cson | 1 + .../grammars/modern-tree-sitter-erb.cson | 1 + .../tree-sitter-embedded-template.wasm | Bin 5333 -> 5525 bytes 3 files changed, 2 insertions(+) diff --git a/packages/language-html/grammars/modern-tree-sitter-ejs.cson b/packages/language-html/grammars/modern-tree-sitter-ejs.cson index f3b7bf157..4b54d8bdd 100644 --- a/packages/language-html/grammars/modern-tree-sitter-ejs.cson +++ b/packages/language-html/grammars/modern-tree-sitter-ejs.cson @@ -11,6 +11,7 @@ fileTypes: [ injectionRegex: '^(ejs|EJS)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-embedded-template#203f7bd3c1bbfbd98fc19add4b8fcb213c059205' grammar: 'tree-sitter-embedded-template/tree-sitter-embedded-template.wasm' highlightsQuery: 'tree-sitter-embedded-template/ejs/highlights.scm' foldsQuery: 'tree-sitter-embedded-template/ejs/folds.scm' diff --git a/packages/language-html/grammars/modern-tree-sitter-erb.cson b/packages/language-html/grammars/modern-tree-sitter-erb.cson index da4750fd9..1e7d28e6e 100644 --- a/packages/language-html/grammars/modern-tree-sitter-erb.cson +++ b/packages/language-html/grammars/modern-tree-sitter-erb.cson @@ -11,6 +11,7 @@ fileTypes: [ injectionRegex: '^(erb|ERB)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-embedded-template#203f7bd3c1bbfbd98fc19add4b8fcb213c059205' grammar: 'tree-sitter-embedded-template/tree-sitter-embedded-template.wasm' highlightsQuery: 'tree-sitter-embedded-template/erb/highlights.scm' foldsQuery: 'tree-sitter-embedded-template/erb/folds.scm' diff --git a/packages/language-html/grammars/tree-sitter-embedded-template/tree-sitter-embedded-template.wasm b/packages/language-html/grammars/tree-sitter-embedded-template/tree-sitter-embedded-template.wasm index 756f894affb76677d654a64a1ba2b79bfc17d713..eec102a4607c58822a3ac8047ad0e4abbd4741d9 100755 GIT binary patch literal 5525 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 From 7130f77f27701289118d52ad12e428c788128084 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 19 Jan 2024 23:25:23 -0800 Subject: [PATCH 40/83] [language-typescript] Highlight the wildcard import symbol --- packages/language-typescript/grammars/common/highlights.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index d2bb5f5b7..26cbdbdab 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -9,6 +9,10 @@ (import_specifier (identifier) @variable.other.assignment.import._LANG_) +; The "*" in `import * as Foo from './bar'` +(import_clause + (namespace_import "*" @variable.other.assignment.import.all._LANG_)) + ; The "foo" in `import * as foo from './bar'` (namespace_import (identifier) @variable.other.assignment.import.namespace._LANG_) From c2fb3075dfc91d09ac0323662c377d0d15fc8081 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 20 Jan 2024 10:34:48 -0800 Subject: [PATCH 41/83] =?UTF-8?q?[language-php]=20Small=20fixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Properly highlight comments like `/***/` * Add `intdiv` as a builtin function * Change PHPDoc tags back to a `keyword` scope rather than an `entity.name.tag` scope * Highlight more PHPDoc types --- .../grammars/tree-sitter/queries/highlights.scm | 9 +++++++-- .../grammars/tree-sitter/queries/phpdoc/highlights.scm | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 50fa4f722..799e089f2 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -118,7 +118,7 @@ (function_call_expression function: (name) @support.function.math.php - (#match? @support.function.math.php "^((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)$")) + (#match? @support.function.math.php "^((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(mod|div)|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)$")) (function_call_expression function: (name) @support.function.mbstring.php @@ -505,11 +505,16 @@ (#match? @punctuation.definition.comment.php "^#") (#set! adjust.startAndEndAroundFirstMatchOf "^#")) -; Don't highlight PHPDoc comments because the injection will handle them. +; Capture these because the PHPDoc injection won't process them… +((comment) @comment.block.documentation.php + (#match? @comment.block.documentation.php "^/\\*\\*\\*")) + +; …but otherwise leave this style of comment to be handled by PHPDoc. ((comment) @_IGNORE_ (#match? @_IGNORE_ "^/\\*\\*") (#set! capture.final true)) + ((comment) @comment.block.php (#match? @comment.block.php "^/\\*(?!\\*)")) diff --git a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm index e9ee2c4d6..dfb4fee84 100644 --- a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm @@ -5,7 +5,8 @@ ((document) @punctuation.definition.end.comment.phpdoc.php (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -(tag_name) @entity.name.tag.phpdoc.php +(tag_name) @keyword.other.tag.phpdoc.php +(primitive_type) @storage.type.primitive.phpdoc.php (named_type) @storage.type.instance.phpdoc.php (variable_name) @variable.other.phpdoc.php (uri) @markup.underline.link.phpdoc.php From 4d8a7219c37e9c856412a4bcbddd0ea5df3c1115 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 20 Jan 2024 12:07:22 -0800 Subject: [PATCH 42/83] [language-c] Highlight struct designated initializers --- .../language-c/grammars/tree-sitter-c/highlights.scm | 11 +++++++++++ .../grammars/tree-sitter-cpp/highlights.scm | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/packages/language-c/grammars/tree-sitter-c/highlights.scm b/packages/language-c/grammars/tree-sitter-c/highlights.scm index b20484418..0fedcb3cf 100644 --- a/packages/language-c/grammars/tree-sitter-c/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-c/highlights.scm @@ -137,6 +137,17 @@ (field_declaration (field_identifier) @variable.declaration.member.c) +; An attribute in a C99 struct designated initializer: +; the "foo" in `MY_TYPE a = { .foo = true }; +(initializer_pair + (field_designator + (field_identifier) @variable.declaration.member.c)) + +; (and the associated ".") +(initializer_pair + (field_designator + "." @keyword.operator.accessor.c)) + (field_declaration (pointer_declarator (field_identifier) @variable.declaration.member.c)) diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index d1f02fd9a..8ec2abb7b 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -224,9 +224,21 @@ declarator: (pointer_declarator declarator: (identifier) @variable.declaration.pointer.c)) +; A member of a struct. (field_declaration (field_identifier) @variable.declaration.member.cpp) +; An attribute in a C99 struct designated initializer: +; the "foo" in `MY_TYPE a = { .foo = true }; +(initializer_pair + (field_designator + (field_identifier) @variable.declaration.member.cpp)) + +; (and the associated ".") +(initializer_pair + (field_designator + "." @keyword.operator.accessor.cpp)) + (field_declaration (pointer_declarator (field_identifier) @variable.declaration.member.cpp)) From 2a0ebacf62a4c06c34d9726f3bd78b798a80b03a Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 20 Jan 2024 13:50:31 -0800 Subject: [PATCH 43/83] An injection with no highlights query should still apply its root scope --- spec/wasm-tree-sitter-language-mode-spec.js | 26 +++++++++++++++++++++ src/wasm-tree-sitter-language-mode.js | 11 ++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index 1663ae0ff..366f03be4 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -1026,6 +1026,32 @@ describe('WASMTreeSitterLanguageMode', () => { ]); }); + it('handles injections with no highlights query', async () => { + jasmine.useRealClock(); + atom.grammars.addGrammar(jsGrammar); + atom.grammars.addGrammar(htmlGrammar); + htmlGrammar.highlightsQuery = false; + // Pretend this grammar doesn't have a highlights query. + spyOn(htmlGrammar, 'getQuery').andReturn(Promise.resolve(null)); + const languageMode = new WASMTreeSitterLanguageMode({ + grammar: jsGrammar, + buffer, + config: atom.config, + grammars: atom.grammars + }); + buffer.setLanguageMode(languageMode); + await languageMode.ready; + + buffer.setText('text = html`

`'); + await languageMode.atTransactionEnd(); + + // An injection should still be able to add its root scope even when + // its grammar has no `highlightsQuery`. + let descriptor = editor.scopeDescriptorForBufferPosition([0, 15]); + + expect(descriptor.getScopesArray()).toContain('text.html.basic'); + }); + it('terminates comment token at the end of an injection, so that the next injection is NOT a continuation of the comment', async () => { jasmine.useRealClock(); const ejsGrammar = new WASMTreeSitterGrammar( diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index b75a67237..f6c810b19 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -3113,7 +3113,7 @@ class LanguageLayer { // through a `ScopeResolver`. getSyntaxBoundaries(from, to) { let { buffer } = this.languageMode; - if (!(this.language && this.tree && this.highlightsQuery)) { + if (!(this.language && this.tree)) { return [[], new OpenScopeMap()]; } @@ -3123,7 +3123,12 @@ class LanguageLayer { let boundaries = createTree(comparePoints); let extent = this.getExtent(); - const captures = this.highlightsQuery.captures(this.tree.rootNode, from, to); + let captures; + if (this.highlightsQuery) { + captures = this.highlightsQuery.captures(this.tree.rootNode, from, to); + } else { + captures = []; + } this.scopeResolver.reset(); for (let capture of captures) { @@ -3145,7 +3150,7 @@ class LanguageLayer { // `allowEmpty` to force these to be considered, but for marking scopes, // there's no need for it; it'd just cause us to open and close a scope // in the same position. - if (node.text === '') { continue; } + if (node.childCount === 0 && node.text === '') { continue; } // Ask the `ScopeResolver` to process each capture in turn. Some captures // will be ignored if they fail certain tests, and some will have their From 46877b05ff21c0f55d3c25483924137db37b5b2a Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 20 Jan 2024 20:49:17 -0800 Subject: [PATCH 44/83] =?UTF-8?q?[language-php]=20Add=20`meta.embedded.blo?= =?UTF-8?q?ck`/`meta.embedded.line`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …to each PHP section in order to match the functionality of the TextMate grammar. This was a gigantic endeavor and involved doing several things that were on my “ugh, I’ll get around to it” list: * To make some of this stuff work, we were using two different PHP parser layers. The root one did the syntax highlighting and separated the HTML from the rest, and the deeper injection was there just so we could scope some ranges as `source.php`. That doesn’t work because of rules we have about shallower layers acting before deeper layers when iterating through syntax highlighting boundaries. I was trying to be too clever. Now the _root_ layer is the one that does no highlighting, and the _deeper_ layer is the one that exists to apply `source.php` _and then_ perform highlighting and indentation hinting and folding and whatnot. If we need to, we can move some of the queries to the root layer for whatever reason; maybe we come across a bug six months from now that could be fixed if we made the root layer in charge of folding. We have options. * All boundaries for `HighlightIterator`s now _either_ open one or more scopes _or_ close one or more scopes. If one boundary can close some scopes and open others, then boundaries on different layers that share a buffer position cannot possibly close/open in the correct order because they can't intermingle. This needed to happen and this was as good of an excuse as any to do it. * We needed to present sane PHP opening/closing ranges to the injection. Ironically, `tree-sitter-php` itself makes this nearly impossible because of how the tree is structured; it tries to hide the `` tags from the PHP layer and treat them as text, despite the fact that PHP is the thing that knows how to parse that. The best way to do this — at least until I encounter a reason why it can’t work — is to find all the ``s, sort them, group them, and build fake node ranges. This is fine! I mean, it’s ridiculous, but it’s fine! The ranges that we hand off to another parser are allowed to be completely arbitrary! This lets us do what we were only approximating before: have _one_ PHP injection layer with _any number of_ content ranges, each of which begins with `` without trying to claim any surrounding whitespace. This would be worth it even if we didn’t have to do any of this other stuff. * Each content range of the injection needs _either_ `meta.embedded.line.php` _or_ `meta.embedded.block.php` depending on whether the range begins and ends on the same line. This is not something I was willing to regress on because it's _hard_ to distinguish between PHP and non-PHP unless your editor helps you out, and because I wasn't going to go into a bunch of themes and tell them to treat `source.php` like `meta.embedded`. This also meant that we needed to be able to add _multiple_ “root” scope names per content range. But we already had a mode in which the `languageScope` injection option could be a callback, so it wasn't hard to make it a callback that could take extra parameters for the buffer and range. This isn't a feature that I'm eager for other grammars to use, or even necessarily know about, but it was what we needed to deliver feature parity here. And none of it would have been necessary if `tree-sitter-php` made more sensible choices. (Whatever. Maybe what I want isn't possible for some strange reason.) All existing tests pass. Tests have been written for the new `languageScope` features. Tests need to be written for PHP just like for all other language grammars, but that was on the to-do list anyway. If any of this turns out to be catastrophic, it’s easy to roll back, but tests are passing on my machine and I expect them to pass in CI. --- .../grammars/modern-tree-sitter-php-html.cson | 4 - .../grammars/modern-tree-sitter-php.cson | 8 +- packages/language-php/lib/main.js | 142 +++++++-- spec/wasm-tree-sitter-language-mode-spec.js | 67 +++++ src/wasm-tree-sitter-language-mode.js | 270 +++++++++--------- 5 files changed, 329 insertions(+), 162 deletions(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index 2946872b4..d48ceb31b 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -8,10 +8,6 @@ injectionRegex: 'php|PHP' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' - highlightsQuery: 'tree-sitter/queries/highlights.scm' - tagsQuery: 'tree-sitter/queries/tags.scm' - foldsQuery: 'tree-sitter/queries/folds.scm' - indentsQuery: 'tree-sitter/queries/indents.scm' fileTypes: [ 'aw' diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index 1f764fbfb..df15cf65b 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -3,11 +3,13 @@ type: 'modern-tree-sitter' parser: 'tree-sitter-php' # Give it a precise injectionRegex that won't get accidentally matched with -# anything. This grammar only exists as a way to apply the `source.php` scope. +# anything. injectionRegex: '^(internal-php)$' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' - # TODO: See if we can make an “empty” Tree-sitter parser. We don't need this - # layer to do any of its own parsing work. grammar: 'tree-sitter/tree-sitter-php.wasm' + highlightsQuery: 'tree-sitter/queries/highlights.scm' + tagsQuery: 'tree-sitter/queries/tags.scm' + foldsQuery: 'tree-sitter/queries/folds.scm' + indentsQuery: 'tree-sitter/queries/indents.scm' diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index d6e59ed7e..938997354 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -1,8 +1,83 @@ +const { Point, Range } = require('atom'); + function isPhpDoc(node) { let { text } = node; return text.startsWith('/**') && !text.startsWith('/***') } +function comparePoints(a, b) { + const rows = a.row - b.row; + if (rows === 0) { + return a.column - b.column; + } else { + return rows; + } +} + +// Given a series of opening and closing PHP tags, pairs and groups them as a +// series of node specs suitable for defining the bounds of an injection. +function interpret(nodes) { + let sorted = [...nodes].sort((a, b) => { + return comparePoints(a.startPosition, b.startPosition); + }); + + let ranges = []; + let currentStart = null; + let lastIndex = nodes.length - 1; + + for (let [index, node] of sorted.entries()) { + let isStart = node.type === 'php_tag'; + let isEnd = node.type === '?>'; + let isLast = index === lastIndex; + + if (isStart) { + if (currentStart) { + throw new Error('Unbalanced content!'); + } + currentStart = node; + + if (isLast) { + // There's no ending tag to match this starting tag. This is valid and + // simply signifies that the rest of the file is PHP. We can return a + // range from here to `Infinity` and let the language mode clip it to + // the edge of the buffer. + let spec = { + startIndex: currentStart.startIndex, + startPosition: currentStart.startPosition, + endIndex: Infinity, + endPosition: Point.INFINITY, + range: new Range( + currentStart.range.start, + Point.INFINITY + ) + }; + ranges.push(spec); + currentStart = null; + break; + } + } + + if (isEnd) { + if (!currentStart) { + throw new Error('Unbalanced content!'); + } + let spec = { + startIndex: currentStart.startIndex, + startPosition: currentStart.startPosition, + endIndex: node.endIndex, + endPosition: node.endPosition, + range: new Range( + currentStart.range.start, + node.range.end + ) + }; + ranges.push(spec); + currentStart = null; + } + } + return ranges; +} + exports.activate = function () { // Here's how we handle the mixing of PHP and HTML: @@ -50,36 +125,48 @@ exports.activate = function () { return 'internal-php'; }, content(node) { - let results = []; - // At the top level we should ignore `text` nodes, since they're just - // HTML. We should also ignore the middle children of - // `text_interpolation` nodes (also `text`), but we need to include their - // first and last children, which correspond to `?>` and `']); + return interpret(boundaries); }, includeChildren: true, - newlinesBetween: true, - includeAdjacentWhitespace: true - }); + newlinesBetween: false, + // includeAdjacentWhitespace: true, - // TODOs and URLs - // ============== + // For parity with the TextMate PHP grammar, we need to be able to scope + // this region with not just `source.php` but also `meta.embedded.X.php`, + // where X is one of `line` or `block` depending on whether the range spans + // multiple lines. + // + // There is no way to do this via queries because there is no discrete node + // against which we could conditionally add `meta.embedded.block` or + // `meta.embedded.line`… because of the aforementioned lunacy of the tree + // structure. + // + // So we had to invent a feature for it. When `languageScope` is a function, + // it allows the injection to decide on a range-by-range basis what the + // scope name is… _and_ it can return more than one scope name. + languageScope(grammar, _buffer, range) { + let extraScope = range.start.row !== range.end.row ? + 'meta.embedded.block.php' : 'meta.embedded.line.php'; + return [grammar.scopeName, extraScope]; + } + }); // HEREDOCS and NOWDOCS @@ -129,6 +216,9 @@ exports.activate = function () { }; +// TODOs and URLs +// ============== + exports.consumeHyperlinkInjection = (hyperlink) => { hyperlink.addInjectionPoint('text.html.php', { types: ['comment', 'string_value'], diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index 366f03be4..9e97324d2 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -1428,6 +1428,73 @@ describe('WASMTreeSitterLanguageMode', () => { ).toBe(true); }); + it('allows multiple base scopes on the injected layer when `languageScope` is a function', async () => { + + let customJsConfig = { ...jsConfig }; + let customJsGrammar = new WASMTreeSitterGrammar(atom.grammars, jsGrammarPath, customJsConfig); + + await jsGrammar.setQueryForTest('highlightsQuery', ` + (comment) @comment + (property_identifier) @property + (call_expression (identifier) @function) + (template_string) @string + (template_substitution + ["\${" "}"] @interpolation) + `); + + let customHtmlConfig = { ...htmlConfig }; + let customHtmlGrammar = new WASMTreeSitterGrammar(atom.grammars, htmlGrammarPath, customHtmlConfig); + + await htmlGrammar.setQueryForTest('highlightsQuery', ` + (fragment) @html + (tag_name) @tag + (attribute_name) @attr + `); + + customHtmlGrammar.addInjectionPoint({ + ...SCRIPT_TAG_INJECTION_POINT, + languageScope: (grammar, _buffer, range) => { + return [grammar.scopeName, `meta.line${range.start.row}`]; + } + }); + + jasmine.useRealClock(); + atom.grammars.addGrammar(customJsGrammar); + atom.grammars.addGrammar(customHtmlGrammar); + buffer.setText('\n
\n
\n'); + + const languageMode = new WASMTreeSitterLanguageMode({ + grammar: customHtmlGrammar, + buffer, + config: atom.config, + grammars: atom.grammars + }); + buffer.setLanguageMode(languageMode); + await languageMode.ready; + + let descriptor = languageMode.scopeDescriptorForPosition([1, 1]); + expect( + descriptor.getScopesArray().includes('source.js') + ).toBe(true); + expect( + descriptor.getScopesArray().includes(`meta.line0`) + ).toBe(true); + expect( + descriptor.getScopesArray().includes(`meta.line5`) + ).toBe(false); + + descriptor = languageMode.scopeDescriptorForPosition([6, 1]); + expect( + descriptor.getScopesArray().includes('source.js') + ).toBe(true); + expect( + descriptor.getScopesArray().includes(`meta.line5`) + ).toBe(true); + expect( + descriptor.getScopesArray().includes(`meta.line0`) + ).toBe(false); + }); + it('notifies onDidTokenize listeners the first time all syntax highlighting is done', async () => { const promise = new Promise(resolve => { editor.onDidTokenize(event => { diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index f6c810b19..c56ad33c8 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -2582,29 +2582,29 @@ class HighlightIterator { getCloseScopeIds() { let iterator = last(this.iterators); - if (this.currentScopeIsCovered) { - // console.log( - // iterator.name, - // iterator.depth, - // 'would close', - // iterator._inspectScopes( - // iterator.getCloseScopeIds() - // ), - // 'at', - // iterator.getPosition().toString(), - // 'but scope is covered!' - // ); - } else { - // console.log( - // iterator.name, - // iterator.depth, - // 'CLOSING', - // iterator.getPosition().toString(), - // iterator._inspectScopes( - // iterator.getCloseScopeIds() - // ) - // ); - } + // if (this.currentScopeIsCovered) { + // console.log( + // iterator.name, + // iterator.depth, + // 'would close', + // iterator._inspectScopes( + // iterator.getCloseScopeIds() + // ), + // 'at', + // iterator.getPosition().toString(), + // 'but scope is covered!' + // ); + // } else { + // console.log( + // iterator.name, + // iterator.depth, + // 'CLOSING', + // iterator.getPosition().toString(), + // iterator._inspectScopes( + // iterator.getCloseScopeIds() + // ) + // ); + // } if (iterator) { if (this.currentScopeIsCovered) { return iterator.getOpenScopeIds().filter(id => { @@ -2620,29 +2620,29 @@ class HighlightIterator { getOpenScopeIds() { let iterator = last(this.iterators); // let ids = iterator.getOpenScopeIds(); - if (this.currentScopeIsCovered) { - // console.log( - // iterator.name, - // iterator.depth, - // 'would open', - // iterator._inspectScopes( - // iterator.getOpenScopeIds() - // ), - // 'at', - // iterator.getPosition().toString(), - // 'but scope is covered!' - // ); - } else { - // console.log( - // iterator.name, - // iterator.depth, - // 'OPENING', - // iterator.getPosition().toString(), - // iterator._inspectScopes( - // iterator.getOpenScopeIds() - // ) - // ); - } + // if (this.currentScopeIsCovered) { + // console.log( + // iterator.name, + // iterator.depth, + // 'would open', + // iterator._inspectScopes( + // iterator.getOpenScopeIds() + // ), + // 'at', + // iterator.getPosition().toString(), + // 'but scope is covered!' + // ); + // } else { + // console.log( + // iterator.name, + // iterator.depth, + // 'OPENING', + // iterator.getPosition().toString(), + // iterator._inspectScopes( + // iterator.getOpenScopeIds() + // ) + // ); + // } if (iterator) { if (this.currentScopeIsCovered) { return iterator.getOpenScopeIds().filter(id => { @@ -2684,6 +2684,8 @@ class HighlightIterator { } } +const EMPTY_SCOPES = Object.freeze([]); + // Iterates through everything that a `LanguageLayer` is responsible for, // marking boundaries for scope insertion. class LayerHighlightIterator { @@ -2777,7 +2779,7 @@ class LayerHighlightIterator { } isAtInjectionBoundary() { - let position = Point.fromObject(this.iterator.key); + let position = Point.fromObject(this.iterator.key.position); return position.isEqual(this.start) || position.isEqual(this.end); } @@ -2789,61 +2791,38 @@ class LayerHighlightIterator { } getOpenScopeIds() { - let openScopeIds = this.iterator.value.openScopeIds; - // if (openScopeIds.length > 0) { - // console.log( - // this.name, - // this.depth, - // 'OPENING', - // this.getPosition().toString(), - // this._inspectScopes( - // this.iterator.value.openScopeIds - // ) - // ); - // } - return [...openScopeIds]; + let { key, value } = this.iterator; + return key.boundary === 'end' ? EMPTY_SCOPES : [...value.scopeIds]; } getCloseScopeIds() { - let closeScopeIds = this.iterator.value.closeScopeIds; - // if (closeScopeIds.length > 0) { - // console.log( - // this.name, - // 'CLOSING', - // this.getPosition().toString(), - // this._inspectScopes( - // this.iterator.value.closeScopeIds - // ) - // ); - // } - return [...closeScopeIds]; + let { key, value } = this.iterator; + return key.boundary === 'start' ? EMPTY_SCOPES : [...value.scopeIds]; } opensScopes() { - let scopes = this.getOpenScopeIds(); - return scopes.length > 0; + return this.iterator?.key?.boundary === 'start'; } closesScopes() { - let scopes = this.getCloseScopeIds(); - return scopes.length > 0; + return this.iterator?.key?.boundary === 'end'; } getPosition() { - return this.iterator.key || Point.INFINITY; + return this.iterator?.key?.position ?? Point.INFINITY; } logPosition() { let pos = this.getPosition(); + let { key, value } = this.iterator; let { languageMode } = this.languageLayer; + let verb = key.boundary === 'end' ? 'close' : 'open'; console.log( `[highlight] (${pos.row}, ${pos.column})`, - 'close', - this.iterator.value.closeScopeIds.map(id => languageMode.scopeNameForScopeId(id)), - 'open', - this.iterator.value.openScopeIds.map(id => languageMode.scopeNameForScopeId(id)), + verb, + value.scopeIds.map(id => languageMode.scopeNameForScopeId(id)), 'next?', this.iterator.hasNext ); @@ -2851,35 +2830,33 @@ class LayerHighlightIterator { compare(other) { // First, favor the one whose current position is earlier. - const result = comparePoints(this.iterator.key, other.iterator.key); + const result = comparePoints( + this.iterator.key.position, + other.iterator.key.position + ); if (result !== 0) { return result; } // Failing that, favor iterators that need to close scopes over those that // don't. - if (this.closesScopes() && !other.closesScopes()) { + let ourBoundary = this.iterator.key.boundary; + let theirBoundary = other.iterator.key.boundary; + let bothClosing = ourBoundary === 'end' && theirBoundary === 'end'; + + if (ourBoundary === 'end' && !bothClosing) { return -1; - } else if (other.closesScopes() && !this.closesScopes()) { + } else if (theirBoundary === 'end' && !bothClosing) { return 1; } - let bothOpening = this.opensScopes() && other.opensScopes(); - let bothClosing = this.closesScopes() && other.closesScopes(); - if (bothClosing) { // When both iterators are closing scopes, the deeper layer should act // first. return other.languageLayer.depth - this.languageLayer.depth; } else { - // When both iterators are opening scopes — or if there's a mix of - // opening and closing — the shallower layer should act first. + // When both iterators are opening scopes, the shallower layer should act + // first. return this.languageLayer.depth - other.languageLayer.depth; } - - // TODO: We need to move to a system where every point in the iterator - // _either_ closes scopes _or_ opens them, with the former visited before - // the latter. Otherwise there's no correct way to sort them when two - // different layers have the same position and both want to close _and_ - // open scopes. } moveToSuccessor() { @@ -2904,7 +2881,7 @@ class LayerHighlightIterator { if (!this.end) { return false; } let next = this.peekAtSuccessor(); - return comparePoints(next, this.end) > 0; + return comparePoints(next.position, this.end) > 0; } } @@ -2982,6 +2959,9 @@ class LanguageLayer { if (err.name === 'GrammarLoadError') { console.warn(err.message); if (err.queryType === 'highlightsQuery') { + // Recover by setting an empty `highlightsQuery` so that we don't + // propagate errors. + // // TODO: Warning? grammar.highlightsQuery = grammar.setQueryForTest( 'highlightsQuery', @@ -3015,10 +2995,8 @@ class LanguageLayer { // injected. languageScope = injectionPoint.languageScope; - // The `languageScope` parameter can be a function. - if (typeof languageScope === 'function') { - languageScope = languageScope(this.grammar); - } + // The `languageScope` parameter can be a function. That means we won't + // decide now; we'll decide later on a range-by-range basis. // Honor an explicit `null`, but fall back to the default scope name // otherwise. @@ -3028,7 +3006,10 @@ class LanguageLayer { } this.languageScope = languageScope; - if (languageScope === null) { + if (languageScope === null || typeof languageScope === 'function') { + // If `languageScope` is a function, we'll still often end up with a + // `languageScopeId` (or several); we just won't be able to compute it + // ahead of time. this.languageScopeId = null; } else { this.languageScopeId = this.languageMode.idForScope(languageScope); @@ -3120,15 +3101,10 @@ class LanguageLayer { from = buffer.clipPosition(Point.fromObject(from, true)); to = buffer.clipPosition(Point.fromObject(to, true)); - let boundaries = createTree(comparePoints); + let boundaries = createTree(compareBoundaries); let extent = this.getExtent(); - let captures; - if (this.highlightsQuery) { - captures = this.highlightsQuery.captures(this.tree.rootNode, from, to); - } else { - captures = []; - } + let captures = this.highlightsQuery?.captures(this.tree.rootNode, from, to) ?? []; this.scopeResolver.reset(); for (let capture of captures) { @@ -3213,37 +3189,65 @@ class LanguageLayer { // let includedRanges = this.depth === 0 ? [extent] : this.getCurrentRanges(); - if (this.languageScopeId) { + let languageScopeIdForRange = () => this.languageScopeId; + if (typeof this.languageScope === 'function') { + languageScopeIdForRange = (range) => { + let scopeName = this.languageScope(this.grammar, this.languageMode.buffer, range); + if (Array.isArray(scopeName)) { + return scopeName.map(s => this.languageMode.idForScope(s)); + } else { + return this.languageMode.idForScope(scopeName); + } + }; + } + + if (this.languageScopeId || typeof this.languageScope === 'function') { for (let range of includedRanges) { // Filter out ranges that have no intersection with ours. if (range.end.isLessThanOrEqual(from)) { continue; } if (range.start.isGreaterThanOrEqual(to)) { continue; } + let languageScopeIds = languageScopeIdForRange(range); + if (!languageScopeIds) continue; + + if (!Array.isArray(languageScopeIds)) { + languageScopeIds = [languageScopeIds]; + } + if (range.start.isLessThan(from)) { // If we get this far, we know that the base language scope was open // when our range began. - alreadyOpenScopes.set(range.start, [this.languageScopeId]); + alreadyOpenScopes.set( + range.start, + languageScopeIds + ); } else { // Range start must be between `from` and `to`, or else equal `from` // exactly. - this.scopeResolver.setBoundary( - range.start, - this.languageScopeId, - 'open', - { root: true, length: Infinity } - ); + for (let id of languageScopeIds) { + this.scopeResolver.setBoundary( + range.start, + id, + 'open', + { root: true, length: Infinity } + ); + } } if (range.end.isGreaterThan(to)) { // Do nothing; we don't need to set this boundary. } else { // The range must end somewhere within our range. - this.scopeResolver.setBoundary( - range.end, - this.languageScopeId, - 'close', - { root: true, length: Infinity } - ); + // + // Close the boundaries in the opposite order of how we opened them. + for (let i = languageScopeIds.length - 1; i >= 0; i--) { + this.scopeResolver.setBoundary( + range.end, + languageScopeIds[i], + 'close', + { root: true, length: Infinity } + ); + } } } } @@ -3263,12 +3267,20 @@ class LanguageLayer { continue; } - let bundle = { - closeScopeIds: [...data.close], - openScopeIds: [...data.open] - }; + let OPEN_KEY = { position: point, boundary: 'start' }; + let CLOSE_KEY = { position: point, boundary: 'end' }; - boundaries = boundaries.insert(point, bundle); + if (data.close.length > 0) { + boundaries = boundaries.insert(CLOSE_KEY, { + scopeIds: Object.freeze(data.close) + }); + } + + if (data.open.length > 0) { + boundaries = boundaries.insert(OPEN_KEY, { + scopeIds: Object.freeze(data.open) + }); + } } return [boundaries, alreadyOpenScopes]; @@ -3829,11 +3841,11 @@ class LanguageLayer { // If the cursor is resting before column X, we want all scopes that cover // the character in column X. - let captures = this.highlightsQuery.captures( + let captures = this.highlightsQuery?.captures( this.tree.rootNode, point, { row: point.row, column: point.column + 1 } - ); + ) ?? []; let results = []; for (let capture of captures) { From e48ac62ea564e3f3cae992d0ec04e43431c2c7db Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 20 Jan 2024 21:27:08 -0800 Subject: [PATCH 45/83] Correct the PHP delimiters in the integration test --- integration/workspace.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/workspace.spec.js b/integration/workspace.spec.js index 67c53c07e..919dc2c47 100644 --- a/integration/workspace.spec.js +++ b/integration/workspace.spec.js @@ -23,7 +23,7 @@ const languages = [ // {language: "mustache", code: '10', checks: {numeric: '10'}}, {language: "Objective C", code: '10', checks: {numeric: '10'}}, {language: "Perl", code: '10', checks: {numeric: '10'}}, - {language: "PHP", code: '', checks: {numeric: '10'}}, + {language: "PHP", code: '', checks: {numeric: '10'}}, // {language: "property-list", code: '10', checks: {numeric: '10'}}, {language: "Python", code: '10', checks: {numeric: '10'}}, {language: "Ruby on Rails", code: '10', checks: {numeric: '10'}}, From aeeb03a824e70bf6db5cc3447eda66f15e3acbb5 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 10:33:01 -0800 Subject: [PATCH 46/83] =?UTF-8?q?Adopt=20the=20`support.storage`=20comprom?= =?UTF-8?q?ise=20found=20in=20legacy=20Tree-sitter=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …in which all _value types_ are scoped under `support.storage`. The goal is to avoid drawing an arbitrary distinction between, say, `int` and `SomeCustomCType` — those things are different, but not _so_ different that they belong in separate root scope namespaces. `storage.type` can be used for core language constructs — `var`, `class`, `function`, `struct`, `enum`, `namespace`, and so on. `support.storage.type` should be used for any _recognized_ value type — certainly core language types like `int`, but also other things if they make sense. `support.other.storage.type` can be used for user-defined types, or any other types that we don't recognize. (Using the `support.other` ordering here adheres to our new convention of reserving all of `support.other` for user-defined things.) The point of this compromise is that both the `syntax--storage` and `syntax--support` class names are present so that many themes will still highlight these tokens as though they were in the root `storage` namespace. This commit changes the C/C++ and TypeScript `highlights.scm` files. The results appear to be satisfactory to my eye after testing on two of the builtin themes. I’ve updated the taxonomy document to reflect this new proposal: https://gist.github.com/savetheclocktower/c9607b97477d4817911e4f2f8db89679#file-scope-taxonomy-md --- .../grammars/tree-sitter-c/highlights.scm | 37 ++++++---- .../grammars/tree-sitter-cpp/highlights.scm | 38 ++++++---- .../grammars/common/highlights.scm | 70 +++++++++++-------- 3 files changed, 90 insertions(+), 55 deletions(-) diff --git a/packages/language-c/grammars/tree-sitter-c/highlights.scm b/packages/language-c/grammars/tree-sitter-c/highlights.scm index 0fedcb3cf..1d5012c40 100644 --- a/packages/language-c/grammars/tree-sitter-c/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-c/highlights.scm @@ -47,30 +47,41 @@ (type_identifier) @_IGNORE_ (#set! capture.final true)) -(primitive_type) @support.type.builtin.c -(type_identifier) @support.type.other.c +(primitive_type) @support.storage.type.builtin.c +(type_identifier) @support.other.storage.type.c ; These types are all reserved words; if we see an identifier with this name, ; it must be a type. -((identifier) @support.type.builtin.c - (#match? @support.type.builtin.c "^(char|int|float|double|long)$")) +((identifier) @support.storage.type.builtin.c + (#match? @support.storage.type.builtin.c "^(char|int|float|double|long)$")) ; Assume any identifier that ends in `_t` is a type. This convention is not ; always followed, but it's a very strong indicator when it's present. -((identifier) @support.type.other.c - (#match? @support.type.other.c "_t$")) +((identifier) @support.other.storage.type.c + (#match? @support.other.storage.type.c "_t$")) +; These refer to language constructs and remain in the `storage` namespace. [ "enum" - "long" - "short" - "signed" "struct" "typedef" "union" - "unsigned" ] @storage.type.c +; These refer to value types and go under `support`. +[ + "long" + "short" +] @support.storage.type.builtin.c + +; These act as modifiers to value types and also go under `support`. +[ + "signed" + "unsigned" +] @support.storage.modifier.builtin.c + +; These act as general language modifiers and remain in the `storage` +; namespace. [ "const" "extern" @@ -79,10 +90,10 @@ "restrict" "static" "volatile" -] @storage.modifier.c +] @storage.modifier._TYPE_.c -((primitive_type) @support.type.stdint.c - (#match? @support.type.stdint.c "^(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)$")) +((primitive_type) @support.storage.type.stdint.c + (#match? @support.storage.type.stdint.c "^(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)$")) (enum_specifier name: (type_identifier) @variable.other.declaration.type.c) diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index 8ec2abb7b..b1243b46c 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -73,28 +73,38 @@ ; These types are all reserved words; if we see an identifier with this name, ; it must be a type. -((identifier) @support.type.builtin.cpp - (#match? @support.type.builtin.cpp "^(char|int|float|double|long)$")) +((identifier) @support.storage.type.builtin.cpp + (#match? @support.storage.type.builtin.cpp "^(char|int|float|double|long)$")) ; Assume any identifier that ends in `_t` is a type. This convention is not ; always followed, but it's a very strong indicator when it's present. -((identifier) @support.type.other.cpp - (#match? @support.type.other.cpp "_t$")) +((identifier) @support.other.storage.type.cpp + (#match? @support.other.storage.type.cpp "_t$")) +; These refer to language constructs and remain in the `storage` namespace. [ "enum" - "long" - "short" - "signed" "struct" "typedef" "union" - "unsigned" - "template" ] @storage.type.cpp +; These refer to value types and go under `support`. +[ + "long" + "short" +] @support.storage.type.builtin.cpp + +; These act as modifiers to value types and also go under `support`. +[ + "signed" + "unsigned" +] @support.storage.modifier.builtin.cpp + +; These act as general language modifiers and remain in the `storage` +; namespace. [ "const" "extern" @@ -114,15 +124,15 @@ "override" "final" "noexcept" -] @storage.modifier.cpp + + "typename" +] @storage.modifier._TYPE_.cpp ( - (primitive_type) @support.type.stdint.cpp - (#match? @support.type.stdint.cpp "^(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)$") + (primitive_type) @support.storage.type.stdint.cpp + (#match? @support.storage.type.stdint.cpp "^(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)$") ) -"typename" @storage.modifier.typename.cpp - ; FUNCTIONS ; ========= diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 26cbdbdab..36c54b9e1 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -78,9 +78,6 @@ (asserts "asserts" @keyword.type.asserts._LANG_) (asserts (identifier) @variable.other.type._LANG_) - -["var" "const" "let"] @storage.type._TYPE_._LANG_ - ; A simple variable declaration: ; The "foo" in `let foo = true` (variable_declarator @@ -303,11 +300,11 @@ ; TYPES ; ===== -["var" "let" "const"] @storage.modifier._TYPE_._LANG_ +; These go under `storage.type`/`storage.modifier` because they’re core +; language constructs. +["var" "let" "const" "class" "function"] @storage.type._TYPE_._LANG_ ["extends" "static" "async" "infer"] @storage.modifier._TYPE_._LANG_ -["class" "function"] @storage.type._TYPE_._LANG_ - (type_arguments "<" @punctuation.definition.parameters.begin.bracket.angle.js (#set! capture.final)) (type_arguments ">" @punctuation.definition.parameters.end.bracket.angle.js @@ -318,48 +315,68 @@ ; TODO: If I allow scopes like `storage.type.string._LANG_`, I will make a lot of ; text look like strings by accident. This really needs to be fixed in syntax ; themes. -(predefined_type _ @storage.type._LANG_ @support.type._LANG_) +; +; NOTE: To settle the long debate (in my head) about whether value types are +; `support.type` or `storage.type`, I’ve adopted the same compromised used +; by legacy Tree-sitter: value types are filed under `support.storage.type`. + +; These appear to be the primitives like `number`, `string`, `boolean`, `void`, +; et cetera. `null` and `undefined` get their own nodes. +(predefined_type _ @support.storage.type.predefined._LANG_) (type_alias_declaration name: (type_identifier) @variable.declaration.type._LANG_) -((literal_type [(null) (undefined)]) @storage.type._TEXT_._LANG_) -((literal_type [(null) (undefined)]) @support.type._TEXT_._LANG_ - (#set! capture.final true)) +((literal_type [(null) (undefined)]) @support.storage.type._TEXT_._LANG_ + (#set! capture.final)) ; TODO: Decide whether other literal types — strings, booleans, and whatnot — ; should be highlighted as they are in JS, or should be highlighted like other ; types in annotations. +; These are `storage.type` because they are core language constructs rather +; than value types. [ - "implements" "namespace" "enum" "interface" "module" "declare" +] @storage.type._TYPE_._LANG_ +"type" @storage.type._LANG_ + +; These are `storage.modifier` becase they act as adjectives and verbs for +; language constructs. +[ + "implements" "public" "private" "protected" "readonly" "satisfies" - "type" ] @storage.modifier._TYPE_._LANG_ (index_signature name: (identifier) @entity.other.attribute-name.type._LANG_) -((type_identifier) @storage.type._LANG_ - ; (#is? test.descendantOfType "type_annotation type_arguments satisfies_expression type_parameter") - ) +; The utility types documented at +; https://www.typescriptlang.org/docs/handbook/utility-types.html. +(generic_type + (type_identifier) @support.storage.type.builtin.utility._LANG_ + (#match? @support.storage.type.builtin.utility._LANG_ "^(Awaited|Partial|Required|Readonly|Record|Pick|Omit|Exclude|Extract|NonNullable|(?:Constructor)?Parameters|(?:Return|Instance|(?:Omit)?ThisParameter|This)Type|(?:Upper|Lower)case|Capitalize|Uncapitalize)$") + (#set! capture.final)) -; A capture can satisfy more than one of these criteria, so we need to guard -; against multiple matches. That's why we use `test.final` here, and why the -; two capture names are applied in separate captures — otherwise `test.final` -; would be applied after the first capture. -((type_identifier) @support.type._LANG_ - ; (#is? test.descendantOfType "type_annotation type_arguments satisfies_expression type_parameter") - (#set! capture.final true)) +; All core language builtin types. +((type_identifier) @support.storage.type.builtin._LANG_ +(#match? @support.storage.type.builtin._LANG_ "^(AggregateError|Array|ArrayBuffer|BigInt|BigInt64Array|BigUint64Array|DataView|Date|Error|EvalError|FinalizationRegistry|Float32Array|Float64Array|Function|ImageCapture|Int8Array|Int16Array|Int32Array|Map|Object|Promise|Proxy|RangeError|ReferenceError|RegExp|Set|Symbol|SyntaxError|TypeError|Uint8Array|Uint8ClampedArray|Uint16Array|Uint32Array|URIError|URL|WeakMap|WeakRef|WeakSet|XMLHttpRequest)$") + (#set! capture.final)) + +; TODO: We could add a special scope name to the entire suite of DOM types, but +; I don't have the strength for that right now. + +; +((type_identifier) @support.storage.other.type._LANG_ + ) ; SUPPORT ; ======= @@ -577,13 +594,9 @@ (property_identifier) @entity.other.attribute-name._LANG_) - ; FUNCTIONS ; ========= -(method_definition - name: (property_identifier) @entity.name.function.method._LANG_) - (call_expression function: (member_expression property: (property_identifier) @support.other.function.method._LANG_)) @@ -644,12 +657,15 @@ key: (property_identifier) @entity.name.function.method.definition._LANG_ value: [(function) (arrow_function)]) +; Function is `storage.type` because it's a core language construct. (function "function" @storage.type.function._LANG_) (function_declaration "function" @storage.type.function._LANG_) (generator_function "function" @storage.type.function._LANG_) (generator_function_declaration "function" @storage.type.function._LANG_) +; The `*` sigil acts as a modifier on a core language construct, hence +; `storage.modifier`. (generator_function "*" @storage.modifier.generator._LANG_) (generator_function_declaration "*" @storage.modifier.generator._LANG_) (method_definition "*" @storage.modifier.generator._LANG_) @@ -661,8 +677,6 @@ function: (identifier) @support.other.function._LANG_ (#set! capture.shy true)) - - ; Things that `LOOK_LIKE_CONSTANTS`. ([(property_identifier) (identifier)] @constant.other._LANG_ (#match? @constant.other._LANG_ "^[A-Z_][A-Z0-9_]*$") From 33f193cd601ed651cc688a6f9b04fc6b1c9a0461 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 11:16:51 -0800 Subject: [PATCH 47/83] [language-php] Update `tree-sitter-php` to latest --- .../grammars/modern-tree-sitter-php-html.cson | 2 +- .../grammars/tree-sitter/tree-sitter-php.wasm | Bin 738875 -> 737073 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index d48ceb31b..26f364a41 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -6,7 +6,7 @@ parser: 'tree-sitter-php' injectionRegex: 'php|PHP' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' + parserSource: 'github:tree-sitter/tree-sitter-php#b569a5f2c0d592e67430520d1a0e1f765d83ceb0' grammar: 'tree-sitter/tree-sitter-php.wasm' fileTypes: [ diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm index 759c60b33f7ffcd102128b801634fbb91b496086..502625bb7f030ae3fb46757b7f7c0dd32076f2c8 100755 GIT binary patch literal 737073 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 BZrA_- literal 738875 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

K0!&MV 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 Date: Sun, 21 Jan 2024 11:20:43 -0800 Subject: [PATCH 48/83] Clip injection ranges to the bounds of the buffer when needed --- src/wasm-tree-sitter-language-mode.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index c56ad33c8..1178e6f1c 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -3238,7 +3238,7 @@ class LanguageLayer { // Do nothing; we don't need to set this boundary. } else { // The range must end somewhere within our range. - // + // // Close the boundaries in the opposite order of how we opened them. for (let i = languageScopeIds.length - 1; i >= 0; i--) { this.scopeResolver.setBoundary( @@ -3767,7 +3767,7 @@ class LanguageLayer { } getOrParseTree({ force = true, anonymous = false } = {}) { - if (!this.treeIsDirty || !force) { return this.tree; } + if (this.tree && (!this.treeIsDirty || !force)) { return this.tree; } // Eventually we'll take this out, but for now it serves as an indicator of // how often we have to manually re-parse in between transactions — @@ -4146,8 +4146,15 @@ class NodeRangeSet { const previousRanges = this.previous?.getRanges(buffer); let result = []; - for (const node of this.nodeSpecs) { + for (let node of this.nodeSpecs) { + // An injection point isn't given the point at which the buffer ends, so + // it's free to return an `endIndex` of `Infinity` here and rely on us to + // clip it to the boundary of the buffer. + if (node.endIndex === Infinity) { + node = this._clipRange(node, buffer); + } let position = node.startPosition, index = node.startIndex; + if (node.children && !this.includeChildren) { // If `includeChildren` is `false`, we're effectively collecting all // the disjoint text nodes that are direct descendants of this node. @@ -4203,6 +4210,13 @@ class NodeRangeSet { return this._consolidateRanges(result); } + _clipRange(range, buffer) { + // Convert this range spec to an actual `Range`, clip it, then convert it + // back to a range spec with accurate `startIndex` and `endIndex` values. + let clippedRange = buffer.clipRange(rangeForNode(range)); + return rangeToTreeSitterRangeSpec(clippedRange, buffer); + } + // Combine adjacent ranges to minimize the number of boundaries. _consolidateRanges(ranges) { if (ranges.length === 1) { return ranges; } From cc2785b59f192929f0b7b58fc58f7e38e486e956 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 11:22:30 -0800 Subject: [PATCH 49/83] Log context when a parser fails to load Previously this just put a bunch of `web-tree-sitter` errors in the console without telling you which thing failed. This is a marginal improvement. --- src/wasm-tree-sitter-grammar.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/wasm-tree-sitter-grammar.js b/src/wasm-tree-sitter-grammar.js index 876355e6b..35182f9a9 100644 --- a/src/wasm-tree-sitter-grammar.js +++ b/src/wasm-tree-sitter-grammar.js @@ -136,7 +136,12 @@ module.exports = class WASMTreeSitterGrammar { async getLanguage() { await parserInitPromise; if (!this._language) { - this._language = await Parser.Language.load(this.treeSitterGrammarPath); + try { + this._language = await Parser.Language.load(this.treeSitterGrammarPath); + } catch (err) { + console.error(`Error loading grammar for ${this.scopeName}; original error follows`); + throw err; + } } if (!this._queryFilesLoaded) { From 8525a3f62257b4b2e2161e99ee6d16c454034e87 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 12:51:47 -0800 Subject: [PATCH 50/83] [language-php] Move value type usages into `support.storage.type` --- .../grammars/tree-sitter/queries/highlights.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 799e089f2..4b6079613 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -338,13 +338,17 @@ ; TYPES ; ===== -(primitive_type) @storage.type.builtin.php -(cast_type) @storage.type.builtin.php -(named_type (name) @storage.type.php) -(named_type (qualified_name) @storage.type.php) +; Primitive types are value types, hence are placed in `support.storage.type`. +(primitive_type) @support.storage.type.builtin.php +(cast_type) @support.storage.type.builtin.php +(named_type (name) @support.storage.type.php) +(named_type (qualified_name) @support.storage.type.php) + +; Acts as a modifier on all variables, regardless of value type, hence `storage.modifier`. "global" @storage.modifier.global.php +; Core language constructs go in `storage.type`. ["enum" "interface" "trait" "class"] @storage.type._TYPE_.php (enum_case "case" @storage.type.case.php) "function" @storage.type.function.php From 1e7e1351d8b351dcc436d6843471347583ba0c78 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 12:53:44 -0800 Subject: [PATCH 51/83] =?UTF-8?q?[language-javascript]=20Ensure=20object?= =?UTF-8?q?=20properties=20are=20scoped=20as=20`entity`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …instead of `variable` when a function is on the right-hand side of an assignment. --- .../grammars/tree-sitter/highlights.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index 65960cfca..2ad26f77e 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -71,10 +71,20 @@ (assignment_expression left: (identifier) @variable.other.assignment.js) +; Mark all the properties whose right-hand sides are functions so that we can +; exclude them from the next query. +(assignment_expression + left: (member_expression + property: (property_identifier) @variable.other.assignment.property.js) + right: [(arrow_function) (function)] @_IGNORE_ + (#set! isFunctionProperty true)) + ; The "bar" in `foo.bar = true` (assignment_expression left: (member_expression - property: (property_identifier) @variable.other.assignment.property.js)) + property: (property_identifier) @variable.other.assignment.property.js) + (#is-not? test.rangeWithData isFunctionProperty) + (#set! capture.final)) ; The "bar" in `foo.#bar = true` (assignment_expression From e0009ce1880e4520a0c31ee2169ce15686d97d0c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 12:56:34 -0800 Subject: [PATCH 52/83] Highlight JSON keys in `one-(dark|light)-ui` Upon suggestion, `@hue-5` was chosen for consistency because the same color is used for keys in YAML. --- packages/one-dark-syntax/styles/syntax-legacy/json.less | 7 +++++++ packages/one-light-syntax/styles/syntax-legacy/json.less | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/packages/one-dark-syntax/styles/syntax-legacy/json.less b/packages/one-dark-syntax/styles/syntax-legacy/json.less index b179ca91d..0969ac8c4 100644 --- a/packages/one-dark-syntax/styles/syntax-legacy/json.less +++ b/packages/one-dark-syntax/styles/syntax-legacy/json.less @@ -8,6 +8,13 @@ } } + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @hue-5; + } + } + .syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json { & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json, & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation { diff --git a/packages/one-light-syntax/styles/syntax-legacy/json.less b/packages/one-light-syntax/styles/syntax-legacy/json.less index 6bbce0639..1b4105251 100644 --- a/packages/one-light-syntax/styles/syntax-legacy/json.less +++ b/packages/one-light-syntax/styles/syntax-legacy/json.less @@ -8,6 +8,13 @@ } } + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @hue-5; + } + } + .syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json { & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json, From 4c0e7dda9fef584279396094e32436c77a4849f7 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 13:07:16 -0800 Subject: [PATCH 53/83] =?UTF-8?q?Highlight=20JSON=20keys=20in=20the=20othe?= =?UTF-8?q?r=20six=20builtin=20syntax=20themes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …always using the color that was already used to highlight YAML keys. --- packages/atom-dark-syntax/index.less | 1 + packages/atom-dark-syntax/styles/syntax/json.less | 11 +++++++++++ packages/atom-light-syntax/index.less | 1 + packages/atom-light-syntax/styles/syntax/json.less | 11 +++++++++++ .../styles/syntax-legacy/json.less | 7 +++++++ .../styles/syntax-legacy/json.less | 7 +++++++ packages/solarized-dark-syntax/index.less | 1 + .../styles/syntax-legacy/json.less | 11 +++++++++++ packages/solarized-light-syntax/index.less | 1 + .../styles/syntax-legacy/json.less | 11 +++++++++++ 10 files changed, 62 insertions(+) create mode 100644 packages/atom-dark-syntax/styles/syntax/json.less create mode 100644 packages/atom-light-syntax/styles/syntax/json.less create mode 100644 packages/solarized-dark-syntax/styles/syntax-legacy/json.less create mode 100644 packages/solarized-light-syntax/styles/syntax-legacy/json.less diff --git a/packages/atom-dark-syntax/index.less b/packages/atom-dark-syntax/index.less index 161afc862..7a20f8eb9 100644 --- a/packages/atom-dark-syntax/index.less +++ b/packages/atom-dark-syntax/index.less @@ -9,3 +9,4 @@ @import "styles/syntax/base.less"; @import "styles/syntax/css.less"; @import "styles/syntax/html.less"; +@import "styles/syntax/json.less"; diff --git a/packages/atom-dark-syntax/styles/syntax/json.less b/packages/atom-dark-syntax/styles/syntax/json.less new file mode 100644 index 000000000..011feb3b2 --- /dev/null +++ b/packages/atom-dark-syntax/styles/syntax/json.less @@ -0,0 +1,11 @@ + +.syntax--source.syntax--json { + + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: #96CBFE; + } + } + +} diff --git a/packages/atom-light-syntax/index.less b/packages/atom-light-syntax/index.less index d86a25ba2..639a66be4 100644 --- a/packages/atom-light-syntax/index.less +++ b/packages/atom-light-syntax/index.less @@ -8,3 +8,4 @@ @import "styles/syntax/base.less"; @import "styles/syntax/css.less"; +@import "styles/syntax/json.less"; diff --git a/packages/atom-light-syntax/styles/syntax/json.less b/packages/atom-light-syntax/styles/syntax/json.less new file mode 100644 index 000000000..6891b18a3 --- /dev/null +++ b/packages/atom-light-syntax/styles/syntax/json.less @@ -0,0 +1,11 @@ + +.syntax--source.syntax--json { + + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: #008080; + } + } + +} diff --git a/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/json.less b/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/json.less index 9d451633f..a80b366aa 100644 --- a/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/json.less +++ b/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/json.less @@ -8,6 +8,13 @@ } } + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @red; + } + } + .syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json { & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json, & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation { diff --git a/packages/base16-tomorrow-light-theme/styles/syntax-legacy/json.less b/packages/base16-tomorrow-light-theme/styles/syntax-legacy/json.less index 9d451633f..a80b366aa 100644 --- a/packages/base16-tomorrow-light-theme/styles/syntax-legacy/json.less +++ b/packages/base16-tomorrow-light-theme/styles/syntax-legacy/json.less @@ -8,6 +8,13 @@ } } + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @red; + } + } + .syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json { & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json, & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation { diff --git a/packages/solarized-dark-syntax/index.less b/packages/solarized-dark-syntax/index.less index 66afd1ccf..b1a8c3699 100644 --- a/packages/solarized-dark-syntax/index.less +++ b/packages/solarized-dark-syntax/index.less @@ -12,6 +12,7 @@ @import "styles/syntax-legacy/css.less"; // @import "styles/syntax-legacy/go.less"; @import "styles/syntax-legacy/java.less"; +@import "styles/syntax-legacy/json.less"; // @import "styles/syntax-legacy/javascript.less"; @import "styles/syntax-legacy/markdown.less"; @import "styles/syntax-legacy/markup.less"; diff --git a/packages/solarized-dark-syntax/styles/syntax-legacy/json.less b/packages/solarized-dark-syntax/styles/syntax-legacy/json.less new file mode 100644 index 000000000..cdfa507c0 --- /dev/null +++ b/packages/solarized-dark-syntax/styles/syntax-legacy/json.less @@ -0,0 +1,11 @@ + +.syntax--source.syntax--json { + + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @blue; + } + } + +} diff --git a/packages/solarized-light-syntax/index.less b/packages/solarized-light-syntax/index.less index 66afd1ccf..b1a8c3699 100644 --- a/packages/solarized-light-syntax/index.less +++ b/packages/solarized-light-syntax/index.less @@ -12,6 +12,7 @@ @import "styles/syntax-legacy/css.less"; // @import "styles/syntax-legacy/go.less"; @import "styles/syntax-legacy/java.less"; +@import "styles/syntax-legacy/json.less"; // @import "styles/syntax-legacy/javascript.less"; @import "styles/syntax-legacy/markdown.less"; @import "styles/syntax-legacy/markup.less"; diff --git a/packages/solarized-light-syntax/styles/syntax-legacy/json.less b/packages/solarized-light-syntax/styles/syntax-legacy/json.less new file mode 100644 index 000000000..cdfa507c0 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax-legacy/json.less @@ -0,0 +1,11 @@ + +.syntax--source.syntax--json { + + // Color JSON keys differently from other strings. + .syntax--meta.syntax--structure.syntax--key { + .syntax--string.syntax--quoted.syntax--double { + color: @blue; + } + } + +} From ee220dd6efd578c4e42374e076221c0c07997698 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 13:20:56 -0800 Subject: [PATCH 54/83] =?UTF-8?q?[language-gfm]=20Change=20scope=20for=20a?= =?UTF-8?q?=20horizontal=20rule=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit to `markup.horizontal-rule.gfm` and add styles to all eight built-in syntax themes to account for it. All the old GFM scopes are just named however they needed to be named in order to produce syntax highlighting to the grammar author, semantics be damned. Instead, we're making sure the semantics are correct, then adapting the syntax themes accordingly. --- packages/atom-dark-syntax/styles/syntax/base.less | 6 ++++++ packages/atom-light-syntax/styles/syntax/base.less | 6 ++++++ .../styles/syntax-legacy/_base.less | 6 ++++++ .../styles/syntax-legacy/_base.less | 6 ++++++ packages/one-dark-syntax/styles/syntax-legacy/_base.less | 6 ++++++ packages/one-light-syntax/styles/syntax-legacy/_base.less | 6 ++++++ .../solarized-dark-syntax/styles/syntax-legacy/markup.less | 6 ++++++ .../solarized-light-syntax/styles/syntax-legacy/markup.less | 6 ++++++ 8 files changed, 48 insertions(+) diff --git a/packages/atom-dark-syntax/styles/syntax/base.less b/packages/atom-dark-syntax/styles/syntax/base.less index d5fe55930..729b801df 100644 --- a/packages/atom-dark-syntax/styles/syntax/base.less +++ b/packages/atom-dark-syntax/styles/syntax/base.less @@ -229,6 +229,12 @@ &.syntax--italic { font-style: italic; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: #8A8A8A; + } } // /* comment */ diff --git a/packages/atom-light-syntax/styles/syntax/base.less b/packages/atom-light-syntax/styles/syntax/base.less index aa5de28f8..18f5ce6d8 100644 --- a/packages/atom-light-syntax/styles/syntax/base.less +++ b/packages/atom-light-syntax/styles/syntax/base.less @@ -198,6 +198,12 @@ &.syntax--italic { font-style: italic; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: #999988; + } } // /* comment */ diff --git a/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/_base.less b/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/_base.less index e7eab57a6..758f42dfd 100644 --- a/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/_base.less +++ b/packages/base16-tomorrow-dark-theme/styles/syntax-legacy/_base.less @@ -267,6 +267,12 @@ &.syntax--raw { color: @green; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @gray; + } } .syntax--source.syntax--gfm { diff --git a/packages/base16-tomorrow-light-theme/styles/syntax-legacy/_base.less b/packages/base16-tomorrow-light-theme/styles/syntax-legacy/_base.less index e7eab57a6..758f42dfd 100644 --- a/packages/base16-tomorrow-light-theme/styles/syntax-legacy/_base.less +++ b/packages/base16-tomorrow-light-theme/styles/syntax-legacy/_base.less @@ -267,6 +267,12 @@ &.syntax--raw { color: @green; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @gray; + } } .syntax--source.syntax--gfm { diff --git a/packages/one-dark-syntax/styles/syntax-legacy/_base.less b/packages/one-dark-syntax/styles/syntax-legacy/_base.less index e79322d3f..e71c968b2 100644 --- a/packages/one-dark-syntax/styles/syntax-legacy/_base.less +++ b/packages/one-dark-syntax/styles/syntax-legacy/_base.less @@ -320,4 +320,10 @@ &.syntax--raw { color: @hue-4; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @mono-3; + } } diff --git a/packages/one-light-syntax/styles/syntax-legacy/_base.less b/packages/one-light-syntax/styles/syntax-legacy/_base.less index 7492935da..7b3f887c8 100644 --- a/packages/one-light-syntax/styles/syntax-legacy/_base.less +++ b/packages/one-light-syntax/styles/syntax-legacy/_base.less @@ -320,4 +320,10 @@ &.syntax--raw { color: @hue-4; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @mono-3; + } } diff --git a/packages/solarized-dark-syntax/styles/syntax-legacy/markup.less b/packages/solarized-dark-syntax/styles/syntax-legacy/markup.less index dd798c269..dc58be982 100644 --- a/packages/solarized-dark-syntax/styles/syntax-legacy/markup.less +++ b/packages/solarized-dark-syntax/styles/syntax-legacy/markup.less @@ -37,4 +37,10 @@ color: @syntax-comment-color; font-style: italic; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @syntax-comment-color; + } } diff --git a/packages/solarized-light-syntax/styles/syntax-legacy/markup.less b/packages/solarized-light-syntax/styles/syntax-legacy/markup.less index dd798c269..dc58be982 100644 --- a/packages/solarized-light-syntax/styles/syntax-legacy/markup.less +++ b/packages/solarized-light-syntax/styles/syntax-legacy/markup.less @@ -37,4 +37,10 @@ color: @syntax-comment-color; font-style: italic; } + + // Horizontal rules in GFM used to be scoped as `comment.hr`. For continuity, + // we assign the color of a comment to this new scope. + &.syntax--horizontal-rule { + color: @syntax-comment-color; + } } From 2aa0cea8a44d65688147b8649167e4c0192d899f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 13:22:36 -0800 Subject: [PATCH 55/83] =?UTF-8?q?[language-gfm]=20Actually=20change=20the?= =?UTF-8?q?=20scope=20name=20for=20a=20horizontal=20rule=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …instead of forgetting to add the file. --- .../grammars/tree-sitter/tree-sitter-markdown/highlights.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm b/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm index 220a409c0..82af8eba1 100644 --- a/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm +++ b/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm @@ -39,7 +39,7 @@ (paragraph) @markup.paragraph.gfm -(thematic_break) @punctuation.definition.horizontal-rule.gfm +(thematic_break) @markup.horizontal-rule.gfm (block_quote) @markup.quote.blockquote.gfm ((block_quote) @punctuation.definition.blockquote.gfm From 6b899027612405a3e36f298b1f92237316ed32a5 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 13:32:01 -0800 Subject: [PATCH 56/83] [language-php] Update `parserSource` field for internal PHP grammar --- packages/language-php/grammars/modern-tree-sitter-php.cson | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index df15cf65b..96389727a 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,8 +7,8 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' - grammar: 'tree-sitter/tree-sitter-php.wasm' + parserSource: 'github:tree-sitter/tree-sitter-php#b569a5f2c0d592e67430520d1a0e1f765d83ceb0' + grammar: 'tree-sitter/tree-sitter-php-only.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' tagsQuery: 'tree-sitter/queries/tags.scm' foldsQuery: 'tree-sitter/queries/folds.scm' From e0015218b76a7d6d0a4cb2ba90ca3acf5569753d Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 16:11:34 -0800 Subject: [PATCH 57/83] A vain attempt to get the integration testing working for PHP --- integration/workspace.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/workspace.spec.js b/integration/workspace.spec.js index 919dc2c47..10c49797a 100644 --- a/integration/workspace.spec.js +++ b/integration/workspace.spec.js @@ -23,7 +23,7 @@ const languages = [ // {language: "mustache", code: '10', checks: {numeric: '10'}}, {language: "Objective C", code: '10', checks: {numeric: '10'}}, {language: "Perl", code: '10', checks: {numeric: '10'}}, - {language: "PHP", code: '', checks: {numeric: '10'}}, + {language: "PHP", code: '', checks: {variable: '$foo'}}, // {language: "property-list", code: '10', checks: {numeric: '10'}}, {language: "Python", code: '10', checks: {numeric: '10'}}, {language: "Ruby on Rails", code: '10', checks: {numeric: '10'}}, From 317679e0b5f3751698bda3589f55a2ceffe91a71 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 20:03:57 -0800 Subject: [PATCH 58/83] Attempt to get video of integration test failure --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e7e3b70fa..bdaffba69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -177,6 +177,7 @@ jobs: node ./rolling-release-binary-upload.js - name: Upload Video Artifacts + if: always() uses: actions/upload-artifact@v3 with: name: ${{ matrix.os }} Videos From 5fdcf62ea1da4f996d389755e480c5711248f098 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 20:47:00 -0800 Subject: [PATCH 59/83] Revert inadvertent change --- packages/language-php/grammars/modern-tree-sitter-php.cson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index 96389727a..c0014ee84 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -8,7 +8,7 @@ injectionRegex: '^(internal-php)$' treeSitter: parserSource: 'github:tree-sitter/tree-sitter-php#b569a5f2c0d592e67430520d1a0e1f765d83ceb0' - grammar: 'tree-sitter/tree-sitter-php-only.wasm' + grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' tagsQuery: 'tree-sitter/queries/tags.scm' foldsQuery: 'tree-sitter/queries/folds.scm' From 6466d259286ec9a123e1a2a77cf0a1aacdf63788 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 21 Jan 2024 20:48:13 -0800 Subject: [PATCH 60/83] Upload videos unless task is cancelled --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bdaffba69..635590b53 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -177,7 +177,8 @@ jobs: node ./rolling-release-binary-upload.js - name: Upload Video Artifacts - if: always() + # Run whether this job passed or failed, unless explicitly cancelled. + if: '!cancelled()' uses: actions/upload-artifact@v3 with: name: ${{ matrix.os }} Videos From 995196a13813a9e276e45a2448dd985823ef456d Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 22 Jan 2024 17:43:25 -0800 Subject: [PATCH 61/83] [language-c] Support declarations of pointers-of-pointers --- .../grammars/tree-sitter-c/highlights.scm | 20 ++++++++----------- .../grammars/tree-sitter-cpp/highlights.scm | 20 ++++++++----------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/packages/language-c/grammars/tree-sitter-c/highlights.scm b/packages/language-c/grammars/tree-sitter-c/highlights.scm index 1d5012c40..3a2db6c79 100644 --- a/packages/language-c/grammars/tree-sitter-c/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-c/highlights.scm @@ -140,9 +140,10 @@ declarator: (identifier) @variable.declaration.c) ; The "x" in `SomeType *x;` -(declaration - declarator: (pointer_declarator - declarator: (identifier) @variable.declaration.pointer.c)) +; (Should work no matter how many pointers deep we are.) +(pointer_declarator + declarator: [(identifier) (field_identifier)] @variable.declaration.pointer.c + (#is? test.descendantOfType "declaration field_declaration")) ; A member of a struct. (field_declaration @@ -193,15 +194,10 @@ declarator: (identifier) @variable.parameter.c) ; The "foo" in `const char *foo` within a parameter list. -(parameter_declaration - declarator: (pointer_declarator - declarator: (identifier) @variable.parameter.c)) - -; The "foo" in `SomeType **foo` within a parameter list. -(parameter_declaration - declarator: (pointer_declarator - declarator: (pointer_declarator - declarator: (identifier) @variable.parameter.c))) +; (Should work no matter how many pointers deep we are.) +(pointer_declarator + declarator: [(identifier) (field_identifier)] @variable.parameter.pointer.c + (#is? test.descendantOfType "parameter_declaration")) ; The "foo" in `const char foo[]` within a parameter list. (parameter_declaration diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index b1243b46c..bc3fc2c3c 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -230,9 +230,10 @@ declarator: (identifier) @variable.declaration.cpp) ; The "x" in `SomeType *x;` -(declaration - declarator: (pointer_declarator - declarator: (identifier) @variable.declaration.pointer.c)) +; (Should work no matter how many pointers deep we are.) +(pointer_declarator + declarator: [(identifier) (field_identifier)] @variable.declaration.pointer.c + (#is? test.descendantOfType "declaration field_declaration")) ; A member of a struct. (field_declaration @@ -286,15 +287,10 @@ declarator: (identifier) @variable.parameter.cpp) ; The "foo" in `const char *foo` within a parameter list. -(parameter_declaration - declarator: (pointer_declarator - declarator: (identifier) @variable.parameter.cpp)) - -; The "foo" in `SomeType **foo` within a parameter list. -(parameter_declaration - declarator: (pointer_declarator - declarator: (pointer_declarator - declarator: (identifier) @variable.parameter.c))) +; (Should work no matter how many pointers deep we are.) +(pointer_declarator + declarator: [(identifier) (field_identifier)] @variable.parameter.pointer.c + (#is? test.descendantOfType "parameter_declaration")) (parameter_declaration declarator: (reference_declarator From 1b2163f1adba4554380c0f1469c835488e687514 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 22 Jan 2024 23:32:35 -0800 Subject: [PATCH 62/83] Stop ESLint from complaining about `require('atom')` --- .eslintrc.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index 520c2aeb7..08b4fff87 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,6 +19,12 @@ module.exports = { asyncArrow: "always", named: "never" }], + "node/no-missing-require": [ + "error", + { + allowModules: ["atom"] + } + ], "node/no-unpublished-require": [ "error", { From a0595b275d106dd4170622d277a00c9f809da481 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 23 Jan 2024 16:17:06 -0800 Subject: [PATCH 63/83] =?UTF-8?q?[language-typescript]=20Use=20proper=20co?= =?UTF-8?q?mment=20delimiters=20in=20TypeScript=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when inside of a TS block within a TSX interpolation. Some mixing of TS and TSX is too ambiguous for the “Toggle Line Comments” command, but in this case we've got a brace-delimited block inside of a TSX interpolation. That's practically guaranteed to mean we've got a line with _only_ TypeScript on it, so we should use an ordinary TS line comment. --- .../language-typescript/settings/TypeScriptReact.cson | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/language-typescript/settings/TypeScriptReact.cson b/packages/language-typescript/settings/TypeScriptReact.cson index 4ffd62638..b99255b1f 100644 --- a/packages/language-typescript/settings/TypeScriptReact.cson +++ b/packages/language-typescript/settings/TypeScriptReact.cson @@ -17,3 +17,12 @@ 'commentEnd': ' */}', 'increaseIndentPattern': "{[^}\"']*$|\\[[^\\]\"']*$|\\([^)\"']*$|<[a-zA-Z][^/]*$|^\\s*>$", 'decreaseIndentPattern': "^\\s*(\\s*/[*].*[*]/\\s*)*[}\\])]|^\\s*()" + +'.meta.tag.tsx .meta.block.ts.tsx': + editor: + commentStart: '// ' + comments: + line: '//' + block: + start: '/*' + end: '*/' From f1ce722f33fb4f125fc6a114028c822d84a48285 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 24 Jan 2024 17:09:42 -0800 Subject: [PATCH 64/83] =?UTF-8?q?[language-typescript]=20Various=20highlig?= =?UTF-8?q?hting=20fixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Declared namespaces should be `entity` only, not `support` * `<` and `>` in type parameters should always have the proper `punctuation` scopes applied * All TSX tags should have the surrounding `meta.tag.ts.tsx` scope applied * TSX fragments (`<>`) should be highlighted --- .../grammars/common/highlights.scm | 8 +++++++- .../grammars/tree-sitter-tsx/highlights.scm | 15 +++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 36c54b9e1..8d8ea98a0 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -294,7 +294,8 @@ ; ========== (interface_declaration - name: (_) @entity.name.type.interface._LANG_) + name: (_) @entity.name.type.interface._LANG_ + (#set! capture.final)) ; TYPES @@ -310,6 +311,11 @@ (type_arguments ">" @punctuation.definition.parameters.end.bracket.angle.js (#set! capture.final)) +(type_parameters "<" @punctuation.definition.parameters.begin.bracket.angle.js + (#set! capture.final)) +(type_parameters ">" @punctuation.definition.parameters.end.bracket.angle.js + (#set! capture.final)) + "=>" @storage.type.arrow._LANG_ ; TODO: If I allow scopes like `storage.type.string._LANG_`, I will make a lot of diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm index 0694125f2..c3a11ab01 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/highlights.scm @@ -9,24 +9,27 @@ ; The "Foo" in ``. (jsx_opening_element - name: (identifier) @entity.name.tag.ts.tsx) + name: (identifier) @entity.name.tag.ts.tsx) @meta.tag.ts.tsx ; The "Foo.Bar" in ``. (jsx_opening_element - name: (nested_identifier) @entity.name.tag.ts.tsx) + name: (nested_identifier) @entity.name.tag.ts.tsx) @meta.tag.ts.tsx ; The "Foo" in ``. (jsx_closing_element - name: (identifier) @entity.name.tag.ts.tsx) + name: (identifier) @entity.name.tag.ts.tsx) @meta.tag.ts.tsx ; The "Foo.Bar" in ``. (jsx_closing_element - name: (nested_identifier) @entity.name.tag.ts.tsx) + name: (nested_identifier) @entity.name.tag.ts.tsx) @meta.tag.ts.tsx ; The "bar" in ``. (jsx_attribute (property_identifier) @entity.other.attribute-name.ts.tsx) +; The empty tag used as a shorthand for a fragment: `<>`. +(jsx_fragment) @meta.tag.ts.tsx + ; The slashes in closing tags should not be interpreted as math operators. (jsx_self_closing_element "/" @punctuation.definition.tag.end.ts.tsx (#set! capture.final true)) @@ -48,6 +51,10 @@ "<" @punctuation.definition.tag.begin.ts.tsx ">" @punctuation.definition.tag.end.ts.tsx) +(jsx_fragment + "<" @punctuation.definition.tag.begin.ts.tsx + ">" @punctuation.definition.tag.end.ts.tsx) + (jsx_self_closing_element "<" @punctuation.definition.tag.begin.ts.tsx (#set! capture.final true)) From 9265e5eb3ecb78811f58ffd3cc66dea5f39a99df Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 24 Jan 2024 17:10:38 -0800 Subject: [PATCH 65/83] =?UTF-8?q?[language-css]=20Fix=20failure=20to=20sco?= =?UTF-8?q?pe=20the=20`foo`=20in=20`.div=20foo`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and other descendant combinators. --- .../tree-sitter/queries/highlights.scm | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/language-css/grammars/tree-sitter/queries/highlights.scm b/packages/language-css/grammars/tree-sitter/queries/highlights.scm index 685e46243..8b4e400f7 100644 --- a/packages/language-css/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-css/grammars/tree-sitter/queries/highlights.scm @@ -1,36 +1,36 @@ -; WORKAROUND: + +; NOTE: `tree-sitter-css` recovers poorly from invalidity inside a block when +; you're adding a new property-value pair above others in a list. When the user +; is typing and the file is temporarily invalid, it will make incorrect guesses +; about tokens that occur between the cursor and the end of the block. ; -; When you're typing a new property name inside of a list, tree-sitter-css will -; assume the thing you're typing is a descendant selector tag name until you -; get to the colon. This prevents it from highlighting the incomplete line like -; a selector tag name. +; The fix here is for `tree-sitter-css` to get better at recovering from its +; parsing error, but parser authors don't currently have much control over +; that. In the meantime, this query is a decent mitigation: it colors the +; affected tokens like plain text instead of assuming (nearly always +; incorrectly) them to be tag names. +; +; Ideally, this is temporary, and we can remove it soon. Until then, it makes +; syntax highlighting less obnoxious. -(descendant_selector - (tag_name) @_IGNORE_ - (#set! capture.final true)) +((tag_name) @_IGNORE_ + (#is? test.descendantOfType "ERROR") + (#set! capture.final)) (ERROR (attribute_name) @_IGNORE_ - (#set! capture.final true)) + (#set! capture.final)) ((ERROR (attribute_name) @invalid.illegal) - (#set! capture.final true)) + (#set! capture.final)) ; WORKAROUND: ; -; `:hover` and other pseudo-classes don't highlight correctly inside a media -; query (https://github.com/tree-sitter/tree-sitter-css/issues/28) -( - (ERROR) @entity.other.attribute-name.pseudo-class.css - (#match? @entity.other.attribute-name.pseudo-class.css "^:[\\w-]+$") -) - -; WORKAROUND: -; -; In `::after`, the "after" has a node type of `tag_name`. We want to catch it -; here so that it doesn't get scoped like an HTML tag name in a selector. +; In `::after`, the "after" has a node type of `tag_name`. Unclear whether this +; is a bug or intended behavior. We want to catch it here so that it doesn't +; get scoped like an HTML tag name in a selector. ; Scope the entire `::after` range as one unit. ((pseudo_element_selector) From edf19b2af2d07f423c76588281da4dfd4fb466e5 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 24 Jan 2024 17:11:47 -0800 Subject: [PATCH 66/83] [language-php] Stop scoping all tokens `LIKE_THIS` as `constant` --- .../grammars/tree-sitter/queries/highlights.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 4b6079613..0af6dde5d 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -402,8 +402,10 @@ ((dynamic_variable_name) @punctuation.definition.variable.begin.php (#set! adjust.startBeforeFirstMatchOf "^\\}$")) -((name) @constant.other.php - (#match? @constant.other.php "^_?[A-Z][A-Z\\d_]+$")) +; ((name) @constant.other.php +; (#match? @constant.other.php "^_?[A-Z][A-Z\\d_]+$")) + +(const_declaration (const_element) @variable.other.constant.php) ((name) @constant.language.php (#match? @constant.language.php "^__[A-Z][A-Z\d_]+__$")) From 11910a11aad267292915780f3692c6131fc72b2c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 17:22:04 -0800 Subject: [PATCH 67/83] =?UTF-8?q?[language-gfm]=20Change=20`markup.code`?= =?UTF-8?q?=20to=20`markup.raw`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …and apply it only to the content _inside_ the fence when handling fenced code blocks. --- .../grammars/tree-sitter/tree-sitter-markdown/highlights.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm b/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm index 82af8eba1..42e12ebe6 100644 --- a/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm +++ b/packages/language-gfm/grammars/tree-sitter/tree-sitter-markdown/highlights.scm @@ -140,8 +140,9 @@ (code_span) @meta.embedded.line.inline-code.gfm @markup.raw.inline.gfm (info_string) @storage.modifier.language._TEXT_.gfm -(fenced_code_block) @markup.code.fenced.gfm @meta.embedded.block.fenced-code.gfm -(indented_code_block) @markup.code.indented.gfm @meta.embedded.block.indented-code.gfm +(fenced_code_block + (code_fence_content) @markup.raw.block.fenced.gfm) @meta.embedded.block.fenced-code.gfm +(indented_code_block) @markup.raw.block.indented.gfm @meta.embedded.block.indented-code.gfm ; BOLD/ITALIC/OTHER From 476e784005e966824f447ce091908f787c7041dc Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 17:26:37 -0800 Subject: [PATCH 68/83] =?UTF-8?q?[language-javascript]=20Two=20highlightin?= =?UTF-8?q?g=20fixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Revert JSDoc tags to use the `keyword` namespace * Ensure we always apply `meta.tag.jsx.js` to the area surrounding a JSX opening/closing/self-closing tag element and its punctuation. --- .../language-javascript/grammars/tree-sitter/highlights.scm | 4 ++-- .../grammars/tree-sitter/jsdoc/highlights.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index 2ad26f77e..a5aeeabff 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -782,11 +782,11 @@ (jsx_opening_element "<" @punctuation.definition.tag.begin.js - ">" @punctuation.definition.tag.end.js) + ">" @punctuation.definition.tag.end.js) @meta.tag.js (jsx_closing_element "" @punctuation.definition.tag.end.js) + ">" @punctuation.definition.tag.end.js) @meta.tag.js (jsx_self_closing_element "<" @punctuation.definition.tag.begin.js diff --git a/packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm b/packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm index 10d05b3a0..29b84d02c 100644 --- a/packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/jsdoc/highlights.scm @@ -21,7 +21,7 @@ ((inline_tag) @meta.inline-tag.jsdoc.js) -(tag_name) @entity.name.tag.jsdoc.js +(tag_name) @keyword.other.tag.jsdoc.js ((tag (type)) @storage.type.instance.jsdoc.js ; Join the type with its surrounding braces. From ff030d896c340161faa37c75587dc39e7480de94 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 18:19:48 -0800 Subject: [PATCH 69/83] [language-javascript] Missed these renames --- .../language-javascript/grammars/tree-sitter/highlights.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index a5aeeabff..48a52df5d 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -759,7 +759,7 @@ ; The "Foo" in ``. (jsx_self_closing_element name: (identifier) @entity.name.tag.js - ) @meta.tag.js + ) @meta.tag.jsx.js ; The "Foo" in ``. (jsx_opening_element @@ -782,11 +782,11 @@ (jsx_opening_element "<" @punctuation.definition.tag.begin.js - ">" @punctuation.definition.tag.end.js) @meta.tag.js + ">" @punctuation.definition.tag.end.js) @meta.tag.jsx.js (jsx_closing_element "" @punctuation.definition.tag.end.js) @meta.tag.js + ">" @punctuation.definition.tag.end.js) @meta.tag.jsx.js (jsx_self_closing_element "<" @punctuation.definition.tag.begin.js From ecf4fa39174364a8985c33fa582178782377d43e Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 18:33:15 -0800 Subject: [PATCH 70/83] =?UTF-8?q?Revert=20change=20to=20`indentLevelForLin?= =?UTF-8?q?e`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …which locked its return values to integers. The other language modes allow this method to return a non-integer, hence so should we. If this breaks something, it can be addressed some other way. --- src/wasm-tree-sitter-language-mode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 1178e6f1c..eb4b26a20 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1138,7 +1138,7 @@ class WASMTreeSitterLanguageMode { break; } } - return Math.floor(indentLength / tabLength); + return indentLength / tabLength } // Get the suggested indentation level for an existing line in the buffer. From 312f627cc173c6df31edc155d9f420efd5fae24b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 23:10:37 -0800 Subject: [PATCH 71/83] [language-yaml] Scope unquoted strings as, well, `string.unquoted` --- packages/language-yaml/grammars/tree-sitter/highlights.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-yaml/grammars/tree-sitter/highlights.scm b/packages/language-yaml/grammars/tree-sitter/highlights.scm index 2f45509bb..cf7d804b6 100644 --- a/packages/language-yaml/grammars/tree-sitter/highlights.scm +++ b/packages/language-yaml/grammars/tree-sitter/highlights.scm @@ -33,7 +33,7 @@ ; STRINGS ; ======= -((string_scalar) @string.quoted.yaml) +((string_scalar) @string.unquoted.yaml) (single_quote_scalar) @string.quoted.single.yaml From 483870d70117c339c489cf0af517d7ca74840d5b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 23:11:11 -0800 Subject: [PATCH 72/83] [language-rust] Scope `&`s in references as operators --- .../grammars/tree-sitter-rust/queries/highlights.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm b/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm index 73eb3c9b5..1193475a0 100644 --- a/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm +++ b/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm @@ -32,8 +32,8 @@ ; ----------- ; Wrap the "foo" and "!" of `foo!()`. -((macro_invocation) @support.other.function.rust - (#set! adjust.endAt firstChild.nextSibling.endPosition)) +((macro_invocation (identifier) @support.other.function.rust)) + ; (#set! adjust.endAt firstChild.nextSibling.endPosition)) (call_expression function: (identifier) @support.other.function.rust) @@ -211,6 +211,8 @@ ">>=" ] @keyword.operator.assignment.compound.rust +(reference_expression "&" @keyword.operator.reference.rust) + (binary_expression ["&" "|" "^" ">>" "<<"] @keyword.operator.bitwise.rust) From 5728b7fe5e924dbc551e2f28e7a532c7e36d45f0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 26 Jan 2024 23:12:02 -0800 Subject: [PATCH 73/83] [language-javascript] Update to latest `tree-sitter-jsdoc` --- .../grammars/modern-tree-sitter-jsdoc.cson | 1 + .../tree-sitter/jsdoc/tree-sitter-jsdoc.wasm | Bin 15115 -> 17881 bytes 2 files changed, 1 insertion(+) diff --git a/packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson b/packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson index a732df51c..ab7df419f 100644 --- a/packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson +++ b/packages/language-javascript/grammars/modern-tree-sitter-jsdoc.cson @@ -6,6 +6,7 @@ parser: 'tree-sitter-jsdoc' injectionRegex: '^jsdoc$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-jsdoc#a5e363a98676136d9f5884cb558086e5f1fc32b6' grammar: 'tree-sitter/jsdoc/tree-sitter-jsdoc.wasm' highlightsQuery: 'tree-sitter/jsdoc/highlights.scm' foldsQuery: 'tree-sitter/jsdoc/folds.scm' diff --git a/packages/language-javascript/grammars/tree-sitter/jsdoc/tree-sitter-jsdoc.wasm b/packages/language-javascript/grammars/tree-sitter/jsdoc/tree-sitter-jsdoc.wasm index 7b9bde3d68210d702484818c4f189beaefdd61f7..d16945f9e55b2cfa04db7a2e028a79f7f9319c25 100755 GIT binary patch literal 17881 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 N#dV#r%cbnz{SWg+o-P0Y From adfdd05472dec99d3b49eb437b26aa86a619bde8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 00:41:41 -0800 Subject: [PATCH 74/83] =?UTF-8?q?Allow=20=E2=80=9Chalf-covering=E2=80=9D?= =?UTF-8?q?=C2=A0of=20scopes=20at=20the=20edges=20of=20injections?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's a hard-to-grok setting for language injections that allows a deeper layer to monopolize the scope application for a range. In most cases, an injection is placed into a node that the parser doesn't know much about (like a `script` block in HTML); but Rust and C parsers needed a way to inject themselves _into themselves_ so that they could add syntax highlighting to macros. Because they were applying highlighting to a range that the base layer _already_ had plans to highlight, they needed a way to block the shallower layer from acting. This mode has never worked briliantly, but it's been made smarter in several ways since the invention of modern Tree-sitter. And here's another one: if the highlight iterator is at a position where an injection range is _about_ to begin, it shouldn't be able to stop any other layer from _closing_ a scope; and if the highlight iterator is at a position where an injection range has just _finished_, it shouldn't be able to stop any other layer from _opening_ a scope. Because of this, we can now fix a bug that I think might've been present for a while in the application of scopes to rust macros like `println!` — the position after the exclamation point is one of those injection-layer boundaries, to the effect that a scope name was opened that would persist until at least the end of the screen line. --- .../tree-sitter-rust/queries/highlights.scm | 4 +- src/wasm-tree-sitter-language-mode.js | 76 ++++++++++++++----- 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm b/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm index 1193475a0..3a74b2073 100644 --- a/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm +++ b/packages/language-rust-bundled/grammars/tree-sitter-rust/queries/highlights.scm @@ -32,8 +32,8 @@ ; ----------- ; Wrap the "foo" and "!" of `foo!()`. -((macro_invocation (identifier) @support.other.function.rust)) - ; (#set! adjust.endAt firstChild.nextSibling.endPosition)) +((macro_invocation (identifier)) @support.other.function.rust + (#set! adjust.endAt firstChild.nextSibling.endPosition)) (call_expression function: (identifier) @support.other.function.rust) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index eb4b26a20..3b0588018 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -2582,7 +2582,7 @@ class HighlightIterator { getCloseScopeIds() { let iterator = last(this.iterators); - // if (this.currentScopeIsCovered) { + // if (this.currentIteratorIsCovered === true || this.currentIteratorIsCovered === 'close') { // console.log( // iterator.name, // iterator.depth, @@ -2606,8 +2606,12 @@ class HighlightIterator { // ); // } if (iterator) { - if (this.currentScopeIsCovered) { - return iterator.getOpenScopeIds().filter(id => { + // If this iterator is covered completely, or if it's covered in a + // position that prevents us from closing scopes… + if (this.currentIteratorIsCovered === true || this.currentIteratorIsCovered === 'close') { + // …then the only closing scope we're allowed to apply is one that ends + // the base scope of an injection range. + return iterator.getCloseScopeIds().filter(id => { return iterator.languageLayer.languageScopeId === id; }); } else { @@ -2620,7 +2624,7 @@ class HighlightIterator { getOpenScopeIds() { let iterator = last(this.iterators); // let ids = iterator.getOpenScopeIds(); - // if (this.currentScopeIsCovered) { + // if (this.currentIteratorIsCovered === true || this.currentIteratorIsCovered === 'open') { // console.log( // iterator.name, // iterator.depth, @@ -2644,7 +2648,11 @@ class HighlightIterator { // ); // } if (iterator) { - if (this.currentScopeIsCovered) { + // If this iterator is covered completely, or if it's covered in a + // position that prevents us from opening scopes… + if (this.currentIteratorIsCovered === true || this.currentIteratorIsCovered === 'open') { + // …then the only opening scope we're allowed to apply is one that ends + // the base scope of an injection range. return iterator.getOpenScopeIds().filter(id => { return iterator.languageLayer.languageScopeId === id; }); @@ -2662,20 +2670,22 @@ class HighlightIterator { if (layerCount > 1) { const rest = [...this.iterators]; const leader = rest.pop(); - let covered = rest.some(it => { - return it.coversIteratorAtPosition( - leader, - leader.getPosition() - ); - }); + let covers = false; + for (let it of rest) { + let iteratorCovers = it.coversIteratorAtPosition(leader, leader.getPosition()); + if (iteratorCovers !== false) { + covers = iteratorCovers; + break; + } + } - if (covered) { - this.currentScopeIsCovered = true; + if (covers) { + this.currentIteratorIsCovered = covers; return; } } - this.currentScopeIsCovered = false; + this.currentIteratorIsCovered = false; } logPosition() { @@ -2743,16 +2753,40 @@ class LayerHighlightIterator { // …and this iterator is deeper than the other… if (iterator.depth > this.depth) { return false; } - // …and this iterator's ranges actually include this position. + // …and one of this iterator's content ranges actually includes this + // position. (With caveats!) let ranges = this.languageLayer.getCurrentRanges(); if (ranges) { - return ranges.some(range => range.containsPoint(position)); - } + // A given layer's content ranges aren't allowed to overlap each other. + // So only a single range from this list can possibly match. + let overlappingRange = ranges.find(range => range.containsPoint(position)) + if (!overlappingRange) return false; - // TODO: Despite all this, we may want to allow parent layers to apply - // scopes at the very edges of this layer's ranges/extent; or perhaps to - // apply ending scopes at starting positions and vice-versa; or at least to - // make it a configurable behavior. + // If the current position is right in the middle of an injection's + // range, then it should cover all attempts to apply scopes. But what if + // we're on one of its edges? Since closing scopes act before opening + // scopes, + // + // * if this iterator _starts_ a range at position X, it doesn't get to + // prevent another iterator from _ending_ a scope at position X; + // * if this iterator _ends_ a range at position X, it doesn't get to + // prevent another iterator from _starting_ a scope at position X. + // + // So at a given position, `currentIteratorIsCovered` can be `true` (all + // scopes suppressed), `false` (none suppressed), `"close"` (only closing + // scopes suppressed), or `"open"` (only opening scopes suppressed). + if (overlappingRange.end.compare(position) === 0) { + // We're at the right edge of the injection range. We want to prevent + // iterators from closing scopes, but not from opening them. + return 'close'; + } else if (overlappingRange.start.compare(position) === 0) { + // We're at the left edge of the injection range. We want to prevent + // iterators from opening scopes, but not from closing them. + return 'open'; + } else { + return true; + } + } } seek(start, endRow) { From 6767cda288c387594b232e84bfbaf48e9ca03af8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 01:32:44 -0800 Subject: [PATCH 75/83] Fix indentation bug in `suggestedIndentForBufferRow` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A leading space was being accounted for when doing some math to compute indent level… but not on both sides of the equation. --- src/wasm-tree-sitter-language-mode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 3b0588018..7aa863530 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1520,7 +1520,7 @@ class WASMTreeSitterLanguageMode { } scopeResolver.reset(); - let finalIndent = comparisonRowIndent + indentDelta + dedentDelta; + let finalIndent = comparisonRowIndent + indentDelta + dedentDelta + existingIndent; // console.log('score:', comparisonRowIndent, '+', indentDelta, '-', ((dedentDelta < 0) ? -dedentDelta : dedentDelta), '=', finalIndent); return Math.max(finalIndent - existingIndent, 0); From 1f9ab2008b4f73ad3c5fb23d10c456b1db6c2885 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 11:31:25 -0800 Subject: [PATCH 76/83] [language-javascript] Highlight public fields in class bodies --- .../grammars/tree-sitter/highlights.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index 48a52df5d..dbc35fa7f 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -100,6 +100,13 @@ (update_expression argument: (identifier) @variable.other.assignment.js) +; Public field definition in a class body: +; The "foo" in `foo = "bar";` +(field_definition + property: (property_identifier) @variable.other.assignment.property.public.js) + +; Private field definition in a class body: +; The "#foo" in `#foo = "bar";` (field_definition property: (private_property_identifier) @variable.other.assignment.property.private.js) From a8215f107c43103234edd39649356a12ca5e65cd Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 18:13:42 -0800 Subject: [PATCH 77/83] =?UTF-8?q?[language-java]=20Add=20highlights=20for?= =?UTF-8?q?=20variables=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when assigning, reassigning, or incrementing. Also add `++` and `--` as operators. --- .../grammars/tree-sitter-java/highlights.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/language-java/grammars/tree-sitter-java/highlights.scm b/packages/language-java/grammars/tree-sitter-java/highlights.scm index d7644e1c3..86a06a56a 100644 --- a/packages/language-java/grammars/tree-sitter-java/highlights.scm +++ b/packages/language-java/grammars/tree-sitter-java/highlights.scm @@ -217,9 +217,13 @@ (identifier) @variable.parameter.lambda.java)) (variable_declarator - name: (identifier) @variable.other.assignment.java) + name: (identifier) @variable.other.declaration.java) +(assignment_expression + left: (identifier) @variable.other.assignment.java) +(update_expression + (identifier) @variable.other.assignment.java) ; PACKAGES ; ======== @@ -359,6 +363,8 @@ (binary_expression ["&" "|" "^" "~" "<<" ">>" ">>>"] @keyword.operator.bitwise.java) +["++" "--"] @keyword.operator.increment.java + "." @keyword.operator.accessor.dot.java "::" @keyword.operator.accessor.method-reference.java From e547ace81c95f6cbfcd60e30dcd08f827c31b5a8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 20:23:42 -0800 Subject: [PATCH 78/83] [language-css] Highlighting fixes: * Style `*` (universal selector) * Add support for namespaced tags and attributes (now that `tree-sitter-css` supports them) --- .../tree-sitter/queries/highlights.scm | 49 ++++++++++++++----- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/packages/language-css/grammars/tree-sitter/queries/highlights.scm b/packages/language-css/grammars/tree-sitter/queries/highlights.scm index 8b4e400f7..4caea0895 100644 --- a/packages/language-css/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-css/grammars/tree-sitter/queries/highlights.scm @@ -61,9 +61,6 @@ ; (selectors "," @punctuation.separator.list.comma.css) -; The "div" in `div.foo {`. -(tag_name) @entity.name.tag.css - ; The "foo" in `div[attr=foo] {`. (attribute_selector (plain_value) @string.unquoted.css) @@ -77,10 +74,30 @@ (id_selector "#" @punctuation.definition.entity.id.css) @entity.other.attribute-name.id.css -; KNOWN ISSUE: Namespace selectors like `svg|link` are not supported. See: -; https://github.com/tree-sitter/tree-sitter-css/issues/33 +; Declaration of a namespace: +; The "svg" in `@namespace svg url(http://www.w3.org/2000/svg);` +(namespace_name) @entity.other.namespace-prefix.css -;(namespace_name) @entity.other.namespace-prefix.css +; A namespaced tag name: +; The "svg" in `svg|a {}`. +(namespace_selector + . (tag_name) @entity.other.namespace-prefix.css + "|" @punctuation.separator.namespace.css + (#set! capture.final)) + +; Not sure if this is intended, but a namespaced attribute in an attribute +; selector is construed as two tag-name children of the `attribute_name`. +; The "xl" in `[xl|href] {}`. +(attribute_name + . (tag_name) @entity.other.namespace-prefix.css + "|" @punctuation.separator.namespace.css + (tag_name) @entity.other.attribute_name.css + (#set! capture.final)) @_IGNORE_ + +; The "div" in `div.foo {`. +(tag_name) @entity.name.tag.css +; The "*" in `*[foo="bar"]`. +(universal_selector) @entity.name.tag.universal.css ; The '.' in `.foo`. (class_selector @@ -101,29 +118,41 @@ (#set! adjust.startAt lastChild.previousSibling.startPosition) (#set! adjust.endAt lastChild.endPosition)) +; Punctuation around the arguments of a pseudo-class or a function. (arguments "(" @punctuation.definition.arguments.begin.bracket.round.css ")" @punctuation.definition.arguments.end.bracket.round.css) +; Punctuation around an attribute selector. (attribute_selector "[" @punctuation.definition.entity.begin.bracket.square.css (attribute_name) @entity.other.attribute-name.css "]" @punctuation.definition.entity.end.bracket.square.css) +; Operators inside attribute selectors. (attribute_selector ["=" "^=" "$=" "~=" "|="] @keyword.operator.pattern.css) -; The `foo` in `@keyframes foo {`. +; The "foo" in `@keyframes foo {`. (keyframes_name) @entity.name.keyframes.css ; VARIABLES ; ========= +; Variable declaration: +; The "--link-visited" in `--link-visited: #039;`. (declaration (property_name) @variable.other.assignment.css (#match? @variable.other.assignment.css "^--" ) (#set! capture.final true)) +; Variable usage: +; The ""--link--visited" in `color: var(--link-visited);`. +((function_name) @support.function.var.css + (arguments (plain_value) @variable.css) + (#eq? @support.function.var.css "var")) + + ; PROPERTIES ; ========== @@ -147,9 +176,9 @@ (#match? @string.quoted.single.css "^'") (#match? @string.quoted.single.css "'$")) +; The punctuation around quoted strings. ((string_value) @punctuation.definition.string.begin.css (#set! adjust.startAndEndAroundFirstMatchOf "^[\"']")) - ((string_value) @punctuation.definition.string.end.css (#set! adjust.startAndEndAroundFirstMatchOf "[\"']$")) @@ -208,10 +237,6 @@ ; (#eq? @support.function.var.css "var") ; ) -((function_name) @support.function.var.css - (arguments (plain_value) @variable.css) - (#eq? @support.function.var.css "var")) - ((function_name) @support.function._TEXT_.css ; Because we just handled it above. (#not-eq? @support.function._TEXT_.css "var")) From f691cfce2856a2f3f067ef3f87495827529445d8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 27 Jan 2024 23:11:41 -0800 Subject: [PATCH 79/83] =?UTF-8?q?Allow=20for=20any=20number=20of=20@=5FIGN?= =?UTF-8?q?ORE=5F=20capture=20names=20in=20a=20query=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …by namespacing them as `@_IGNORE_.foo`, `@_IGNORE_.bar`, etc. It's sometimes necessary to define a capture in a query not because you want to apply a scope name, but because you need to use it as the argument to a predicate. `@_IGNORE_` was intended for that purpose, but it was the _only_ capture name with that special effect. Now, you can specify any number of captures that don't apply scope names. As long as it equals `@_IGNORE_` or _starts with_ `@_IGNORE_.`, it'll have the same effect. This lets you target two or more nodes and use them all in predicates in the same query without any of them applying a scope name. --- spec/scope-resolver-spec.js | 61 +++++++++++++++++++++++++++++++++++++ src/scope-resolver.js | 5 ++- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/spec/scope-resolver-spec.js b/spec/scope-resolver-spec.js index 9d8ec18c6..51bced5b7 100644 --- a/spec/scope-resolver-spec.js +++ b/spec/scope-resolver-spec.js @@ -159,6 +159,67 @@ describe('ScopeResolver', () => { ]); }); + it('does not apply any scopes when @_IGNORE_ is used', async () => { + await grammar.setQueryForTest('highlightsQuery', ` + (lexical_declaration kind: _ @_IGNORE_ + (#match? @_IGNORE_ "const")) + (lexical_declaration kind: _ @let + (#match? @let "let")) + `); + + const languageMode = new WASMTreeSitterLanguageMode({ grammar, buffer }); + buffer.setLanguageMode(languageMode); + buffer.setText(dedent` + // this is a comment + const foo = "ahaha"; + let bar = 'troz' + `); + await languageMode.ready; + + let { scopeResolver, captures } = await getAllCaptures(grammar, languageMode); + + for (let capture of captures) { + let { node, name } = capture; + let result = scopeResolver.store(capture); + if (name === '_IGNORE_') { + expect(!!result).toBe(false); + } else { + expect(!!result).toBe(true); + } + } + }); + + it('does not apply any scopes when multiple @_IGNORE_s are used', async () => { + await grammar.setQueryForTest('highlightsQuery', ` + (variable_declarator + (identifier) @_IGNORE_.identifier + (string) @_IGNORE_.string + ) + `); + + const languageMode = new WASMTreeSitterLanguageMode({ grammar, buffer }); + buffer.setLanguageMode(languageMode); + buffer.setText(dedent` + // this is a comment + const foo = "ahaha"; + let bar = false + `); + await languageMode.ready; + + let { scopeResolver, captures } = await getAllCaptures(grammar, languageMode); + + for (let capture of captures) { + let { node, name } = capture; + let result = scopeResolver.store(capture); + if (name.startsWith('_IGNORE_')) { + expect(!!result).toBe(false); + } else { + expect(!!result).toBe(true); + } + } + }); + + describe('adjustments', () => { it('adjusts ranges with (#set! adjust.startAt)', async () => { await grammar.setQueryForTest('highlightsQuery', ` diff --git a/src/scope-resolver.js b/src/scope-resolver.js index 46864c2d2..049b08e0d 100644 --- a/src/scope-resolver.js +++ b/src/scope-resolver.js @@ -487,12 +487,15 @@ class ScopeResolver { this.setDataForRange(range, props); } - if (name === '_IGNORE_') { + if (name === '_IGNORE_' || name.startsWith('_IGNORE_.')) { // "@_IGNORE_" is a magical variable in an SCM file that will not be // applied in the grammar, but which allows us to prevent other kinds of // scopes from matching. We purposefully allowed this syntax node to set // data for a given range, but not to apply its scope ID to any // boundaries. + // + // A query can also use multiple different @_IGNORE_-style variables by + // adding segments after the @_IGNORE_, such as @_IGNORE_.foo.bar. return false; } From 58552416985f3b9293c22d2cdc374efd6ead5d6b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 28 Jan 2024 00:47:32 -0800 Subject: [PATCH 80/83] =?UTF-8?q?Fix=20issue=20with=20looking=20up=20objec?= =?UTF-8?q?ts=20in=20`atom.config`=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when a project-specific config is present. Most people don't use a project-specific config, which is why this bug has been present for ages. Read the new spec for an explanation. --- spec/config-spec.js | 35 +++++++++++++++++++++++++++++++++++ src/config.js | 19 +++++++++++++++++-- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/spec/config-spec.js b/spec/config-spec.js index b6b63c65c..f292542f9 100644 --- a/spec/config-spec.js +++ b/spec/config-spec.js @@ -150,6 +150,41 @@ describe('Config', () => { ).toBe(4); }); + it("merges project-specific settings with other settings when the keypath is an object", () => { + atom.config.set('x.y', 1); + atom.config.set('x.z', "fibrinolysis"); + + atom.project.replace({ + originPath: 'TEST', + paths: atom.project.getPaths(), + config: { + "*": { + "x": { + "y": 4 + } + } + } + }); + + // Project-specific settings work fine, as the spec below shows, when + // the value being retrieved is a primitive. But until recently, Pulsar + // didn't know what to do if the value being retrieved was an object. + // + // Imagine asking for _all_ config settings. The non-project-specific + // lookup returns everything. The project-specific lookup returns only + // a few overrides. Pulsar needs to _blend_ these two objects, but was + // previously choosing the project-specific lookup just because it + // wasn't undefined. + + // Here we demonstrate that it now retrieves an object for the given + // key path at the normal location and applies a project-specific + // “patch…” + expect(atom.config.get('x')).toEqual({ y: 4, z: "fibrinolysis" }) + + // …without any general settings leaking into the project config. + expect(atom.config.projectSettings.x.z).toBeUndefined(); + }); + it("ignores the project-specific source when 'excludeSources' tells it to", () => { atom.config.set('x.y', 1); diff --git a/src/config.js b/src/config.js index 2f808abf1..fa0d407fd 100644 --- a/src/config.js +++ b/src/config.js @@ -1098,8 +1098,23 @@ class Config { !sources || sources.includes(this.projectFile) ) ) { - const projectValue = getValueAtKeyPath(this.projectSettings, keyPath); - value = projectValue === undefined ? value : projectValue; + let projectValue = getValueAtKeyPath(this.projectSettings, keyPath); + if (projectValue === undefined) { + // There is no project-specific override for this key path. `value` + // stays as `value` and we pretend this never happened. + } else if (isPlainObject(value) && isPlainObject(projectValue)) { + // This key path returned an object, so we need to merge the contents + // of the two objects into a third composite object. First we clone + // the project object so as not to modify it… + projectValue = this.deepClone(projectValue); + // …then we copy over the regular value's properties, preferring the + // project-specific value wherever there is overlap. + this.deepDefaults(projectValue, value); + value = projectValue; + } else { + // This is a single value, so we prefer the project version. + value = projectValue; + } } } From e49b919703a48cf47a555d1d2a52f4e28e1788fb Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 28 Jan 2024 11:21:59 -0800 Subject: [PATCH 81/83] [language-(java|type)script] Add exhaustive indentation configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We are crossing the Rubicon. https://github.com/orgs/pulsar-edit/discussions/249 is a discussion of specific ways that indentation is different in JavaScript because of the new grammar. We intentionally didn’t try to preserve the indentation decisions in the old TextMate grammar, but this is (predictably) disruptive to some people. We don’t want to punt like legacy Tree-sitter did and rely on the TextMate grammar’s coarse regexes to decide what gets indented, but we can at least make the new indentation system granularly configurable. This commit makes practically every indentation decision configurable in JavaScript and TypeScript. It groups these settings under a new “Indentation” section in each package’s settings. I might decide that this goes too far and roll back the granular settings for `{`, `[`, and `(`, but the other indentation hints are absolutely matters of taste, so it’s only proper that users can choose to disable them. In the long run, we could _consider_ allowing users to swap in another indentation engine altogther, much like #895 proposes for folds. That would let us legitimately offer users a way to opt into “the way the TextMate grammar does it” without affecting other users. Another stopgap option would be to add a way for a user to disable indentation hinting altogether for a given grammar. --- .../grammars/tree-sitter/indents.scm | 76 ++++++++++--------- packages/language-javascript/package.json | 59 ++++++++++++-- .../grammars/common/indents.scm | 58 +++++++++----- packages/language-typescript/package.json | 59 ++++++++++++-- 4 files changed, 186 insertions(+), 66 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/indents.scm b/packages/language-javascript/grammars/tree-sitter/indents.scm index d5fc5b5d7..b351b7bcf 100644 --- a/packages/language-javascript/grammars/tree-sitter/indents.scm +++ b/packages/language-javascript/grammars/tree-sitter/indents.scm @@ -1,7 +1,3 @@ - -; ((template_string) @ignore - ; (#is-not? test.OnStartingOrEndingRow true)) - ; STATEMENT BLOCKS ; ================ @@ -25,14 +21,14 @@ (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) (#set! indent.offsetIndent 1) - (#is-not? test.config "language-javascript.alignCaseWithSwitch")) + (#is-not? test.config "language-javascript.indentation.alignCaseWithSwitch")) ; When this config setting is enabled, `case` and `default` need to be indented ; to match their containing `switch`. (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) (#set! indent.offsetIndent 0) - (#is? test.config "language-javascript.alignCaseWithSwitch")) + (#is? test.config "language-javascript.indentation.alignCaseWithSwitch")) ; ONE-LINE CONDITIONALS @@ -41,10 +37,12 @@ ; An `if` statement without an opening brace should indent the next line… (if_statement condition: (parenthesized_expression ")" @indent - (#is? test.lastTextOnRow true))) + (#is? test.lastTextOnRow true) + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf"))) ; (as should a braceless `else`…) ("else" @indent - (#is? test.lastTextOnRow true)) + (#is? test.lastTextOnRow true) + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf")) ; …and keep that indent level if the user types a comment before the ; consequence… @@ -52,7 +50,8 @@ consequence: (empty_statement) @match (#is-not? test.startsOnSameRowAs parent.startPosition) (#set! indent.matchIndentOf parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf")) ; …and keep that indent level after the user starts typing… (if_statement @@ -69,7 +68,8 @@ ; of an `expression_statement`, for some reason. (#not-match? @match "^\\s*{") (#set! indent.matchIndentOf parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf")) ; …but dedent after exactly one statement. (if_statement @@ -84,7 +84,8 @@ ] @dedent.next ; When an opening curly brace is unpaired, it might get interpreted as part ; of an `expression_statement`, for some reason. - (#not-match? @dedent.next "^\\s*{")) + (#not-match? @dedent.next "^\\s*{") + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf")) (else_clause [ @@ -95,7 +96,8 @@ (throw_statement) (debugger_statement) ] @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + (#is? test.config "language-javascript.indentation.indentAfterBracelessIf")) ; HANGING INDENT ON SPLIT LINES @@ -105,13 +107,19 @@ ; `config` scope test. ; Any of these at the end of a line indicate the next line should be indented… -(["||" "&&" "?"] @indent +(["||" "&&"] @indent + (#is? test.config "language-javascript.indentation.addHangingIndentAfterLogicalOperators") + (#is? test.lastTextOnRow true)) + +("?" @indent + (#is? test.config "language-javascript.indentation.addHangingIndentAfterTernaryOperators") (#is? test.lastTextOnRow true)) ; …and the line after that should be dedented… (binary_expression ["||" "&&"] right: (_) @dedent.next + (#is? test.config "language-javascript.indentation.addHangingIndentAfterLogicalOperators") (#is-not? test.startsOnSameRowAs parent.startPosition) ; …unless the right side of the expression spans multiple lines. (#is? test.endsOnSameRowAs startPosition)) @@ -125,46 +133,40 @@ ; (ternary_expression alternative: (_) @dedent.next + (#is? test.config "language-javascript.indentation.addHangingIndentAfterTernaryOperators") (#is-not? test.startsOnSameRowAs parent.startPosition) ; Only dedent the next line if the alternative doesn't itself span multiple ; lines. (#is? test.endsOnSameRowAs startPosition)) -; DEDENT-NEXT IN LIMITED SCENARIOS -; ================================ - -; Catches unusual hanging-indent scenarios when calling a method, such as: -; -; return this.veryLongMethodNameWithSeveralArgumentsThat(are, too, -; short, forEach, toHave, itsOwn, line); -; -; (arguments ")" @dedent.next -; (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) -; (#is-not? test.firstTextOnRow true)) - - ; GENERAL ; ======= ; Weed out `}`s that should not signal dedents. (template_substitution "}" @_IGNORE_ (#set! capture.final true)) -[ - "{" - "(" - "[" -] @indent +; As strange as it may seem to make all of these basic indentation hints +; configurable, some brace styles are incompatible with some of these choices; +; see https://github.com/orgs/pulsar-edit/discussions/249. +("{" @indent + (#is? test.config "language-javascript.indentation.indentBraces")) +("}" @dedent + (#is? test.config "language-javascript.indentation.indentBraces")) + +("[" @indent + (#is? test.config "language-javascript.indentation.indentBrackets")) +("]" @dedent + (#is? test.config "language-javascript.indentation.indentBrackets")) + +("(" @indent + (#is? test.config "language-javascript.indentation.indentParentheses")) +(")" @dedent + (#is? test.config "language-javascript.indentation.indentParentheses")) -[ - "}" - ")" - "]" -] @dedent ["case" "default"] @indent - ; JSX ; === diff --git a/packages/language-javascript/package.json b/packages/language-javascript/package.json index 14008a230..63b13e6a4 100644 --- a/packages/language-javascript/package.json +++ b/packages/language-javascript/package.json @@ -18,11 +18,60 @@ "tree-sitter-regex": "0.19.0" }, "configSchema": { - "alignCaseWithSwitch": { - "title": "Align “case” with ”switch”", - "type": "boolean", - "default": false, - "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + "indentation": { + "title": "Indentation", + "type": "object", + "properties": { + "indentBraces": { + "title": "Indent Curly Braces", + "type": "boolean", + "default": true, + "order": 1, + "description": "Indent after `{`." + }, + "indentBrackets": { + "title": "Indent Brackets", + "type": "boolean", + "default": true, + "order": 2, + "description": "Indent after `[`." + }, + "indentParentheses": { + "title": "Indent Parentheses", + "type": "boolean", + "default": true, + "order": 3, + "description": "Indent after `(`." + }, + "alignCaseWithSwitch": { + "title": "Align “case” With ”switch”", + "type": "boolean", + "default": false, + "order": 4, + "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + }, + "indentAfterBracelessIf": { + "title": "Indent After Braceless “if” And “else”", + "type": "boolean", + "default": true, + "order": 5, + "description": "When enabled, `if` and `else` statements without a brace on the initial line will trigger an indent, then a dedent after a single statement. Disable if your brace style is incompatible with this pattern." + }, + "addHangingIndentAfterLogicalOperators": { + "title": "Add Hanging Indent After Logical Operators", + "type": "boolean", + "default": true, + "order": 6, + "description": "When enabled, will add a hanging indent when a line ends with `&&` or `||`, continuing the indent until the end of the statement." + }, + "addHangingIndentAfterTernaryOperators": { + "title": "Add Hanging Indent After Ternary Operators", + "type": "boolean", + "default": true, + "order": 7, + "description": "When enabled, will add a hanging indent when a line ends with `?`, continuing the indent through the ensuing `:` until the end of the statement." + } + } } }, "consumedServices": { diff --git a/packages/language-typescript/grammars/common/indents.scm b/packages/language-typescript/grammars/common/indents.scm index 80fc58a34..20329696a 100644 --- a/packages/language-typescript/grammars/common/indents.scm +++ b/packages/language-typescript/grammars/common/indents.scm @@ -21,14 +21,14 @@ (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) (#set! indent.offsetIndent 1) - (#is-not? test.config "language-typescript.alignCaseWithSwitch")) + (#is-not? test.config "language-typescript.indentation.alignCaseWithSwitch")) ; When this config setting is enabled, `case` and `default` need to be indented ; to match their containing `switch`. (["case" "default"] @match (#set! indent.matchIndentOf parent.parent.startPosition) (#set! indent.offsetIndent 0) - (#is? test.config "language-typescript.alignCaseWithSwitch")) + (#is? test.config "language-typescript.indentation.alignCaseWithSwitch")) ; ONE-LINE CONDITIONALS ; ===================== @@ -36,10 +36,12 @@ ; An `if` statement without an opening brace should indent the next line… (if_statement condition: (parenthesized_expression ")" @indent - (#is? test.lastTextOnRow true))) + (#is? test.lastTextOnRow true) + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf"))) ; (as should a braceless `else`…) ("else" @indent - (#is? test.lastTextOnRow true)) + (#is? test.lastTextOnRow true) + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf")) ; …and keep that indent level if the user types a comment before the ; consequence… @@ -47,7 +49,8 @@ consequence: (empty_statement) @match (#is-not? test.startsOnSameRowAs parent.startPosition) (#set! indent.matchIndentOf parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf")) ; …and keep that indent level after the user starts typing… (if_statement @@ -64,7 +67,8 @@ ; of an `expression_statement`, for some reason. (#not-match? @match "^\\s*{") (#set! indent.matchIndentOf parent.startPosition) - (#set! indent.offsetIndent 1)) + (#set! indent.offsetIndent 1) + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf")) ; …but dedent after exactly one statement. (if_statement @@ -79,7 +83,8 @@ ] @dedent.next ; When an opening curly brace is unpaired, it might get interpreted as part ; of an `expression_statement`, for some reason. - (#not-match? @dedent.next "^\\s*{")) + (#not-match? @dedent.next "^\\s*{") + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf")) (else_clause [ @@ -90,7 +95,8 @@ (throw_statement) (debugger_statement) ] @dedent.next - (#is-not? test.startsOnSameRowAs parent.startPosition)) + (#is-not? test.startsOnSameRowAs parent.startPosition) + (#is? test.config "language-typescript.indentation.indentAfterBracelessIf")) ; HANGING INDENT ON SPLIT LINES ; ============================= @@ -99,13 +105,19 @@ ; `config` scope test. ; Any of these at the end of a line indicate the next line should be indented… -(["||" "&&" "?"] @indent +(["||" "&&"] @indent + (#is? test.config "language-typescript.indentation.addHangingIndentAfterLogicalOperators") + (#is? test.lastTextOnRow true)) + +("?" @indent + (#is? test.config "language-typescript.indentation.addHangingIndentAfterTernaryOperators") (#is? test.lastTextOnRow true)) ; …and the line after that should be dedented… (binary_expression ["||" "&&"] right: (_) @dedent.next + (#is? test.config "language-typescript.indentation.addHangingIndentAfterLogicalOperators") (#is-not? test.startsOnSameRowAs parent.startPosition) ; …unless the right side of the expression spans multiple lines. (#is? test.endsOnSameRowAs startPosition)) @@ -119,6 +131,7 @@ ; (ternary_expression alternative: (_) @dedent.next + (#is? test.config "language-typescript.indentation.addHangingIndentAfterTernaryOperators") (#is-not? test.startsOnSameRowAs parent.startPosition) ; Only dedent the next line if the alternative doesn't itself span multiple ; lines. @@ -132,17 +145,24 @@ (template_substitution "}" @_IGNORE_ (#set! capture.final true)) -[ - "{" - "(" - "[" -] @indent +; As strange as it may seem to make all of these basic indentation hints +; configurable, some brace styles are incompatible with some of these choices; +; see https://github.com/orgs/pulsar-edit/discussions/249. +("{" @indent + (#is? test.config "language-typescript.indentation.indentBraces")) +("}" @dedent + (#is? test.config "language-typescript.indentation.indentBraces")) + +("[" @indent + (#is? test.config "language-typescript.indentation.indentBrackets")) +("]" @dedent + (#is? test.config "language-typescript.indentation.indentBrackets")) + +("(" @indent + (#is? test.config "language-typescript.indentation.indentParentheses")) +(")" @dedent + (#is? test.config "language-typescript.indentation.indentParentheses")) -[ - "}" - ")" - "]" -] @dedent (type_parameters "<" @indent) (type_parameters ">" @dedent) diff --git a/packages/language-typescript/package.json b/packages/language-typescript/package.json index cb1cb6a68..a8b8d4365 100644 --- a/packages/language-typescript/package.json +++ b/packages/language-typescript/package.json @@ -16,11 +16,60 @@ "tree-sitter-typescript": "0.20.1" }, "configSchema": { - "alignCaseWithSwitch": { - "title": "Align “case” with ”switch”", - "type": "boolean", - "default": false, - "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + "indentation": { + "title": "Indentation", + "type": "object", + "properties": { + "indentBraces": { + "title": "Indent Curly Braces", + "type": "boolean", + "default": true, + "order": 1, + "description": "Indent after `{`." + }, + "indentBrackets": { + "title": "Indent Brackets", + "type": "boolean", + "default": true, + "order": 2, + "description": "Indent after `[`." + }, + "indentParentheses": { + "title": "Indent Parentheses", + "type": "boolean", + "default": true, + "order": 3, + "description": "Indent after `(`." + }, + "alignCaseWithSwitch": { + "title": "Align “case” With ”switch”", + "type": "boolean", + "default": false, + "order": 4, + "description": "When enabled, `case` and `default` statements in `switch` blocks will match the indent level of the enclosing `switch` instead of indenting themselves one level." + }, + "indentAfterBracelessIf": { + "title": "Indent After Braceless “if” And “else”", + "type": "boolean", + "default": true, + "order": 5, + "description": "When enabled, `if` and `else` statements without a brace on the initial line will trigger an indent, then a dedent after a single statement. Disable if your brace style is incompatible with this pattern." + }, + "addHangingIndentAfterLogicalOperators": { + "title": "Add Hanging Indent After Logical Operators", + "type": "boolean", + "default": true, + "order": 6, + "description": "When enabled, will add a hanging indent when a line ends with `&&` or `||`, continuing the indent until the end of the statement." + }, + "addHangingIndentAfterTernaryOperators": { + "title": "Add Hanging Indent After Ternary Operators", + "type": "boolean", + "default": true, + "order": 7, + "description": "When enabled, will add a hanging indent when a line ends with `?`, continuing the indent through the ensuing `:` until the end of the statement." + } + } } }, "consumedServices": { From 94d41ce82b4fee62a2d49cfe82252276724d2191 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 28 Jan 2024 11:45:36 -0800 Subject: [PATCH 82/83] =?UTF-8?q?[language-(java|type)script]=20Highlight?= =?UTF-8?q?=20array-destructured=20variables=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …no matter how deeply they’re nested. Also highlight `?` in an incomplete ternary. (Also fix a lot of final segments in the TypeScript highlights file; I’ve been lazily copying-and-pasting and forgetting to change them.) --- .../grammars/tree-sitter/highlights.scm | 32 ++-- .../grammars/common/highlights.scm | 169 +++++++++--------- 2 files changed, 105 insertions(+), 96 deletions(-) diff --git a/packages/language-javascript/grammars/tree-sitter/highlights.scm b/packages/language-javascript/grammars/tree-sitter/highlights.scm index dbc35fa7f..16d8dd99d 100644 --- a/packages/language-javascript/grammars/tree-sitter/highlights.scm +++ b/packages/language-javascript/grammars/tree-sitter/highlights.scm @@ -79,19 +79,18 @@ right: [(arrow_function) (function)] @_IGNORE_ (#set! isFunctionProperty true)) -; The "bar" in `foo.bar = true` +; The "bar" in `foo.bar = true`. (assignment_expression left: (member_expression property: (property_identifier) @variable.other.assignment.property.js) (#is-not? test.rangeWithData isFunctionProperty) (#set! capture.final)) -; The "bar" in `foo.#bar = true` +; The "bar" in `foo.#bar = true`. (assignment_expression left: (member_expression property: (private_property_identifier) @variable.other.assignment.property.private.js)) - ; The "foo" in `foo += 1`. (augmented_assignment_expression left: (identifier) @variable.other.assignment.js) @@ -156,18 +155,17 @@ (rest_pattern (identifier) @variable.other.assignment.destructuring.rest.js)) -; A variable array destructuring: -; The "foo" and "bar" in `let [foo, bar] = something` -(variable_declarator - (array_pattern +; An array-destructured assignment or reassignment, regardless of depth: +; The "foo" in `[foo] = bar;` and `[[foo]] = bar;`. +(array_pattern + (identifier) @variable.other.assignment.destructuring.js) + +; An array-destructured assignment or reassignment with a default, regardless of depth: +; The "baz" in `let [foo, bar, baz = false] = something;` and `let [[baz = 5]] = something`; +(array_pattern + (assignment_pattern (identifier) @variable.other.assignment.destructuring.js)) -; A variable array destructuring with a default: -; The "baz" in `let [foo, bar, baz = false] = something` -(variable_declarator - (array_pattern - (assignment_pattern - (identifier) @variable.other.assignment.destructuring.js))) ; A variable declaration in a for…(in|of) loop: ; The "foo" in `for (let foo of bar) {` @@ -827,7 +825,13 @@ (unary_expression ["+" "-"] @keyword.operator.unary.js) -(ternary_expression ["?" ":"] @keyword.operator.ternary.js) +(ternary_expression ["?" ":"] @keyword.operator.ternary.js + (#set! capture.final)) + +; Try to highlight `?` like an operator while the user is typing without +; waiting for its paired `:`. +("?" @keyword.operator.ternary.js + (#is? test.descendantOfType "ERROR")) [ "&&=" diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 8d8ea98a0..0e78ab2dd 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -137,18 +137,16 @@ value: (assignment_pattern left: (identifier) @variable.other.assignment.destructuring._LANG_))) -; A variable array destructuring: -; The "foo" and "bar" in `let [foo, bar] = something` -(variable_declarator - (array_pattern - (identifier) @variable.other.assignment.destructuring._LANG_)) +; An array-destructured assignment or reassignment, regardless of depth: +; The "foo" in `[foo] = bar;` and `[[foo]] = bar;`. +(array_pattern + (identifier) @variable.other.assignment.destructuring._LANG_) -; A variable array destructuring with a default: -; The "baz" in `let [foo, bar, baz = false] = something` -(variable_declarator - (array_pattern - (assignment_pattern - (identifier) @variable.other.assignment.destructuring.js))) +; An array-destructured assignment or reassignment with a default, regardless of depth: +; The "baz" in `let [foo, bar, baz = false] = something;` and `let [[baz = 5]] = something`; +(array_pattern + (assignment_pattern + (identifier) @variable.other.assignment.destructuring._LANG_)) ; A variable declaration in a for…(in|of) loop: ; The "foo" in `for (let foo of bar) {` @@ -306,14 +304,14 @@ ["var" "let" "const" "class" "function"] @storage.type._TYPE_._LANG_ ["extends" "static" "async" "infer"] @storage.modifier._TYPE_._LANG_ -(type_arguments "<" @punctuation.definition.parameters.begin.bracket.angle.js +(type_arguments "<" @punctuation.definition.parameters.begin.bracket.angle._LANG_ (#set! capture.final)) -(type_arguments ">" @punctuation.definition.parameters.end.bracket.angle.js +(type_arguments ">" @punctuation.definition.parameters.end.bracket.angle._LANG_ (#set! capture.final)) -(type_parameters "<" @punctuation.definition.parameters.begin.bracket.angle.js +(type_parameters "<" @punctuation.definition.parameters.begin.bracket.angle._LANG_ (#set! capture.final)) -(type_parameters ">" @punctuation.definition.parameters.end.bracket.angle.js +(type_parameters ">" @punctuation.definition.parameters.end.bracket.angle._LANG_ (#set! capture.final)) "=>" @storage.type.arrow._LANG_ @@ -389,148 +387,148 @@ ; Array methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Array") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(from|isArray|of)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Array") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(from|isArray|of)$") (#set! capture.final true)) ; Date methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Date") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(now|parse|UTC)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Date") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(now|parse|UTC)$") (#set! capture.final true)) ; JSON methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "JSON") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(parse|stringify)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "JSON") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(parse|stringify)$") (#set! capture.final true)) ; Math methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Math") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(abs|acos|acosh|asin|asinh|atan|atanh|atan2|cbrt|ceil|clz32|cos|cosh|exp|expm1|floor|fround|hypot|imul|log|log1p|log10|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Math") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(abs|acos|acosh|asin|asinh|atan|atanh|atan2|cbrt|ceil|clz32|cos|cosh|exp|expm1|floor|fround|hypot|imul|log|log1p|log10|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc)$") (#set! capture.final true)) ; Object methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Object") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(assign|create|defineProperty|defineProperties|entries|freeze|fromEntries|getOwnPropertyDescriptor|getOwnPropertyDescriptors|getOwnPropertyNames|getOwnPropertySymbols|getPrototypeOf|is|isExtensible|isFrozen|isSealed|keys|preventExtensions|seal|setPrototypeOf|values)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Object") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(assign|create|defineProperty|defineProperties|entries|freeze|fromEntries|getOwnPropertyDescriptor|getOwnPropertyDescriptors|getOwnPropertyNames|getOwnPropertySymbols|getPrototypeOf|is|isExtensible|isFrozen|isSealed|keys|preventExtensions|seal|setPrototypeOf|values)$") (#set! capture.final true)) ; Reflect methods. (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Reflect") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(apply|construct|defineProperty|deleteProperty|get|getOwnPropertyDescriptor|getPrototypeOf|has|isExtensible|ownKeys|preventExtensions|set|setPrototypeOf)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Reflect") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(apply|construct|defineProperty|deleteProperty|get|getOwnPropertyDescriptor|getPrototypeOf|has|isExtensible|ownKeys|preventExtensions|set|setPrototypeOf)$") (#set! capture.final true)) ; Intl.X instantiations. (new_expression constructor: (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "Intl") - property: (property_identifier) @support.class.builtin.js - (#match? @support.class.builtin.js "^(Collator|DateTimeFormat|DisplayNames|ListFormat|Locale|NumberFormat|PluralRules|Segmenter)$")) + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "Intl") + property: (property_identifier) @support.class.builtin._LANG_ + (#match? @support.class.builtin._LANG_ "^(Collator|DateTimeFormat|DisplayNames|ListFormat|Locale|NumberFormat|PluralRules|Segmenter)$")) (#set! capture.final true)) ; Built-in class instantiations. (new_expression - constructor: (identifier) @support.class.builtin.instance.js - (#match? @support.class.builtin.instance.js "^(AggregateError|Array|ArrayBuffer|BigInt64Array|BigUint64Array|Boolean|DataView|Date|Error|EvalError|FinalizationRegistry|Float32Array|Float64Array|Function|ImageCapture|Int8Array|Int16Array|Int32Array|Map|Number|Object|Promise|RangeError|ReferenceError|RegExp|Set|String|SyntaxError|TypeError|Uint8Array|Uint8ClampedArray|Uint16Array|Uint32Array|URIError|URL|WeakMap|WeakRef|WeakSet|XMLHttpRequest)$") + constructor: (identifier) @support.class.builtin.instance._LANG_ + (#match? @support.class.builtin.instance._LANG_ "^(AggregateError|Array|ArrayBuffer|BigInt64Array|BigUint64Array|Boolean|DataView|Date|Error|EvalError|FinalizationRegistry|Float32Array|Float64Array|Function|ImageCapture|Int8Array|Int16Array|Int32Array|Map|Number|Object|Promise|RangeError|ReferenceError|RegExp|Set|String|SyntaxError|TypeError|Uint8Array|Uint8ClampedArray|Uint16Array|Uint32Array|URIError|URL|WeakMap|WeakRef|WeakSet|XMLHttpRequest)$") (#set! capture.final true)) ; Built-in constructors that can be invoked without `new`. (call_expression - (identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(AggregateError|Array|ArrayBuffer|Boolean|BigInt|Error|EvalError|Function|Number|Object|Proxy|RangeError|String|Symbol|SyntaxError|URIError)$") + (identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(AggregateError|Array|ArrayBuffer|Boolean|BigInt|Error|EvalError|Function|Number|Object|Proxy|RangeError|String|Symbol|SyntaxError|URIError)$") (#set! capture.final true)) ; Built-in functions. (call_expression - (identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt)$") + (identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt)$") (#set! capture.final true)) ; Built-in `console` functions. (member_expression - object: (identifier) @support.class.builtin.console.js - (#eq? @support.class.builtin.console.js "console") - property: (property_identifier) @support.function.builtin.console.js - (#match? @support.function.builtin.console.js "^(assert|clear|count(Reset)?|debug|dir(xml)?|error|group(End)?info|log|profile(End)?|table|time(End|Log|Stamp)?|trace|warn)$") + object: (identifier) @support.class.builtin.console._LANG_ + (#eq? @support.class.builtin.console._LANG_ "console") + property: (property_identifier) @support.function.builtin.console._LANG_ + (#match? @support.function.builtin.console._LANG_ "^(assert|clear|count(Reset)?|debug|dir(xml)?|error|group(End)?info|log|profile(End)?|table|time(End|Log|Stamp)?|trace|warn)$") (#set! capture.final true)) ; Static methods of `Promise`. (member_expression - object: (identifier) @support.class.builtin.js - (#eq? @support.class.builtin.js "Promise") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(all|allSettled|any|race|resolve|reject)$") + object: (identifier) @support.class.builtin._LANG_ + (#eq? @support.class.builtin._LANG_ "Promise") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(all|allSettled|any|race|resolve|reject)$") (#set! capture.final true)) ; All “well-known” symbols (as they are referred to in the spec). (member_expression - object: (identifier) @support.class.builtin.js - property: (property_identifier) @support.property.builtin.js - (#eq? @support.class.builtin.js "Symbol") - (#match? @support.property.builtin.js "^(asyncIterator|hasInstance|isConcatSpreadable|iterator|match|matchAll|replace|search|split|species|toPrimitive|toStringTag|unscopables)$") + object: (identifier) @support.class.builtin._LANG_ + property: (property_identifier) @support.property.builtin._LANG_ + (#eq? @support.class.builtin._LANG_ "Symbol") + (#match? @support.property.builtin._LANG_ "^(asyncIterator|hasInstance|isConcatSpreadable|iterator|match|matchAll|replace|search|split|species|toPrimitive|toStringTag|unscopables)$") (#set! capture.final true)) ; Static methods of `Symbol`. (member_expression - object: (identifier) @support.class.builtin.js - (#eq? @support.class.builtin.js "Symbol") - property: (property_identifier) @support.function.builtin.js - (#match? @support.function.builtin.js "^(for|keyFor)$") + object: (identifier) @support.class.builtin._LANG_ + (#eq? @support.class.builtin._LANG_ "Symbol") + property: (property_identifier) @support.function.builtin._LANG_ + (#match? @support.function.builtin._LANG_ "^(for|keyFor)$") (#set! capture.final true)) ; Other built-in objects. -((identifier) @support.class.builtin.js - (#match? @support.class.builtin.js "^(Symbol)$") +((identifier) @support.class.builtin._LANG_ + (#match? @support.class.builtin._LANG_ "^(Symbol)$") (#set! capture.final true)) ; Deprecated built-in functions. (call_expression - (identifier) @invalid.deprecated.function.js - (#match? @invalid.deprecated.function.js "^(escape|unescape)$") + (identifier) @invalid.deprecated.function._LANG_ + (#match? @invalid.deprecated.function._LANG_ "^(escape|unescape)$") (#set! capture.final true)) ; Built-in DOM classes. -((identifier) @support.class.builtin.js - (#match? @support.class.builtin.js "^(Document|Element|HTMLElement|HTMLDocument|HTML(Select|BR|HR|LI|Div|Map|Mod|Pre|Area|Base|Body|Data|Font|Form|Head|Html|Link|Menu|Meta|Slot|Span|Time|Audio|DList|Embed|Image|Input|Label|Media|Meter|OList|Param|Quote|Style|Table|Title|Track|UList|Video|Anchor|Button|Canvas|Dialog|IFrame|Legend|Object|Option|Output|Script|Source|Content|Details|Heading|Marquee|Picture|Unknown|DataList|FieldSet|FrameSet|MenuItem|OptGroup|Progress|TableCol|TableRow|Template|TextArea|Paragraph|TableCell|Options|TableCaption|TableSection|FormControls))$") +((identifier) @support.class.builtin._LANG_ + (#match? @support.class.builtin._LANG_ "^(Document|Element|HTMLElement|HTMLDocument|HTML(Select|BR|HR|LI|Div|Map|Mod|Pre|Area|Base|Body|Data|Font|Form|Head|Html|Link|Menu|Meta|Slot|Span|Time|Audio|DList|Embed|Image|Input|Label|Media|Meter|OList|Param|Quote|Style|Table|Title|Track|UList|Video|Anchor|Button|Canvas|Dialog|IFrame|Legend|Object|Option|Output|Script|Source|Content|Details|Heading|Marquee|Picture|Unknown|DataList|FieldSet|FrameSet|MenuItem|OptGroup|Progress|TableCol|TableRow|Template|TextArea|Paragraph|TableCell|Options|TableCaption|TableSection|FormControls))$") (#set! capture.final true)) ; Deprecated built-in DOM classes. -((identifier) @invalid.deprecated.class.js - (#match? @invalid.deprecated.class.js "^(HTMLShadowElement)$") +((identifier) @invalid.deprecated.class._LANG_ + (#match? @invalid.deprecated.class._LANG_ "^(HTMLShadowElement)$") (#set! capture.final true)) ; Built-in DOM methods on `document`. (call_expression function: (member_expression - object: (identifier) @support.object.builtin.js - (#eq? @support.object.builtin.js "document") - property: (property_identifier) @support.function.method.builtin.js - (#match? @support.function.method.builtin.js "^(adoptNode|append|caretPositionFromPoint|caretRangeFromPoint|createAttribute(?:NS)?|createCDATASection|createComment|createDocumentFragment|createElement(?:NS)?|createEvent|createNodeIterator|createProcessingInstruction|createRange|createTextNode|createTreeWalker|elementFromPoint|elementsFromPoint|exitFullscreen|exitPictureInPicture|exitPointerLock|getAnimations|getElementById|getElementsByClassName|getElementsByTagName(?:NS)?|getSelection|hasStorageAccess|importNode|prepend|querySelector|querySelectorAll|releaseCapture|replaceChildren|requestStorageAccess|createExpression|createNSResolver|evaluate|getElementsByName|hasFocus|write|writeln|open|close)$") + object: (identifier) @support.object.builtin._LANG_ + (#eq? @support.object.builtin._LANG_ "document") + property: (property_identifier) @support.function.method.builtin._LANG_ + (#match? @support.function.method.builtin._LANG_ "^(adoptNode|append|caretPositionFromPoint|caretRangeFromPoint|createAttribute(?:NS)?|createCDATASection|createComment|createDocumentFragment|createElement(?:NS)?|createEvent|createNodeIterator|createProcessingInstruction|createRange|createTextNode|createTreeWalker|elementFromPoint|elementsFromPoint|exitFullscreen|exitPictureInPicture|exitPointerLock|getAnimations|getElementById|getElementsByClassName|getElementsByTagName(?:NS)?|getSelection|hasStorageAccess|importNode|prepend|querySelector|querySelectorAll|releaseCapture|replaceChildren|requestStorageAccess|createExpression|createNSResolver|evaluate|getElementsByName|hasFocus|write|writeln|open|close)$") (#set! capture.final true))) ; Built-in DOM methods on nodes. These will show up as builtins on _any_ class, but ; they're distinctive enough that we're OK with that possibility. (call_expression function: (member_expression - property: (property_identifier) @support.function.method.builtin.js - (#match? @support.function.method.builtin.js "^(addEventListener|appendChild|cloneNode|compareDocumentPosition|contains|getElementsByClassName|getElementsByTagName(?:NS)?|getRootNode|hasChildNodes|insertBefore|isDefaultNamespace|isEqualNode|isSameNode|lookupPrefix|lookupNamespaceURI|normalize|querySelector|querySelectorAll|removeChild|replaceChild|removeEventListener)$") + property: (property_identifier) @support.function.method.builtin._LANG_ + (#match? @support.function.method.builtin._LANG_ "^(addEventListener|appendChild|cloneNode|compareDocumentPosition|contains|getElementsByClassName|getElementsByTagName(?:NS)?|getRootNode|hasChildNodes|insertBefore|isDefaultNamespace|isEqualNode|isSameNode|lookupPrefix|lookupNamespaceURI|normalize|querySelector|querySelectorAll|removeChild|replaceChild|removeEventListener)$") (#set! capture.final true))) ; BUILTINS @@ -585,7 +583,7 @@ ; The "bar" in `foo.bar`, `foo.bar.baz`, and `foo.bar[baz]`. (member_expression - property: (property_identifier) @support.other.property.js) + property: (property_identifier) @support.other.property._LANG_) ; ; The "bar" in `foo.bar.baz`. ; (member_expression @@ -844,10 +842,17 @@ (ternary_expression - ["?" ":"] @keyword.operator.ternary._LANG_) + ["?" ":"] @keyword.operator.ternary._LANG_ + (#set! capture.final)) (conditional_type - ["?" ":"] @keyword.operator.ternary._LANG_) + ["?" ":"] @keyword.operator.ternary._LANG_ + (#set! capture.final)) + +; Try to highlight `?` like an operator while the user is typing without +; waiting for its paired `:`. +("?" @keyword.operator.ternary._LANG_ + (#is? test.descendantOfType "ERROR")) ; PUNCTUATION ; =========== From 2e36a24fc6e3e192c18c7545057bbd5284af32fa Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 29 Jan 2024 18:51:35 -0800 Subject: [PATCH 83/83] [language-php] Remove `firstLineRegex` and `contentRegex` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They don’t gain us anything, and in fact actually cause this grammar to be ranked _below_ the TextMate PHP grammar when they fail. --- .../language-php/grammars/modern-tree-sitter-php-html.cson | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index 26f364a41..77b49260f 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -24,7 +24,3 @@ fileTypes: [ 'phtml' 'profile' ] - -firstLineRegex: "^\\#!.*(?:\\s|\\/)php\\d?(?:$|\\s)|^\\s*<\\?(php|=|\\s|$)" - -contentRegex: "<\\?(php|=|\\s|$)"